1 / 48
文档名称:

Linux网络编程.ppt

格式:ppt   大小:553KB   页数:48页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Linux网络编程.ppt

上传人:1322891254 2017/2/15 文件大小:553 KB

下载得到文件列表

Linux网络编程.ppt

文档介绍

文档介绍:要求第10章、嵌入式 Linux 网络编程?掌握 TCP/IP 协议的基础知识?掌握嵌入式 Linux 基础网络编程?掌握嵌入式 Linux 高级网络编程?分析理解 Ping 源代码?能够独立编写客户端、服务器端的通信程序?能够独立编写 NTP 协议实现程序主要内容? TCP/IP 协议概述? 网络基础编程? 网络高级编程? ping 源码分析? 实验内容—— NTP TCP/IP 协议概述 参考模型及 TCP/IP 参考模型 ftp IPv4、IPv6 ARP、RARP MPLS IGMP ICMP TCP UDP 应用层传输层网络层网络接口层 三次握手和 TCP 数据包头格式?为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。 SYN J SYN K, ACK J+1 ACK K+1 ? UDP 即用户数据报协议,它是一种无连接协议,因此不需要像 TCP 那样通过三次握手来建立一个连接。同时,一个 UDP 应用可同时作为应用的客户或服务器方。由于 UDP 协议并不需要建立一个明确的连接,因此建立 UDP 应用要比建立 TCP 应用简单得多。?它比 TCP 协议更为高效,也能更好地解决实时性的问题。如今,包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都使用 UDP 协议。选择(1)对数据可靠性的要求对数据要求高可靠性的应用需选择 TCP 协议,如验证、密码字段的传送都是不允许出错的,而对数据的可靠性要求不那么高的应用可选择 UDP 传送。(2)应用的实时性 TCP 协议在传送过程中要使用三次握手、重传确认等手段来保证数据传输的可靠性。使用 TCP 协议会有较大的时延,因此不适合对实时性要求较高的应用,如 VOIP 、视频监控等。相反, UDP 协议则在这些应用中能发挥很好的作用。(3)网络的可靠性由于 TCP 协议的提出主要是解决网络的可靠性问题,它通过各种机制来减少错误发生的概率。因此,在网络状况不是很好的情况下需选用 TCP 协议(如在广域网等情况),但是若在网络状况很好的情况下(如局域网等)就不需要再采用 TCP 协议, 而建议选择 UDP 协议来减少网络负荷。.2 网络基础编程 ket 概念?在 Linux 中的网络编程是通过 socket 接口来进行的。 socket 是一种特殊的 I/O 接口,它也是一种文件描述符。它是一种常用的进程之间通信机制,通过它不仅能实现本地机器上的进程之间的通信,而且通过网络能够在不同机器上的进程之间进行通信。?每一个 socket 都用一个半相关描述{协议、本地地址、本地端口}来表示;一个完整的套接字则用一个相关描述{协议、本地地址、本地端口、远程地址、远程端口}来表示。 socket 也有一个类似于打开文件的函数调用,该函数返回一个整型的 socket 描述符,随后的连接建立、数据传输等操作都是通过 socket 来实现的。 ket 类型(1)流式 socket ( SOCK_STREAM ) 流式套接字提供可靠的、面向连接的通信流;它使用 TCP 协议,从而保证了数据传输的正确性和顺序性。(2)数据报 socket ( SOCK_DGRAM ) 数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证是可靠、无差错的。它使用数据报协议 UDP 。(3)原始 socket 原始套接字允许对底层协议如 IP或 ICMP 进行直接访问,它功能强大但使用较为不便,主要用于一些协议的开发。