TCPIP协议规范及UIP处理流程_第1页
TCPIP协议规范及UIP处理流程_第2页
TCPIP协议规范及UIP处理流程_第3页
TCPIP协议规范及UIP处理流程_第4页
TCPIP协议规范及UIP处理流程_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 目录TOC o 1-3 h z u HYPERLINK l _Toc302464453 一、简要历史 PAGEREF _Toc302464453 h 3 HYPERLINK l _Toc302464454 二、TCP/IP协议族 PAGEREF _Toc302464454 h 3 HYPERLINK l _Toc302464455 2.1.简介 PAGEREF _Toc302464455 h 3 HYPERLINK l _Toc302464456 2.2.编址 PAGEREF _Toc302464456 h 3 HYPERLINK l _Toc302464461 2.2.1物理理地址 PAG

2、EREF _Toc302464461 h 33 HYPERLINK l _Toc302464462 2.2.2逻辑辑地址 PAGEREF _Toc302464462 h 44 HYPERLINK l _Toc302464463 2.2.3端口口地址 PAGEREF _Toc302464463 h 55 HYPERLINK l _Toc302464464 2.3.分层数数据包介介绍 PAGEREF _Toc302464464 h 5 HYPERLINK l _Toc302464466 2.3.1以太太网帧 PAGEREF _Toc302464466 h 55 HYPERLINK l _Toc30

3、2464467 2.3.2ARRP报文文格式 PAGEREF _Toc302464467 h 66 HYPERLINK l _Toc302464468 2.3.3IPP数据报报格式 PAGEREF _Toc302464468 h 66 HYPERLINK l _Toc302464469 2.3.4ICCMP报报文格式式 PAGEREF _Toc302464469 h 7 HYPERLINK l _Toc302464470 2.3.5IGGMP报报文格式式 PAGEREF _Toc302464470 h 9 HYPERLINK l _Toc302464471 2.3.6UDDP用户户数据报报首部

4、格格式 PAGEREF _Toc302464471 h 9 HYPERLINK l _Toc302464472 2.3.7TCCP报文文段格式式 PAGEREF _Toc302464472 h 10 HYPERLINK l _Toc302464473 2.4.分层协协议讲解解 PAGEREF _Toc302464473 h 11 HYPERLINK l _Toc302464475 2.4.1ARRP和RARRP PAGEREF _Toc302464475 h 122 HYPERLINK l _Toc302464476 2.4.2IPP协议 PAGEREF _Toc302464476 h 133

5、 HYPERLINK l _Toc302464477 2.4.3ICCMP协协议 PAGEREF _Toc302464477 h 133 HYPERLINK l _Toc302464478 2.4.4网际际组管理理协议(IGMMP) PAGEREF _Toc302464478 h 16 HYPERLINK l _Toc302464479 2.4.5用户户数据报报(UDDP) PAGEREF _Toc302464479 h 17 HYPERLINK l _Toc302464480 2.4.6传输输控制协协议(TTCP) PAGEREF _Toc302464480 h 18 HYPERLINK l

6、 _Toc302464481 三、UIIP处理理流程 PAGEREF _Toc302464481 h 220 HYPERLINK l _Toc302464482 3.1.简介 PAGEREF _Toc302464482 h 200 HYPERLINK l _Toc302464483 3.2.层次结结构 PAGEREF _Toc302464483 h 200 HYPERLINK l _Toc302464487 3.2.1实现现设备驱驱动与UUIP对对接需要要的7个接口口程序,定义在在uipp.h: PAGEREF _Toc302464487 h 21 HYPERLINK l _Toc302464

7、488 3.2.2应用用层要调调用的函函数,包包括一些些宏定义义与函数数,定义义在uiip.hh: PAGEREF _Toc302464488 h 24 HYPERLINK l _Toc302464489 3.2.3UIIP中所所用到的的主要结结构体 PAGEREF _Toc302464489 h 227 HYPERLINK l _Toc302464490 3.2.4uiip的初初始化与与配置函函数 PAGEREF _Toc302464490 h 311 HYPERLINK l _Toc302464491 3.2.5Uiip的主主程序循循环 PAGEREF _Toc302464491 h 32

8、2 HYPERLINK l _Toc302464492 3.2.6主要要的处理理函数uuip_proocesss() PAGEREF _Toc302464492 h 34 HYPERLINK l _Toc302464493 3.2.7再来来分析UUIP_UDPP_SEEND_CONNN,主主要处理理UDPP报文的的发送: PAGEREF _Toc302464493 h 37 HYPERLINK l _Toc302464494 3.2.8接下下来,分分析UIIP_PPOLLL_REEQUEEST PAGEREF _Toc302464494 h 338 HYPERLINK l _Toc302464

9、495 3.2.9对定定时器期期满的处处理流程程UIPP_TIIMERR PAGEREF _Toc302464495 h 40 HYPERLINK l _Toc302464496 3.2.10对对UIPP_UDDP_TTIMEER的处处理流程程 PAGEREF _Toc302464496 h 41 HYPERLINK l _Toc302464497 3.2.11原原始套接接字和原原始线程程 PAGEREF _Toc302464497 h 41简要历史史19733年,AARPAANETT核心组组成员VVintt Ceerf 和 BBob Kahhn 发发表了一一篇里程程碑论文文,阐述述了实现现分

