文章目录
4.网络层
4.1网络层的几个重要概念
网络层提供的两种服务
争论:
- 网络层应该向运输层提供怎样的服务?面向连接还是无连接
- 在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?
存在2中观点:
- 面向连接的可靠交付
- 无连接的、应最大的努力交付的数据报服务,不提供服务质量的承诺
第一种观点:
- 计算机网络模仿电信网络,面向连接的通信方式
- 通信之前先建立虚电路VC(Virtual Circuit)(即连接),以保证双方通信所需要的一切网络资源。
- 如果在使用可靠传输的网络协议,可使所发送的分组无差错按需到达重点,不丢失、不重复
虚电路只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,并不是真正建立了一条物理连接。
第二种观点:(互联网采用)
- 网络层要设计的尽量简单,向其上直提供简单灵活·的、无连接的、尽最大努力交付的数据包服务
- 网络在发送分组时不需要建立连接
- 每一个分组(即IP数据报)独立发送,与其前后的分组无关(不进行编号)
- 网络层不提供服务质量承诺,即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),也不保证分组传送的时限
- 由主机中的运输层负责可开的的通信。
网络层的两个层面
不同网络中的两个主机之间的通信,要经过若干个路由器转发分组来完成。
在路由器之间传送的信息有以下2大类:
- 数据
- 路由信息(为数据传送服务)
4.2网际协议IP
与网际协议 IPv4 配套的 3 个协议:
地址解析协议 ARP
(Address Resolution Protocol)网际控制报文协议 ICMP
(Internet Control Message Protocol)网际组管理协议 IGMP
(Internet Group Management Protocol)
虚拟互联网
实现网路互联、互通时需要解决许多问题,如以下”不同“
能不能让大家使用相同的网络,这样可使网络互联变得简单。答案是不可以的。因为用户的需求是多样化的,没有一种单一的网络能够适应所有用户的需求。另外,网络技术是不断发展的,网络的制造厂也要经常推出新的网络,在竞争中求生存。因此客观上讲市场上总是有许多种不同性能,不同网络协议的网络,共不同的用户选择。
从一般的概念来讲,将网络互相连续连接起来要使用一些中间设备。根据中间设备所在的层次,可以分为以下四种不同的中间设备:
当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节。
如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就是现在的互联网 (Internet)。
分组传输路径:
IP地址
- 在 TCP/IP 体系中,IP 地址是一个最基本的概念。
- 没有IP地址,就无法和网上的其他设备进行通信。
- 本部分重点:
- 1.IP 地址及其表示方法
- 2.分类的 IP 地址
- 3.无分类编址 CIDR
- 4.IP 地址的特点
IP地址及其表示方法
互联网上的每台主机(或路由器)的每个接口分配一个在全世界唯一的 IP 地址。
由互联网名字和数字分配机构 ICANN (Internet Corporation for Assigned Names and Numbers) 进行分配。
点分十进制记法举例:
IP地址采用2级结构
分类的IP地址:
注意:
A 类网络地址中, 网络号 0 和 127 是保留地址,不指派。0 表示“本网络”,127 保留作为本地环回测试地址。
B 类网络地址中,网络号 128.0 是被 IANA 保留的,不指派。采用无分类编址(CIDR)时可以指派。
C 类网络地址中,网络号 192.0.0 是被 IANA 保留的,不指派。采用无分类编址(CIDR)时可以指派。
l指派主机号时,要扣除全 0 和全 1 。全 0 和全 1 有特殊含义和用途。
一般不使用的特殊的IP地址
IP分类的优缺点:
无分类编址CIDR
lCIDR (Classless Inter-Domain Routing) :无分类域间路由选择。
消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,可以更加有效地分配 IPv4 的地址空间,但无法解决 IP 地址枯竭的问题。
要点:
(1) 网络前缀
(2) 地址块
(3) 地址掩码
网络前缀
地址块:
CIDR把**网络前缀都相同的所有连续的IP地址组成一个CIDR地址块
一个CIDR地址块包含的IP地址数目,取决于网络前缀的位数
注意:
地址掩码
- 又称为子网掩码 (subnet mask)。
- 位数:32 位。
- 目的:让机器从 IP 地址迅速算出网络地址。
- 由一连串 1 和接着的一连串 0 组成,而 1 的个数就是网络前缀的长度。
/20 地址块的地址掩码:11111111 11111111 11110000 00000000
点分十进制记法:255.255.240.0
CIDR 记法:255.255.240.0/20。
按照IP地址分类默认地址掩码
计算网络地址:
网络地址=(二进制的IP地址)AND(地址掩码)
常用的CIDR地址块:
构造超网
- 每一个 CIDR 地址块中的地址数一定是 2 的整数次幂。
- 除最后几行外,CIDR 地址块都包含了多个 C 类地址(是一个 C 类地址的 2n 倍,n 是整数)。
- 因此在文献中有时称 CIDR 编址为“构造超网”。
三个特殊的CIDR地址块:
路由聚合
这个 ISP 共有 64 个 C 类网络。如果不采用 CIDR 技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的转发表中,需要有 64 行。采用地址聚合后,转发表中只需要用 1 行来指出到 206.0.64.0/18 地址块的下一跳。
在 ISP 内的路由器的转发表中,也仅需用 206.0.68.0/22 这 1 个项目,就能把外部发送到这个大学各系的所有分组,都转发到大学的路由器。
IP地址的特点:
-
(1) 每个 IP 地址都由网络前缀和主机号两部分组成。
IP 地址是一种分等级的地址结构。
-
方便了 IP 地址的分配和管理。
-
实现路由聚合,减小了转发表所占的存储空间,以及查找转发表的时间。
-
-
(2) IP 地址是标志一台主机(或路由器)和一条链路的接口。
当一台主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号必须是不同的。这种主机称为多归属主机 (multihomed host)。
一个路由器至少应当连接到两个网络,因此一个路由器至少应当有两个不同的 IP 地址。
-
(3) 转发器或交换机连接起来的若干个局域网仍为一个网络
按照互联网的观点,一个网络(或子网)是指具有相同网络前缀的主机的集合。
转发器或交换机连接起来的若干个局域网都具有同样的网络号,它们仍为一个网络。
具有不同网络号的局域网必须使用路由器进行互连。
-
(4) 在 IP 地址中,所有分配到网络前缀的网络都是平等的。
互联网同等对待每一个 IP 地址,不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网
注意:
路由器的每一个接口都有一个不同网络号的 IP 地址。
两个路由器直接相连的接口处,可指明也可不指明 IP 地址。
如指明 IP 地址,则这一段连线就构成了一种只包含一段线路的特殊“网络” 。这种网络仅需两个 IP 地址,可以使用 /31 地址块。主机号可以是 0 或 1。
IP地址与MAC地址
不同层次、不同区间使用的源地址和目的地址
- 尽管互连在一起的网络的 MAC 地址体系各不相同,但 IP 层抽象的互联网却屏蔽了下层这些很复杂的细节。
- 只要我们在网络层上讨论问题,就能够使用统一的、抽象的 IP 地址研究主机和主机或路由器之间的通信。
问题:
主机或路由器怎样知道应当在 MAC 帧的首部填入什么样的 MAC 地址?
地址解析协议ARP
实现 IP 通信时使用了两个地址:
1.IP 地址(网络层地址)
2.MAC 地址(数据链路层地址)
地址解析协议ARP的作用
**问题:**已经知道了一个机器(主机或路由器)的 IP 地址,如何找出其相应的 MAC 地址?
ARP 高速缓存 (ARP cache):
- 存放 IP 地址到 MAC 地址的映射表。
- 映射表动态更新(新增或超时删除)。
ARP工作
当主机A欲向本局域网上的某个主机B发送IP数据报时:
ARP地址IP地址对应的MAC地址
-
本局域网上广播发送 ARP 请求(路由器不转发 ARP 请求)。
-
ARP 请求分组:包含发送方硬件地址 / 发送方 IP 地址 / 目标方硬件地址(未知时填 0) / 目标方 IP 地址。
-
单播 ARP 响应分组:包含发送方硬件地址 / 发送方 IP地址 / 目标方硬件地址 / 目标方 IP 地址。
-
ARP 分组封装在以太网帧中传输。
ARP高速缓存的作用:
- 存放最近获得的 IP 地址到 MAC 地址的绑定。
- 减少 ARP 广播的通信量。
- 为进一步减少 ARP 通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到 MAC 地址的映射写入 ARP 请求分组。
- 当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的 IP 地址及其对应的 MAC 地址映射写入主机 B 自己的 ARP 高速缓存中。不必在发送 ARP 请求。
如果2台主机不在同一个局域网上怎么办?
ARP 用于解决同一个局域网上的主机或路由器的 IP 地址和 MAC 地址的映射问题。
使用ARP的四种典型情况
- 1.发送方是主机,要把 IP 数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。
- 2.发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。
- 3.发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。
- 4.发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成。
为什么要使用两种地址:IP地址和MAC地址
- 不同使用不同的 MAC 地址。MAC 地址之间的转换非常复杂。
- 对以太网 MAC 地址进行寻址也是极其困难的。
- IP 编址把这个复杂问题解决了。
- 连接到互联网的主机只需各自拥有一个唯一的 IP 地址,它们之间的通信就像连接在同一个网络上那样简单方便,即使必须多次调用 ARP 来找到 MAC 地址,但这个过程都是由计算机软件自动进行的,对用户来说是看不见的。
因此,在虚拟的 IP 网络上用 IP 地址进行通信非常方便。
IP数据报格式
IP数据报由首部和数据两部分组成。首部的前一部分时固定长度,共20字节,是所有IP数据报必须具有的。剩下的40字节,是可选字段,长度是可变的
-
版本——占 4 位,指 IP 协议的版本。目前的 IP 协议版本号为 4 (即 IPv4)。
-
首部长度——占 4 位,可表示的最大数值,是 15 个单位(一个单位为 4 字节),因此 IP 的首部长度的最大值是 60 字节。
-
区分服务——占 8 位,用来获得更好的服务。只有在使用区分服务(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段
-
总长度——占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。
-
标识 (identification) ——占 16 位,它是一个计数器,用来产生 IP 数据报的标识。
-
标志(flag) ——占 3 位,目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)。
-
MF=1
表示后面还有分片,MF=0
表示最后一个分片。标志字段中间的一位是DF
(Don’t Fragment) 。 -
只有当
DF=0
时才允许分片。
-
-
片偏移——占 13 位,指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。
例如:IP数据报分片
-
生存时间——占 8 位,记为 TTL (Time To Live),指示数据报在网络中可通过的路由器数的最大值。
-
协议——占 8 位,指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给那个处理过程
IP协议支持多种协议,IO数据报可以封装多种协议PDU
常见的一些协议和相应的协议字段值
-
首部检验和——占 16 位,只检验数据报的首部,不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法。
-
源地址和目的地址都各占 32 位。
-
IP数据报可变部分
- IP 首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。
- 长度可变:从 1 个字节到 40 个字节不等,取决于所选择的项目。
- 增加了 IP 数据报的功能,但这同时也使得 IP 数据报的首部长度成为可变的,增加了每一个路由器处理数据报的开销。
- 实际上这些选项很少被使用。
4.3IP层转发分组过程
基于终点的转发
- 分组在互联网中是逐跳转发的。
- 基于终点的转发:基于分组首部中的目的地址传送和转发。
H1 首先检查 128.1.2.132 是否连接在本网络上。如果是,则直接交付;否则,就送交路由器 R1。
路由器 R1 收到分组后查找转发表。先检查第 1 行。
路由器 R1 收到分组后查找转发表。接着检查第 2 行。
最长前缀匹配
- 使用 CIDR 时,在查找转发表时可能会得到不止一个匹配结果。
- 最长前缀匹配 (longest-prefix matching) 原则:选择前缀最长的一个作为匹配的前缀。
- 网络前缀越长,其地址块就越小,因而路由就越具体。
- 可以把前缀最长的排在转发表的第 1 行。
路由器 R1 收到分组后查找转发表。先检查第 1 行。
路由器 R1 收到分组后查找转发表。接着检查第 2 行。
路由器 R1 收到分组后查找转发表。接着检查第 3 行。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MkeWNxOy-1669610366345)(C:/Users/SongSir/AppData/Roaming/Typora/typora-user-images/image-20221125200316939.png)]
转发表中的2种特殊的路由
-
主机路由 (host route)
- 又叫做特定主机路由。
- 是对特定目的主机的 IP 地址专门指明的一个路由。
- 网络前缀就是 a.b.c.d/32
- 放在转发表的最前面。
-
默认路由 (default route)
- 不管分组的最终目的网络在哪里,都由指定的路由器 R 来处理
- 用特殊前缀 0.0.0.0/0 表示。
默认路由举例
只要目的网络不是 N1 和 N2,就一律选择默认路由,把 IP 数据报先间接交付默认路由器 R1,让 R1 再转发给下一个路由器。
使用二叉线索查找转发表
二叉线索 (binary trie):一种特殊结构的树,可以快速在转发表中找到匹配的叶节点。
从二叉线索的根节点自顶向下的深度最多有 32 层,每一层对应于 IP 地址中的一位。
为简化二叉线索的结构,可以用唯一前缀 (unique prefix) 来构造二叉线索。
为了提高二叉线索的查找速度,广泛使用了各种压缩技术。
用5个唯一前缀构成的二叉线索
4.4网际控制报文协议ICMP
-
ICMP (Internet Control Message Protocol) 允许主机或路由器报告差错情况和提供有关异常情况的报告。
-
ICMP 是互联网的标准协议。
-
但 ICMP 不是高层协议,而是 IP 层的协议。
ICMP报文格式
ICMP报文的种类
- 2种:差错报告报文,询问报文
ICMP差错报告报文
数据字段的内容:
- 对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。
- 对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。
- 对具有多播地址的数据报都不发送 ICMP 差错报告报文。
- 对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文。
差错报告报文实例:
-
Traceroute
- 这是UNIX操作系统中名字。在 Windows 操作系统中这个命令是
tracert
。 - 用来跟踪一个分组从源点到终点的路径。
- 它利用 IP 数据报中的 TTL 字段、ICMP 时间超过差错报告报文和ICMP 终点不可达差错报告报文实现对从源点到终点的路径的跟踪。
- 这是UNIX操作系统中名字。在 Windows 操作系统中这个命令是
ICMP询问报文
-
(1) 回送请求和回答
- 由主机或路由器向一个特定的目的主机发出的询问。
- 收到此报文的主机必须给源主机或路由器发送 ICMP 回送回答报文。
- 这种询问报文用来测试目的站是否可达,以及了解其有关状态。
-
(2) 时间戳请求和回答:
- 请某台主机或路由器回答当前的日期和时间。
- 时间戳回答报文中有一个 32 位的字段,其中写入的整数代表从1900 年 1 月 1 日起到当前时刻一共有多少秒。
- 时间戳请求与回答可用于时钟同步和时间测量。
ICMP的询问报文实例
PING (Packet InterNet Groper)
- 用来测试两个主机之间的连通性。
- 使用了 ICMP 回送请求与回送回答报文。
- 是应用层直接使用网络层 ICMP 的例子,没有通过运输层的 TCP 或 UDP。
4.5IPv6
- IP 是互联网的核心协议。
- IPv4 地址耗尽问题:
- 到 2011 年 2 月,IANA IPv4 的 32 位地址已经耗尽。
- 各地区互联网地址分配机构也相继宣布地址耗尽。
- 我国在 2014 – 2015 年也逐步停止了向新用户和应用分配 IPv4 地址。
根本解决措施:采用具有更大地址空间的新版本的 IP,即 IPv6。
IPv6的基本首部
- IPv6 仍支持无连接的传送。
- 将协议数据单元 PDU 称为分组 (packet) 。
- 主要变化(1/2):
- 1.更大的地址空间。 将地址从 IPv4 的 32 位 增大到了 128 位。
- 2.扩展的地址层次结构。可以划分为更多的层次。
- 3.灵活的首部格式。定义了许多可选的扩展首部。
- 4.改进的选项。允许数据报包含有选项的控制信息,其选项放在有效载荷中。
- 主要变化(2/2):
- 5.**允许协议继续扩充。**更好地适应新的应用。
- **6.支持即插即用(即自动配置)。**不需要使用 DHCP。
- **7.支持资源的预分配。**支持实时视像等要求保证一定的带宽和时延的应用。
- **8.IPv6 首部改为 8 字节对齐。**首部长度必须是 8 字节的整数倍。
IPv6数据报的一般形式:
由两大部分组成:
1.基本首部 (base header)
2.有效载荷 (payload)。有效载荷也称为净负荷。有效载荷允许有零个或多个扩展首部 (extension header),再后面是数据部分。
IPv6的地址
- 三种基本类型:
- 1.单播 (unicast):传统的点对点通信。
- 2.多播 (multicast):一点对多点的通信。
- 3.任播 (anycast):IPv6 增加的一种类型。任播的终点是一组计算机,但数据报在交付时只交付其中的一个。通常是按照路由算法得出的距离最近的一个。
节点与接口
- IPv6 将实现 IPv6 的主机和路由器均称为节点。
- 一个节点可能有多个与链路相连的接口。
- IPv6 地址是分配给节点上接口的。
- 1.一个具有多个接口的节点可以有多个单播地址。
- 2.其中的任何一个地址都可以当作到达该节点的目的地址。
冒号十六进制记法:
- 在 IPv6 中,每个地址占 128 位,地址空间大于 3.4 ´ 1038 。
- 使用冒号十六进制记法(colon hexadecimal notation, 简写为 colon hex):16 位的值用十六进制值表示,各值之间用冒号分隔。
两个技术:零压缩,点分十进制记法的后缀。
零压缩:
零压缩 (zero compression):一串连续的零可以用一对冒号取代。
-
结合使用点分十进制记法的后缀在 IPv4 向 IPv6 的转换阶段特别有用。
-
例如:
-
lCIDR 的斜线表示法仍然可用,但取消了子网掩码。
-
例如:60 位的前缀 12AB00000000CD3 可记为:
从IPv4向IPv6过渡
- 方法:逐步演进,向后兼容。
- 向后兼容:IPv6 系统必须能够接收和转发 IPv4 分组,并且能够为 IPv4 分组选择路由。
- 两种过渡策略:
- 1.使用双协议栈
- 2.使用隧道技术
双协议栈:
隧道技术:
4.6互连网的路由选择协议
有关路由选择协议的几个基本概念
自治系统AS(Autonomous System)
自治系统 AS :
是在单一技术管理下的许多网络、IP地址以及路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。每一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。
内部网关协议RIP
协议RIP的工作原理
-
路由信息协议 RIP (Routing Information Protocol) 是一种分布式的、基于距离向量的路由选择协议。
-
互联网的标准协议。
-
最大优点:简单。
-
要求网络中的每个路由器都要维护从它自己到其他每一个目的网络的距离记录。
RIP“距离”定义
- 路由器到直接连接的网络的距离 = 1。
- 路由器到非直接连接的网络的距离 = 所经过的路由器数 + 1。
- RIP 协议中的“距离”也称为“跳数”(hop count),每经过一个路由器,跳数就加 1。
-
好路由 = “距离短”的路由。最佳路由 = “距离最短”的路由。
-
一条路径最多只能包含 15 个路由器。
-
“距离”的最大值为 16 时即相当于不可达。
-
RIP 不能在两个网络之间同时使用多条路由**,只选择**距离最短”的路由。
RIP协议的三个特点:
1.仅和相邻路由器交换信息。
2.交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
3.按固定时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。
路由表的建立
-
路由器在刚刚开始工作时,路由表是空的。
-
然后,得到直接连接的网络的距离(此距离定义为 1)。
-
之后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。
-
经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。
-
lRIP 协议的收敛 (convergence) 过程较快。“收敛”就是在自治系统中所有的结点都得到正确的路由选择信息的过程。
路由表主要信息和更新规则:
-
路由表主要内容:
-
路由表更新规则:
使用距离向量算法找出到达每个目的网络的最短距离。
2.距离向量算法
-
算法基础:Bellman-Ford 算法(或 Ford-Fulkerson 算法)。
-
算法要点:
设 X 是结点 A 到 B 的最短路径上的一个结点。若把路径 A→B 拆成两段路径 A→X 和 X→B,则每一段路径 A→X 和 X→B 也都分别是结点 A 到 X 和结点 X 到 B 的最短路径。
例题:
坏消息传播得慢
- RIP 协议特点:好消息传播得快,坏消息传播得慢。
- 问题:坏消息传播得慢(慢收敛)。
RIP协议的优缺点
-
优点:
1.实现简单,开销较小。
-
缺点:
1.网络规模有限。最大距离为 15(16 表示不可达)。
2.交换的路由信息为完整路由表,开销较大。
3.坏消息传播得慢,收敛时间过长。
内部网关协议OSPF
- 开放最短路径优先 OSPF (Open Shortest Path First)是为克服 RIP 的缺点在 1989 年开发出来的。
- 原理很简单,但实现很复杂。
- 使用了 Dijkstra 提出的最短路径算法 SPF。
- 采用分布式的链路状态协议 (link state protocol)。
- 现在使用 OSPFv2。
三个特点:
-
采用洪泛法 (flooding),向本自治系统中所有路由器发送信息。
-
发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
- 链路状态:说明本路由器都和哪些路由器相邻,以及该链路的度量 (metric)。
-
当链路状态发生变化或每隔一段时间(如30分钟),路由器才用洪泛法向所有路由器发送此信息。
外部网关协议BGP
- BGP 是不同自治系统的路由器之间交换路由信息的协议。
- BGP 较新版本是 2006 年 1 月发表的 BGP-4(BGP 第 4 个版本),即 RFC 4271 ~ 4278。
- 可以将 BGP-4 简写为 BGP。
协议BGP得主要特点:
- 用于自治系统 AS 之间的路由选择。
- 只能是力求选择出一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要计算出一条最佳路由。
- 1.互联网的规模太大,使得自治系统AS之间路由选择非常困难。
- 2.自治系统AS之间的路由选择必须考虑有关策略。
- 采用了路径向量 (path vector) 路由选择协议。
4.7虚拟专用网 VPN 和网络地址转换 NAT
虚拟专用网VPN
- 由于 IP 地址的紧缺,一个机构能够申请到的IP地址数往往远小于本机构所拥有的主机数。
- 考虑到互联网并不很安全,一个机构内也并不需要把所有的主机接入到外部的互联网。
- 如果一个机构内部的计算机通信也是采用 TCP/IP 协议,那么这些仅在机构内部使用的计算机就可以由本机构自行分配其 IP 地址。
本地地址与全球地址
- **本地地址:**仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向互联网的管理机构申请。
- **全球地址:**全球唯一的 IP 地址,必须向互联网的管理机构申请。
- 问题:如何区分本地地址和全球地址?
- 解决:RFC 1918 指明了一些专用地址 (private address)。
专用地址只能用作本地地址,而不能用作全球地址。
互联网中的所有路由器对目的地址是专用地址的数据报一律不进行转发。
专用网:
- 采用专用 IP 地址的互连网络称为专用互联网或本地互联网,或更简单些,就叫做专用网。
- 专用 IP 地址也叫做可重用地址 (reusable address)。
虚拟专用网VPN:
- 利用公用互联网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网 VPN (Virtual Private Network)。
- **专用网:**指这种网络是为本机构的主机用于机构内部的通信,而不是用于和网络外非本机构的主机通信。
- 虚拟:表示实际上没有使用通信专线,只是在效果上和真正的专用网一样。
虚拟专用网得构件:、
- 如果专用网不同网点之间的通信必须经过公用的互联网,但又有保密的要求,那么所有通过互联网传送的数据都必须加密。
- 必须为每一个场所购买专门的硬件和软件,并进行配置,使每一个场所的 VPN 系统都知道其他场所的地址。
用隧道技术实现虚拟专用网:
VPN类型:
- 内联网 (intranet):同一个机构的内部网络所构成的 VPN。
- 外联网 (extranet):一个机构和某些外部机构共同建立的 。
- 远程接入 VPN (remote access VPN):允许外部流动员工通过接入 VPN 建立 VPN 隧道访问公司内部网络,好像就是使用公司内部的本地网络访问一样。
网络地址转换NAT
-
**问题:**在专用网上使用专用地址的主机如何与互联网上的主机通信(并不需要加密)?
-
解决:
1.再申请一些全球 IP 地址。但这在很多情况下是不容易做到的。
2.采用网络地址转换 NAT。这是目前使用得最多的方法。
-
1994 年提出。
-
需要在专用网连接到互联网的路由器上安装 NAT 软件。
-
装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球 IP 地址。
-
所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接。
网络地址转换过程:
网络地址与端口号转换NAPT:
- NAT 并不能节省 IP 地址。
- NAPT 可以使多台拥有本地地址的主机,共用一个 全球 IP 地址,同时和互联网上的不同主机进行通信。
- 使用运输层端口号的 NAT 叫做网络地址与端口号转换 NAPT (Network Address and Port Translation),而不使用端口号的 NAT 就叫做传统的 NAT (traditional NAT)。
NAPT地址转换表: