15个选择题(30分)+ 10个填空(20分)+ 5个简答加计算题(30分)+ 2个综合题(20分)网络层和传输层
考前六章,前五章每章一个大题,第六章不考大题
(纯手搓,有误的地方请指出)

课后习题:

1-19


应用层数据长度为 100 字节:
TCP 数据段总长度 = 100 + 20 = 120 字节
IP 数据报总长度 = 120+ 20 = 140 字节
链路层帧总长度 = 140 + 18 = 158 字节
传输效率=100/158​≈63.3%

应用层数据长度为 1000 字节:
传输效率=1000/1058​≈94.5%

2-16

  • 在码分多址(CDMA)通信中,每个站被分配一个唯一的码片序列。发送数据“1”时,发送该站的码片序列;发送数据“0”时,发送该码片序列的反码

  • 接收端收到的信号是所有发送站信号的线性叠加。

  • 需要分别计算 SS 与 A,B,C,DA,B,C,D 的内积,并除以 8

  • A:
    A=(−1,−1,−1,+1,+1,−1,+1,+1) S=(-1,+1,−3,+1,−1,−3,+1,+1)
    逐项相乘并求和:1−1+3+1−1+3+1+1=8
    8/8 = 1 A 站发送了数据 1

  • B:
    B=(−1,−1,+1,−1,+1,+1,+1,−1)
    逐项相乘并求和: 1−1−3−1−1−3+1−1=−8
    -8/8 = -1 B 站发送了数据 0

  • C:
    C=(-1,+1,-1,+1,+1,+1,-1,−1)
    逐项相乘并求和:1−1+3+1−1−3+1−1=0
    0/8 = 0 C 站没有发送数据

  • D:
    D=(−1,+1,−1,−1,−1,−1,+1,−1)
    逐项相乘并求和: 1+1+3−1+1+3+1−1=8
    8/8 = 1 D 站发送了数据 1

3-33

动作 交换表的状态 向哪些端口转发帧 说明
A 发送帧给 D 写入 (A, 1) 所有的接口(除 1 外的 2,3,4,5,6) 开始时交换表是空的,交换机不知道应向何接口转发帧
D 发送帧给 A 写入 (D, 4) 1 交换机已知道 A 连接在接口 1
E 发送帧给 A 写入 (E, 5) (并更新 A 的条目) 1 交换机已知道 A 连接在接口 1,现在知道 E 在接口 5
A 发送帧给 E 不变(更新 A 的计时器) 5 交换机已知道 E 连接在接口 5

4-24


分析表的信息:

  1. 前段匹配的写法:

    首先一个ip地址32位,包括了网络位和主机位,
    140.5.12.64/26而言,/26说明丫前面26位是网络位,后面的32-26=6位是主机位,这里也可以延伸出求子网掩码,网络位全部定为1,主机位全部定为0,那么就是11111111 11111111 11111111 11000000 = 255.255.255.192
    下面的ip地址都进行了简写:
    130.5.8/24 – > 130.5.8.0/24,就是24位网络位,32-24=8位主机位,前三字节为网络号,后面一个字节为主机号
    110.17/16 180.15/16 190.16/16 –> 110.71.0.0/16 180.15.0.0/16 190.16.0.0/16 前两个字节为网络号,后面两个字节主机号丫

  2. 确认R1

    可以确认路由器有三个接口m0,m1,m2,从前段匹配和下一跳地址可以看出它们分别连接了三个不同网段
    m0 -> 110.71.0.0/16
    m1 -> 190.16.0.0/16
    m2 -> 180.15.0.0/16

  3. 对下一跳地址分析

    下一跳地址是数据包发送到下一个路由器的接口ip地址,那么根据分析可以得到还有三个路由器,它们的ip分别是190.16.6.2, 180.15.2.5 , 110 .71.4.5,再根据这三个路由器所在的网段,就可以把不同网段根据这三个路由器联系起来了

    这里路由器190.16.6.2连接130.5.8.0/24网段时用的虚线,是因为这是路由器连接一个局域网,是一对多的广播型网络,而路由器R1端口m1连接190.16.0.0/16局域网的实线,实际是R1 和 190.16.6.2 这两个路由器之间的连接,所以是实线

4-31