10、组的的端到端端交付的的协议。这篇关关于传输输控制协协议(TTCP)的论文文包括:封装、数据报报,以及及网关的的功能。 后来,TCPP被划分分为两个个协议:传输控控制协议议(TCCP)和和网际互互联协议议(IPP)。IIP处理理数据报报的路由由选择,而TCCP负责责高层的的一些功功能,如如分段、重装和和差错检检测。这这个用来来进行网网际互联联的协议议后来就就被称为为TCPP/IPP。TCP/IP协协议族简介TCP/IP协协议族由由5层组组成:物物理层、数据链链路层、网络层层、运输输层和应应用层。前四层层与OSSI模型型的前四四层相对对应,提提供物理理标准、网络接接口、网网际互联联、以及及运输功功

11、能。而而应用层层与OSSI模型型中最高高的三层层相对应应。TCP/IP协协议族中中的各层层包含了了一些相相对独立立的协议议。在物物理层和和数据链链路层,TCPP/IPP并没有有定义任任何协议议。在网网络层TTCP/IP支支持网际际互联协协议(IIP),而IPP又由四四个支撑撑协议组组成:AARP、RARRP、IICMPP和IGGMP。在传统统上,TTCP/IP协协议族在在运输层层有两个个运输协协议:TTCP和和UDPP,然而而现在已已经设计计出一个个新的运运输层协协议SCCTP以以满足新新的应用用的需要要。IPP是主机机到主机机的协议议,即把把分组从从一个物物理设备备交付到到另一个个物理设设备

12、。UUDP和和TCPP是运输输机协议议,负责责把报文文从一个个进程(运行着着的程序序)交付付到另一一个进程程。编址使用TCCP/IIP协议议的互联联网使用用3个等等级的地地址:物物理(链链路)地地址、逻逻辑(IIP)地地址以及及端口地地址。每每一种地地址属于于TCPP/IPP体系结结构中的的特定层层。物理地址址物理地址址也叫链链路地址址,是结结点的地地址,由由它所在在的局域域网或广广域网定定义。物物理地址址包含在在数据链链路层使使用的帧帧中。以太网的的地址是是6字节节(488位)长长,通常常用十六六进制记记法,如如:077:011:022:011:2CC:4BB。以太太网的地地址共33种:单单

13、播、多多播和广广播。在在单播地地址中的的第一个个字节的的最低位位0;在在多播地地址中的的第一个个字节的的最低位位是1。广播地地址是448个11。逻辑地址址因特网的的逻辑地地址是332位地地址,可可以用来来标志连连接在因因特网上上的每个个主机。在因特特网上没没有两个个主机有有相同的的IP地地址。同同样,逻逻辑地址址也可以以是单播播地址、多播地地址和广广播地址址。Inteerneet被各各种路由由器和网网关设备备分隔成成很多网网段,为为了标识识不同的的网段,需要把把32位位的IPP地址划划分成网网络号和和主机号号两部分分,网络络号相同同的各主主机位于于同一网网段,相相互间可可以直接接通信,网络号号

14、不同的的主机之之间通信信则需要要通过路路由器转转发。把所有IIP地址址分为五五类,如如下图11所示:图 2-SEQ 图表 * ARABIC1A类00.0.0.00到1227.2255.2555.2555B类类1228.00.0.0到1191.2555.2555.2255CC类1192.0.00.0到到2233.2555.2255.2555D类2244.0.0.00到2339.2255.2555.2555E类类2440.00.0.0到2247.2555.2555.2255在分类编编址的AA类、BB类、CC类地址址中,IIP地址址可划分分为neet-iid(网网络标识识)和hhostt-idd(主

15、机机标识)。对于于A类地地址,11字节定定义neet-iid而33字节定定义hoost-id。对于BB类地址址,2字字节定义义nett-idd,2字字节定义义hosst-iid。对对于C类类地址,3字节节定义nnet-id而而1字节节定义hhostt-idd。D类类地址和和E类地地址不划划分neet-iid和hhostt-idd。网络地址址是一个个地址块块的第一一个地址址,向因因特网的的其余部部分定义义这个网网络。路路由器就就是根据据网络地地址来选选择分组组的路由由。若给给出网络络地址,我们就就能够找找出这个个地址的的类别、地址块块以及这这个地址址块的地地址范围围。这种划分分方案有有很大的的局

16、限性性,它对对网络的的划分是是flaat的而而不是层层级结构构(hieerarrchiicall)的。Intternnet上上的每个个路由器器都必须须掌握所所有网络络的信息息,随着着大量CC类网络络的出现现,路由由器需要要检索的的路由表表越来越越庞大,负担越越来越重重。于是提出出了新的的划分方方案,称称为CIIDR(Claassllesss Innterrdommainn Rooutiing)。网络号和和主机号号的划分分需要用用一个额额外的子子网掩码码(suubneet mmaskk)来表表示,而而不能由由IP地地址本身身的数值值决定,也就是是说,网网络号和和主机号号的划分分与这个个IP地地址

17、是AA类、BB类还是是C类无无关,因因此称为为Claassllesss的。这这样,多多个子网网就可以以汇总(summmarrizee)成一一个Innterrnett上的网网络。IP地址址与子网网掩码做做与运算算可以得得到网络络号,主主机号从从全0到到全1就就是子网网的地址址范围。IP地地址和子子网掩码码还有一一种更简简洁的表表示方法法,例如如1400.2552.220.668/224,表表示IPP地址为为1400.2552.220.668,子子网掩码码的高224位是是1,也也就是2255.2555.2555.00。目的地址址为2555.2255.2555.2555,表表示本网网络内部部广播,路

