现在的位置: 首页 > 综合 > 正文

《TCP/IP协议详解卷1 》ch03

2013年12月01日 ⁄ 综合 ⁄ 共 1420字 ⁄ 字号 评论关闭

1.IP协议

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

IP提供不可靠、无链接的数据报传送服务。

不可靠:不保证IP数据报能成功的到达目的地。IP仅提供最好的传输服务。

无连接:IP不维护关于后续数据报的状态信息。每个数据报是独立的。也就是说,IP数据报可以不按顺序接收。


2.IP首部

普通IP首部长为20字节,除非含有选项字段。


TCP/IP首部的最高位在左边,记为0bit;最低位在右边,记为31bit。此格式为big endian字节序,也称网络字节序。


3.IP路由选择

对主机来说,

1)如果目的主机与源主机直接相连,或都在一个共享的网络上(以太网或令牌环网),IP数据报就直接送到目的主机;

2)主机把数据报发送到一个默认路由,由路由负责转发该数据报;

主机和路由器都可以使用路由算法,两者的本质 区别是:主机从不把数据报从一个接口转发到另一个接口,而路由器则要转发数据报。


IP层在内存中由一个路由表。每一项包含如下信息:

1)目的IP地址。可以是一个主机地址,也可以是一个网络地址。主机地址中主机号非0,以指定特定的主机;网络地址中主机号为0,表示网络中所有主机。

2)下一跳(或者下一站)路由(next-hop router)的IP地址,或者直接相连的网络地址。

3)标志。见9.2节。

4)为数据报的传输指定一个网络接口。

 

IP路由选择是逐跳(hop-by-hop)进行的。IP并不知道到达目的的完整路径(除了与主机直接相连),所有的路由选择只是为数据报提供下一跳路由器的IP地址。

 

IP路由选择主要完成以下功能:

1)搜索路由表,查找与目的IP地址完全匹配(网络号和主机号)的表目。如果找到将数据报发给该表目指定的下一跳路由器或网络接口;

2) 搜索路由表,查找与目的网络号匹配的表目。如果找到将数据报发给该表目指定的下一跳路由器或网络接口;

3) 搜索路由表,查找标为“default”的表目。如果找到将数据报发给该表目指定的下一跳路由器。

如果上面步骤都没有成功,那么该数据报就不能被传送。


为网络指定一个路由器,而不必为每个主机指定一个路由器,这是IP路由选择机制的另一个基本特性。这样可以缩小路由表的规模。

 

两个IP数据报发送的例子:


目的IP地址与发送主机在一个直接相连的网络中。数据报被送到以太网驱动程序,然后作为一个以太网数据帧被送到sun主机上。

由于是直接相连的网,所以在链路层首部中的目的地址是sun主机的以太网接口地址。


1)主机bsdi搜索与目的IP地址完全匹配的路由表目,但没找到;

2)只能使用默认表目,把数据报传给下一站路由器,即sun主机。此时链路层首部的目的地址是sun主机以太网络接口地址;

3)sun主机收到数后,会发现数据报的目的IP地址不是本机地址,同时sun具有路由器功能,所以sun会将数据报进行转发。根据默认路由表目,将数据转发到netb主机。在链路层采用SLIP封装;

4)netb收到数据报后进行与sun相同的查询步骤。根据默认路由表目,将数据报转发到下一站路由器gateway;

5)getway也执行与前面两个路由器相同的步骤。最后根据默认表目将数据报转发到140.252.104.2的路由器;

一些关键点:

1)数据报中目的IP地址始终不变。

2)每个链路层具有不同的数据帧首部。以太网地址一般通过ARP获得。

3)大多数主机和一些路由器可以用默认路由处理任何目的。

抱歉!评论已关闭.