140.120.84.24/20–>/20说明前20位是网络位,后面32-20=12是主机位
分析:
因为是20位网络位,那么第三个字节的前4位是属于网络位,后四位是属于主机位
那么就将第三字节的数84转成二进制–>0101 0100 前四位是网络位,则网络位为140.120. 0101

  1. 最小地址

    网络位保持不变,将主机位全部置为 0,其中最小地址也叫网络地址
    网络位140.120.0101 + 主机位0000 0000 0000 –>将后面两个字节的二进制转换为十进制数–>140.120.80.0

  2. 最大地址

    网络位保持不变,将主机位全部置为1,其中最大地址也叫广播地址
    网络位140.120.0101 + 主机位1111 1111 1111 –> 字节转为十进制 –> 140.120.95.255

  3. 地址掩码

    网络位都定为1,前面20位为1,主机位都定位0,后面12位为0,根据8位为一个字节
    11111111 11111111 11110000 00000000 –> 255.255.240.0

  4. 地址总数

    地址总数等于2的主机位数次方
    已知主机位为32-20 = 12位
    那么等于2的12次方=4096

  5. C类地址数

    C类地址,即/24,也就是24个网络位,8个主机位,一般C类地址块包含2的八次方=256个地址
    解法一:那么总地址数/C类地址数 = 4096/256 = 16
    解法二:/20到/24差了4位,2的四次方=16

4-33

136.23.12.64/26 –> 前26位为网络位,后6位为主机位

  1. 求新的网络前缀

    划分4个一样大的子网的话,要从主机位中借位数,因为现有的主机位数仅仅能表示136.23.12.64/26这个网段,那么4为2的平方,就从主机位借2位,那么构成的新的网络前缀就是26+2=28位

  2. 每个子网地址数

    已知网络位为28 ,主机位为32-28=4,地址数为2的4次方=16

  3. 每一个子网地址块

    已知前面求了每个子网地址数为16,那么每个子网的地址按顺序增加16
    因为网络位为28,则第四个字节的前四位属于网络位,后四位属于主机位
    起始地址是64
    子网1–>136.23.12.64/28
    64+16–>子网2–>136.23.12.80/28
    80+16–>子网3–>136.23.12.96/28
    96+16–>子网4–>136.23.12.112/28
    这些就是子网地址块了

  4. 求每个子网可分配给主机使用的最小和最大地址

    每个子网中的网络地址,即全0,和广播地址,即全1,不能分配给主机,那么可以分配的主机地址范围为 (网络地址+1, 广播地址-1)
    根据第三问能看出每个网段的子网范围:
    子网1 :64-79->(64+1,79-1)->(65,78)
    子网2 :80-95->(80+1, 95-1)->(81,94)
    子网3 :96-111->(96+1, 111-1)->(97,110)
    子网4 :112-127->(112+1, 127-1)->(113,126)

5-35

  1. 经过多少个 RTT 后,发送窗口大小达到 1 MB

    题目中”从慢开始传送“–>对应慢启动算法
    慢启动算法:窗口呈指数级增长,即2的n次方,单位为KB
    1MB= 1024KB
    2的n次方=1024
    n=10
    则要经过10个往返时延RTT

  2. 传送成功共需要多少个 RTT?TCP 扩大的窗口够用吗?

    14RTT
    窗口可选最大值固定为2的30次方-1
    TCP 扩大的窗口够用

  3. 有效吞吐率与链路带宽利用率

    有效吞吐率 = 总数据量 / 总耗时

    链路带宽利用率=有效吞吐率/链路带宽

5-38

TCP 拥塞控制核心规则:

  • **慢开始:拥塞窗口cwnd 初始值为 1,每经过一个 RTT,cwnd指数增长,2的n次方,直到达到 ssthresh。
  • 拥塞避免:当 cwnd >= ssthresh 时,每经过一个 RTT,cwnd 加 1线性增长。
  • 超时处理:当发生超时时:
    • 新的 ssthresh 设为发生拥塞时 cwnd 的一半(向下取整或按标准算法)。
    • cwnd 重置为 1
    • 之后重新执行慢开始,直到达到新的 ssthresh 后进入拥塞避免。
RTT 拥塞窗口 cwnd 阶段/说明 增长情况
1 1 慢开始 指数增长
2 2 慢开始 指数增长
3 4 慢开始 指数增长
4 8 慢开始(达到初始阈值ssthresh = 8) 指数增长
5 9 拥塞避免 线性增长
6 10 拥塞避免 线性增长
7 11 拥塞避免 线性增长
8 12 拥塞避免(此时发生超时) 线性增长
9 1 超时后重置(新阈值 6) 重置cwnd=1,新设阈值ssthresh =12/2 = 6
10 2 慢开始 指数增长
11 4 慢开始 指数增长
12 6 慢开始(达到新阈值ssthresh = 6) 指数增长
13 7 拥塞避免 线性增长
14 8 拥塞避免 线性增长
15 9 拥塞避免 线性增长

那么拥塞窗口大小分别为:1,2,4,8,9,10,11,12,1,2,4,6,7,8,9,

5-49


UDP首部结构
一定要注意题目说的是十六进制存储的首部,那么1字节就是两位了

源端口 目的端口 长度 校验和
2字节 2字节 2字节 2字节
CB84 000D 001C 001C
52100(十进制) 13(十进制) 28(十进制) 用于进行差错检测
  1. 源端口号

    2字节的十六进制CB84–> 十进制52100

  2. 目的端口号

    2字节的十六进制000D–> 十进制13

  3. 用户数据报的总长度

    对应长度字段,这里的长度字段是总长度=数据长度+ UDP 首部长度
    001C转为十进制–>28

  4. 数据长度

    数据长度 = 用户数据报总长度 - UDP 首部长度
    UDP首部长度固定为8字节
    28−8=20字节

  5. 这个分组是从客户到服务器方向的,还是从服务器到客户方向的

    源端口是 52100,这是一个客户端使用的临时端口,临时端口>1023
    目的端口是 13,这是一个熟知端口,熟知端口<1023
    目的端口是服务器端口,源端口是客户端端口,这个分组是从 客户到服务器 方向的

  6. 客户进程是什么

    目的端口 13 在 TCP/UDP 中通常对应 Daytime 协议,客户进程是 使用 daytime 服务的客户端程序

录音提及问答知识点:

第一章

OSI七层、TCP /IP四层、和书上五层体系结构的对应关系

OSI 七层模型 五层体系结构 TCP/IP 四层模型
应用层 应用层 应用层
表示层
会话层
运输层 运输层 运输层
网络层 网络层 网际层
数据链路层 数据链路层 网络接口层
物理层 物理层

如何衡量计算机网络的性能指标

速率、吞吐量、带宽、==时延==、时延带宽积、往返时间RTT、利用率

时延的计算

==注意:在进行计算时要注意单位换算==
发送时延
传播时延
处理时延:处理分组花费的时间
排队时延:它的时延在四者中最大,当网络通信量很大时会发生队列溢出,分组丢失,相当于排队时延无穷大

三种交换方式定量对比:

电路交换和分组交换,报文交换(已被抛弃,一般是前两者比较)

电路交换:
总时间T = 建立连接时间 + 发送时延 +传播时延 = t建立连接 (有时候题目会忽略,那么就不用加上这个)+ (报文总长度/数据传输速率、带宽 ) + 链路数量 * 单链路的传播时延

分组交换:
总时间T = 发送总时间 + 最后一个分组的转发耗时= 发送总时间 + (链路数-1) * (分组长度+分组首部长度)/ 数据传输速率

例题:要在源点和终点之间传送 M=1000的报文。路径上有 2 个路由器(即 k=3 段链路)。链路速率 R=1000bps,每段链路传播时延忽略不计。
电路交换:建立连接需 S=0.5S。
分组交换:分组数据长 p=100 bits,首部 h=20bits。
求两种方式下的总时延,并比较哪种更快。

电路交换:
T = t建立时间 + 发送时延 + 传播时延 (题目说忽略不计)
=t建立时间 + 发送时延
=S + M / R (报文长度/ 速率)
= 0.5s + 1000/1000 = 1.5s
此处的传播时延被忽略了,要是没有忽略,该这么计算–> 传播时延 =(链路数、即路由器数加1) k * d (每段传播时延 )

分组交换:
分组总数 L= 报文长度 / 分组数据长 = M / p = 1000 / 100 = 10组
单个分组长度 g= 分组数据长 +首部 = p + h = 100 + 20 = 120bits
发送总时间 = (单个分组长度* 分组总数)/ 速率 = g * L / R = 10 * 120 / 1000= 1.2s
最后一个分组的转发耗时 = 最后一个分组经过k-1的路由器转发 * 最后一个分组的长度/速率 = (k-1) * g / R = (3-1) * 120/ 1000 = 0.24s
T = 发送总时间 + 最后一个分组的转发耗时
= 1.2s + 0.24s

==注意:看清题目定义的报文长度是否包含首部 , 分组数据长是纯数据还是包括了首部的总长==

数据封装与解封装首部尾部增减

数据从最顶层往下一定是不断增加头部和尾部的过程,从物理层往上是不断减首部和尾部的过程
见第一章习题 1-19