18、由器器不转发发这样的的广播数数据包。目的地址址的主机机号为全全1,表表示广播播至某个个网络的的所有主主机,例例如目的的地址1192.1688.100.2555表示示广播至至1922.1668.110.00网络(假设子子网掩码码为2555.2255.2555.0)。端口地址址计算机是是多进程程设备,即可以以在同一一时间运运行多个个进程。因特网网通信的的最终目目的是使使一个进进程能够够和另一一个进程程通信。为了能能够同时时发生这这些事情情,需要要有一种种方法对对不同的的进程打打上标号号,就是是说这些些进程需需要地址址。在TCPP/IPP体系结结构中,给一个个进程指指派的标标号叫做做端口地地址。TT

19、CP/IP中中的端口口地址是是16位位长,通通常用110进制制数表示示。分层数据据包介绍绍以太网帧帧图 2-SEQ 图表 * ARABIC2目的地址址(DAA) DAA字段有有6字节节,是下下一站的的物理地地址(也也叫MAAC地址址)。源地址(SA) SSA字段段有6字字节,是是前一站站的物理理地址。类型 类类型字段段有三种种值,分分别对应应IP、ARPP、RAARP。数据 携携带从上上层协议议封装起起来的数数据。它它的最小小长度是是46字字节,最最大长度度是15500字字节。AARP、RARRP的数数据包长长度不够够46字字节,要要在后面面补填充充位。最最大值115000称为以以太网的的最大

20、传传输单元元(MTTU),如果一一个数据据包从以以太网路路由到链链路上,数据包包的长度度大于链链路的MMTU了了,则需需要对数数据包进进行分片片CRC 差错错检测信信息,44字节。ARP报报文格式式图 2-SEQ 图表 * ARABIC3如上图33所示,ARPP分组的的格式如如下:硬件类型型 116位字字段,用用来定义义运行AARP的的链路层层网络的的类型。以太网网是类型型1。协议类型型 116位字字段,指指要转换换的地址址类型。0 x008000位IPP地址。硬件长度度 88位字段段,定义义以字节节为单位位的物理理地址长长度。对对以太网网这个值值为6。协议长度度 88位字段段,定义义以字节节

21、为单位位的逻辑辑地址长长度。对对IPvv4协议议这个值值是4。操作 166位字段段,定义义分组的的类型。为1表表示ARRP请求求,为22表示AARP应应答。发送端硬硬件地址址 可可变长度度字段,定义发发送端的的物理地地址。发送端协协议地址址 定定义发送送端的逻逻辑地址址。目标硬件件地址 定义目目标的物物理地址址。对于于ARPP请求报报文,这这个字段段是全00,因为为发送端端不知道道目标的的物理地地址。目标协议议地址 定义目目标的逻逻辑(如如,IPP)地址址。IP数据据报格式式图 2-4如上图44所示,IP数数据报的的结构包包括:版本(VVER) 这个个4位字字段定义义IP协协议的版版本。首部长

22、度度(HLLEN) 这个44位字段段定义IIP首部部总长度度,以44字节为为单位计计算。当当没有选选项时,首部长长度是220字节节,这个个字段的的值是55(5*4=220)。当选项项字段位位最大值值时,这这个字段段的值是是15(15*4=660)。服务类型型(DSS) TOSS位是44位子字字段,共共有5种种不同的的服务类类型。总长度 这个116位字字段定义义了以字字节计的的数据报报总长度度(首部部加上数数据)。要找出出上层传传来的数数据长度度,可以以从总长长度减去去首部长长度。总总长度字字段是116位,因此IIP数据据报的长长度限制制是6555355(2116 - 1)字节。标识(IIden

23、ntifficaatioon) 这这个166位字段段与源IIP地址址一起唯唯一地定定义这个个数据报报。IPP协议使使用一个个计数器器来标志志数据报报,当IIP协议议发送数据据时,就就把这个个计数器器的当前前值复制制到标识识字段中中,并加加1。当当数据报报被分片片时,标标识字段段的值就就复制到所所有的分分片中。换言之之,所有有的分片片具有相相同的标标识号,即原始始数据报报的标识识号。在在终点重重装数据据报时,终点就就知道所所有具有有相同标标识号的的分片必必须组装装成一个个数据报报。标志(FFlaggs) 3位字字段。第第一位保保留。第第二位为为不分片片位,为为1表示示不对数数据报进进行分片片;为

24、00表示在在需要时时对数据据报进行行分片。第三位位为分片片位,为为1表示示这个数数据报不不是最后后的分片片,在其其后还有有分片;为0表表示这个个数据报报是最后后的分片片。分片偏移移(Frragmmentt Offfseet) 这个113位字字段表示示该分片片在整个个数据报报中的相相对位置置,以88字节为为度量单单位。生存时间间(TTTL) 用来控控制数据据报所通通过的最最大路由由跳数,这个生生存时间间的单位位不是秒秒,而是是跳(hoop)。协议 这个个8位字字段定义义使用IIP层服服务的高高层协议议。如:TCPP、UDDP、IICMPP和IGGMP等等。检验和 IP分分组中的的检验和和只在首首

