目录
网络层
网络层的几个重要概念
网络层提供的两种服务
网络层的两个层面
网际协议 IP
虚拟互连网络
IP 地址
IP 地址与 MAC 地址
地址解析协议 ARP
IP 数据报的格式
IP 层转发分组的过程
基于终点的转发
最长前缀匹配
使用二叉线索查找转发
网际控制报文协议 ICMP
ICMP 报文的种类
ICMP 的应用举例
IPv6
从 IPv4 向 IPv6 过渡
ICMPv6
互联网的路由选择协议
有关路由选择协议的几个基本概念
内部网关协议 RIP
内部网关协议 OSPF
外部网关协议 BGP
路由器的构成
IP 多播
IP 多播的基本概念
在局域网上进行硬件多播
网际组管理协议 IGMP 和多播路由选择协议
虚拟专用网 VPN 和网络地址转换 NAT
虚拟专用网 VPN
网络地址转换 NAT
网络层提供的两种服务
争论:
2 种观点:
一种观点:让网络负责可靠交付
计算机网络模仿电信网络,使用面向连接的通信方式。
通信之前先建立虚电路 VC (Virtual Circuit) (即连接),以保证双方通信所需的一切网络资源。
如果再使用可靠传输的网络协议,可使所发送的分组无差错按序到达终点,不丢失、不重复。
虚电路服务
虚电路只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,并不是真正建立了一条物理连接。
另一种观点:网络提供数据报服务
互联网采用的设计思路:
数据报服务
虚电路服务与数据报服务的对比
对比的方面 | 虚电路服务 | 数据报服务 |
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须有 | 不需要 |
终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 |
分组的转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
当结点出故障时 | 所有通过出故障的结点的虚电路均不能工作 | 出故障的结点可能会丢失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达终点 | 到达终点时不一定按发送顺序 |
端到端的差错处理和流量控制 | 可以由网络负责,也可以由用户主机负责 | 由用户主机负责 |
网络层的两个层面
数据层面和控制层面
软件定义网络 SDN (Software Defined Network)
网际协议 IP
与网际协议 IPv4 配套的 3 个协议:
虚拟互连网络
实现网络互连、互通时需要解决许多问题,如以下“不同”:
实现异构网络的互连互通方法,哪种好?
使用中间设备进行互连
使用转发器或网桥不称为网络互连
网络互连使用路由器
互连网络与虚拟互连网络
IP 网的意义
分组传输路径
1. IP 地址及其表示方法
互联网上的每台主机(或路由器)的每个接口分配一个在全世界唯一的 IP 地址。 由互联网名字和数字分配机构 ICANN (Internet Corporation for Assigned Names and Numbers) 进行分配。
IP 地址采用 2 级结构
2. 分类的 IP 地址
各类 IP 地址的网络号字段和主机号字段
各类 IP 地址的指派范围
注意:
一般不使用的特殊的 IP 地址
网络号 | 主机号 | 源地址使用 | 目的地址使用 | 代表的意思 |
0 | 0 | 可以 | 不可 | 在本网络上的本主机(见 6.6 节 DHCP 协议) |
0 | X | 可以 | 不可 | 在本网络上主机号为 X 的主机 |
全 1 | 全 1 | 不可 | 可以 | 只在本网络上进行广播(各路由器均不转发) |
Y | 全 1 | 不可 | 可以 | 对网络号为 Y 的网络上的所有主机进行广播 |
127 | 非全 0 或全 1 的任何数 | 可以 | 可以 | 用于本地软件环回测试 |
分类的 IP 地址的优点和缺点
优点:
缺点:
3. 无分类编址 CIDR
(1) 网络前缀
(2) 地址块
注意:
(3) 地址掩码 (address mask)
默认地址掩码
网络地址 = (二进制的 IP 地址) AND (地址掩码)
常用的 CIDR 地址块
构造超网
三个特殊的 CIDR 地址块
网络前缀长度 | 点分十进制 | 说明 |
/32 | 255.255.255.255 | 就是一个 IP 地址。这个特殊地址用于主机路由 |
/31 | 255.255.255.254 | 只有两个 IP 地址,其主机号分别为 0 和 1。 这个地址块用于点对点链路 |
/0 | 0.0.0.0 | 同时 IP 地址也是全 0,即 0.0.0.0/0。用于默认路由。 |
路由聚合 (route aggregation)
CIDR 地址块划分举例
可见:网络前缀越短,地址块所包含的地址数越多。
这个 ISP 共有 64 个 C 类网络。如果不采用 CIDR 技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的转发表中,需要有 64 行。采用地址聚合后,转发表中只需要用 1 行来指出到 206.0.64.0/18 地址块的下一跳。 在 ISP 内的路由器的转发表中,也仅需用 206.0.68.0/22 这 1 个项目,就能把外部发送到这个大学各系的所有分组,都转发到大学的路由器。
4. IP 地址的特点
注意:
IP 地址与 MAC 地址 概念
IP 地址与 MAC 地址的区别
不同层次、不同区间使用的源地址和目的地址
地址解析协议 ARP 的作用
要点 1:ARP 高速缓存 (ARP cache)
超过生存时间的项目都从高速缓存中删除,以适应网络适配器变化。
要点 2:ARP 工作
要点 3:ARP 查找 IP 地址对应的 MAC地址
ARP 高速缓存的作用
2 台主机不在同一个局域网上怎么办?
使用 ARP 的四种典型情况
为什么要使用两种地址:IP 地址和 MAC 地址?
1. IP 数据报首部的固定部分中的各字段
2. IP 数据报首部的可变部分
为了压缩转发表的大小, 转发表中最主要的路由是(目的网络地址,下一跳地址) , 而不是(目的地址,下一跳地址)。 查找转发表的过程就是逐行寻找前缀匹配。
如下图:主机 H1 发送出的、目的地址是 128.1.2.132 的分组是如何转发的?
转发表中的 2 种特殊的路由
默认路由举例
路由器分组转发算法
使用二叉线索查找转发表
用 5 个唯一前缀构成的二叉线索
在二叉线索中查找 IP 地址
网际控制报文协议 ICMP
ICMP 报文的格式
ICMP 报文的种类
ICMP 差错报告报文的数据字段的内容
不应发送 ICMP 差错报告报文的几种情况
ICMP 询问报文
ICMP 的应用举例
PING (Packet InterNet Groper)
Traceroute
IPv6
IPv6 的基本首部
IPv6 数据报的一般形式
IPv6 数据报的基本首部
IPv6 的六种扩展首部
IPv6 的地址
节点与接口
冒号十六进制记法
零压缩
IPv6 地址分类
地址类型 | 二进制前缀 | IPv6记法 |
未指明地址 | 00…0(128位),仅此一个 | ::/128 |
环回地址 | 00…1(128位),仅此一个 | ::1/128 |
多播地址 | 11111111(8位),功能和 IPv4 的一样 | FF00::/8 |
本地链路单播地址 | 1111111010(10位), 未连接到互联网,不能和互联网上的其他主机通信 | FE80::/10 |
全球单播地址 | 除上述四种外,所有其他的二进制前缀 |
IPv6 单播地址的划分方法
双协议栈
隧道技术
ICMPv6 报文的分类
1. 理想的路由算法
路由算法分类(自适应)
2. 分层次的路由选择协议
自治系统 AS (Autonomous System)
2 大类路由选择协议
自治系统和内部网关协议、外部网关协议
内部网关协议 RIP
1. 协议 RIP 的工作原理
RIP“距离”的定义
RIP 协议的三个特点
路由表的建立
路由表主要信息和更新规则
2. 距离向量算法
对每个相邻路由器(假设其地址为 X)发送过来的 RIP 报文,路由器:
RIP2 报文
3. 坏消息传播得慢
RIP 协议的优缺点
内部网关协议 OSPF
三个主要特点
链路状态数据库 (link-state database)
链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。 重要优点:OSPF 更新过程收敛速度快。
OSPF 将自治系统划分为两种不同的区域 (area)
OSPF 中的路由器:区域边界路由器 ABR (area border router)
OSPF 中的路由器:主干路由器 BR (backbone router)
OSPF 中的路由器:自治系统边界路由器 ASBR (AS border router)
划分区域优点和缺点
分层次划分区域的好处: 使每一个区域内部交换路由信息的通信量大大减小,因而使 OSPF 协议能够用于规模很大的自治系统中。
其他特点
2. OSPF 的五种分组类型
OSPF 分组用 IP 数据报传送
OSPF 工作过程
指定的路由器 DR
1. 协议 BGP 的主要特点
BGP 发言者 (BGP speaker)
eBGP 连接和 iBGP 连接
IGP、iBGP 和 eBGP 的关系
eBGP 和 iBGP
BGP 路由信息
BGP 路由 = [ 前缀, BGP属性 ] = [ 前缀, AS-PATH, NEXT-HOP ]
3. 三种不同的自治系统 AS
BGP 路由如何避免兜圈子?
4. BGP 的路由选择
本地偏好 (local preference) 值最高
AS 跳数最小
热土豆路由选择算法
5. BGP-4 的四种报文
1. 路由器的结构
“转发”和“路由选择”的区别
输入端口对线路上收到的分组的处理
输出端口将交换结构传送来的分组发送到线路
2. 交换结构
通过存储器
通过总线
通过纵横交换结构 (crossbar switch fabric)
多播可大大节约网络资源
IP 多播
多播 IP 地址
多播数据报
D 类 IP 地址与以太网多播地址的映射关系
1. IP 多播需要两种协议
IGMP 使多播路由器知道多播组成员信息
IGMP 协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机参加或退出了某个多播组。IGMP 不知道 IP 多播组包含的成员数,也不知道这些成员都分布在哪些网络上。
多播路由选择协议更为复杂
路由器 R 不应当向网络 N3 转发多播组 M1 的分组,因为网络 N3 上没有多播组 M1 的成员。
2. 网际组管理协议 IGMP
IGMP 使用 IP 数据报传递其报文
IGMP 工作可分为两个阶段
第一阶段:加入多播组
第二阶段:探询组成员变化情况
IGMP 采用的一些具体措施,以避免增加大量开销
3. 多播路由选择
(1) 洪泛与剪除
RPB 的要点:检查,转发
RPB 的要点:形成以源为根节点的多播转发树
RPB 的要点:剪枝与嫁接
(2) 隧道技术 (tunneling)
(3) 基于核心的发现技术
几种多播路由选择协议
本地地址与全球地址
RFC 1918 指明的专用 IP 地址
专用网
虚拟专用网 VPN
虚拟专用网 VPN 的构建
用隧道技术实现虚拟专用网
VPN 类型
网络地址转换 NAT (Network Address Translation)
网络地址转换的过程
网络地址转换 NAT
通过 NAT 路由器的通信必须由专用网内的主机发起,因此,专用网内部的主机不能充当服务器用。
网络地址与端口号转换 NAPT
NAPT 地址转换表