分享计网网络层巨痛踩坑经历,只为让你不再踩坑!

第一部分 网络层概述

1 考察虚电路和数据报服务

网络层提供的两种服务都有哪些?虚电路服务和数据报服务,其关系如下。

 电路交换
/        虚电路服务 提供可靠性保证
\        /
 分组交换  
         \ 
         数据报服务 不提供可靠性保证

题:语音数据输入适合虚电路服务,为什么?若使用数据报服务,报文经过中间节点的接收、存储和转发,其时间不固定;另外,若使用数据报服务,报文大小不固定,交换节点中需要较大存储空间。

2 考察网络层和其他层的关系

  • 题1:路由器互联的网络中,物理层、数据链路层、网络层和传输层哪些协议可以不同?物理层、数据链路层和网络层协议可以不同,对于网络层,IPv4和IPv6的隧道传播可以佐证。
  • 题2:如何解决哪个协议工作在哪一层这种问题?ARP协议“看到了”IP地址,所以工作在网络层,NAT路由器“看到了”端口,因此工作在传输层,以此类推。

第二部分 IPv4

1 考察IPv4数据报首部标准

1) 考察长度字段的单位

常常考察首部长度、总长度、片偏移三个字段的值的单位,分别为4B、1B、8B。

2) 考察检验和字段

对于检验和字段的考察,注意检验和字段只检查首部,若检查首部出错直接丢弃该数据报而不发送ICMP差错报文。(IPv6无检验和字段不对首部进行检查)

2 考察子网划分

1) 考察原始IPv4网络划分

牢记A、B、C类网络划分的原理,原始网络划分中,A类网络依据 0x.x.x.x 进行划分,网络号为前1字节,B类网络依据 10x.x.x.x 进行划分,网络号为前2字节,C类网络依据 110x.x.x.x 进行划分,网络号为前3字节,据此我们便能得到A、B、C三类网络的网络号起止、可分配网络和主机的数量,但每次推导需要一定时间,因此下面给出结论。

A类网络范围为 1-126(网络号0和127不能被分配),B类网络范围为 128.0-191.255,C类网络范围为 192.0.0-223.255.255

为快速解决此类问题,需要记住一些常用的数,例如 128 的二进制表示是 1000 0000;192 的二进制数是 1100 0000;224 的二进制数是 1110 0000。

题目中强调使用默认IP地址,一般表示使用A、B、C类网络的8、16、24比特的网络前缀。(如果没说什么划分的话默认是原始划分)

2) 考察CIDR划分的概念

子网划分和CIDR划分是两个不同的概念,子网划分在保留A、B、C类网络的8、16、24比特的网络前缀的基础上划分子网号,格式为{<网络号>, <子网号>, <主机号>}。划分子网增加IP地址利用率,但减少了主机总数。再重复一遍,IP网络划分子网,并没有增加主机的数量,只是提升了IP地址的利用率,减少了广播域的大小。

某个主机的IP地址为 192.168.24.57/30 表示其在 192.168.24.56/30 这个网络,所在网络的子网掩码为 255.255.255.252 ,主机号为 1。注意默认主机号全0和全1是不能被分配的,全0表示该网络,全1表示广播地址,例如 192.168.24.56/30 所在的网络实际上能分配的IP只有2个,为 192.168.24.57 和 192.168.24.58。

3) 考察子网 x x x , y y y z z z 能否组成某个网段

在解决CIDR划分时,常常遇到问子网 x x x , y y y z z z 能否组成某个网段,解决此类问题的关键是画出子网图,其要求有两点:1 子网空间不能重叠,不能一个网络是另一个网络的前缀;2 所有子网总合起来能够覆盖原始网络下面的所有子孙。具体见下面的例子。

题:将某网络划分为4个子网,若其中一个是 172.16.1.128/26,下面可能是另外三个子网的是?A 172.16.1.0/25 B 172.16.1.64/26 C 172.16.1.96/27 D 172.16.1.224/27

         172.16.1.0/24
            /         \
         0(A)        1
      /     \     /      \
      0    (B)1    0(题给)  1
      /\       /\  /\       /\
   0  1     0 1  0 1     0  1
               (C)           (D)