25、部而不不在数据据部分进进行。因因为,所所有将数数据封装装在IPP数据报报中的高高层协议议,都有有覆盖整整个分组组的检验验和;其其次,每经过过一个路路由器,IP数数据报的的首部就就要改变变一次,但数据据部分不不变。因因此检验验和只对对发生变变化的部部分进行行检验。源地址 这个332位字字段定义义源点的的IP地地址。在在IP数数据报从从源主机机发送到到目的主主机的时时间内,这个字字段必须须保持不不变。目的地址址 这这个322位字段段定义了了终点的的IP地地址。在在IP数数据报从从源主机机发送到到目的主主机的时时间内,这个字字段必须须保持不不变。ICMPP报文格格式类型 8位位字段,定义IICMPP

26、报文的的类型。ICMMP报文文的类型型有:终终点不可可达、源源点抑制制、超时时、参数数问题、改变路路由、回回送请求求或回答答、时间间戳请求求或回答答、地址址掩码请请求或回回答、路路由器询询问和通通告。代码 8位位字段,指明了了发送这这个特定定报文类类型的原原因。检验和(icmmpchhksuum) 166位字段段。在IICMPP中,检检验和的的计算覆覆盖了整整个报文文(首部部和数据据)。ICMPP回送请请求或回回答报文文头格式式如下图图5所示:图2-55ICMPP终点不不可达报报文头格格式如下下图6所示:图2-66ICMPP超时报报文头格格式如下下图7所示:图2-77IGMPP报文格格式图2-

27、88类型 8位位字段,定义了了查询、成员关关系报告告、退出出报告三三种报文文类型,类型值值分别为为0 x111、00 x166、0 xx17。最大响应应时间 8位字字段,定定义了查查询必须须在多长长时间内内回答。它的值值以十分分之一秒秒位单位位。在查查询报文文中这个个值不是是零,但但在其他他两种报报文中则则置为零零。检验和 16位位字段,检验和和在8字字节的报报文上计计算。组地址 在一般般查询报报文中这这个字段段的值为为0,在在特殊查查询报文文、成员员关系报报告报文文以及退退出报告告报文中中定义ggrouupidd(组多多播地址址)。UDP用用户数据据报首部部格式图2-99UDP数数据报格格式

28、如上上图9所示。用户数据据报有88个字节节的固定定首部。源端口号号 116位字字段,定定义源主主机上运运行的进进程所使使用的端端口号。目的端口口号 166位字段段,定义义目的主主机上运运行的进进程使用用的端口口号。长度 166位字段段,定义义了用户户数据报报的总长长度,首首部加上上数据。检验和 16位位字段,UDPP的检验验和包括括三部分分:伪首首部、UUDP首首部以及及从应用用层来的的数据。位首部部是IPP分组的的首部的的一部分分,包括括:源IIP地址址、目的的IP地地址、88位协议议和166位UDDP总长长度。位位首部可可以保证证在IPP首部受受到损伤伤时,用用户数据据报可以以交付到到正确

29、的的主机。协议字字段的加加入,可可以确保保这个分分组是属属于UDDP而不不是属于于TCPP。TCP报报文段格格式图2-110如上图110所示示,TCCP报文文段的结结构包括括:源端口地地址 这个个16位位字段定定义发送送报文段段的应用用程序端端口号。目的端口口地址 这个116位字字段定义义了接收收该报文文段的应应用程序序端口号号。序号 这个个32位位字段定定义了指指派给本本报文段段第一个个数据字字节的一一个号。为了保保证连通通性,要要发送的的每一个个字节都都要编号号。序号号告诉终终点,这这个序列列中的哪哪一个字字节是报报文段中中的第一一个字节节。在连连接建立立时,每每一方使使用随机机数产生生器

30、产生生初始序序号(IISN)。确认号 32位位字段,定义了了报文段段接收端端期望从从对方接接收的下下一个序序号。如如果报文文段的接接收端成成功地发发送了对对方发来来的序号号x,它它就把确确认号定定义为xx+1。首部长度度(tccpofffseet) 44位字段段,指出出TCPP首部共共有多少少个4字字节字。即TCCP数据据在IPP数据中中的偏移移大小。同IPP首部长长度,可可以在55 至115之间间。 保留位 该6位位字段留留待今后后使用。控制/标标志位 该字字段定义义了6种种不同的的控制位位或标志志,在同同一时间间可设置置一位或或多位标标志。表2-11 控控制字段段各标志志说明(从高位位到低

31、位位)标志说 明URG紧急指针针字段值值有效ACK确认字段段值有效效PSH推送数据据RST连接必须须复位SYN在连接建建立时对对序号进进行同步步FIN终止连接接窗口值 该字段段定义接接收方必必须维持持的窗口口值(以以字节为单单位)。注意,该字段段是166位长,因此窗窗口值的的最大长长度为6655335字节节。这个个值由接接收端来来确定,发送端端必须服服从接收收端的决决定。检验和 这个116位字字段包含含检验和和,TCCP使用用检验和和是强制制性的。紧急指针针 当当紧急标标志位置置位时,这个116位字字段才有有效,这这时的报报文段中中包括紧紧急数据据。紧急急指针定定义了一一个数,把这个个数加到到

32、序号上上就得出出报文段段数据部部分中最最后一个个紧急字字节。选项 包括括无操作作(NOOP)、最大报报文段长长度(MMSS)、窗口口扩大因因子、时时间戳等等。分层协议议讲解总的来说说,TCCP/IIP协议议的多路路选择过过程可以以表示为为下图22-111:图2-111ARP和和RARRP地址解析析协议AARP在任何时时候,当当主机或或路由器器有数据据报要发发送给另另一个主主机或路路由器时时,它必必须有接接收端的的逻辑(IP)地址。但是IIP数据据报必须须封装成成帧才能能通过物物理网络络。这就就表示,发送端端必须有有接收端端的物理理地址,因此需需要有从从逻辑地地址到物物理地址址的映射射。地址解析

