预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共38页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Linux网络编程1、TCP/IP协议概述图2OSI参考模型与TCP/IP参考模型对应关系1.2TCP/IP协议族1.2.1网络层1.2.2传输层协议1.2.3应用程序部分最后是应用程序部分。这部分包括Telnet,文件传送协议(FTP和TFTP),简单的文件传送协议(SMTP)和域名服务(DNS)等协议。 TCP/IP使用了主干网络,能连接各种主机和LAN的多级分层结构,局部用户能方便的联网,不致影响到整个网络系统。此外这种结构还有利于局部用户控制操作和管理。 TCP/IP具有两个主要功能。第一是IP在网络之间(有时在个别网络内部)提供路由选择。第二是TCP将TP传递的数据传送的接收主机那的适当的处理部件。1.3Internet协议(IP)1.3.1IP功能IP协议不注意包内的数据类型,它所知道的一切是必须将某些称为IP帧头的控制协议加到高层协议(TCP或者UDP)所接受的数据上。1.3.2IP地址1.3.3IP地址的分类01 78 31A类网络地址有128个(支持127)个网络,占有最左边的一个字节(8位)。高位(0)表示识别这种地址的类型。 B类地址使用左边两个8位用来网络寻址。两个高位(10)用于识别这种地址的类型,其余的14位用作网络地址,右边的两个字节(16位)用作网络节点。 C类地址是最常见的Internet地址。三个高位(110)用于地址类型识别,左边三个字节的其余21位用于寻址。C类地址支持1046个网络,每个网络可多达256端点。 D类地址是相当新的。它的识别头是1110,用于组播,例如用于路由器修改。 E类地址为时延保留,其识别头是11110。 1.4传输控制协议(TCP)图4TCP头信息1.5用户数据报文协议图5UDP头信息1.6 TCP/IP协议分组服务数据路由协议 路由协议分析数据包的地址并且决定传输数据到目的电脑最佳路线。他们也可以把大的数据分成几部分,并且在目的地再把他们组合起来。IP处理实际上传输数据。 ICMP(网络控制信息协议InternetControlMessageProtocol)处理IP的状态信息,比如能影响路由决策的数据错误或改变。 RIP(路由信息协议RoutingInformationProtocol)它是几个决定信息传输的最佳路由路线协议中的一个。 OSPF(OpenShortestPathFirst)一个用来决定路由的协议。 ARP(地址解析协议AddressResolutionProtocol)确定网络上一台电脑的数字地址。 DNS(域名系统DomainNameSystem)从机器的名字确定一个机器的数字地址。 RARP(反向地址解析协议ReverseAddressResolutionProtocol)确定网络上一台计算机的地址,和ARP正好相反。用户服务 BOOTP(启动协议BootProtocol)由网络服务器上取得启动信息,然后将本地的网络计算机启动。 FTP(文件传输协议FileTransferProtocol)通过国际互连网从一台计算机上传输一个或多个文件到另外一台计算机。 TELNET(远程登陆)允许一个远程登陆,使用者可以从网络上的一台机器通过TELNET连线到另一台机器,就像使用者直接在本地操作一样。 EGP(外部网关协议ExteriorGatewayProtocol)为外部网络传输路由信息。 GGP(网关到网关协议Gateway-to-GatewayProtocol)在网关和网关之间传输路由协议。 IGP(内部网关协议InteriorGatewayProtocol)在内部网络传输路由信息。 其他协议(也为网络提供了重要的服务) NFS(网络文件系统NetworkFileSystem)允许将一台机器的目录被另一台机器上的用户安装(Mount)到自己的机器上,就像是对本地文件系统进行操作一样进行各式各样的操作。 NIS(网络信息服务NetworkInformationService)对整个网络用户的用户名、密码进行统一管理,简化在NIS服务下整个网络登陆的用户名/密码检查。 RPC(远程过程调用RemoteProcedureCall)通过它可以允许远程的应用程序通过简单的、有效的手段联系本地的应用程序,反之也是。 SMTP(简单邮件传输协议SimpleMailTransferProtocol)一个专门为电子邮件在多台机器中传输的协议,平时发邮件的SMTP服务器提供的必然服务。 SNMP(简单网络管理协议SimpleNetworkManagementProtocol)这是一项为超级用户准备的服务,超级用户可以通过它来进行简单的网络管理。2、网络编程基础套接字有三种类型: 流式套接字(SOCK_STREAM) 流式的套接字可以提供可靠的、面向连接的通讯流。