IP网际协议概述
扫描二维码
随时随地手机看文章
IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。
IP是整个TCP/IP协议族的核心,也是构成互联网的基础。IP位于TCP/IP模型的网络层(相当于OSI模型的网络层),它可以向传输层提供各种协议的信息,例如TCP、UDP等;对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。为了能适应异构网络,IP强调适应性、简洁性和可操作性,并在可靠性做了一定的牺牲。IP不保证分组的交付时限和可靠性,所传送分组有可能出现丢失、重复、延迟或乱序等问题。
IP主要包含三方面内容:IP编址方案、分组封装格式及分组转发规则.IP分组的转发规则路由器仅根据网络地址进行转发。当IP数据包经由路由器转发时,如果目标网络与本地路由器直接相连,则直接将数据包交付给目标主机,这称为直接交付;否则,路由器通过路由表查找路由信息,并将数据包转交给指明的下一跳路由器,这称为间接交付。路由器在间接交付中,若路由表中有到达目标网络的路由,则把数据包传送给路由表指明的下一跳路由器;如果没有路由,但路由表中有一个默认路由,则把数据包传送给指明的默认路由器;如果两者都没有,则丢弃数据包并报告错误。IP分片一个IP包从源主机传输到目标主机可能需要经过多个不同的物理网络。由于各种网络的数据帧都有一个最大传输单元(MTU)的限制,如以太网帧的MTU是1500;因此,当路由器在转发IP包时,如果数据包的大小超过了出口链路的最大传输单元时,则会将该IP分组分解成很多足够小的片段,以便能够在目标链路上进行传输。这些IP分片重新封装一个IP包独立传输,并在到达目标主机时才会被重组起来。IP分组结构一个IP分组由首部和数据两部分组成。首部的前20字节是所有IP分组必须具有的,也称固定首部。在首部固定部分的后面是一些可选字段,其长度是可变的。
IP信息包的分割与重组为了能把一个IP报文放在不同的物理帧中,最大IP报文的长度就只能等于这条路径上所有物理网络的MTU的最小值。当数据报通过一个可以传输长度更大的帧的网络时,把数据报的大小限制在互联网上最小的MTU之下不经济;如果数据报的长度超过互联网中最小的MTU值的话,则当该数据报在穿越该子网时,就无法被封装在一个帧中。
IP协议在发送IP报文时,一般选择一个合适的初始长度。如果这个报文要经历的中间物理网络的MTU值比IP报文长度要小,则IP协议把这个报文的数据部分分割成若干个较小的数据片,组成较小的报文,然后放到物理帧中去发送。每个小的报文称为一个分段。分段的动作一般在路由器上进行。如果路由器从某个网络接口收到了一个IP报文,要向另外一个网络转发,而该网络的MTU比IP报文长度要小,那么就要把该IP报文分成多个小IP分段后再分别发送。重组是分段的逆过程,把若干个IP分段重新组合后还原为原来的IP报文。在目的端收到一个IP报文时,可以根据其分段偏移和MF标志位来判断它是否是一个分段。如果MF位是0,并且分段偏移为0,则表明这是一个完整的IP数据报。否则,如果分段偏移不为0,或者MF标志位为1,则表明它是一个分段。这时目的地端需要实行分段重组。IP协议根据IP报文头中的标识符字段的值来确定哪些分段属于同一个原始报文,根据分段偏移来确定分段在原始报文中的位置。如果一个IP数据报的所有分段都正确地到达目的地,则把它重新组织成一个完整的报文后交给上层协议去处理。