第三章_IP网际协议

来源:互联网 发布:淘宝网京剧服装青衣 编辑:程序博客网 时间:2024/05/01 19:25

IP首部

IP协议是TCP/IP协议族中最核心的协议,所有的TCP、UDP、ICMP、IGMP数据都是以IP数据报格式传输的。

 

IP提供不可靠、无连接的服务。

不可靠:不能保证IP数据报能成功到达目的地。可靠性由上层(如TCP)提供。

无连接:IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。IP数据报可以不按发送顺序接收。

 

IP数据报格式:


IP数据报用bit endian字节序传输。

(1)4位版本:表示版本号

(2)4位首部长度:首部占32bit字的数目。最大为15*32/8=60字节。普通IP数据报该字段值是5,也就是首部为5*32/8=20字节

(3)TOS:3bit优先权字段(已忽略),4bitTOS子字段,标识最小时延(Telnet,Rlogin),最大吞吐量(FTP),最高可靠性(SNMP),最小费用(NNTP,用户网络新闻)。4bit中只能置其中1bit。4bit均为0表明一般服务。

(4)16bit总长度字段:整个IP数据报的长度,单位是字节。最长可以是65535字节,但大多数链路层会对它进行分片。

(5)16位标识:唯一标识主机发送的每一分数据报,每发一份值加1,因为IP是无连接的,所以这个值在数据报重组时应该要被用到。

(6)TTL:设置了数据报可以经过最多的路由器数。每经过一个路由器就减1,到0就丢弃。

(7)先将检验和字段置0,对首部中美16bit进行二进制反码求和,结果存在检验和字段中。当接收到一份数据报时,同样对首部中没16个bit反码求和,若计算结果全1则检验正确。否则丢弃该数据包。ICMP,IGMP,UDP和TCP采用相同的检验和算法。

 

IP路由选择

概念上,IP理由选择是简单的,若源主机和目的主机直接相连或者在一个共享网络上,就直接将IP数据报送到目的主机,否则发往默认的路由器,由路由器转发。

 

大多数用户系统都可以配置成路由器。

 

IP层在内存中有一个路由表,当收到数据报并要对它进行发送时,要对表进行搜索。当数据报来自某个网络接口时,IP会检查目的地址是否为本机地址之一或者是广播地址,若是,则数据报被送到由IP首部协议字段规定的协议模块中处理。若不是,则若主机IP层被设置为路由器功能,转发数据报,否则丢弃。

 

IP路由表每一项都具有:目的IP地址,下一站路由地址,标志,为数据报传输指定的网络接口

 

IP路由器完成功能(按序):

1.      搜寻路由表,找与目的地址完全匹配的表目。

2.      搜寻路由表,找与目的网络号匹配的表木目。

3.      搜寻路由表 寻找默认表目。

若上面的步骤都没有成功则返回“主机不可达”或“网络不可达的错误”。

 

为一个网络指定一个路由器而不需要为每个主机指定一个路由器,这样可以缩小路由表的规模。

 

数据报中的目的IP地址始终不会发生变化,每个链路层可能具有不同的数据帧首部,而且链路层的目的地址始终指下一站的链路层地址。

 

子网寻址

由于A类B类地址分配了太多的空间给主机,将主机号再分成一个子网号和一个主机号,用子网掩码表明哪个是网络号,哪个是主机号。掩码是32bit值,为1的指定是网络号,0的是主机号