文章参考:湖科大教书匠

# 网络层概述

# 主要功能

  • 在全局范畴为主机之间的通信进行选路,选路的结果反映为分组交换机(设备)上的转发表 (控制层面)

  • 分组交换机(设备)上的网络层根据转发表以及分组头部信息,将分组向适当链路进行转发(数据层面)

  • 对于面向连接的网络层服务,提供连接建立的功能

# 分组交换机分类

交换机:

  • 连接不同 pc 端,连接到同一个局域网中

路由器:

  • 连接不同网段
  • 转换网络地址,私网和公网的转换

根据链路层首部信息进行转发的 —— 链路层节点交换机

根据网络层首部信息进行转发的 —— 路由器

# 虚电路和数据报网络

面向连接的服务 —— 虚电路,需事先握手

面向无连接的服务 —— 数据报,无需握手

# 路由器工作原理

最长前缀匹配:查找给定目标地址的转发表项时,请使用与目标地址匹配的最长地址前缀

# 交换结构

# 路由器的拥塞问题

# 缓冲区大小

# 分组调度策略

尾部丢弃:丢弃到达的数据包

优先级:按优先级丢弃 / 删除

随机:随机丢弃 / 移除

# ip 数据报的分片和重组

网络链路具有 MTU (最大传输单位) 属性 —— 是由链路层最大帧的限制决定的

  • 不同类型的链路有不同的 MTU

大的 IP 数据报在网络中会被分成小的分片

  • 一个数据报变成了几个数据报

  • 重组只在目的主机进行

  • 数据报头部的标识标志以及片偏移字段用于目的主机对接收的分片进行重组

  • 每个小的分片都需要包含头部信息
  • 标志:1 为未结束,0 为结束(分片)
  • 片偏移量:每个分片在整个报文中的位置,偏移以 8 字节为单位,所以需要除以 8

# ipv4 地址概述

# 分类编址

习题:

\color{red}

\color{red}

# 划分子网

子网划分的方法:从主机号中借用一部分位数作为子网号

子网掩码:通过在网络号的子网号相应的位置全置 1,主机号相应的位置全置 0,即可得到子网掩码

# CIDR

构造超网

CIDR 编址格式

  • IP 地址 ::=

  • 斜线记法:192.168.0.1/24

  • 简写记法:10.0.0.0/10 10/10

# ip 数据报的发送和转发过程

广播地址路由器不转发

# CIDR 路由表

使用 CIDR 时,路由表中的每个项目由 “网络前缀” 和 “下一跳地址” 组成。在查找路由表时可能会得到不止一个匹配结果。

应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配

# 获得 ip 地址

手工配置

DHCP: 动态主机配置协议:从服务器上动态获取 IP 地址

  • 工作在应用层
  • 使用 UDP 协议工作
  • DHCP 有 3 个端口
  • 67 和 68 为正常的 DHCP 服务端口,分别作为 DHCP Server 和 DHCP Client 的服务端口
  • 546 号端口用于 DHCPv6 Client,而不用于 DHCPv4,是为 DHCP failover 服务,这是需要特别开启的服务,DHCP failover 是用来做 “双机热备” 的

# ICMP 协议

# NAT

动机:本地网络只要使用一个 IP 地址就可以和外部网络相连 :

  • 不需要从 ISP 处获得大批 IP 地址:所有设备可以使用同一个 IP 地址

  • 可以在不通知外部网络的情况下改变内网主机的 IP 地址

  • 即使改变了 ISP 也无须改变内网主机的 IP 地址

  • 内网主机对外网主机而言是不可见的、不可寻址的。(这也算是一项安全措施).

三种地址转换方式

  • 静态 NAT:一个本地地址对应一个全球地址

  • 动态 NAT:一个全球地址对应多个本地地址

  • 端口 NAT:一个本地地址的端口对应到一个全球地址的端口

# 选路算法

# 路由信息协议 RIP

RIP 路由器更新规则

RIP 协议中,距离 16 表示不可达

坏消息传的慢

# 开放最短路优先 OSPF

# 外部网关协议 BGP

因特网上的 AS 间路由 ——BGP4

  • 因特网的规模太大,使得自治系统之间路由选择非常困难。对于自治系统之间的路由选择,要寻找最佳路由是很不现实的。自治系统之间的路由选择必须考虑有关策略

  • BGP 为每个 AS 提供一种手段,以处理

    • eBGP: 从相邻 AS 获取子网可达性信息
    • iBGP: 向该 AS 内部的所有路由器传播这些可达性信息
  • 基于该可达性信息和 AS 策略,决定到达子网的 “好” 路由

    • 边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由

BGP 会话:两个 BGP 路由器间通过半永久的 TCP 连接来交换 BGP 消息