第二章

奈氏准则

结论:在带宽为W的信道上 ,不考虑噪声影响,码源传输最高速率是2W

香农公式

信噪比:
S/N —— 信号平均功率 /噪声平均功率

香农公式:信道极限信息传输速率C

CDMA的原理及计算过程

原理:所有用户在同一时间、同一频段上发送信号,依靠各自唯一且相互正交的码片序列来区分,接收端通过计算内积等相关运算从叠加信号中解调出目标用户的数据。

计算过程见习题2-16

第三章

面向点对点PPP协议

成帧

特殊在含有进行帧定界的字段
如何进行帧定界,帧和帧之间有分界标识OSTE,2个0之间包含6个1(0 111111 0)

透明传输(只在PPP协议)

保证传输数据中间没有两个0之间加6个1的组合,被错当成帧定界字段
解决方法
零比特填充法:发送数据时只要发现5个连续的1,那么就自动在后面加入一个0,然后在接收数据时,发现5个连续的1,检查后面的bit,
如果是0,则自动删除这个0;
如果是1,若1后面接的是0,则是帧定界标志字段01111110表示一帧结束,若1后面接的是1,则发生了传输错误
字节填充/字符法:添加特殊的转义字符ESC
==注意:以太网没有透明传输,因为以太网发送每一帧的时候,帧和帧之间会有一定时间间隔,时间间隔就是一个天然的帧的分界线==

差错检测

循环冗余检验CRC
CRC原理:发送端利用模2除法将原始数据除以约定的生成多项式,将得到的余数FCS附加在数据后发送;接收端用同样的多项式对收到的完整数据进行模2除法,若余数为0则判定传输无差错,否则判定出错并丢弃。
例题以CRC-4为例:

对于CRC-4,它的生成多项式P最高次幂为4,CRC-32的最高次幂为32,以此类推

  1. 确定参数
    M = 1011001
    P最高次幂= 4
    生成多项式P转换为二进制比特:10011

  2. M后面补0
    因为是CRC-4,则M后面补4个0,如果是CRC-32,那么就是M后面补32个0
    M= 1011001 0000

  3. 模2除法
    将M与P的二进制比特进行异或(记得从前面开始)
    进行第一次异或
    1011001 0000
    10011
    –>前五位00101–>删去前面没意义的0–> 101–>因为 P的二进制比特10011是五位,那么从M后面再拉两位下来01–>10101
    再进行第二次异或
    10101
    10011
    –>00110–>去掉前面没意义的0–>110–>从M后面再下拉两位00–> 11000
    进行第三次异或
    11000
    10011
    –>01011–>去掉前面无意义的0–>1011–>CRC-4的余数的位数是4位(以此类推CRC-32是32位),此处异或得到的结果1011为4位,除法结束–>余数、FCS校验码为1011

面向广播信号以太网

CSMA/CD协议

解决以太网站点多的问题
核心口诀先听后发,边发边听,冲突停发,随机重发
信号传播往返时间 2τ 。如果在这个时间内没检测到冲突,才算发送成功。

二进制指数退避算法

发生碰撞后,不能马上重发,否则又会撞。

算法:

  1. 基本退避时间:2τ
  2. k = min(重传次数,10),重传超过10次,k就固定为10
  3. 从{0, 1, … , (2的k次方 - 1)}中随机取一个数r
  4. 重传等待时间 = r * 基本退避时间2τ

例题:
主机 A 和主机 B 在同一个 10Mbps 的以太网段上通信。已知该网络的基本退避时间(即争用期 2τ)为 51.2 μs。主机 A 发送一个数据帧,发生碰撞。随后主机 A 按照二进制指数退避算法进行重传,但连续发生了 12 次碰撞(即这是第 12 次碰撞后的重传等待)。

1. 此时参数 k的值是多少?
连续进行12次碰撞,重传12次
k = min(12,10) = 10
2. 主机 A 从哪个整数集合中随机选取退避倍数 r ?

  • 公式: {0,1,…,2的k次方−1}
    - k=10,2的10 次方 -1 = 1024 -1 = 1023
    集合为 {0,1,2,…,1023}
    3. 主机 A 本次重传的最大可能等待时间是多少?
    计算最大的可能等待时间,r就要取集合最大的值1023
    T​=r×基本退避时间 = 1023 * 2τ = 1023 * 51.2 μs = 2377.6 μs≈52.38 ms

网桥、交换机自学习功能

第四章

成帧问题

见第三章成帧问题

IP首部格式(20个字节的固定部分)