以 A 选项进行分析,用题给地址、172.16.1.1110 0000/27、172.16.1.1100 0000/27、A 选项地址可以组成 172.16.1.0/24 网段;B,C,D 同样分析,最后 C 项不能实现。

4) 考察最小子网的可分配IP地址的数目

问可能的最小子网的可分配IP地址的数目是多少,画出CIDR划分树,类似求哈夫曼树的最长编码,如下所示。

题:若将 101.200.16.0/20 划分为 5 个子网,则可能的最小子网的可分配IP地址数为?A 126 B 254 C 510 D 1022

原来网络为 101.200.0001/0000.0000,若获得最小子网,则划分如下:

            101.200.0001/0000.0000
                  /         \
               0           1(net1)
            /     \     /      \
            0  (net2)1    0       1
            /\       /\  /\       /\
            0 1(net3)0 1  0 1     0  1
            /  \    / \
     (net5) 0   1   0  1
              (net4)

net5(101.200.16.0/24)的可分配IP数最少,为 2 8 − 2 2^8-2 282 = 254

3 考察特殊地址

1) 考察单播、广播、多播、本地测试地址

172.31.128.255/18 是单播地址,其网络号为 172.31.10/00 0000.1111 1111,虽然其后面看起来主机号像全1,但仔细观察发现其主机号并不全为1,因此并不是广播地址。

  • 题1:现问 224.105.5.211 是否为单播地址?答案为否,其为多播地址。注意多播地址划分依据 1110x.x.x.x,代表的地址范围为 224.0.0.0-239.255.255.255。
  • 题2:能把 127.10.10.17 分配给主机作为IP地址吗?不能,127.0.0.1 到 127.255.255.255 都是本地环回测试地址,而不是只有 127.0.0.1 是本地测试地址
2) 考察默认路由地址(0.0.0.0)

17年408真题:下列IP地址中,只能作为IP分组的源IP地址但不能作为目的IP地址的是?A 0.0.0.0 B 127.0.0.1 C 200.10.10.3 D 255.255.255.255

17年真题考察哪些地址能作为源地址,哪些地址能作为目的地址,我认为此类问题必须要理解地址对应的含义。失去梦想的大鸡腿说到:0.0.0.0 表示所有不清楚的主机和目的网络的集合,主机刚启动时,没有有效的IP地址,就默认是 0.0.0.0。它通过 255.255.255.255(泛洪地址)发送广播,DHCP服务器会给它分配一个有效地址。因而 0.0.0.0 可以作为源IP地址,不能作为目的IP地址。

疑问:为什么路有表中有 0.0.0.0 的路由条目(如下所示),难道代表得不是目的地址可以为 0.0.0.0 吗?

目的网络下一跳接口
169.96.40.0/23176.1.1.1S1
169.96.40.0/25176.2.2.2S2
169.96.40.0/27176.3.3.3S3
0.0.0.0/0176.4.4.4S4

这里只是路由表内目的网络为 0.0.0.0,而不是数据报中目的网络为 0.0.0.0,如果数据报中目的网络为 0.0.0.0,那么路由器就不知道把这个数据报交给谁了。这里的 0.0.0.0 指的是进行最长前缀匹配后,上述匹配都失败后,数据报走默认路由 0.0.0.0 的配置,转发给S4接口。

4 考察ARP协议

明确ARP协议的发送流程,请求为广播(其中MAC地址为全1),响应为单播,只能在局域网逐链路使用(跨局域网则发送给默认网关)。

题:ARP协议如何根据转发表进行的跨网络逐链路转发?网络拓扑如下所示。

Computer1                           Computer3
         \       L1      L2            |             L3     L4
           ------- Router1 -------- Network2 -------- Router2
         /
Computer2

主机1向主机3发送ARP数据报的过程如下:

主机1发送ARP广播帧,源IP地址为主机1的IP地址,目的IP地址为主机3的IP地址,源MAC地址为主机1的MAC地址,目的MAC地址为广播MAC地址。

