网间互联协议

网间互联协议

2023年7月31日发(作者:)

⽹间互联协议因特⽹协议体系TCP/IP是由若⼲协议组成的互联⽹络协议标准,为异构计算机⽹络的互连和数据通信提供了统⼀的准则。IP协议是TCP/IP的核⼼。如图3-1所⽰,⽹际层的常⽤协议主要包括IP协议、地址解析协议ARP、逆地址解析协议RARP、因特⽹控制报⽂协议ICMP和因特⽹组管理协议IGMP等。

图3-1构成⽹际层的协议ICMP和IGMP协议在⽹际层的最上⾯,ICMP⽤于通告IP层分组传输状态,IGMP⽤于实现⽹络中的组管理与多播应⽤。ARP和RARP协议位于⽹际层的最下⾯,ARP⽤于把节点的IP地址解析为物理地址,RARP⽤于把节点的物理地址解析为IP地址。⼀、IP协议IP协议是⽹际层的核⼼协议,它定义了⽹际层所使⽤的分组格式。IP协议提供“尽⼒交付”的⽹络服务,不保证传输的可靠性,由上层的协议或应⽤程序提供传输可靠性的保证。不同⽹络的技术差别主要体现在数据链路层和物理层,如不同的局域⽹技术和⼴域⽹技术。⽽IP协议能够将不同的⽹络技术在TCP/IP的⽹际层统⼀,以⼀致的IP分组⽀持异构⽹络互联。IP协议实际上是⼀套由软件程序组成的协议软件,把各种不同“帧”统⼀转换成“IP数据报”格式,使各种计算机都能在因特⽹上实现互联互通。1.IP数据报IP数据报⼜称IP分组,其具体格式如图3-2所⽰。⼀个IP分组由⾸部和数据两部分组成,⾸部的固定部分为20个字节,⾸部的可变部分最长为40个字节,若长度不够4个字节的整数倍,则需要利⽤最后⼀个字段进⾏填充,以⽅便定界与识别。IP分组的固定⾸部包含12个字段,具体包括:1)版本:占4bit,指的是IP协议的版本。⽬前常⽤的IP数据报的版本是IPv4。

