第 4 章 网 络 层

4.1  网络层的几个重要概念

4.1.1  网络层提供的两种服务

争论: 网络层应该向运输层提供怎样的服务?面向连接还是无连接? 在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?

2 种观点:

面向连接的可靠交付。

计算机网络模仿电信网络,使用面向连接的通信方式。 通信之前先建立虚电路 VC (Virtual Circuit) (即连接),以保证双方通信所需的一切网络资源。 如果再使用可靠传输的网络协议,可使所发送的分组无差错按序到达终点,不丢失、不重复。

虚电路服务

无连接的、尽最大努力交付的数据报服务,不提供服务质量的承诺。

互联网采用的设计思路: 网络层要设计得尽量简单,向其上层只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。

网络在发送分组时不需要先建立连接。

每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。

网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),也不保证分组传送的时限。

由主机中的运输层负责可靠的通信。

数据报服务

虚电路服务与数据报服务的对比

4.1.2网络层的两个层面

不同网络中的两个主机之间的通信,要经过若干个路由器转发分组来完成。

在路由器之间传送的信息有以下 2 大类: 数据。 路由信息(为数据传送服务)。

软件定义网络 SDN (Software Defined Network)

4.2网际协议 IP

4.2.1   虚拟互连网络

中间设备

IP 网的意义

当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节。

如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就是现在的互联网 (Internet)

4.2.2 IP 地址

在 TCP/IP 体系中,IP 地址是一个最基本的概念。

没有IP地址,就无法和网上的其他设备进行通信。

本部分重点: IP 地址及其表示方法 分类的 IP 地址 无分类编址 CIDR IP 地址的特点

1. IP 地址及其表示方法

2. 分类的 IP 地址

各类 IP 地址的网络号字段和主机号字段

各类 IP 地址的指派范围

一般不使用的特殊的 IP 地址

分类的 IP 地址的优点和缺点

3. 无分类编址 CIDR

(1) 网络前缀

(2) 地址块

(3) 地址掩码 (address mask)

常用的 CIDR 地址块

构造超网

三个特殊的 CIDR 地址块

路由聚合 (route aggregation)

CIDR 地址块划分举例

4. IP 地址的特点

注意:

4.2.3  IP 地址与 MAC 地址

IP 地址与 MAC 地址的区别

不同层次、不同区间使用的源地址和目的地址

尽管互连在一起的网络的 MAC 地址体系各不相同,但 IP 层抽象的互联网却屏蔽了下层这些很复杂的细节。

只要我们在网络层上讨论问题,就能够使用统一的、抽象的 IP 地址研究主机和主机或路由器之间的通信。

问题: 主机或路由器怎样知道应当在 MAC 帧的首部填入什么样的 MAC 地址?

4.2.4地址解析协议 ARP 

实现 IP 通信时使用了两个地址:

IP 地址(网络层地址)

MAC 地址(数据链路层地址)

地址解析协议 ARP 的作用

要点 1:ARP 高速缓存 (ARP cache)

要点 2:ARP 工作

要点 3:ARP 查找 IP 地址对应的 MAC地址

ARP 高速缓存的作用

存放最近获得的 IP 地址到 MAC 地址的绑定。

减少 ARP 广播的通信量。

为进一步减少 ARP 通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到 MAC 地址的映射写入 ARP 请求分组。

当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的 IP 地址及其对应的 MAC 地址映射写入主机 B 自己的 ARP 高速缓存中。

不必在发送 ARP 请求。

2 台主机不在同一个局域网上怎么办?(ARP工作原理)

使用 ARP 的四种典型情况

为什么要使用两种地址:IP 地址和 MAC 地址?

1.不同使用不同的 MAC 地址。MAC 地址之间的转换非常复杂。

2.对以太网 MAC 地址进行寻址也是极其困难的。

IP 编址把这个复杂问题解决了。

连接到互联网的主机只需各自拥有一个唯一的 IP 地址,它们之间的通信就像连接在同一个网络上那样简单方便,即使必须多次调用 ARP 来找到 MAC 地址,但这个过程都是由计算机软件自动进行的,对用户来说是看不见的。

因此,在虚拟的 IP 网络上用 IP 地址进行通信非常方便。

4.2.5  IP 数据报的格式

1.IP 数据报首部的固定部分中的各字段

2.  IP 数据报首部的可变部分

【例4-1】 IP 数据报分片

4.3 IP 层转发分组的过程

4.3.1  基于终点的转发

分组在互联网中是逐跳转发的。

基于终点的转发:基于分组首部中的目的地址传送和转发。

4.3.2最长前缀匹配