33、析协议(ARPP)用来来把IPP 地址址与其物物理地址址联系起起来。任任何时候候当主机机或路由由器需要要找出这这个网络络上的另另一个主主机或路路由器的的物理地地址时,它就发发送ARRP查询询分组。这个分分组包括括发送端端的物理理地址和和IP地地址,以以及接收收端的IIP地址址。因为发送送端不知知道接收收端的物物理地址址,查询询就在网网络上广广播。例例如,数数据包要要发送给给IP地地址为1192.1688.0.1的主主机,过过程如下下:源主机发发出ARRP请求求,询问问“IPP地址是是1922.1668.00.1的的主机的的硬件地地址是多多少”,并将这这个请求求广播到到本地网网段(以以太网帧帧首

34、部的的硬件地地址填FFF:FFF:FFF:FFF:FFF:FFF表示示广播),目的的主机接接收到广广播的AARP请请求,发发现其中中的IPP地址与与本机相相符,则则发送一一个ARRP应答答数据包包给源主主机,将将自己的的硬件地地址填写写在应答答包中。ARP报报文格式式如前所所述。ARP软软件包由由5个构构件组成成:高速缓存存表:每台主机机都维护护一个AARP高高速缓存存表,由于高高速缓存存表的空空间非常常有限,所以缓缓存表中中的表项项有过期期时间(一般为为20分分钟),如果220分钟钟内没有有再次使使用某个个表项,则该表表项失效效,下次次还要发发ARPP请求来来获得目目的主机机的硬件件地址。队

35、列:队列用来来在ARRP试图图解析硬硬件地址址时保留留IP分分组。输输出模块块把未解解析的分分组发送送到相应应的队列列,输入入模块从从一个队队列中拿拿走一个个分组,并连同同解析出出的物理理地址一一同发送送给数据据链路层层来传输输。输出模块块: 输出模模块从IIP软件件等待IIP分组组。输出出模块检检查高速速缓存表表,寻找找是否有有某个项项目对应应于这个个分组的的目的IIP地址址。这个个IP分分组的目目的IPP地址必必须与这这个项目目的协议议地址相相匹配。输入模块块: 输入模模块一直直等待,直到有有ARPP分组到到达。检检查高速速缓存表表,寻找找对应这这个ARRP分组组的项目目。输入入模块设设置

36、这个个项目的的超时时时间TIIME-OUTT。若队队列为空空,则从从相应队队列中把把分组一一个接一一个地取取出,连连同其硬硬件地址址一起交交给数据据链路层层来处理理。高速缓存存控制模模块: 负责维维护高速速缓存表表,它周周期性地地逐项检检查高速速缓存表表,判断断有哪些些项目到到期,哪哪些队列列需要撤撤销。逆地址解解析协议议RARRP 当一一个主机机知道自自己的物物理地址址时,RRARPP可用来来找出其其逻辑地地址。每每一个主主机或路路由器都都被指派派一个或或多个逻逻辑地址址,这些些地址与与机器的的物理地地址无关关。要创创建IPP数据报报,主机机或路由由器要知知道它自自己的IIP地址址。可以以使

37、用RRARPP协议从从物理地地址得到到逻辑地地址。 知道道物理地地址后,先创建建RARRP请求求,并在在本地网网络上广广播。在在本地网网络上的的另一个个机器知知道所有有的IPP地址,它就用用RARRP回答答来响应应。请求求的机器器必须运运行RAARP客客户程序序;而响响应的机机器必须须运行RRARPP服务器器程序。IP协议议IP数据据报的格格式如前前所述。IP是不不可靠的的无连接接协议,负责源源点到终终点的交交付。在IP层层的分组组叫做数数据报。数据链路路层有自自己的帧帧格式,在这个个格式中中有一个个字段是是“数据字字段最大大长度”。当数数据报封封装成帧帧时,数数据报的的总长度度必须小小于这个

38、个数据字字段最大大长度(MTUU)。对数据报报进行分分割,叫叫做分片片。源站站通常不不对IPP分组进进行分片片。运输输层会进进行分片片工作,把数据据划分成成IP和和在使用用的数据据链路层层都可能能接纳的的大小。数据报报在到达达终点之之前可以以经过多多次分片片,可以以被源主主机或在在其路径径上任何何路由器器进行分分片。然然而数据据报的重重组却只只能在目目的主机机上进行行。在IP分分组中的的检验和和只在首首部而不不在数据据部分心心进行。因为,首先所所有将数数据封装装在IPP数据报报中的高高层协议议,都有有覆盖整整个分组组的检验验和;其其次,每每经过一一个路由由器,IIP数据据报的首首部就要要改变一

39、一次,但但数据部部分不变变。因此此检验和和只对发发生变化化的部分分进行检检验。IP软件件包包括括8个构构件:首首部添加加模块、处理模模块、转转发模块块、分片片模块、重装模模块、路路由表、MTUU表以及及重装表表,还有有输入和和输出队队列。首部添加加模块,从高层层协议接接收数据据(连同同其IPP地址),添加加IP首首部后,把数据据封装成成IP数数据报。处理模块块,从一一个接口口或从首首部添加加模块接接收数据据报,首首先检查查数据报报是否为为回环地地址,还还是这个个分组已已到达最最后终点点。输入队列列把从数数据链路路层或从从高层协协议发来来的数据据存放起起来。输出队列列把要发发送到数数据链路路层或