图3-2 IP协议数据报的格式2)⾸部长度:占4bit,允许的最⼤值为15。在IP数据报中,4个字节为⼀个单元,可得出⾸部长度最⼤值为60(15×4)字节。如果IP分组的⾸部长度不是4字节的整数倍时,需要在填充字段加以填充,使得整个⾸部长度为4个字节的整数倍。3)服务类型:占8bit,保证提供的QoS级别。4)总长:占16bit,单位为1个字节。总长指⾸部和数据部分的总长度,因此,数据报的最⼤长度为65535(216-1)字节,即64KB。5)标识:占16bit,它是⼀个计数器,⽤来产⽣数据报的标识。由于在⽹络中有时需要传送⼤容量数据,⽽链路都有最⼤的传送单元长度限制,所以要进⾏数据报的拆分。当同⼀个数据报进⾏拆分后,报头标识字段的值均相同。当到达⽬的地时,具有相同标识字段的各个数据⽚就能够正确地重装为原来的数据包。6)标志:占3bit。它具有如下含义:当标识字段的最低位为1时,表⽰后⾯还有分⽚,当最低位为0时,表⽰这已经是若⼲数据⽚的最后⼀个;当标识字段的中间⼀位为1时,表⽰不能分⽚,为0时,则表⽰可以分⽚。7)段位移:段偏移的单位为8个字节,表⽰的是当数据报在分⽚后,某个分⽚在原数据报的相对位置。8)⽣存时间:占8bit,数据报在⽹络传输时,为避免数据报长期滞留在⽹络中,为其设置了⽣存时间(TTL,Time ToLive),它的最⼤值是255。在⽹络中,当数据包每经过⼀台路由器时,⽣存时间TTL值就减1,当TTL减⾄为0时,若该数据包仍没有到达⽬的地,则丢弃该数据包。9)类型:占8bit,指明在IP数据报中封装的是何种协议,如ICMP、IGMP、TCP和UDP等,以便⽬的主机能够将数据包交付给上层应⽤程序。10)头部校验和:这个字段只校验报头在传输过程中是否发⽣差错。数据包在整个⽹络传输过程中,每经过⼀个节点都会对数据报进⾏拆封,报头的TTL字段的值会变化,引起报头信息变化,如果数据部分也进⾏校验,则计算的⼯作量就很⼤。11)源IP地址:占4个字节,IP数据报来源的IP地址。12)⽬的IP地址:占4个字节,IP数据报将要发往的IP地址。2.IP地址IPv4协议约定,⽹络中的每台主机都需要通过⼀个Internet接⼝,该接⼝⽤32位全局唯⼀的IP地址来标识。TCP/IP的⽹际层通过IP数据报中的源IP地址和⽬的IP地址来标识⽹络中的主机,⼜称逻辑地址。与逻辑地址对应的,数据链路层的MAC地址称为硬件地址,⼜可称为物理地址,它被固化在⽹卡的硬件结构中,只要主机和设备的⽹卡不变,则其MAC地址就不变。物理地址的特点是:⽆论具有该地址的⽹络设备从⼀个⽹络移动到另⼀个⽹络,或从地球的⼀端移动到另⼀端,该⽹络设备的物理地址均保持不变。⽽逻辑地址会随着设备所处的⽹络位置不同⽽发⽣变化,即IP地址会随着设备从⼀个⽹络移动到另⼀个⽹络⽽相应地发⽣改变。逻辑地址和物理地址的关系就如⽤户的⼿机号码与⼿机间的关系⼀样,⽤户购买了⼀台⼿机,这台⼿机的物理标识从出⼚就⼀直不变,⽽⼿机号码及SIM卡则可更换。对于⽹络设备,其IP地址类似于⼿机号码,均为统⼀的格式,⽽屏蔽⽹络设备的类型。●为⽅便快速地寻址找到⽬的地,⼀个IP地址划分为两部分:1)⽹络号(net-id):标识设备位于⽹络中的哪个⽹段。2)主机号(host-id):标识该⽹段的某个设备。⽹络号和主机号组成了⽹络IP地址,寻址时,⾸先应在整个⽹络中寻找⽬标⽹络号,再在⽬标⽹络中寻找⽬标主机号。为了更简单迅速地寻址,将⽹络号划分为[A类地址]、[B类地址]、[C类地址]、[D类地址]和[E类地址],其中每⼀类地址都具有⾃⼰的⽹络号和主机号。IPv4地址采⽤32位⼆进制数表⽰,为便于记忆,将其分为4段,每段为⼀个字节且字节之间⽤⼩数点隔开,再将这4段⼆进制数分别转化为⼗进制表⽰。⽐如⼀个IP地址,⽤⼆进制表⽰为:111110000,分解为4个8位位组后为:11111111.11111111.00000000.00000000,转化为⼗进制的结果为255.255.0.0,这种地址格式通常称为点分⼗进制。●A类、B类、C类地址所占地址空间:1)[A类地址空间];2)[B类地址空间];3)[C类地址空间]。A类地址空间:以IP地址⼆进制表⽰的数为基准,第⼀位为0的地址规定为A类IP地址,A类IP地址空间共有231个地址,⽽整个IP地址空间为232,所以A类IP地址的数量占整个IP地址总数的1/2。其中,A类IP地址中存在两个特殊的IP地址,0.0.0.0表⽰⽹络中的所有主机;127.0.0.1表⽰环回地址,该地址主要⽤来测试主机的协议栈TCP/IP是否正确安装,所以A类IP地址最⼤的⽹络数为27-2=126个。B类地址空间:B类IP地址的⽹络号占2个字节,第1个字节的前2位确定为1和0,则B类IP地址的⽹络数为214个。B类IP地址的主机号同样占2个字节,共16位,由于主机号不允许全为0或者全为1,所以每个⽹络上最多的主机数为216-2=65534台,整个B类IP地址约占整个地址空间的1/4。C类地址空间:C类IP地址的⽹络号占3个字节,第1字节的前3位为1、1和0,C类IP地址的⽹络数为221个。C类IP地址的主机号占1个字节,每个具有C类IP地址的⽹络中包含的最多主机数为28-2=254,C类IP地址占整个地址空间的1/8。●IP地址的使⽤范围如图3-3所⽰。

图3-3 IP地址的使⽤范围⼆、ARP协议地址解析协议ARP是⽹际层协议之⼀,它的作⽤是把IP地址映射到MAC地址。ARP协议的作⽤是将接收到的IP地址解析为数据链路层的MAC地址。数据在⽹际层进⾏传输采⽤的是IP寻址,⽽在MAC层则使⽤MAC寻址。对于利⽤以太⽹通信的两台设备,数据链路层则使⽤MAC地址区分⽹段上的机器,在彼此通信时,需要知道彼此的MAC地址。ARP地址解析分为同⼀⽹段和不同⽹段两类情形,不同⽹段的情形还需要考虑路由器的ARP请求与应答。如图3-4所⽰,假设在同⼀⽹段上有3台PC机,它们的IP地址均属于192.168.1.0⽹段。现有PC2需要向PC3发送数据,PC2仅知道PC3的IP地址,但是数据是通过MAC地址进⾏传送的,PC2为了获知PC3的MAC地址,则需要采⽤ARP协议将IP地址映射到MAC地址。