使用 CIDR 时,在查找转发表时可能会得到不止一个匹配结果

最长前缀匹配 (longest-prefix matching) 原则:选择前缀最长的一个作为匹配的前缀。

网络前缀越长,其地址块就越小,因而路由就越具体。

把前缀最长的排在转发表的第 1 行。

过程

问题:从哪个接口向外转发分组?

转发表中的 2 种特殊的路由

路由器分组转发算法

4.3.3 使用二叉线索查找转发表

用 5 个唯一前缀构成的二叉线索

在二叉线索中查找 IP 地址

4.4网际控制报文协议 ICMP

基本i概念

ICMP 报文的格式

4.4.1  ICMP 报文的种类

2 种:差错报告报文,询问报文。

ICMP 差错报告报文的数据字段的内容

ICMP 询问报文

4.4.2 ICMP 的应用举例

PING (Packet InterNet Groper)

用来测试两个主机之间的连通性。

使用了 ICMP 回送请求与回送回答报文。

是应用层直接使用网络层 ICMP 的例子,没有通过运输层的 TCP 或 UDP。

Traceroute

这是UNIX操作系统中名字。在 Windows 操作系统中这个命令是 tracert。

用来跟踪一个分组从源点到终点的路径。

它利用 IP 数据报中的 TTL 字段、ICMP 时间超过差错报告报文和ICMP 终点不可达差错报告报文实现对从源点到终点的路径的跟踪。

4.5 IPv6

IP 是互联网的核心协议。

IPv4 地址耗尽问题:

到 2011 年 2 月,IANA IPv4 的 32 位地址已经耗尽。

各地区互联网地址分配机构也相继宣布地址耗尽。

我国在 2014 – 2015 年也逐步停止了向新用户和应用分配 IPv4 地址。

根本解决措施:采用具有更大地址空间的新版本的 IP,即 IPv6。

IPv6 仍支持无连接的传送。

将协议数据单元 PDU 称为分组 (packet) 。

主要变化:

1.更大的地址空间。 将地址从 IPv4 的 32 位 增大到了 128 位。

2..扩展的地址层次结构。可以划分为更多的层次。

3.灵活的首部格式。定义了许多可选的扩展首部。

4.改进的选项。允许数据报包含有选项的控制信息,其选项放在有效载荷中。

5.允许协议继续扩充。更好地适应新的应用。

6.支持即插即用(即自动配置)。不需要使用 DHCP。

7.支持资源的预分配。支持实时视像等要求保证一定的带宽和时延的应用。

8.IPv6 首部改为 8 字节对齐。首部长度必须是 8 字节的整数倍。

IPv6 数据报的一般形式

4.5.1 IPv6 的基本首部

组成

IPv6 的六种扩展首部

逐跳选项 路由选择 分片 鉴别 封装安全有效载荷 目的站选项

4.5.2IPv6 的地址

三种基本类型:

单播 (unicast):传统的点对点通信。

多播 (multicast):一点对多点的通信。

任播 (anycast):IPv6 增加的一种类型。任播的终点是一组计算机,但数据报在交付时只交付其中的一个。通常是按照路由算法得出的距离最近的一个。

节点与接口

IPv6 将实现 IPv6 的主机和路由器均称为节点。

一个节点可能有多个与链路相连的接口。

IPv6 地址是分配给节点上接口的。

1.一个具有多个接口的节点可以有多个单播地址。

2.其中的任何一个地址都可以当作到达该节点的目的地址。

冒号十六进制记法

零压缩

点分十进制记法的后缀

IPv6 地址分类

IPv6 单播地址的划分方法

4.5.3从 IPv4 向 IPv6 过渡

双协议栈

隧道技术

4.5.4ICMPv6

ICMPv6 报文的分类

4.6 互联网的路由选择协议

4.6.1 有关路由选择的几个基本概念

1. 理想的路由算法

2. 分层次的路由选择协议

自治系统 AS (Autonomous System)

2 大类路由选择协议

4.6.2内部网关协议 RIP

1. 协议 RIP 的工作原理

RIP“距离”的定义

RIP 协议的三个特点

1.仅和相邻路由器交换信息。

2.交换的信息是当前本路由器所知道的全部信息,即自己的路由表。

3.按固定时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。

路由表的建立

路由器在刚刚开始工作时,路由表是空的。

然后,得到直接连接的网络的距离(此距离定义为 1)。

之后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。

经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。

RIP 协议的收敛 (convergence) 过程较快。“收敛”就是在自治系统中所有的结点都得到正确的路由选择信息的过程。

路由表主要信息和更新规则

2. 距离向量算法

RIP2 报文

3. 坏消息传播得慢