40、高高层协议议的数据据报存放放起来,处理模模块从中中取出数数据报,分片和和重装模模块则把把这个数数据报加加入输出出队列中中。路由表是是在转发发模块中中使用的的,用来来确定分分组的下下一跳地地址。分片模块块从转发发模块接接收IPP数据报报。转发发模块给给出IPP数据报报、下一一站的IIP地址址。以及及发送这这个数据据报所必必须通过过的接口口号。分分片模块块使用MMTU表表以便找找出对于于特定接接口的最最大传送送单元MMTU。若数据据报的长长度大于于MTUU,则分分片模块块对数据据报进行行分片,为每一一个分片片添加首首部,并并把它们们发送到到ARPP软件包包进行地地址解析析和交付付。重装模块块从处理

41、理模块接接收已到到达最终终目的地地的数据据报分片片。重装装模块将将未分片片的数据据报看成成是属于于仅有一一个分片片的数据据报。使使用重装装表找出出一个分分片是属属于哪一一个数据据报,将将属于同同一个数数据报的的各分片片进行排排序,并并在所有有分片到到达时把把它们重重新组装装成一个个数据报报。ICMPP协议IP协议议没有差差错报告告或差错错纠正机机制和管管理查询询机制。网际控控制报文文协议(ICMMP)就就是为了了补偿这这两个缺缺点而设设计的。它是配配合IPP协议使使用的。ICMPP本身是是网络层层协议,但是它它的报文文不是如如设想的的那样直直接传送送给数据据链路层层,而是是首先要要封装成成IP

42、数数据报,再传送送给下一一层。在IP数数据报中中的协议议字段值值是1就就表示其其IP数数据是IICMPP报文。ICMPP报文类类型如下下表2-2所示示:表2-22 IICMPP报文类类型ICMPP报文分分为两大大类:差差错报告告报文和和查询报报文。报报文格式式如前所所述。差错报告告报文差错报告告报文报报告当路路由器或或主机在在处理IIP数据据报时可可能遇到到的一些些问题。ICMMP不能能纠错,只能报报告差错错,差错错纠正留留给高层层协议去去做。ICMPP总是使使用源IIP地址址把差错错报文发发送给数数据报的的源点。一共有55种差错错可处理理:终点点不可达达、源点点抑制、超时、参数问问题以及及改

43、变路路由。终点不可可达报文文 当路由器器不能够够给数据据报找到到路由或或主机不不能够交交付数据据报时,就丢弃弃这个数数据报,然后这这个路由由器或主主机就向向发出这这个数据据报的源源主机发发回终点点不可达达报文。源点抑制制 ICMPP的源点点抑制报报文就是是为了给给IP增增加一种种流量控控制而设设计的。当路由由器或主主机因拥拥塞而丢丢弃数据据报时,它就向向数据报报的发送送端发送送源点抑抑制报文文。目的的有二:第一,通知源源点,数数据报已已被丢弃弃。第二二,它警警告源点点,在路路径中的的某处出出现了拥拥塞,因因而源点点需放慢慢发送过过程。注注意,必必须为每每一个丢丢弃的数数据报向向源点发发送源点点

44、抑制报报文。超时 超时有两两种情况况:第一一,当路路由器接接收到生生存时间间字段值值为零的的数据报报时,就就丢弃这这个数据据报,并并向源点点发送超超时报文文;第二二,当最最后的终终点在规规定时间间内没有有收到所所有的分分片时,就丢弃弃已收到到的分片片,并向向源点发发送超时时报文。参数问题题如果路由由器或主主机在数数据报的的首部中中发现任任何二义义性,或或在数据据报的某某个字段段中缺少少了某个个值,就就丢弃这这个数据据报,并并发送参参数问题题报文。改变路由由路由器的的路由选选择是动动态的,而主机机为了提提高效率率,通常常使用静静态路由由选择。当主机机开始连连网工作作时,其其路由表表中的项项目数很

45、很有限。它通常常只知道道默认路路由器这这一个路路由器的的IP地地址,因因此主机机有可能能会把某某个数据据报发送送给一个个错误的的路由器器。此时时,收到到这个数数据报的的路由器器会把数数据报转转发给正正确的路路由器,并向主主机发送送改变路路由报文文,以更更新主机机中的路路由表。查询报文文查询报文文都是成成对出现现的。在这种类类型的IICMPP报文中中,一个个结点发发送报文文,然后后由目的的结点用用特定的的格式进进行回答答。回送请求求和回答答报文为诊断目目的而设设计的。主机或路路由器可可以发送送回送请请求报文文给另一一个主机机或路由由器。收收到回送送请求报报文的主主机或路路由器产产生回送送回答报报

46、文,并并将其返返回给原原来的发发送者。回送请求求和回答答报文可可用来确确定是否否在IPP这级能能够通信信。还可可由主机机使用,以检查查另一个个主机是是否可达达。在用用户级,调用分分组因特特网搜寻寻器(ppingg)命令令可做到到这点。时间戳请请求和回回答两个机器器可使用用时间戳戳请求和和回答来来确定IIP数据据报在这这两个机机器之间间来往所所需的往往返时间间。地址掩码码请求和和回答主机通过过向局域域网上的的路由器器发送地地址掩码码请求报报文来获获得自己己的掩码码。若主主机知道道这个路路由器的的地址,则直接接将请求求发送给给该路由由器,若若主机不不知道,则广播播这个请请求报文文。路由器收收到地址