标志占3位,只有前两位有意义
片偏移占13位

IP的分片(大IP分成小分组)

每个分片能装的最大数据量 = MTU−20,这个20为首部的长度
==注意:(MTU−20)必须是 8 的整数倍,如果 MTU−20 不是 8 的倍数,必须向下取整到最近的 8 的倍数。==
例题:一个 IP 数据报总长度为 4000 字节(首部固定 20 字节,数据 3980 字节)。
现在要经过一个 MTU = 1500 字节 的网络。

  1. 需要分成几个片?
    每个分片能装的数据:1500−20=1480 字节
    1480/8 = 185,刚好整除,则每个分片的数据长度就是1480
    分片数量 3980 / 1480 = 2.68…, 需要3个分片

得到:
注意:- 除了最后一个分片,前面所有分片的 MF 都必须是 1。

分片 数据长度 总长度 (首部+数据) 片偏移 (数据位置 ÷ 8) MF标志
第 1 片 1480 1480 + 20 = 1500 0 ÷ 8 = 0 1
第 2 片 1480 1480 + 20 = 1500 1480 ÷ 8 = 185 1
第 3 片 3980 - 1480×2 = 1020 1020 + 20 = 1040 2960 ÷ 8 = 370 0

CIDR网络划分

  1. 划分成四个相同的子网
    见习题4-33

  2. 划分成四个不同的子网
    将习题4-33条件改成划分四个不同的子网,条件如下:

  • 子网 A:需要 28 台主机
  • 子网 B:需要 12 台主机
  • 子网 C:需要 4 台主机
  • 子网 D:需要 2 台主机

    已知136.23.12.64/26,主机号6位,总的地址数就是2的6次方= 64个地址,地址的范围为136.23.12.64-136.23.12.127
    原则先分大块,再分小块

    1. 划分子网A
      公式:2的n次方−2≥28,减2是减去全0和全1的两个地址
      –> n = 5(32个地址,30个可用地址)–>主机位为5位–>网络前缀网络号32-5 = 27–>网络地址块为136.23.12.64/27
      –>范围(64, 64+32-1=95)–>可用主机(64+1, 95-1)减去全1和全0
    2. 划分子网B
      2的n次方−2≥12–>n = 4(地址16个,可用地址14个)–>网络前缀32-4 = 28–>网络地址块为136.23.12.96/28
      –>范围(96, 96+16-1= 111)–> 可用主机(96+1, 111-1)
      以此类推

路由协议

路由协议 和谁进行交互 什么时候进行交互 交互的内容 基于什么协议
RIP 相邻的路由器 每隔一定的时间间隔 自己的路由表 UDP
OSPF 用洪泛法向网络上所有的其他路由器 链路状态发生变化或每隔一段时间 与自己直连的网络拓扑确实发生了改变的地方 IP
BGP 相邻的路由器 网络拓扑发生变化 与自己直连的网络拓扑确实发生了改变的地方 TCP

差错检测问题

协议 计算范围 计算
IP 首部 分组求和
UDP 首部+数据部分 分组求和
TCP 伪首部+首部+数据部分 分组求和
RIP算法:

第五章

实现可靠传输的方法

1.超时重传,正确接收到数据返回一个ACK
2.序号机制,进行编号,防重传和乱序
3.差错检测
4.确认机制

流量控制问题

用接收窗口来抑制发送方的发送速率

拥塞问题

稍微看眼书这个部分(快恢复/重传算法)
快重传算法
当接收方收到一个失序的数据段时,它会立即发送一个针对“期望收到的下一个字节序号”的重复ACK,发送方一旦连续收到三个相同的重复ACK,就推断出某个数据段很可能已经丢失,于是立即重传该数据段,而不必等待重传计时器超时。
快恢复算法
当发送方连续收到 3 个重复 ACK 并触发“快重传”后,快恢复算法就会接管控制权,具体步骤如下:

  1. 将阈值ssthresh/2,cwnd= 新的ssthresh + 3* MSS(最大报文段长度)
  2. 每收到一个重复ACK, cwnd+1个MSS
  3. 收到对重传段的确认ACK后,cwnd=当前ssthresh,退出快恢复

掌握慢开始、拥塞避免的拥塞窗口变化规律——见习题5-38

TCP三次握手和四次挥手


第六章(不考大题)

DNS的查询方式

  1. 递归查询
  2. 迭代查询

HTTP1.0、2.0、3.0是怎么变化的

