五、划分子网和CIDR
(一)划分子网的概念
**划分子网:从两级 IP 地址到三级 IP 地址 **
在 ARPANET 的早期,IP 地址的设计确实不够合理
- IP 地址空间的利用率有时很低
- 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏
- 两级的 IP 地址不够灵活
从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址,这种做法叫做划分子网 (subnetting)
划分子网 :在网络号(网络地址)固定的情况下,在主机号中分一个子网号,就会使主机数量变少,划分子网已成为互联网的正式标准协议
(二)划分子网的基本思路
从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位
- 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器
- 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网
- 最后就将 IP 数据报直接交付目的主机
划分子网纯属一个单位内部的事情,单位对外仍然表现为没有划分子网的网络
【eg. 】一个未划分子网的 B 类网络145.13.0.0
划分为三个子网后对外仍是一个网络
子网是网络内部的网络。子网使网络更高效。通过子网划分,网络流量传播距离更短,无需通过不必要的路由器即可到达目的地
划分子网的优点
- 减少了 IP 地址的浪费
- 使网络的组织更加灵活
- 更便于维护和管理
划分子网的缺点
- 减少了能够连接在网络上的主机总数
(三)VLAN划分与划分子网
- VLAN划分是基于数据链路层进行划分,子网划分是基于网络层进行划分划分
- VLAN的目的是为了阻断VLAN之间的通讯,划分广播域,减少广播风暴的出现;
- 划分IP子网的目的是为了便于IP协议选择数据包输送的路径,对目的地进行近邻和远程两级规划,减轻网关负担提高路由效率
在一个交换机广播域内,如果划分了子网,不同子网无法通信,达到了隔离广播域的作用,但是如果不划分VLAN,那么其中一个子网的主机把自己主机内部的IP地址换成其他网络的,就可以轻松访问别人的子网了,这样安全性就达不到要求,所以要求划分子网的同时,必须搭配划分VLAN使用
(四)子网掩码
从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分,使用子网掩码 (subnet mask) 可以找出 IP 地址中的子网部分
(1)子网掩码规则
- 子网掩码长度 = 32 位
- 子网掩码左边部分的一连串 1,对应于网络号和子网号
- 子网掩码右边部分的一连串 0,对应于主机号
(2)IP 地址的各字段和子网掩码
举例
【例1】已知 IP 地址是 141.14.72.24,子网掩码是 255.255.192.0,试求网络地址
【例2】上例中,若子网掩码改为 255.255.224.0,试求网络地址,讨论所得结果
它们子网号和主机号位数是不一样的,所以可划分的子网数和每个子网最大主机数也都是不一样的
(3)默认子网掩码
子网掩码是一个重要属性
- 子网掩码是一个网络或一个子网的重要属性
- 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器
- 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码
- 若一个路由器连接在两个子网上,就拥有两个网络地址和两个子网掩码
(五)子网划分方法
有固定长度子网和变长子网两种子网划分方法
在采用固定长度子网时,所划分的所有子网的子网掩码都是相同的
(六)使用子网时分组的转发
- 从收到的分组的首部提取目的 IP 地址 D
- 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网络地址匹配,若匹配,则将分组直接交付,否则就是间接交付,执行(3)
- 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行 (4)
- 对路由表中的每一行,将子网掩码和 D 逐位相“与”。若结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行 (5)
- 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行 (6)
- 报告转发分组出错
举例
【例】已知互联网和路由器 R1 中的路由表,主机 H1 向 H2 发送分组。试讨论 R1 收到 H1 向 H2 发送的分组后查找路由表的过程
【解】
(七)无分类编址 CIDR
划分子网在一定程度上缓解了互联网在发展中遇到的困难。然而在 1992 年互联网仍然面临三个必须尽早解决的问题:
- B 类地址在 1992 年已分配了近一半,眼看就要在 1994 年 3 月全部分配完毕!
- 互联网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个),时延增加
- 整个 IPv4 的地址空间最终将全部耗尽
(1)CIDR基本概念
CIDR (Classless Inter-Domain Routing) :无分类域间路由选择,即无分类编址方法
CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间
CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号
IP 地址从三级编址(使用子网掩码)又回到了两级编址
CIDR 使用“斜线记法”(slash notation),它又称为 CIDR 记法,即在 IP 地址后面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)【例如: 220.78.168.0/24】;网络前缀长度可变,就无分类了
(2)CIDR 地址块
<1> 网络前缀
CIDR 把网络前缀相同的连续的 IP 地址组成“CIDR 地址块”
eg. 128.14.32.0/20 表示的地址块共有 2 12 2^{12} 212 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 32 − 20 = 12 32-20=12 32−20=12 位)
- 这个地址块的起始地址是 128.14.32.0 (10000000.00001110.00100000.00000000)
- 在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20 地址块”
- 128.14.32.0/20 地址块的最小地址:128.14.32.0 (10000000.00001110.00100000.00000000)
- 128.14.32.0/20 地址块的最大地址:128.14.47.255 (10000000.00001110.00101111.11111111)
- 全 0 和全 1 的主机号地址一般不使用
<2>路由聚合
一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由
路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能
路由聚合也称为构成超网
CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)
对于 /20 地址块,它的掩码是 20 个连续的 1(斜线记法中的数字就是掩码中1的个数)
举例
路由聚合可以减少路由条目,但CIDR无法解决地址空间不足的问题
(3)最长前缀匹配
使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成,在查找路由表时可能会得到不止一个匹配结果,应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配
网络前缀越长,其地址块就越小,因而路由就越具体
最长前缀匹配又称为最长匹配或最佳匹配
举例
六、路由选择协议
- 静态路由选择策略——即非自适应路由选择,其特点是简单并且开销较小,但不能及时适应网络状态的变化。
- 动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大
(一)内部网关协议 RIP
路由信息协议 RIP (Routing Information Protocol) 是内部网关协议 IGP 中最先得到广泛使用的协议
RIP 是一种分布式的、基于距离向量的路由选择协议
RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。 (最优路由是经过的路由器数量越少越好)
“距离”
- 从一个路由器到直接连接的网络的距离定义为 1
- 从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1
- RIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1
- 这里的“距离”实际上指的是“最短距离”
- RIP 认为一个好的路由就是它通过的路由器的数目少,即“距离短”
- RIP 允许一条路径最多只能包含 15 个路由器
- “距离”的最大值为 16 时即相当于不可达,可见 RIP 只适用于小型互联网
- RIP 不能在两个网络之间同时使用多条路由。RIP 选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延),但路由器较多的路由
(1)RIP的三个特点
- 仅和相邻路由器交换信息。
- 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
- 按固定的时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息(间隔时间短会频繁交换信息,导致网络资源的浪费。如果间隔时间太长无法及时交换信息)
(2)路由表的建立(工作原理)
- 路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为 1),它的路由表是空的
- 以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息
- 经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址
- RIP 协议的收敛 (convergence) 过程较快。“收敛”就是在自治系统中所有的结点都得到正确的路由选择信息的过程。
- RIP路由表项:目的网络,距离,下一跳
(3)距离向量算法
(4) RIP 协议的优缺点
- 优点
- 实现简单,开销较小
- 缺点
- RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)
- 路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加
- “坏消息传播得慢”,使更新过程的收敛时间过长
(二)内部网关协议 OSPF
开放最短路径优先 OSPF (Open Shortest Path First)是为克服 RIP 的缺点(判断路径的好坏不能简单的用跳数来衡量)
- “开放”表明 OSPF 协议不是受某一家厂商控制,而是公开发表的
- “最短路径优先”是因为使用了 Dijkstra 提出的最短路径算法 SPF
- 采用分布式的链路状态协议 (link state protocol)。
- 注意:OSPF 只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”
(三)外部网关协议 BGP
互联网的规模不断大,使得自治系统之间路由选择非常困难。对于自治系统之间的路由选择,要寻找最佳路由是很不现实的。比较合理的做法是在 AS 之间交换“可达性”信息。因此,边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“ BGP 发言人”(边界路由器) ,便于和其他发言人之间进行路由信息交换
七、VPN & NAT
【以下内容是由ChatGPT生成】
VPN(Virtual Private Network,虚拟专用网络)和NAT(Network Address Translation,网络地址转换)是两种不同的网络技术,主要用于网络安全和IP地址管理。以下是对这两种技术及其区别的详细说明:
VPN(虚拟专用网络)
定义: VPN是一种通过公用网络(如互联网)建立的专用网络,它使用加密技术在公共网络上创建一个安全的、加密的“隧道”,以保护传输的数据
主要功能:
- 数据加密: 保护数据在公共网络上的传输,防止被窃听或篡改
- 远程访问: 允许用户通过互联网安全地访问公司内部网络
- 匿名性: 隐藏用户的真实IP地址,提高隐私保护
应用场景:
- 企业员工远程办公,通过VPN连接公司内部网络
- 个人用户通过VPN访问被地域限制的内容
NAT(网络地址转换)
定义: NAT是一种将私有IP地址转换为公有IP地址的技术,用于在局域网(LAN)和广域网(WAN)之间传递流量。它允许多台设备共享一个或多个公有IP地址
主要功能:
- IP地址复用: 通过共享公有IP地址,减少对公有IP地址的需求
- 提高安全性: 隐藏内部网络结构,使外部无法直接访问内部设备
- 网络隔离: 内部网络和外部网络之间的隔离,提高网络安全性
应用场景:
- 家庭或公司网络通过一个路由器连接互联网,路由器使用NAT将内部设备的私有IP地址转换为公有IP地址
区别
- 目的不同:
- VPN: 主要用于创建安全的、加密的连接以保护数据隐私和安全
- NAT: 主要用于IP地址管理和减少公有IP地址的需求
- 功能不同:
- VPN: 提供加密、数据保护、远程访问和匿名功能
- NAT: 提供IP地址转换、网络隔离和安全性增强功能
- 实现方式不同:
- VPN: 通过创建加密隧道来保护数据,通常需要客户端和服务器端的软件支持
- NAT: 通过路由器或防火墙进行IP地址转换,不需要客户端软件
- 安全性:
- VPN: 通过加密技术确保数据在传输过程中的安全性
- NAT: 通过隐藏内部网络结构提供一定程度的安全性,但不提供加密
总结来说,VPN主要用于在公共网络上创建安全的、加密的连接,以确保数据传输的安全性和隐私性;而NAT主要用于IP地址管理,通过转换IP地址来实现网络设备之间的通信,并提供一定的安全性
参考文章