本章开始描述了IP首部的格式,并简要讨论了首部中的各个字段。我们还介绍了IP路由选择,并指出主机的路由选择可以非常简单:如果目的主机在直接相连的网络上,那么就把数据报直接传给目的主机,否则传给默认路由器。
在进行路由选择决策时,主机和路由器都使用路由表。在表中有三种类型的路由:特定主机型、特定网络型和默认路由型。路由表中的表目具有一定的优先级。在选择路由时,主机路由优先于网络路由,最后在没有其他可选路由存在时才选择默认路由。
IP路由选择是通过逐跳来实现的。数据报在各站的传输过程中目的I P地址始终不变,但是封装和目的链路层地址在每一站都可以改变。大多数的主机和许多路由器对于非本地网络的数据报都使用默认的下一站路由器。
A类和B类地址一般都要进行子网划分。用于子网号的比特数通过子网掩码来指定。我们为此举了一个实例来详细说明,即作者所在的子网,并介绍了变长子网的概念。子网的划分缩小了Internet路由表的规模,因为许多网络经常可以通过单个表目就可以访问了。接口和网络的有关信息通过ifconfig和netstat命令可以获得,包括接口的IP地址、子网掩码、广
播地址以及MTU等。
在本章的最后,我们对Internet协议族潜在的改进建议—下一代IP进行了讨论。
#### **习题**
3.1 环回地址必须是127.0.0.1吗?
3.2 在图3-6中指出有两个网络接口的路由器。
3.3 子网号为16 bit的A类地址与子网号为8 bit的B类地址的子网掩码有什么不同?
3.4 阅读RFC 1219 [Tsuchiya 1991],学习分配子网号和主机号的有关推荐技术。
3.5 子网掩码255.255.0.255是否对A类地址有效?
3.6 你认为为什么3.9小节中打印出来的环回接口的MTU要设置为1536?
3.7 TCP/IP协议族是基于一种数据报的网络技术,即IP层,其他的协议族则基于面向连接的网络技术。阅读文献[Clark 1988],找出数据报网络层提供的三个优点。
- 第1章 概述
- 1.1 引言
- 1.2 分层
- 1.3 TCP/IP的分层
- 1.4 互联网的地址
- 1.5 域名系统
- 1.6 封装
- 1.7 分用
- 1.8 客户-服务器模型
- 1.9 端口号
- 1.10 标准化过程
- 1.11 RFC
- 1.12 标准的简单服务
- 1.13 互联网
- 1.14 实现
- 1.15 应用编程接口
- 1.16 测试网络
- 1.17 小结
- 第2章 链路层
- 2.1 引言
- 2.2 以太网和IEEE 802封装
- 2.3 尾部封装
- 2.4 SLIP:串行线路IP
- 2.5 压缩的SLIP
- 2.6 PPP:点对点协议
- 2.7 环回接口
- 2.8 最大传输单元MTU
- 2.9 路径MTU
- 2.10 串行线路吞吐量计算
- 2.11 小结
- 第3章 IP:网际协议
- 3.1 引言
- 3.2 IP首部
- 3.3 IP路由选择
- 3.4 子网寻址
- 3.5 子网掩码
- 3.6 特殊情况的IP地址
- 3.7 一个子网的例子
- 3.8 ifconfig命令
- 3.9 netstat命令
- 3.10 IP的未来
- 3.11 小结
- 第4章 ARP:地址解析协议
- 4.1 引言
- 4.2 一个例子
- 4.3 ARP高速缓存
- 4.4 ARP的分组格式
- 4.5 ARP举例
- 4.5.1 一般的例子
- 4.5.2 对不存在主机的ARP请求
- 4.5.3 ARP高速缓存超时设置
- 4.6 ARP代理
- 4.7 免费ARP
- 4.8 arp命令
- 4.9 小结
- 第5章 RARP:逆地址解析协议
- 5.1 引言
- 5.2 RARP的分组格式
- 5.3 RARP举例
- 5.4 RARP服务器的设计
- 5.4.1 作为用户进程的RARP服务器
- 5.4.2 每个网络有多个RARP服务器
- 5.5 小结
- 第6章 ICMP:Internet控制报文协议
- 6.1 引言
- 6.2 ICMP报文的类型
- 6.3 ICMP地址掩码请求与应答
- 6.4 ICMP时间戳请求与应答
- 6.4.1 举例
- 6.4.2 另一种方法
- 6.5 ICMP端口不可达差错
- 6.6 ICMP报文的4.4BSD处理
- 6.7 小结
- 第7章 Ping程序
- 7.1 引言
- 7.2 Ping程序
- 7.2.1 LAN输出
- 7.2.2 WAN输出
- 7.2.3 线路SLIP链接
- 7.2.4 拨号SLIP链路
- 7.3 IP记录路由选项
- 7.3.1 通常的例子
- 7.3.2 异常的输出
- 7.4 IP时间戳选项
- 7.5 小结
- 第8章 Traceroute程序
- 8.1 引言
- 8.2 Traceroute程序的操作
- 8.3 局域网输出
- 8.4 广域网输出
- 8.5 IP源站选路选项
- 8.5.1 宽松的源站选路的traceroute程序示例
- 8.5.2 严格的源站选路的traceroute程序示例
- 8.5.3 宽松的源站选路traceroute程序的往返路由
- 8.6 小结
- 第9章 IP选路
- 9.1 引言
- 9.2 选路的原理
- 9.2.1 简单路由表
- 9.2.2 初始化路由表
- 9.2.3 较复杂的路由表
- 9.2.4 没有到达目的地的路由
- 9.3 ICMP主机与网络不可达差错
- 9.4 转发或不转发
- 9.5 ICMP重定向差错
- 9.5.1 一个例子
- 9.5.2 更多的细节
- 9.6 ICMP路由器发现报文
- 9.6.1 路由器操作
- 9.6.2 主机操作
- 9.6.3 实现
- 9.7 小结