路由1根据目的IP地址,根据路由表导出的转发表,用最长前缀匹配算法获取主机3所在的网络要通过L2接口转发,因此将ARP广播帧转发到L2接口,源IP地址为主机1的IP地址,目的IP地址为主机3的IP地址,源MAC地址为路由器1的MAC地址,目的MAC地址为广播MAC地址。

H3收到广播帧,单播发送回应帧。

5 考察DHCP协议

由于作用于分配IP地址,重点考察这段过程数据报的源IP和目的IP的变化,过程如下。

  • DHCP客户 --广播DHCP发现–源0.0.0.0–目的255.255.255.255–> DHCP服务器
  • DHCP服务器 --广播DHCP提供–源DHCP服务器IP–目的255.255.255.255–> DHCP客户
  • DHCP客户 --广播DHCP请求–源0.0.0.0–目的255.255.255.255–> DHCP服务器
  • DHCP服务器 --广播DHCP确认–源DHCP服务器IP–目的255.255.255.255–> DHCP客户

6 考察NAT协议

此类问题要求记住常用的私有网段,如下:A类:10.0.0.0-10.255.255.255;B类:172.16.0.0-172.31.255.255;C类:192.168.0.0-192.168.255.255

1) 考察转换前后的数据报源IP地址和目的IP地址

题:某网络拓扑如下,H向Internet发送1个IP分组,经过R2转发后,该IP分组的源IP地址是?A 195.123.0.33 B 195.123.0.35 C 192.168.0.1 D 192.168.0.3

Internet -------- Router1 --------- Router2 -------- Computer
              195.123.0.34/30     192.168.0.1       192.168.0.3

题目蕴含R2的公网IP只能为 192.123.0.33/30,数据报经过NAT传入互联网需要把源地址改为NAT路由器的公网IP,所以选A选项,NAT路由表包含IP和端口号的映射关系。

7 考察接口和IP之间的关系

一个机器上的一个接口的IP地址为一个网络,如果一个机器有两个IP地址,那么必然不在一个网段。

路由器连接多个网络,不仅有多个IP地址,而且有多个硬件地址。

8 考察默认网关

1) 考察默认网关的配置错误问题

2016年统考题

这道题需要理解为什么默认网关配置错误则无法正常通信,我的理解如下:用ARP协议解释这道题,H1想与H2通信,发送ARP广播协议,H2收到后进行响应,之后H1想发送数据报只需要直接交付给H2即可,因此H1和H2可以通信。但是H2想与H3通信,因为不在一个网段,需要广播ARP协议数据报到默认网关,因为默认网关配置配置错误,所以ARP广播报文无法传递到H3、H4所在网络,因此H2和H3无法通信。

2) 考察默认网关的定义(哪个是默认网关)

题:(2022年统考题)主机的默认网关是R1还是R2?

Internet -------- Router1 --------- Router2 -------- Switch -------- Computer
               192.168.1.1/30    192.168.1.62/27

根据子网掩码判断R1和R2不在同一网络,因此R1是一个网络,R2、交换机和主机是一个网络,默认网关是子网与外部网络连接的设备,因此主机的默认网关是 Router2。

第三部分 IPv6

IPv6地址为128位,即32个十六进制位,共分为8组,每组4个十六进制位。

兼容IPv4的方法:双栈协议、隧道技术。

1 考察IPv6和IPv4的不同

IPv6数据报只能在源主机分片,不允许传输路径中进行路由分片,若路由器收到IPv6数据报因太大而不能转发到链路上,则路由器将该数据报丢弃。

IPv6支持自动配置,不需要DHCP协议。

IPv6无首部检验和字段,因数据链路层和传输层都有自己的检验。

第四部分 路由算法

1 考察互联网“分层”的作用

一个区域的的路由器知道自己网络的拓扑,但对其他结构毫不知情,因此不知道如何路由到其他区域,只能交付给边界网关。

分层划分区域的方法使得交换信息的种类增多,同时也使OSPF协议更复杂。(这里不理解为什么)

2 考察RIP协议

路由器收到相邻路由器的更优路由,则直接更新自己的路由表而不发送确认信息。

1) 考察RIP好消息传的快,坏消息传的慢相关问题