RIP 协议特点:好消息传播得快,坏消息传播得慢。

 问题:坏消息传播得慢(慢收敛)。

当网络出现故障时,要经过比较长的时间才能将此信息(坏消息)传送到所有的路由器。

RIP 协议的优缺点

优点:

实现简单,开销较小。

缺点:

1.网络规模有限。最大距离为 15(16 表示不可达)。

2.交换的路由信息为完整路由表,开销较大。

3.坏消息传播得慢,收敛时间过长。

4.6.3内部网关协议 OSPF

开放最短路径优先 OSPF (Open Shortest Path First)是为克服 RIP 的缺点在 1989 年开发出来的。 原理很简单,但实现很复杂。

使用了 Dijkstra 提出的最短路径算法 SPF。

采用分布式的链路状态协议 (link state protocol)。 现在使用 OSPFv2。

三个主要特点

链路状态数据库 (link-state database)

OSPF 将自治系统划分为两种不同的区域 (area)

OSPF 中的路由器:区域边界路由器 ABR (area border router)

OSPF 中的路由器:自治系统边界路由器 ASBR (AS border router)

划分区域优点和缺点

其他特点

 OSPF 的五种分组类型

OSPF 分组用 IP 数据报传送

OSPF 工作过程

指定的路由器 DR

4.6.4外部网关协议 BGP

BGP 是不同自治系统的路由器之间交换路由信息的协议。

BGP 较新版本是 2006 年 1 月发表的 BGP-4(BGP 第 4 个版本),即 RFC 4271 ~ 4278。

可以将 BGP-4 简写为 BGP。

 1.协议 BGP 的主要特点

用于自治系统 AS 之间的路由选择。

只能是力求选择出一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要计算出一条最佳路由

1.互联网的规模太大,使得自治系统AS之间路由选择非常困难。

2.自治系统AS之间的路由选择必须考虑有关策略。

采用了路径向量 (path vector) 路由选择协议。

BGP 发言者 (BGP speaker)

eBGP 连接和 iBGP 连接

IGP、iBGP 和 eBGP 的关系

 eBGP 和 iBGP

同一个协议 BGP(使用的报文类型、使用的属性、使用的状态机等都完全一样)。

但它们在通报前缀时采用的规则不同

在 eBGP 连接的对等端得知的前缀信息,可以通报给一个 iBGP 连接的对等端。反过来也是可以的。

但从 iBGP 连接的对等端得知的前缀信息,则不能够通报给另一个 iBGP 连接的对等端。

2.BGP 路由信息

3.三种不同的自治系统 AS

BGP 路由如何避免兜圈子?

4.BGP 的路由选择

本地偏好 (local preference) 值最高

AS 跳数最小

热土豆路由选择算法

5. BGP-4 的四种报文

BGP 报文具有通用首部

4.6.5路由器的构成

路由器工作在网络层,用于互连网络。

是互联网中的关键设备。

路由器的主要工作:转发分组。

把从某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个合适的输出端口转发给下一跳路由器。

1. 路由器的结构

“转发”和“路由选择”的区别

输入端口对线路上收到的分组的处理

输出端口将交换结构传送来的分组发送到线路

2. 交换结构

通过存储器

通过总线

通过纵横交换结构 (crossbar switch fabric)

4.7IP 多播

4.7.1  IP 多播的基本概念

1988 年,Steve Deering 首次提出 IP 多播的概念。

多播 (multicast):以前曾译为组播。

目的:更好地支持一对多通信。

一对多通信:一个源点发送到许多个终点。

多播可大大节约网络资源

IP 多播

在互联网上进行多播就叫做 IP 多播。

互联网范围的多播要靠路由器来实现。

能够运行多播协议的路由器称为多播路由器 (multicast router)。

多播路由器也可以转发普通的单播 IP 数据报。

从 1992 年起,在互联网上开始试验虚拟的多播主干网 MBONE (Multicast Backbone On the InterNEt)。

多播 IP 地址

多播数据报

4.7.2 在局域网上进行硬件多播

D 类 IP 地址与以太网多播地址的映射关系

4.7.3  网际组管理协议 IGMP 和多播路由选择协议

1.  IP 多播需要两种协议

IGMP 使多播路由器知道多播组成员信息

多播路由选择协议更为复杂

2.  网际组管理协议 IGMP

1989 年公布的 RFC 1112(IGMPv1)已成为了互联网的标准协议。

1997 年公布的 RFC 2236(IGMPv2,建议标准)对 IGMPv1 进行了更新。

2002 年 10 月公布了 RFC 3376(IGMPv3,建议标准)。

IGMP 使用 IP 数据报传递其报文

