不可靠( unreliable)的意思是它不能保证 IP数据报能成功地到达目的地。 IP仅提供最好 的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区, IP有一个简单的错误 处理算法:丢弃该数据报,然后发送 ICMP消息报给信源端。任何要求的可靠性必须由上层来 提供(如 TCP)。
3.2 IP首部
服务类型( TOS)字段包括一个 3 bit 的优先权子字段(现在已被忽略),4 bit的TOS子字 段和1 bit未用位但必须置 0。4 bit 的TOS分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。 4 bit中只能置其中 1 bit。如果所有 4 bit均为0,那么就意味着是一般服务。用户网络新闻( Usenet news, NNTP )是唯一要求最小费用的应用。新的路由协议如 OSPF和IS-IS都能根据这些字段的值进行路由决策。
总长度字段是指整个 IP数据报的长度,以字节为单位。利用首部长度字段和总长度字段, 就可以知道 IP数据报中数据内容的起始位置和长度。由于该字段长 16比特,所以 IP数据报最 长可达 65535字节。
尽管可以传送一个长达 65535字节的 IP数据报,但是大多数的链路层都会对它进行分片。 而且,主机也要求不能接收超过 576字节的数据报。由于 TCP把用户数据分成若干片,因此一 般来说这个限制不会影响 TCP。在后面的章节中将遇到大量使用 UDP的应用( RIP,TFTP, BOOTP,DNS,以及 SNMP),它们都限制用户数据报长度为 512字节,小于 576字节。但是, 事实上现在大多数的实现(特别是那些支持网络文件系统NFS的实现)允许超过 8192字节的 IP数据报。
3.3 IP路由选择
路由表中的每一项都包含下面这些信息:
• 目的IP地址。它既可以是一个完整的主机地址,也可以是一个网络地址,由该表目中的标志字段来指定(如下所述)。主机地址有一个非0的主机号(见图1-5),以指定某一特定的 主机,而网络地址中的主机号为0,以指定网络中的所有主机(如以太网,令牌环网)。
• 下一站(或下一跳)路由器( next-hop router)的IP地址,或者有直接连接的网络 IP地址。下一站路由器是指一个在直接相连网络上的路由器,通过它可以转发数据报。下 一站路由器不是最终的目的,但是它可以把传送给它的数据报转发到最终目的。
• 标志。其中一个标志指明目的 IP地址是网络地址还是主机地址,另一个标志指明下一 站路由器是否为真正的下一站路由器,还是一个直接相连的接口(我们将在 9.2节中 详细介绍这些标志)。
• 为数据报的传输指定一个网络接口。