题:假设R1、R2、R3采用RIP协议交换路由信息,且均已收敛。若R3检测到网络201.1.2.0/25不可达,并向R2通告一次新的距离向量,则R2更新后,其到达该网络的距离是()。A.2 B.3 C.16 D.17

Router1----------------
   |                  |
   |                  |
   |                  |
Router2 ----------- Router3 ----------- Network(201.1.2.0/25)

答案选B

R3发现网络不可达,比较其他路由器的路由表,发现R1到Network距离为2,相比自己的16,选择R1作为去往Network的更近的路由,修改经过R1到Network距离为3。

R2比较两个RIP报文:经过R3到网络的距离为4、经过R1到网络的距离为3,R2选择经过R1到达该网络,到该网络距离为3。
这道题的易错点为误以为R3检测到网络不可达时会把路有表设置为16。

3 考察OSPF协议

题:某分组交换网的拓扑如下图所示,各路由器使用OSPF且已收敛,各链路的度量已标注在其旁边。假设各链路带宽为100Mbps,分组长度为1000B, 其中分组首部长度为20B。若主机A向主机B发送一个大小为980 000B的文件,忽略分组的传播时延和封装/解封时间,从A发送开始到B接收完为止,需要的时间是(  )A.80.08ms B.80.16ms C.80.32ms D.80.64ms

Computer A -----2----- Router1 -----6----- Router2 -----2----- Computer B
                          |                   |
                          3                   1
                          |                   |
                          |                   |
                       Router3 -----1----- Router4

答案选择C选项,这道题的关键是要意识到路由器也具有发送延时

4 考察BGP协议

BGP的路由表包括:1 目的网络前缀;2 下一跳路由器;3 到达该网络所要经过的各个自治系统序列。

5 对比RIP协议、OSPF协议和BGP协议

RIP协议中路由器仅向自己的邻居路由器发送信息,发送的信息是整个路由表;OSPF协议向本自治系统路由器洪泛发送信息(向网络中所有路由器发送),发送的信息是该路由器路由表中的一部分(相邻路由器的链路状态);BGP协议向本结点相邻的路由器交换信息,发送的是路径向量。

RIP是应用层协议,使用UDP传送数据;OSPF是网络层协议,不用UDP或者TCP,直接用IP数据报传送;BGP是应用层协议,是基于TCP的。

第五部分 IP多播

  • 题1;用单播仿真多播时,是否需要更多的带宽?需要的,理由为单播发送时有几个目的地就要发几个报文,而多播一开始只发一个报文。
  • 题2:问 224.105.5.211 是否为单播地址?答案为否,其为多播地址。注意多播地址划分依据 1110x.x.x.x,代表的地址范围为 224.0.0.0-239.255.255.255。

第六部分 移动IP

题:若一台主机IP地址为160.80.40.20/16,当它移动到另一个不属于160.80/16子网的网络时,通过被访网络的路由器,能直接发送数据吗?能直接接收数据吗?

首先,使用移动IP的主机使用的IP地址是永久IP地址,而不是通过DHCP获取的动态IP地址,这样如果要接收数据报,网络通过路由会把数据报路由回160.80/16网络并尝试交付,因此不能直接通过被访网络的路由器直接接收数据报,但发送时,只要数据报源IP地址填写永久地址,可以直接通过被访问网络路由器发送。

第七部分 网络层设备

  • 题1:路由器只提供延迟最小的最佳路由?不对,例如RIP协议是根据路由跳数提供路由的,跳数最少不代表延迟最小。
  • 题2:路由器是否提供不同协议之间的分组转发?是的,比如IPv4和IPv6协议的隧道技术。
  • 题3:路由器可以根据物理地址进行转发吗?不可以,实际上对于传入路由器的数据报,原来的数据链路层会被剥离,新的数据链路层的目的MAC地址是根据IP地址通过ARP协议得到的,所以也是根据IP地址进行的转发。
  • 题4:直接交付时,能否不经过路由器?可以,直接交付说明在同一网段,即在路由器的一个接口,使用ARP协议得到主机MAC地址后可以直接交付数据报到对应主机。
  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a9c93f2300

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值