转发任务,因此协议数据报首部至少要包括目的地址字段,而源地址是为接收方提供回应的地址,因此也要包括源地址字段。
转发是将分组从路由器的输入移动到适当的路由器输出,为防止IP数据报无休止地转发,要具有寿命字段;为使不同服务类型具有较好质量,要具有服务类型字段;为使不同长度的数据块能够转发,要具有标识符、标志和段偏移字段。
为了使网络层编址和转发两大功能正确,还需要有互联网检验和字段。 互联网检验和字段中放置互联网检验和。当IP分片时,标志字段除最后一片为0外,其他均为1;而段偏移字段指示本片数据在长数据报中的位置(字节数除以8)。而其他字段均放置二进制序列。
2. 考虑使用8 bit主机地址的数据报网络。假定一台路由器使用最长前缀匹配并具有下列转发表:
前缀匹配 1 11 111 其他 接口 0 1 2 3 对这4个接口,给出相关的目的主机地址的范围和在该范围中的地址数量。 答:如果使用最长前缀匹配,匹配的地址的前几位必定要与前缀相同,而前缀后1位必定要不同,由此给出下表:
接口 0 1 2 3 目的主机地址范围 1000 0000 ~ 1011 1111 1100 0000 ~ 1101 1111 1110 0000 ~ 1110 1111 0000 0000 ~ 0111 1111 地址量 26=64 25=32 24=16 27=128
3. 在4-14网络环境中,若内网有30台主机从172.16.0.0/24地址块中分配地址,公网地址为150.20.20.1。当内网主机浏览公网Web网站(用80端口)和用FTP下载文件(用20端口)时,NAT的端口随机申请。试填入NAT转换表的值。
答:NAT转换表的值可以是(注意答案不唯一):
NAT转换表 专网端 公网端
172.16.0.1, 12345 172.16.0.2, 21211 … 150.20.20.1, 3000 150.20.20.1, 3501 … 4-12讲
1. 在图4-17所示的网络中,端系统A要与端系统E通信。试简述它们之间具体的通信过程。
答:
a. A比较E的网络地址,发现不在相同网络,就送往路由器R左端口10.101.10.4;
b. A的ARP表中没有R左端口MAC地址,使用ARP从10.10.10.4得到R的MAC地址;
c. A生成以R左端口的MAC地址作为目的地的链路层帧,帧包含A到E IP数据报;
d. A的适配器发送帧,R的适配器接收帧;
e. R知道目的地是E,使用选路协议确定路由器右端口10.101.11.4; f. R出端口将E的IP地址与本网络地址相比,发现网络地址匹配,就进行直接交付;发现ARP表中没有发现E的MAC地址,用ARP得到E的MAC地址;
g. R适配器生成包含A到E IP数据报的帧向E发送; h. E收到来自A的IP分组。
2. 设计ICMP用于处理网络管理问题的基本思路是什么?Traceroute程序的工作原理符合这个基本思路吗?
答:设计ICMP用于处理网络管理问题的基本思路是允许端系统或路由器报告差错情况,为网管人员提供适当的工具以查询网络结点的信息。
Traceroute程序的工作原理符合这个基本思路。首先它构造TTL=1的ICMP数据报,使第一台路由器报错,从而获得其入口IP地址,接下来构造TTL=2,3,…的ICMP数据报,从而获得其沿途的路由器不断报错,依次获得了它们的入口地址。因此,traceroute利用了ICMP的工作机制。
3. 与IPv4相比,IPv6在其数据报格式中出现的主要差异是什么? 答:IPv6数据报扩大地址容量;首部固定长度40字节;不允许分段;完全去除“检查和”,以减小每跳的处理时间;允许“选项”,但在首部之外,由“下一
个首部”字段指示等。
4-13讲
1. 考虑图4-27上的网络。试用距离矢量算法给出结点b的距离表表项。 答:距离矢量算法通过邻居之间交换路由选择报文,根据Bellman-Ford方程进行迭代得到距离表表项的。在如下图所示网络中,第一轮时各结点只知道各自的邻居情况;第二轮时各结点收到其他邻居结点的路由选择报文,更新自己的表信息;经过三轮,各结点已经找到最优路径。
结点b表 来a 自b c d 来a 自b c d 来a 自b c d 代价到 a b c d ∞ ∞ ∞ ∞ 5 0 3 11 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 代价到 a b c d 0 5 10 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 代价到 a b c d ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 3 0 2 ∞ ∞ ∞ ∞ 代价到 a b c d ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 11 2 0 来a 自b c d 来a 自b c d 代价到 a b c d 0 5 5 0 10 ∞ 3 0 5 2 0 来a 自b c d 来a 自b c d 代价到 a b c d 0 5 8 5 0 3 8 3 0 12 5 2 0 10 3 ∞ 11 2 12 11 2 结点a表 代价到 a b c d 0 5 5 0 8 3 0 12 11 2 0 代价到 a b c d 0 5 8 5 0 3 8 3 0 10 5 2 0 10 3 ∞ 11 2 12 11 2 结点c表 来a 自b c d 来a 自b c d 代价到 a b c d 0 5 8 5 0 3 10 ∞ 3 0 11 2 0 来a 自b c d 来a 自b c d 代价到 a b c d 0 5 8 5 0 3 10 12 3 0 5 2 0 ∞ 11 2 12 11 2 结点d表 来a 自b c d 代价到 a b c d 0 5 5 0 10 ∞ 3 0 11 2 0 代价到 a b c d 0 5 8 5 0 3 10 12 3 0 5 2 0 10 3 12 11 2 10 11 2 2. 考虑图4-27的网络。用Dijkstra的最短路算法计算出从b到所有网络结点的最短路径。通过计算一个类似于表4-10的表,给出该算法的工作过程。
答:结点b建立转发表的过程如下表。 步骤 1 2 证实表 (b,0,-) (b,0,-) 试探表 (a,5,a) (c,3,c) 3 (b,0,-) (c,3,c) 4 (b,0,-) (c,3,c) (a,5,a) 5 (b,0,-) (c,3,c) (a,5,a) (d,5,c)
(a,5,a) 注释 因为b是证实表中唯一的新成员,等待链路状态报文 链路状态报文告诉b,可以费用5通过a到达a,可以费用3通过c到达c,可以费用11通过d到达将试探表中费用最小的记录费用3通过c到达c是新成员c的链路状态报文 (d,11,d) d,因此将其加入试探表。同理c也加入 (d,11,d) 表中最好的路径,c加入证实表中。检查证实表中 (d,5,c) 用费用5到达a为最好,a加入证实表中。 (a,10,c) 通过c到达d的费用是2,记录(d,11,d)被替换为(d,5,c); c的链路状态报文告知可以费用10到达a (a,10,c) 把试探表中费用最小的记录d加入证实表中,观察d的链路状态报文,没有更好的路径 4-14讲
1. BGP有哪些主要功能。描述在BGP中是如何检测路径中的环路的。 答:BGP是AS之间提供可达路径的分层路由选择协议。BGP具有以下功能:①从相邻AS处获得子网可达性信息;②向本AS内部的所有路由器传播这些可达性信息;③基于可达性信息和AS策略,决定到达子网的“好”路由。BGP从相邻AS获得子网可达性信息,基于自己的策略,决定是否向其他AS通告,一旦通告就承诺向该子网转发数据报;BGP还向本AS内部的所有路由器传播相关可达性信息。
在AS-PATH属性包含了传递前缀的通告所经过的AS,由此可以判断是否存在环路。
2. 观察图4-30所示的路由器体系结构。如何体现出路由器具有互联异构网络、转发和选择路由等几项关键功能。
答:互联异构网络:不同异构通信子网中的分组经过路由器的物理层、链路层和网络层功能转换,在IP层实现地址和报文结构的统一,能够进行统一寻址。
转发:分组进入路由器不同输入接口卡后,通过将分组目的地址与转发表进