计网学习笔记四[第四章 网络层]
基本概念
课后习题
4-09
- 子网掩码为255.255.255.0代表什么意思?
- 一个网络的现在掩码为255.255.255.248,问该网络能够连接多少台主机?
- 一个A类网络和一个B类网络的子网号subnet-id分别为16个1和8个1,问这两个网络的子网掩码有何不同?
- 一个B类地址的子网掩码是255.255.240.0。请问在其中每一个子网上的主机数最多是多少?
- 一个A类网络的子网掩码为255.255.0.255,它是否为有效的子网掩码?
- 某个IP地址的十六进制表示是C2.2F.14.81,试将其转换为点分十进制的形式。这个地址是哪一类IP地址?
- C类网络使用子网掩码有无实际意义?为什么?
答:
- 子网掩码255.255.255.0是C类地址对应的子网掩码默认值。
- 现在掩码为255.255.255.248 = 1111 1111.1111 1111.1111 1111.1111 1000
所以可以连接2^3 - 2 = 6台主机(全0和全1不可使用) - subnet-id有n位,表示子网号有n位。
对于A类网络:默认子网掩码为255.0.0.0,子网号有16个1,所以子网掩码为255.255.255.0,子网数有2^16-2个
对于B类网络,默认子网掩码为255.255.0.0,子网号有8个1,所以子网掩码为255.255.255.0,子网数有2^8-2个
两者子网掩码相同,但是子网数不同。 - 255.255.240.0 = 1111 1111.1111 1111.1110 000.0000 0000
所以主机最多有2^12 - 2个 - 有效,但不推荐
- C2.2F.14.81(16) = 1100 0010.0010 1111.0001 0100.1000 0001(2) = 194.47.20.129,这个地址是C类IP地址
- 有,小网络可以简化路由表
4-17
一个3200位长的TCP报文传到IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来,但第二个局域网所能传送的最长数据帧中的数据部分只有1200位,因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)?
答:160位首部 = 20字节首部 (使用固定首部)
数据帧最大长度:1200位 = 150字节
一次最多传送150-20=130字节有效数据
3200位 = 400字节
所以共分4个数据报片,数据帧中数据部分的长度分别为130,130,130,10。
每次还需要将首部复制发送。因此总共发了
150 + 150 + 150 + 30 = 480字节 = 3840bit
4-20
设某路由器建立了如下路由表:
目的网络 | 子网掩码 | 下一跳 |
---|---|---|
128.96.39.0 | 255.255.255.128 | 接口m0 |
128.96.39.128 | 255.255.255.128 | 接口m1 |
128.96.40.0 | 255.255.255.128 | R2 |
192.4.153.0 | 255.255.255.192 | R3 |
*(默认) | - | R4 |
现共收到5个分组,其目的地址分别为:
(1)128.96.39.10
(2)128.96.40.12
(3)128.96.40.151
(4)192.4.153.17
(5)192.4.153.90
试分别计算其下一跳
答:(1)对128.96.39.10
与路由表中子网掩码依次做按位与操作
传入的目的地址 | 子网掩码 | 按位与结果 | 原有目的地址 | 是否匹配 |
---|---|---|---|---|
128.96.39.10 | 255.255.255.128 | 128.96.39.0 | 128.96.39.0 | √ |
128.96.39.10 | 255.255.255.128 | 128.96.39.0 | 128.96.39.128 | × |
128.96.39.10 | 255.255.255.128 | 128.96.39.0 | 128.96.40.0 | × |
128.96.39.10 | 255.255.255.192 | 128.96.39.0 | 192.4.153.0 | × |
所以把分组从接口m0交付
(2)对128.96.40.12
与路由表中子网掩码依次做按位与操作
传入的目的地址 | 子网掩码 | 按位与结果 | 原有目的地址 | 是否匹配 |
---|---|---|---|---|
128.96.40.12 | 255.255.255.128 | 128.96.40.0 | 128.96.39.0 | × |
128.96.40.12 | 255.255.255.128 | 128.96.40.0 | 128.96.39.128 | × |
128.96.40.12 | 255.255.255.128 | 128.96.40.0 | 128.96.40.0 | √ |
128.96.40.12 | 255.255.255.192 | 128.96.40.0 | 192.4.153.0 | × |
所以把分组交给路由器R2,由R2转发
(3)对128.96.40.151
与路由表中子网掩码依次做按位与操作
传入的目的地址 | 子网掩码 | 按位与结果 | 原有目的地址 | 是否匹配 |
---|---|---|---|---|
128.96.40.151 | 255.255.255.128 | 128.96.40.128 | 128.96.39.0 | × |
128.96.40.151 | 255.255.255.128 | 128.96.40.128 | 128.96.39.128 | × |
128.96.40.151 | 255.255.255.128 | 128.96.40.128 | 128.96.40.0 | × |
128.96.40.151 | 255.255.255.192 | 128.96.40.128 | 192.4.153.0 | × |
所以把分组交给路由器R4,由R4转发
(4)对192.4.153.17
与路由表中子网掩码依次做按位与操作
传入的目的地址 | 子网掩码 | 按位与结果 | 原有目的地址 | 是否匹配 |
---|---|---|---|---|
192.4.153.17 | 255.255.255.128 | 192.4.153.0 | 128.96.39.0 | × |
192.4.153.17 | 255.255.255.128 | 192.4.153.0 | 128.96.39.128 | × |
192.4.153.17 | 255.255.255.128 | 192.4.153.0 | 128.96.40.0 | × |
192.4.153.17 | 255.255.255.192 | 192.4.153.0 | 192.4.153.0 | √ |
所以把分组交给路由器R3,由R3转发
(5)对192.4.153.90
与路由表中子网掩码依次做按位与操作
传入的目的地址 | 子网掩码 | 按位与结果 | 原有目的地址 | 是否匹配 |
---|---|---|---|---|
192.4.153.90 | 255.255.255.128 | 192.4.153.0 | 128.96.39.0 | × |
192.4.153.90 | 255.255.255.128 | 192.4.153.0 | 128.96.39.128 | × |
192.4.153.90 | 255.255.255.128 | 192.4.153.0 | 128.96.40.0 | × |
192.4.153.90 | 255.255.255.192 | 192.4.153.64 | 192.4.153.0 | × |
所以把分组交给路由器R4,由R4转发
4-26
有如下的4个/24地址块,试进行最大可能的聚合
(1)212.56.132.0/24
(2)212.56.133.0/24
(3)212.56.134.0/24
(4)212.56.135.0/24
答:全部展开成二进制为
1101 0100 0011 1000 1000 0100 0000 0000
1101 0100 0011 1000 1000 0101 0000 0000
1101 0100 0011 1000 1000 0110 0000 0000
1101 0100 0011 1000 1000 0111 0000 0000
公共前缀为1101 0100 0011 1000 1000 01,共22位
聚合的CIDR地址块为212.56.132.0/22
4-27
有两个CIDR地址块208.128/11和208.130.28/22。是否有哪一个地址块包含了另一个地址?如果有,请指出,并说明理由。
答:两个地址块展开为二进制
208.128 = 1101 0000 1000 0000,则第一块地址块包含了1101 0000 1000 0000到1101 0000 1001 1111的地址。也就是208.128.0.0到208.159.255.255的所有地址
208.130.28 = 1101 0000 1000 0010 0001 1100,则第二块地址块包含了1101 0000 1000 0010 0001 1100到1101 0000 1000 0010 0001 1111的所有地址。也就是208.130.28.0到208.130.31的所有地址。
4-28
已知路由器R1的路由表如表所示
地址掩码 | 目的网络地址 | 下一跳地址 | 路由器接口 |
---|---|---|---|
/26 | 140.5.12.64 | 180.15.2.5 | m2 |
/24 | 130.5.8.0 | 190.16.6.2 | m1 |
/16 | 110.71.0.0 | ---- | m0 |
/16 | 180.15.0.0 | ---- | m2 |
/16 | 190.16.0.0 | ---- | m1 |
默认 | 默认 | 110.71.4.5 | m0 |
试画出各网络和必要的路由器的连接拓扑,标注出必要的IP地址和接口。对不能确定的情况应当指明
答:
4-30
一个大公司有一个总部和三个下属部门。公司分配到的网络前缀是192.77.33/24.公司的网络布局如图所示。总部共有5个局域网,其中的LAN1~LAN4都连接到路由器R1上,R1再通过LAN5与路由器R2相连。R2和远地的三个部门的局域网LAN6~LAN8通过广域网相连。每一个局域网旁边标明的数字是局域网上的主机数。试给每一个局域网分配一个合适的网络前缀。(下图LAN5上方应该有4)
答:先满足需求主机数最多的进行分配
依次处理顺序为LAN1 > LAN3 > LAN8 > LAN6 = LAN7 > LAN2 = LAN4 > LAN5 > WAN1 = WAN2 = WAN3
24位前缀 => 可用地址位8位
LAN1需要满足50个主机。2^6 - 2 = 62 > 50,所以地址数需要有6个。
则将网络划分为4个:①192.77.33.0/26 ②192.77.33.64/26 ③192.77.33.128/26 ④192.77.33.192/26
将①分配给LAN1
LAN3需要满足30个主机。2^5 - 2 = 30 >= 30,所以地址数需要有5个。
对②进行进一步划分,分为两个:⑤192.77.33.64/27 ⑥192.77.33.96/27
将⑤分配给LAN3
LAN8需要满足25个主机。2^5 - 2 = 30 > 25,所以地址数需要有5个。
将⑥分配给LAN8
LAN6需要满足20个主机。2^5 - 2 = 30 > 20,所以地址数需要有5个。
对③进行进一步划分,分为两个:⑦192.77.33.128/27 ⑧192.77.33.160/27
将⑦分配给LAN6
LAN7需要满足20个主机。2^5 - 2 = 30 > 20,所以地址数需要有5个。
将⑧分配给LAN7
LAN2需要满足10个主机。2^4 - 2 = 14 > 10,所以地址数需要有4个。
对④进行进一步划分,分为四个:⑨192.77.33.192/28 ⑩192.77.33.208/28 ⑪192.77.33.224/28 ⑫192.77.33.240/28
将⑨分配给LAN2
LAN4需要满足10个主机。2^4 - 2 = 14 > 10,所以地址数需要有4个。
将⑩分配给LAN4
LAN5需要满足10个主机。2^3 - 2 = 6 > 4,所以地址数需要有3个。
对⑪进行进一步划分,分成两个:⑬192.77.33.224/29 ⑭192.77.33.232/29
将⑬分配给LAN5
WAN1,WAN2,WAN3共需要满足1个主机,2^2 - 2 = 2 > 1,所以地址数需要有2个
将⑭进行进一步划分,分成两个:⑮192.77.33.232/30 ⑯192.77.33.236/30 从未使用的⑫划分一块⑰192.77.33.240/30,三块分别划分给三个WAN
最终结果为
局域网 | 网络前缀 |
---|---|
LAN1 | 192.77.33.0/26 |
LAN3 | 192.77.33.64/27 |
LAN8 | 192.77.33.96/27 |
LAN6 | 192.77.33.128/27 |
LAN7 | 192.77.33.160/27 |
LAN2 | 192.77.33.192/28 |
LAN4 | 192.77.33.208/28 |
LAN5 | 192.77.33.224/29 |
WAN1 | 192.77.33.232/30 |
WAN2 | 192.77.33.236/30 |
WAN3 | 192.77.33.240/30 |
4-31
以下地址中的哪一个和86.32/12匹配?请说明理由
(1)86.33.224.123;(2)86.79.65.216;(3)86.58.119.74;(4)86.68.206.154
答:86.32 = 0101 0110. 0010 0000
则地址块表示的是0101 0110 0010 0000 - 0101 0110 0010 1111的地址
即86.32 - 86.47的地址块,所以只有(1)在这个区域
4-37
某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:
(1)每个子网的网络前缀有多长?
(2)每一个子网中有多少个地址?
(3)每一个子网的地址块是什么?
(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?
答:
(1)划分成4个,则每个的前缀为26 + 2 = 28
(2)每一个子网中有2^(32 - 28) = 16个地址
(3)地址块是136.23.12.64/28,136.23.12.80/28,136.23.12.96/28,136.23.12.112/28
(4)分别是
136.23.12.65/28 及 136.23.12.78/28
136.23.12.81/28 及 136.23.12.94/28
136.23.12.97/28 及 136.23.12.110/28
136.23.12.113/28 及 136.23.12.126/28
4-55
如图所示,网络145.13.0.0/16划分为四个子网N1,N1,N3和N4。这四个子网与路由器R连接的接口分别是m0,m1,m2和m3。路由器R的第五个接口m4连接到互联网。
(1)试给出路由器R的路由表。
(2)路由器R收到一个分组,其目的地址是145.13.160.78.试给出这个分组是怎样被转发的。
答:(1)路由表为:
目的网络地址 | 目的网络子网掩码 | 下一跳 |
---|---|---|
145.13.0.0 | 255.255.192.0 | 直接交付,接口m0 |
145.13.64.0 | 255.255.192.0 | 直接交付,接口m1 |
145.13.128.0 | 255.255.192.0 | 直接交付,接口m2 |
145.13.192.0 | 255.255.192.0 | 直接交付,接口m3 |
其他 | - | 默认路由器,接口m4 |
(2)收到的分组的目的地址,和子网掩码做按位与运算:
145.13.160.78
255.255.192.0
结果为145.13.128.0,所以该分组应该交付给接口m2