47、址掩码请请求报文文,就以以地址掩掩码回答答报文进进行响应应,向主主机提供供所需的的掩码。路由询问问和通告告主机若想想把数据据发送给给另一个个网络上上的主机机,就需需要知道道连接到到该网络络上的路路由器的的地址。此外,这个主主机还需需要知道道这些路路由器是是否正常常工作。就可以以通告路路由询问问和通告告报文。主机把路路由器询询问报文文进行广广播,收收到询问问的路由由器就使使用路由由通告报报文广播播其路由由选择信信息。路路由器发发送通告告报文时时,不仅仅通告自自己的存存在,而而且通告告了它所所知道的的所有在在这个网网络上的的路由器器。在ICMMP中,检验和和的计算算覆盖了了整个报报文(首首部和数数

48、据)。网际组管管理协议议(IGGMP)网际组管管理协议议(IGGMP)是与多多播有关关的一个个必要的的但不是是充分的的协议。IGMMP并不不是多播播路由选选择协议议,而是是个管理理组成员员关系的的协议。每当主主机需要要加入或或离开某某个特定定的多播播群组时时,该协协议允许许该主机机去通知知邻近的的路由器器。该协议只只用在主主机与路路由器之之间的网网络上。而且,协议只只把计算算机(不不是应用用进程)定义为为群组成成员。如果在一一个给定定计算机机上有多多个进程程要加入入到一个个多播群群组,计计算机必必须要把把接收到到的每个个数据报报复制多多个副本本给每个个进程。只有当当最后一一个进程程离开群群组时

49、,计算机机才利用用IGMMP通知知本地的的路由器器,表明明它不再再是群组组的成员员了。IIGMPPv2有有3种报报文类型型:查询询、成员员关系报报告和退退出报告告。IGMPP可分为为两个阶阶段:第一阶段段:当某某个主机机加入新新的多播播组时,该主机机应向组组播组的的多播地地址发送送一个IIGMPP报文,声明自自己要成成为该组组的成员员。本地地的多播播路由器器收到IIGMPP报文后后,将组组成员关关系转发发给因特特网上的的其他多多播路由由器。第二阶段段:因为为组成员员关系是是动态的的,因此此本地多多播路由由器要周周期性地地探询本本地局域域网上的的主机,以便知知道这些些主机是是否还连连续是组组的成

50、员员。只要要对某个个组有一一个主机机响应,那么多多播路由由器就认认为这个个组是活活跃的。但一个个组在经经过多次次的探询询后仍然然没有一一个主机机响应,则多播播路由器器就认为为本网络络上的主主机已经经都离开开这个组组了因此此就不再再将该组组的成员员关系转转发给其其他的多多播路由由器。IGMPP报文格格式如前前所述。IGMPP协议的的优点:主机和多多播路由由器的所所有通信信使用IIP多播播,只要要有可能能,携带带IGMMP报文文的数据据报都使使用硬件件多播来来传送。多播路由由器在探探询组成成员关系系时,只只需要对对所有多多播组只只发一个个查询,而不是是对每一一个组发发送一个个查询,默认1125SS

51、一次。用户数据据报(UUDP)UDP数数据报的的格式如如前所述述。UDP位位于应用用层和IIP层之之间,作作为应用用程序和和网络操操作的中中介物。IP是负负责在计计算机级级的通信信(主机机到主机机的通信信),作作为网络络层协议议,IPP只能把把报文交交付给目目的主机机。但是是,这是是一种不不完整的的交付。这个报报文还必必须送交交到正确确的进程程。UDDP就是是负责把把报文交交付给适适当的进进程。完成进程程到进程程的通信信最常用用的方法法是通过过客户-服务器器范例。在本地地主机上上叫做客客户的进进程主动动发起请请求, 远程主主机上叫叫做服务务器的进进程被动动地等待待、接收收和应答答请求。客户端端

52、的IPP地址和和端口号号唯一标标识了该该主机上上的客户户端进程程,服务务器的IIP地址址和端口口号唯一一标识了了该主机机上的服服务端进进。由于客客户端是是主动发发起请求求的一方方,它必必须知道道服务器器的IPP地址和和服务进进程的端端口号,所以,一些常常见的网网络协议议有默认认的服务务器端口口。TCP/IP协协议族中中,端口口号是在在06655335之间间的整数数。ICCANNN把端口口号划分分为3个个范围:熟知端端口号、注册端端口号和和动态(或专用用)端口口号。熟知端口口范围从从0110233;注册册端口范范围从1102444991511;动态态端口范范围从44915526655335.已知

53、UDDP需要要两个标标识符,即IPP地址和和端口号号,各用用在一端端以建立立一条连连接。一一个IPP地址和和一个端端口号合合起来叫叫做套接接字地址址。这些些信息是是IP首首部和UUDP首首部的一一部分。UDP提提供物连连接服务务,即UUDP发发出的每每一个用用户数据据报都是是独立的的数据报报,每一一个用户户数据报报可以走走不同的的路径到到达目的的进行。UDPP缺少流流量控制制和差错错控制。要从一个个进程把把报文发发送到另另一个进进程,UUDP协协议就要要把报文文进行封封装和拆拆装。封装当进程有有报文要要通过UUDP发发送时,它就把把这个报报文连同同一对套套接字地地址以及及数据的的长度传传递给U

