TCP/IP详解 卷一(第三章 IP:网际协议)
TCP/IP详解 IP:网络协议
IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。
IP提供不可靠、无连接的数据报传送服务。
1.不可靠:就是它不能保证IP数据报能成功地到达目的地。IP仅提供最好的传输服务。
2.无连接:每个数据报的处理都是相互独立的,IP数据报可以不按发送顺序接收。
1.IP首部
其中TTL(time-to-live)生存时间字段设置了数据报可以经过的最多路由器数。
一旦经过一个处理它的路由器,它的值就减去1。当该字段的值为0时,数据报就被丢弃。并发送ICMP报文通知源主机
2.IP路由选择
IP路由选择是简单的,大多数主机都是采用下面的简单机制。
如果目的主机与源主机直接相连(点对点链路)或在一个共享网络上(以太网),那么IP数据报就直接送到目的主机上。
否则,主机把数据报发往一默认路由器上,由路由器来转发数据报。
在一般的体制中,IP层在内存中由一个路由表。当收到一份数据报并进行发送时,它都要对该表搜索一次。
路由表中的每一项包含下面这些信息:
1.目的地址。既可是一个完整的主机地址,也可以是一个网络地址,由该表的标志字段来指定。
2.下一跳路由器的IP地址,或者有直接连接的网络IP地址。
3.标志
4.为数据报传输指定一个网络接口
IP路由选择主要完成以下的功能:
1.搜索路由表,寻找能与目的IP地址完全匹配的表目。如果找到,则把报文发送给该表目指定的下一跳路由器或直接连接的网路接口。
2.搜索路由表,寻找能与目的网络号相匹配的表目。如果找到,则把报文发送给该表目指定的下一跳路由器或直接连接的网络接口。
3.搜索路由器,寻找标为默认的条目。如果找到,则把报文发送给该表目指定的下一跳路由器。
如果上面这些步骤都没有成功,那么该数据报就不能被传送。
3.子网寻址
现在所有的主机都要求支持子网编址(把主机号再分成一个子网号和主机号)
在InterNIC获得某类IP网络号后,就由当地的系统管理员来进行分配,由他来决定是否建立子网,以及分配多少比特给子网号和主机号。
下面是一个B类地址的一种子网编址
4.子网掩码
除了IP地址以外,主机还需要知道有多少比特用于子网号及多少比特用于主机号,这是通过子网掩码来确定的。
这个掩码是一个32bit的值,其中值为1的比特留给网络号和子网号,为0的比特留给主机号。下图是一个B类地址的两种不同的子网掩码格式。
给定IP地址和子网掩码后,主机就可以确定IP数据报的目的是:
1.本子网上的主机
2.本网络中的其他子网中的主机
3.其他网络上的主机