思路:将前缀匹配全部转换为二进制,每八位之间用“ . ”隔开。然后用目的地址对应的二进制,找到与前缀匹配的,即为下一跳地址
为了方便计算,记一下:
2的1次方:2
2的2次方:4
2的3次方:8
2的4次方:16
2的5次方:32
2的6次方:64
2的7次方:128
2的8次方:256
2的9次方:512
2的10次方:1024
解:
R3 对应的网络前缀为:11000000.00000100.10011001.00
m0对应的网络前缀为:10000000.01100000.00100111.0
m1对应的网络前缀为:10000000.01100000.00100111.1
R2对应的网络前缀为:10000000.01100000.00101000.0
再算目的地址的时候前面的一样直接对应(网络前缀相同),只求最后的数,比如第一个最后一个为10,就求出10的二进制,但是要用八位来表示,即 00001010,观察首位与上面的二进制最后一位对应就可以求出下一跳。
(1)10 ———— 00001010 下一跳为m0
(2)12 ———— 00001100 下一跳为R2
(3)151———— 10010111 下一跳为R4
(4)17 ———— 00010001 下一跳为R3
(5)90 ———— 01011010 (01≠00)即没有对应 ,就用默认,下一跳为R4
思路:做这个题最好是画个图表,往里面填数字,这样比较方便检查,也更直观,首先要看固定首部长度,它的范围可以在 20~60之间,在计算时候减去。先算分片要分多少,在算片偏移。
解: 取首部20,1500-20=1480
4000/1480=3(进行进一制)即分为3个数据片
数据字段长度 MF DF 片偏移
原始数据报 4000 0 0
数据片1 1480 1 0 0
数据片2 1480 1 0 185
数据片3 1020 0 0 370
片偏移的计算:
数据片1:第一片不需要偏移,所以偏移量为0
数据片2:1480*1/8=185
数据片3:1480*2/8=370
至于为什么网上有的首部为24原因是因为:数据报片外每个分片的长度一定是8字节的整数倍,即片偏移不能含小数。首部分为20的固定部分和可变部分 首部最长60,单位是4
解析:路由表的组成由:目的网络地址、目的网络子网掩码、下一跳组成。还是采用画表形式填入数据,转发就要用到子网掩码和目的地址的二进制与运算。
(1)R的路由表
目的网络地址 目的网络子网掩码 下一跳
145.13.0.1 255.255.192.0 直接交付,接口m0
145.13.61.1 255.255.192.0 直接交付,接口m1
145.13.128.1 255.255.192.0 直接交付,接口m2
145.13.192.1 255.255.192.0 直接交付,接口m3
* 接口m4
(2)160And192 = 128
收到的分组从路由器的接口m2转发
计算:
子网掩码的计算:
可以看到每一个目的地址后面都是18位,即 11111111.11111111.11000000.000000
转化为十进制:255.255.192.0
目的地址倒数第二位是160,转化为二进制为:10100000
子网掩码倒数第二位是192,转化为二进制为:11000000
10100000
And 11000000
10000000
10000000转化为十进制为 128,看图128对应N3那
思路:将网络地址与目的地址都转化为二进制 ,利用最长前缀匹配准测进行判断。
4-49 解:
根据最长前缀匹配准测,选择路由3
4-50 解:文章来源:https://www.toymoban.com/news/detail-486208.html
最长前缀匹配准则是没有问题的,问题出在主机H的IP地址,在目的网络11.0.0.0/8中分配本网络的主机号时,不允许重复使用路由3中的任意一个地址。导致地址重复,引起混乱。文章来源地址https://www.toymoban.com/news/detail-486208.html
到了这里,关于计算机网络——第四章网络层习题(部分)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!