54、UDP,加上UUDP首首部后,UDPP把用户户数据报报连同套套接字地地址一起起传递给给IP。IP加加上自己己的首部部,在协协议字段段使用值值17,指出该该数据是是从UDDP协议议来的。再将IIP数据据报传递递给数据据链路层层,数据据链路层层收到IIP数据据报后,再加上上自己的的首部传传递给物物理层。物理层层将这些些位编码码为电信信号或光光信号,把它发发送到远远程机器器。拆装报文到达达目的主主机时,物理层层对信号号解码,将它变变为位,传递给给数据链链路层。数据链链路层使使用这个个首部(和尾部部)检查查数据。若无差差错,则则去掉首首部和尾尾部,并并把数据据报传递递给IPP。IPP软件进进行检查查,

55、若无无差错,就剥去去首部,把用户户数据报报连同发发送端和和接收端端的IPP地址一一起传递递给UDDP。UUDP使使用检验验和对整整个用户户数据报报进行检检查。若若无差错错则剥去去首部,把应用用数据传传递给接接收进程程。在需需要回答答收到的的报文时时,应把把发送端端的套接接字地址址一起传传递给接接收进程程。UDP软软件包共共包括55个构件件:一个个控制块块表、若若干个输输入队列列、一个个控制块块模块、一个输输入模块块和一个个输出模模块。在在UDPP中,队队列是与与端口相相关联在在一起的的。这里里的实现现只创建建与每一一个进程程相关联联的输入入队列,而不创创建输出出队列。控制块表表UDP控控制块表

56、表来记录录打开的的端口。表中的的每一个个项目有有最小的的4个字字段:状状态(FFREEE或INN-USSE)、进程IID、端端口号以以及相应应的队列列号。输入队列列使用了一一组输入入队列,每一个个对应于于一个进进程。控制块模模块负责管理理控制块块表。当当进程启启动时,它就从从操作系系统请求求得到一一个端口口号。操操作系统统把熟知知端口号号指派给给服务器器,而把把短暂端端口号指指派给客客户。进进程把进进程IDD和端口口号传递递给控制制块模块块,以便便在表中中为这个个进程创创建一个个项目。这个模模块不创创建队列列。队列列数字段段值为零零。输入模块块输入模块块从IPP接收用用户数据据报。它它查找控控

57、制块表表,查找找具有和和这个用用户数据据报同样样端口号号的项目目。若找找到这样样的项目目,模块块就利用用这项目目中的信信息把这这个数据据放入队队列。若若未找到到这样的的项目,它就产产生ICCMP“端口不不可达”报文,并丢弃弃这个项项目。输出模块块负责创建建和发送送用户数数据报。传输控制制协议(TCPP)TCP叫叫做面向向连接的的、可靠靠的运输输协议。它提供供进程到到进程、全双工工和面向向连接的的服务。TCPP使用滑滑动窗口口机制实实现流量量控制,来避免免接收端端因数据据过多而而过载;使用差差错控制制来提供供可靠的的服务。两个设备备之间使使用TCCP软件件传送的的数据单单元叫做做报文段段,它有有

58、2060字字节的首首部,首首部后面面是来自自应用程程序的数数据。首首部结构构如前所所述。TCP连连接TCP的的连接通通常包括括3个阶阶段:连连接建立立、数据据传送和和连接终终止。连接建立立需要三三向握手手:客户发送送第一个个报文段段,SYYN报文文段,在在这个报报文段中中只有SSYN标标志位置置1.这这个报文文段的作作用是使使序号同同步。SSYN报报文段是是控制报报文段,不携带带任何数数据,但但是消耗耗一个序序号。当当数据传传送开始始时,每每发送一一个字节节,序号号应该加加1. 在接收收端可以以根据序序号排出出数据包包的正确确顺序,也可以以发现丢丢包的情情况。服务器发发送第二二个报文文段,SS

59、YN+ACKK报文段段,有两两个标志志位置11(SYYN和AACK)。服务务器使用用这个报报文段同同步初始始序号,以便从从服务器器向客户户发送字字节。使使用ACCK确认认已从客客户端收收到了SSYN报报文段,确认号号为客户户端发送送SYNN报文段段序号值值加1.客户发送送第三个个报文AACK,确认号号为服务务器发送送报文段段的序号号值加11。该报报文段的的序号与与SYNN报文段段使用的的序号一一样。ACK报报文段如如果不携携带数据据就不消消耗序号号。连接建立立后,数数据开始始双向传传送:在数据传传输过程程中,AACK和和确认序序号是非非常重要要的,应应用程序序交给TTCP协协议发送送的数据据会

60、暂存存在TCCP层的的发送缓缓冲区中中,发出出数据包包给对方方之后,只有收收到对方方应答的的ACKK段才知知道该数数据包确确实发到到了对方方,可以以从发送送缓冲区区中释放放掉了,如果因因为网络络故障丢丢失了数数据包或或者丢失失了对方方发回的的ACKK段,经经过等待待超时后后TCPP协议自自动将发发送缓冲冲区中的的数据包包重发。以上情况况只描述述了最简简单的一一问一答答的情景景,事实实上TCCP协议议为应用用层提供供了全双双工(ffulll-duupleex)的的服务,双方都都可以主主动甚至至同时给给对方发发送数据据。如果果通讯过过程只能能采用一一问一答答的方式式,收和和发两个个方向不不能同时时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论