图3-4同⼀⽹段的ARP实例⾸先,PC2⽣成⼀个ARP请求,其中的源IP地址是192.168.1.2,⽬的地址是192.168.1.3。数据报被封装在⼀个以太⽹帧中,帧的源MAC地址是.2222,帧的⽬的地址是⼴播地址FF:FF:FF:FF:FF:FF。同⼀⽹段的PC1和PC3都会收到此数据帧,PC1和PC3识别出该数据报是⼀个ARP的请求帧,对其进⾏解封装,并将带有ARP请求的IP数据报向上传送到⽹际层。PC1在ARP请求帧中看到的⽬的地址并不是⾃⼰的IP地址,将采取忽略并丢弃此帧策略,⽽PC3在发现ARP请求帧是⾃⼰的IP地址192.168.1.3时,向PC2发送ARP的应答帧,并附上⾃⼰的MAC地址。通过上述过程,PC1和PC3都将PC2的MAC地址加⼊到本机的ARP缓存表中,若需要向PC2发送数据,则可以直接在ARP缓存表中找到PC2的MAC地址并发送数据。但是,ARP缓存表存在⼀个更新周期,经过⼀定时间就会进⾏刷新,这个时间周期取决于所使⽤的操作系统。三、RARP协议逆地址解析协议RARP是⽹际层的协议之⼀,RARP与ARP⼯作⽅式互逆。发送⽅⾸先向RARP服务器发送RARP请求帧,以解析从物理地址得到对应的IP地址。如图3-5所⽰,PC是⼀个⽆盘⼯作站,配置了MAC地址,期望获得IP地址。⾸先,PC发送⼀个本地RARP⼴播,帧的源MAC地址和⽬的MAC地址均被设置为.1111,并在⼴播中请求RARP的服务器分配⼀个IP地址。RARP服务器收到此请求后,检查RARP列表是否存在该MAC地址到IP地址192.168.1.2的映射。若存在该映射,则RARP服务器向PC发送⼀个响应帧,并将地址192.168.1.2提供给对⽅使⽤;若不存在,则RARP服务器对此不做任何的响应。在PC收到从RARP服务器的响应信息后,则利⽤得到的IP地址进⾏通信;如果⼀直没有得到RARP服务器的响应信息,则表⽰初始化失败。

图3-5 RARP实例四、ICMP协议Internet控制报⽂协议ICMP是⽹际层协议之⼀,该协议主要⽤于控制IP数据报的传输,在⽹络设备之间传输错误提醒和控制信息,是检测⽹络连通性和⼯作状态的重要协议之⼀。ICMP协议报⽂类型主要分为差错报告报⽂和询问报⽂。差错报告报⽂分为⽬的站不可达、源站抑制、时间超时、参数问题和改变路由;询问报⽂分为回送请求或应答、时间戳请求或应答、地址掩码请求或回答和路由询问或通告。Ping是ICMP最常⽤的应⽤。Ping是通过发送回送、回送请求和⽬的不可达信息来测试⽬的主机是否可达的。如图3-6所⽰,若测试PC1与PC2之间的连通性,则PC1⽣成⼀个ICMP回送分组。若此回送分组可以到达PC2,则PC2会⽣成⼀个回送应答分组,以通知PC1其与PC2之间的链路是相通的;若中间的路由器不知道如何转发PC1发送的回送分组,则路由器将以⼀个⽬的不可达信息作为回应;若路由器知道如何转发PC1发送的回送分组,但是⽬的主机没有收到回送分组,则PC1将收到⼀条请求超时信息。

图3-6 PC1和PC2连通性测试五、IGMP协议Internet组管理协议IGMP是⽹际层协议之⼀,也是⼀个组播协议,它运⾏于主机和与主机直接相连的组播路由器之间。GMP协议包含成员关系查询和成员关系应答两种数据报⽂。成员关系查询报⽂是由⽹段中的组播路由器周期性地向该共享⽹段发送,主机在收到查询消息后,⽣成IGMP成员关系应答报⽂,然后组播路由器依据收到的响应来刷新组成员的存在信息。如图3-7所⽰,PC1和PC2属于组播地址为224.10.1.1的多播组,PC3不属于224.10.1.1多播组。组播路由器会周期性地发送成员关系查询报⽂,此报⽂的⽬的地址是224.0.0.1。⽹络上的PC1、PC2和PC3都会收到这个查询报⽂,同属⼀组的PC1和PC2会发送组员关系应答报⽂,但是它们的发送时间是错开的。若PC1先发送应答报⽂,报⽂的⽬的地址是224.10.1.1,组播标识为224.10.1.1。组播路由器在收到此应答报⽂后,知道⽹络上存在224.10.1.1这个组,则会继续保存在组播表中。PC2同样也会收到PC1发送的应答报⽂,此时PC2会延迟发送组播应答报⽂,因为组播路由器已经知道224.10.1.1组的存在。假如PC3想加⼊组播224.10.1.1组,则其会主动地发送组播关系请求报⽂,其⽬的地址是224.10.1.1,组播标识是0.0.0.0。

图3-7多播组的应⽤实例

发布者:admin,转转请注明出处:http://www.yc00.com/news/1690782732a424970.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信