网络层提供
面向连接的虚电路服务
无连接的数据报服务

SDN

Q: SDN (Software Defined Networking) 网络与传统网络, 路由器中包含的平面的区别 (数据平面与控制平面以及职责)
A: 传统网络路由器: 既有路由表 (数据平面), 又有路由选择软件/协议 (如 OSPF, BGP)(控制平面). 既能处理和转发数据包, 又能维护路由表.
SDN 网络路由器: 只有路由表 (数据平面), 路由选择交给专门的 SDN 控制器来完成 (无控制平面). 只负责处理和转发数据包, 不负责维护路由表.

Q: SDN (Software Defined Networking) 的南向接口, 北向接口, 东西向接口的作用
A: 北向接口: 向上层提供接口
南向接口: 与数据平面的转发设备联系
东西向接口: 控制平面内部, 多个远程控制器交流

拥塞控制

Q: 开环控制与闭环控制的区别
A: 开环控制是静态控制
闭环控制则是动态控制, 根据反馈回路调整参数

IPV4

分组

IPV4 数据报首部长度一般为{20B}
首部长度基本单位{4B}
总长度基本单位{1B}
片偏移基本单位{8B}

Q: IPV4 的检验码与 MAC 帧的检验码校验范围有什么区别?
A: IPV4 的检验码, 仅检验 IPv4 报头, 不包括数据载荷 (Payload).
MAC 帧的检验码, 检验整个 MAC 帧 (目标/源 MAC、类型、数据载荷、填充位), 不包括前导码和 FCS 字段.

IPV4 数据报首部中标志位的意义
DF (Don’t Fragment)=0:{c1: 数据报可以分片}
DF (Don’t Fragment)=1:{c1: 数据报不可以分片}
MF (More Fragment)=1:{c2: 还有后续的片}
MF (More Fragment)=0:{c2: 没有后续的片, 该片为最后一片}

地址

特殊地址
主机号全为 0:{c1: 不代表网络上的任何具体设备, 而是用来标识一个网段}
主机号全为 1:{c1: 该网段广播地址 (直接广播地址)}
127.x.x.x:{c1: 环回地址, 表示主机本身, 目的地址为环回地址的 IP 数据报不会离开本机}
0.0.0.0:{c1: 本网络上的本主机}
255.255.255.255:{c1: 本地网络广播地址 (受限广播地址) }

NAT

Q: 公网 IPV4 地址为 39.187.68.99, 而家庭网络内 3 台主机使用 172.16.36. X 网段
网关路由器应开启 NAT 功能
以用户主机 172.16.36.65 (随机端口 3345) 向 Web 服务器 128.119.40.186 (端口 80) 发送请求, 为例, 描述 NAT 的工作流程
A: 1. 收到来自主机的 IP 数据报后, 生成一个新随机端口号, 例如 5001
2. 修改 NAT 转换表, 在其中增加一个表项
3. Web 服务器响应来自 39.187.68.99:5001 数据报请求
4. 响应数据报到达 NAT 路由器后, 通过 NAT 转换表将 IP 数据报的目的 IP 地址改为 172.16.36.65, 将目的端口号改为 3345

划分子网与路由聚合

  • 传统的 IP 地址:
    结构为<网络号,主机号>
  • 子网划分类型的 IP 地址:
    从传统 IP 地址{主机号}借用若干位作为子网号
    结构为{<网络号,子网号,主机号>}
  • CIDR 类型的 IP 地址:
    结构为{<网络前缀,主机号>}

子网掩码的作用
指明了从传统 IP 地址主机号借用, 作为子网号的位数

Q: 获得了下一跳的 IP 地址后, 想要发送数据报还需要做什么工作?
A: 1. 通过 ARP 方式, 将该 IP 地址转换成 MAC 地址
2. 将此 MAC 地址填入 MAC 帧首部
3. 根据这个 MAC 地址找到下一跳路由器

Q: 为什么获得了下一跳的 IP 地址后, 还要将该 IP 地址转换成 MAC 地址, 才能发送数据?
A: IP 数据报位于网络层
而发送数据需要封装到链路层
需要添加链路层的 MAC 首部来实现

ARP (Address Resolution Protocol, 全地址解析协议) 工作在{网络}层, 用于实现 IP 地址与 MAC 地址的转换

DHCP 是 {c1: 应用}层协议, 基于 {c1: UDP} 协议

Q: 为什么 DHCP 为应用层协议?
A: 使用了应用层才有的客户/服务器模型

ICMP (Internet Control Message Protocol, 互联网控制报文协议) 是{网络层}协议

ICMP 五种差错控制报文
终点不可达: 由某种原因无法达到终点
改变路由: 推荐一个更好的路径
源点抑制: 请求发送方降低发送速度
时间超过: TTL (Time To Live) 字段耗尽
参数问题: IP 数据报头部字段值不正确或者语法错误