协议 特点
HTTP1.0 一次性连接,非持久性连接
HTTP1.1 持久性连接
HTTP2.0 报文传输格式进行了根本性变革
HTTP3.0 将传输层从 TCP 迁移到了基于 UDP 的 QUIC 协议

FTP、TFTP协议有什么区别

特性 FTP TFTP
传输层 TCP UDP
端口 20(数据), 21(控制) 69
认证机制 支持(用户名/密码) 不支持
连接方式 双连接(控制+数据) 单连接,无状态
可靠性 高(依赖 TCP) 低(应用层简单确认)

实验

制作网线的基本规范

直通线 :用于连接不同层级的设备,计算机与交换机、计算机与路由器、交换机与路由器
交叉线:用于连接同层级的设备,计算机与计算机直连、交换机与交换机级联、路由器与路由器直连
全反线:主要用于连接设备的 Console 口,进行初始的命令行配置和调试。

简单网络测试与分析,一些常用的网络命令

  1. ping
    测试本机与目标主机之间的连通性
  • Reply from ... bytes=32 time<1ms TTL=128:表示通了
  • Request timed out:请求超时,可能是不通、防火墙拦截或对方禁 ping。
  • Destination host unreachable:目标主机不可达,通常是路由问题或网关没配好。
  1. ipconfig(Windows)/ ifconfig(Linux)
    查看本机的网络配置信息,检查 IP 是否在同一网段,网关是否正确配置
  2. tracert (Windows)/ traceroute(Linux)
    路由追踪。显示数据包从本机到目标主机经过的所有路由器跳数
    如果数据包在某一行停滞并显示 * * *,说明故障点就在该路由器或该链路
  3. arp -a
    查看和操作本机的 ARP 缓存表
    如果在同一局域网内 ping 不通,可以用此命令查看是否获取到了对方的 MAC 地址
    如果是 incomplete 或找不到对应 IP,说明二层链路有问题
  4. netstat
    显示网络连接、路由表和网络接口统计信息
    检查服务器端口是否在监听,排查异常连接。

综合题

信息传递过程


主机H1给主机H2发送消息:
首先,在发送端主机 H1,数据从运输层下来进入网络层时,会被加上 IP 首部,此时源 IP 地址填的是 H1 自己的 IP1,目的 IP 地址填的是最终接收方 H2 的 IP2,这两个 IP 地址在整个传输过程中是始终不变的;接着数据向下交给数据链路层,因为目的地址不等于本地地址,H1 会使用路由选择协议找到下一跳路由器R1,再调用 ARP 协议找到 下一跳R1对应的MAC地址MAC3 ,将数据封装成 MAC 帧,此时帧的源 MAC 是 MAC1,目的 MAC 是 MAC3,然后转换成10代码通过物理层发出去。
当信号到达路由器 R1 后,物理层接收并交给数据链路层,R1 发现帧的目的 MAC 地址 MAC3 正是自己,于是收下这个帧,去掉帧头帧尾,把里面的 IP 数据报上交到网络层;在网络层,R1 检查 IP 包的目的地址 IP2,发现目的地址不等于本地地址,就要进行转发,它根据路由选择协议找到 “下一跳”路由器 R2,确定下一跳后,R1 再次调用 ARP 协议获取 R2 对应的MAC地址 MAC5 ,然后重新将 IP 数据报封装成新的 MAC 帧,此时新帧的源 MAC 变成了 R1 的出口 MAC4,目的 MAC 变成了 R2 的入口 MAC5,但里面的 IP 包头依然是 IP1 到 IP2,最后通过物理层转发出去。
路由器 R2 的处理过程与 R1 类似,它收到帧后发现目的 MAC 是 MAC5,就收下并去掉帧头帧尾交给网络层;检查目的地址仍不等于本地地址,根据路由选择协议找到发现下一跳就是目标主机 H2;于是 R2 再次调用 ARP 协议找到 H2 的 MAC2 地址,再次重新封装成帧,源 MAC 改为 R2 的出口 MAC6,目的 MAC 改为 H2 的 MAC2,然后发送出去。
最后,主机 H2 的物理层收到信号交给数据链路层,发现目的 MAC 地址 MAC2 是自己,便收下并去掉帧头帧尾,将 IP 数据报上交网络层;网络层检查发现目的 IP 地址 IP2 正是自己,于是去掉 IP 首部,将剩下的数据部分向上交付给运输层,至此,整个从 H1 到 H2 的数据转发与交付过程就完成了。

历年试卷部分简答题

历年试卷部分选填

一些课堂画记知识点:

|662x852