在 IGMP 报文加上 IP 首部构成 IP 数据报。

但 IGMP 也向 IP 提供服务。

因此,不把 IGMP 看成是一个单独的协议,而是整个网际协议 IP 的一个组成部分。

IGMP 工作可分为两个阶段

第一阶段:加入多播组。

第二阶段:探询组成员变化情况。

IGMP 采用的一些具体措施,以避免增加大量开销

1.所有通信都使用 IP 多播。只要有可能,都用硬件多播来传送。 

2.对所有的组只发送一个请求信息的询问报文。默认询问速率是每 125 秒发送一次。

3.当同一个网络上连接有多个多播路由器时,能迅速和有效地选择其中的一个来探询主机的成员关系。

4.分散响应。在 IGMP 的询问报文中有一个数值 N,它指明一个最长响应时间(默认值为 10 秒)。当收到询问时,主机在 0 到 N 之间随机选择发送响应所需经过的时延。若一台主机同时参加了几个多播组,则主机对每一个多播组选择不同的随机数。对应于最小时延的响应最先发送。

5.采用抑制机制。同一个组内的每一个主机都要监听响应,只要有本组的其他主机先发送了响应,自己就不再发送响应了。

3.  多播路由选择

转发多播数据报时使用三种方法:

(1) 洪泛与剪除 (2) 隧道技术 (tunneling) (3) 基于核心的发现技术

(1) 洪泛与剪除

适合于较小的多播组,所有组成员接入的局域网也是相邻接的。

开始时,路由器转发多播数据报使用洪泛的方法(这就是广播)。

为避免兜圈子,采用反向路径广播 RPB (Reverse Path Broadcasting) 的策略。

(2) 隧道技术 (tunneling)

(3) 基于核心的发现技术

几种多播路由选择协议

4.8虚拟专用网 VPN 和网络地址转换 NAT

4.8.1 虚拟专用网 VPN

由于 IP 地址的紧缺,一个机构能够申请到的IP地址数往往远小于本机构所拥有的主机数。

考虑到互联网并不很安全,一个机构内也并不需要把所有的主机接入到外部的互联网。

如果一个机构内部的计算机通信也是采用 TCP/IP 协议,那么这些仅在机构内部使用的计算机就可以由本机构自行分配其 IP 地址。

本地地址与全球地址

RFC 1918 指明的专用 IP 地址

专用网

采用专用 IP 地址的互连网络称为专用互联网或本地互联网,或更简单些,就叫做专用网。

专用 IP 地址也叫做可重用地址 (reusable address)。

虚拟专用网 VPN

利用公用互联网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网 VPN (Virtual Private Network)。

专用网:指这种网络是为本机构的主机用于机构内部的通信,而不是用于和网络外非本机构的主机通信。

虚拟:表示实际上没有使用通信专线,只是在效果上和真正的专用网一样。

虚拟专用网 VPN 的构建

如果专用网不同网点之间的通信必须经过公用的互联网,但又有保密的要求,那么所有通过互联网传送的数据都必须加密。

必须为每一个场所购买专门的硬件和软件,并进行配置,使每一个场所的 VPN 系统都知道其他场所的地址。

用隧道技术实现虚拟专用网

VPN 类型

内联网 (intranet):同一个机构的内部网络所构成的 VPN。

外联网 (extranet):一个机构和某些外部机构共同建立的 。

远程接入 VPN (remote access VPN):允许外部流动员工通过接入 VPN 建立 VPN 隧道访问公司内部网络,好像就是使用公司内部的本地网络访问一样。

4.8.2 网络地址转换 NAT

问题:在专用网上使用专用地址的主机如何与互联网上的主机通信(并不需要加密)?

解决:

1.再申请一些全球 IP 地址。但这在很多情况下是不容易做到的。

2.采用网络地址转换 NAT。这是目前使用得最多的方法。

网络地址转换 NAT (Network Address Translation)

1994 年提出。

需要在专用网连接到互联网的路由器上安装 NAT 软件。

装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球 IP 地址。

所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接。

网络地址转换的过程

网络地址转换 NAT

网络地址与端口号转换 NAPT

NAT 并不能节省 IP 地址。

NAPT 可以使多台拥有本地地址的主机,共用一个 全球 IP 地址,同时和互联网上的不同主机进行通信。

使用运输层端口号的 NAT 叫做网络地址与端口号转换 NAPT (Network Address and Port Translation),而不使用端口号的 NAT 就叫做传统的 NAT (traditional NAT)。

NAPT 地址转换表

4.9 多协议标记交换 MPLS(考研不考)

4.10软件定义网络 SDN 简介(考研不考)

  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值