PING 是{c1: 应用或者网络? IDK}层协议, 它直接使用网络层的 {c1: ICMP}协议

Traceroute/Tracert 是{网络}层协议, 基于{ICMP}协议实现

IPv6

IPv6 与 IPv4 首部长度区别
IPv6:{c1:8}B 的整数倍
IPv4:{c1:4}B 的整数倍

路由协议

Q: 自治系统 (Autonomous System, AS) 与
内部网关协议 (Interior Gateway Protocol, IGP)
外部网关协议 (External Gateway Protocol, EGP)
的关系
A: AS 内部使用的为 IGP
AS 之间使用的为 EGP

常见的 IGP:{RIP ,OSPF}
常见的 EGP:{BGP}

内部网关协议
RIP 是{c1: 应用}层协议, 基于 {c1: UDP}传送
OSPF 是{c1: 网络}层协议, 基于{c1: IP}传送
外部网关协议
BGP 是{c2: 应用}层协议, 是基于 {c2: TCP} 传送

Q: RIP, OSPF, BGP 的性能比较
A: RIP: 跳数最少
OSPF: 性能最优
BGP: 性能较好, 但不追求最优

RIP

RIP 的每个路由器都要不断与其他路由器交换信息

  1. 和谁交换信息:{仅和直接相邻的路由器交换信息}
  2. 交换什么信息:{交换的信息是本路由器所知道的全部信息, 即自己的路由表}
  3. 何时交换信息:{按固定的时间间隔 (如 30 秒) 交换路由信息. 当网络拓扑发生变化时, 路由器也及时向相邻路由器通告拓扑变化后的路由信息}

RIP 允许一条路径最多只能包含{c1:15}个路由器, 距离等于{c1:16}时表示网络不可达

RIP 协议路由表项的三个关键字段:{<目的网络 N,距离 d,下一跳路由器地址 X>}

Q: RIP 协议的路由表更新 (收到与没收到两种情况)
A: - 收到
- 修改所有路由表项
对地址为 X 的相邻路由器发来的 RIP 报文, 下一条地址改为 X, 距离+1
- 判断所有路由表项中的目的地址 n 是否在当前路由表中
在: 比较大小, 选择是否更新距离
不在: 直接加入路由表中

  • 没收到
    • 默认超时时间还没有收到邻路由器的更新路由表, 则将相邻路由器记为不可达路由器, 距离设置为 16

Q: RIP 协议为什么对相邻路由器下线事件不敏感?
A: RIP 协议具有坏消息慢收敛的特点

Q: 以 A-B-C 三个相邻的路由器为例, 说明坏消息慢收敛
A: 若 A 下线, 超过默认超时时间后, B 中表项修改为 <A,16,直接交付>
但是与 C 交换的路由表信息中, 会有 <A,2,B>
B 接受并修改为 <A,3,C>, 显然 <A,3,C><A,16,直接交付> 跳数更少
B 中的<A,16,直接交付>被修改为 <A,3,C>
经过多次的传递之后, 才能将距离收敛到 16

OSPF

使用洪泛法向本自治系统中的所有路由器发送路由表中的部分信息

Q: 小规模与大规模的网络, 使用哪种 IGP 更合适?
A: 大规模的网络:OSPF
小规模的网络: RIP 与 OSPF 各有优劣
RIP 胜在简单, OSPF 资源消耗高

BGP

Q: 两个 AS 系统之间, 使用 BGP 协议建立端口的过程
A: 1. 每个系统选择 BGP 发言人
2. BGP 之间先建立 TCP 连接
3. 此连接上交换 BGP 报文以建立 BGP 会话
4. 利用 BGP 会话交换路由信息
5. 两个 BGP 发言人彼此要周期性地交换 Keepalive 报文

BGP 发言人除了必须运行 BGP 外, 还必须运行{该 AS 所用的内部网关}协议

IP 多播

多播是让源主机一次发送的单个分组可以抵达用一个组地址标识的若千目的主机, 即一对多
的通信. 在互联网上进行的多播, 称为 IP 多播.

多播机制仅应用于 UDP, 它能将报文同时发送给多个接收者. 而 TCP 是一个面向连接的协
议, 它意味着分别运行在两台主机的进程之间存在一条连接, 因此会一对一地发送.

移动 IP

Q: 主机向移动 IP 发送数据的路径
A: 主机, 归属代理, 外地代理, 移动 IP

Q: 移动 IP 向主机发送数据的路径
A: 移动 IP, 外地代理, 主机

Q: 广播域与冲突域的定义
A: 冲突域: 在一个局域网中, 能够同时发送数据并可能发生数据冲突的结点的集合
广播域: 能够收到相同广播消息的结点的集合