(*长期更新)软考网络工程师学习笔记——Section 7 网络层下篇

本文介绍了IPv6的基础知识,包括IPv4到IPv6的过渡技术、IPv6的定义及地址类型,同时涵盖了网络地址转换(NAT)、虚拟专用网(VPN)及路由选择的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、IPv6

(一)IPv4到IPv6的过渡

IPv4到IPv6的过渡期间主要采用了三种基本技术:双协议栈技术、隧道技术和NAT-PT技术(翻译技术)。

  1. 若要使得主机可以同时运行IPv4和IPv6两套协议栈,则可以通过双协议栈技术来使得两个IPv6结点可以通过现有的IPv4网络进行通信。
  2. 若要使得在IPv4的网络之上连接IPv6的站点,这里的站点可以为一台主机或多台主机,则可以采用隧道技术,它将IPv6的分组封装到IPv4的分组中,封装后的IPv4分组将通过IPv4的路由体系进行传输,而分组报头的协议域设置为41,标识这个分组的负载是一个IPv6的分组,以便在适当的地方恢复出被封装的IPv6分组并传送给目的站点。
  3. 通过采用翻译技术,可以使纯IPv4结点与纯IPv6结点进行通信,主要是通过利用转换网关在IPv4和IPv6之间转换IP报头的地址,根据协议的不同对分组进行相应的语义翻译。

(二)IPv6的定义和省略写法

IPv6是IPv4的新版本,其采用更大的地址空间,从而解决IPv4地址耗尽的问题,其优点有由32位扩充到128位,大大扩展了容量;实现了真正地无状态地址自动配置;报文格式也大大地简化,极大的减少了路由器或交换机对报头的处理开销,提高了效率;加强了对扩展报头和选项部分的支持;流标签能够为数据包所属类型提供个性化的服务,并保障了业务的服务质量。

IPv6的地址长度为128位,通常写为8组每组4个十六进制数,且中间用:隔开,例如下图的IPv6地址为:240e:369:c328:8000:2040:b04:86dd:b900。
在这里插入图片描述
1、可以省略地书写IPv6地址,首0可省略,即起始的0不用写出来,比如上图的IPv6地址240e:369:c328:8000:2040:b04:86dd:b900其中的第2段、第6段省略了起始的0,即原本的IPv6地址为240e:0369:c328:8000:2040:0b04:86dd:b900。
2、另外由全0组成的一段或多段的单个连续字符串可用一个双冒号::代替,且双冒号只能使用一次,例如IPv6地址12AB:0000:0000:CD30:0000:0000:0000:0000/60可简写成:12AB:0:0:CD30::/60。

(三)IPv6地址类型

IPv6地址常见类型可分为三种,分别是单播地址、组播地址和任意播地址。

1、单播地址

  • 用于表示单台设备的地址,即点对点通信,单播地址分为全球单播地址和本地链路单播地址。

全球单播地址全球唯一的,当前分配的全球单播地址的前缀为001(十六进制为2xxx::/4或3xxx::/4)本地链路单播地址用于有些单位的网络使用TCP/IP协议但未连接到互联网这种情况,连接在这种网络上的主机可以通过使用这种本地地址进行通信,但不能与互联网上其它的主机进行通信,IPv6本地链路单播地址的前缀为1111 1110 10(十六进制为FE80::/10)

IPv6地址的格式前缀由于表示地址类型或子网地址,为了实现IP地址的自动配置,IPv6主机间网卡的MAC地址附加在地址前缀1111 1110 10之后,这样就产生了一个本地链路地址。

2、多播地址

一对多通信,即多个设备组成一个多播组,一个多播数据中一个单播地址作为它的源地址,一个多播地址作为它的目的地址,多播地址的前缀为1111 1111(十六进制为FE80::/10),例如FF01::101就是个多播地址。

3、任意播地址

  • 任意播地址是IPv6中新添加的类型,可以使相同的地址可以驻留在提供相同服务的一台或多台设备中,传播的终点是一组计算机,但数据报只交付其中一个,通常是距离最近的一个(路由器总选择到达最近的或代价最低的服务器路由),任意播地址的组成形式是子网前缀+全0

另外IPv6地址类型还有未指定类型,即特殊地址不能作为目的地址,只能为主机作为源地址使用,且只有一个未指定地址,它为0:0:0:0:0:0:0:0(十六进制为::/128)。

分配前缀(二进制)占地址空间的比例
全球单播地址0011/8
为NSAP地址保留0000 0011/128
为IPX地址保留0000 0101/128
保留0000 00001/256
组播地址1111 11111/256
链路本地单播地址1111 1110 101/1024
站点本地单播地址1111 1110 111/1024

(四)IPv6数据报

IPv6数据报由首部有效载荷组成。
1、版本
长度为6位,标识数据报的IP版本号,IP协议版本号为6。
2、流量类型(通信量类)
长度为8位,区别不同优先级、类型的IPv6数据报文,它与IPv4中的ToS字段类似,用于支持QoS(QoS用于解决网络延迟和阻塞问题)。
3、数据流标签
长度为20位,用于标记需要IPv6路由器进行特殊处理的数据流
4、有效负载长度
长度为16位,指明除首部以外的字节数(扩展首部也算在有效负载长度内),也包括上层协议数据单元(PDU)。
5、下一个首部
长度为8位,当IPv6数据报没有扩展首部时,其作用与IPv4的协议字段一样,即指出首部后面的数据应交付给IP层上的哪个高层协议,即是TCP还是UDP。当扩展首部时,其作用是标识扩展报头的下一个首部类型
6、跳数限制
长度为8位,用于防止数据报在网络中一直转发,它与IPv4的TTL字段一样,每经一次转发,该字段减1,减到0时丢弃该包。
7、源地址和目的地址
都为128位,源地址是数据报发送端的IP地址,目的地址是数据报接收端的IP地址

IPv6所带来的主要变化是:
(1) 更大的地址空间(采用128位的地址);
(2) 灵活的首部格式;
(3) 改进的选项;
(4) 支持即插即用;
(5) 支持资源的预分配;
(6) IPv6首部改为8字节对齐。

二、网络地址转换(NAT)

NAT,即网络地址转换,用于替换数据报文中的IP地址,一般是将私有地址转换为公有地址来实现访问公网的目的,即在专用网连接到互联网的路由器上安装NAT软件,称为NAT路由器,它至少有一个有效的外部全球IP地址,NAT路由器使所有使用本地地址的主机在与外界通信时,在其上将本地地址转换为全球IP地址从而连接到互联网。

(一)基本NAT

基本NAT分为静态NAT和动态NAT,静态中内、外网IP地址映射是固定的。

(二)NAPT

使用端口号的NAT称为NAPT,即网络地址与端口转换,其中多对一地址转换或地址复用,NAPT同时映射IP地址和端口号,来自不同内部地址的数据报的源地址映射到同一个外部地址,端口号被转换为该地址的不同端口号,即NAPT出口数据报中的内网IP地址被NAT的公网IP地址代替,而出口分组的端口被另一个高端端口代替,外网进来的数据报根据对应关系进行转换。
通过使用NAPT将所有地址映射到一个外部IP地址,从而隐藏了内部网络的IP配置,节省了资源

三、虚拟专用网(VPN)

虚拟专用网VPN利用公网的互联网作为本机构各专用网之间的通信载体,内部使用互联网的专用地址,一个VPN至少要有一个路由器具有合法的全球IP地址,这样才能和本系统的另一个VPN通过互联网进行通信。

由两个场所的内部网络所构成的虚拟专用网VPN称为内联网,即内联网VPN,表示这两个场所属于一个机构;若有些机构需要外部机构参加,即称为外联网VPN

远程接入虚拟专用网络(远程接入VPN)允许个人用户使用连接到互联网的计算机或其他受支持的iOS或Android设备,从远程位置连接到网络。

四、路由基础

(一)路由选择算法

根据路由算法能否随网络的通信量或拓扑自适应地进行调整变化来划分,可分为静态路由选择策略(非自适应路由选择)动态路由选择策略(自适应路由选择)

两种路由对比:静态路由简单且开销较小,但不能及时适应网络状态的变化,可以说对于较简单的小型网络网络适合采用静态路由;而动态路由能够适应网络状态的变化,但实现较复杂且开销较大,所以动态路由适合于较复杂的大型网络。

路由算法简易程度适应网络状态变化适合规模网络开销
静态路由简单不能小型网络较小
动态路由复杂大型网络较大

常与其提到的还有默认路由,通常它指本地网关的地址,当在路由表中未找到目标网络时使用默认路由。

(二)路由器原理

1、路由器的分类和组成

路由器工作在OSI模型的第三层,即网络层,是连接网络中各类局域网和广域网的设备,它会根据信道的情况自动选择和设定路由,并以最佳路径按前后顺序来发送信号。

路由器可由不同类型来分类,例如按性能分为高性能、中端和低端路由器;按结构分为模块结构路由器和非模块结构路由器;按网络位置分为核心路由器、分发路由器和接入路由器

路由器中很多种内存,其中ROM用于存储引导软件Flash用于存储操作系统ROM是主存NVRAM用于保存启动配置。设备接电时,当前运行配置存储在RAM中,设备断电后配置消失,而备份配置存储在NVRAM中,设备断电后仍存在,设备重新启动后使用该备份配置。

2、路由器的功能和工作原理

路由器的主要功能是进行路由处理包转发。包转发是指单个路由器的运行动作,路由器接收数据包并检查数据包报头,根据其目的地址检查下一跳IP地址,修改TTL的值并重新计算校验和,然后将新数据附加新数据链路层报头转发;路由处理是多个路由器共同协作的过程,通过运行路由协议学习网络的拓扑结构,路由器之间相互交换信息,通过一定的规则建立和维系路由表,保持信息有效,且通过特定算法,依据路由表决定最佳路径。

松散源路由允许相邻两个IP地址之间跳过多个网络,只给出IP数据报必须经过源站指定的路由器;而严格源路由严格规定IP数据报要经过路径上的每一个路由器,相邻路由器之间不得有中间路由器,并且所经过路由器的顺序不可更改。

(三)静态路由表和动态路由表

路由表的作用是供路由选择使用,可分为静态路由表和动态路由表,二者区别是静态路由表由系统管理员事先设置固定的路由表,不会随网络结构的改变而改变,而动态路由表会根据网络的运行情况自动调整路由表,根据路由选择协议提供的功能自动学习和记忆网络运行情况且在需要时自动计算数据传输的最佳路径。

(四)自治系统

可以将整个互联网划分为很多较小的自治系统(AS),是指在单一技术管理下的一组路由器,它对于其它AS表现的是一个单一的和一致的路由选择策略。
简单的来说,AS也就是使用同一个内部路由协议的一组网络。路由选择协议分为内部网关协议(IGP)和外部网关协议(BGP)。

(五)内部网关协议(IGP)

内部网关协议即自治系统内部的路由选择协议,主要目的是发现和计算自治域内的路由信息,与其它自治系统选用什么路由选择协议无关,比如RIP、OSPF协议。

1、RIP

路由信息协议(RIP),是一种分布式基于距离向量的内部路由选择协议,且距离向量路由算法是动态路由算法,该协议基于UDP,路由协议单元被封装在UDP报文中进行传输,其端口号为520,RIP的特点是简单适合用于小型互联网

这里的向量即距离方向。

RIP路由的更新周期为30s180s内若无回应则说明该路由不可达,240s内若无回应则删除路由表信息,且RIP协议的最大跳数为15跳,16跳表示不可达,直连网络跳数为0,每经过一个结点跳数加1

RIP按固定的时间间隔与相邻的路由器交换信息,交换当前到达本AS中所有网络的最短距离和到每个网络应经过的下一跳路由器,通过在相邻之间相互交换信息,路由器不断更新其内部的路由表。
RIP分为RIPv1、RIPv2和RIPng三个版本,RIPv1报文基于广播,RIPv2基于组播(组播地址为224.0.0.9),且属于无类协议,支持可变长子网掩码(VLSM)和无类别域间路由(CIDR),采用了触发更新机制加速路由收敛,这里的收敛是网络设备的路由表与网络拓扑结构保持一致。

2、OSPF

开放式最短路径优先(OSPF),是一种用于单一AS内决策路由内部网关协议,其特点是适合小中和较大规模的网络,它采用的是最短路径优先算法(SPF)计算最小生成树,从而确定最短路径。

OSPF基于IP,采用组播方式来交换OSPF包,另外它通过链路状态广播(LSA)的方式来传送给某区域内的所有路由器。

OSPF使用IP包头封装5类报文,用于交换链路状态广播(LSA),如下:
Hello消息用于发现邻居(邻接路由器),能在NBMA网络上选举指定路由器(DR)以及备份指定路由器(BDR),默认的Hello报文发送时间间隔为10s,默认无效时间间隔为40s,即40s内没有从特定的路由器接收到这种分组则认为其不存在,另外Hello组播地址为224.0.0.5
数据库描述(DD)消息用于交换各个LSA的摘要版本。
链路状态请求(LSR)消息用于请求一个或多个LSA,告知相邻路由器提供LSA的详细信息给发送路由器。
链路状态更新(LSU)消息包含LSA的详细信息,用于响应LSR消息。
链路状态应答(LSAck)消息用于确认已经收到的LSU消息。

OSPF的工作流程:首先启动OSPF进程的接口,发生Hello消息,从而交换Hello信息建立邻居关系,然后每台路由器对所以邻居发送LSA,路由器接受邻居发送的LSA后并保存在链路状态库LSDB中,发送一个LSAcopy给其它邻居,于是LSA泛洪至整个区域,区域所有路由器形成相同的LSDB,此时每台路由器以自身为根,根据最短路径算法(SPF)算出到达每个目的地的最短路径且通过最短路径构成自己的路由表,包含区域内最优路由、区域间路由、E1外部路由以及E2外部路由。

OSPF网络类型分为四种,分别是点到点网络,组播地址为224.0.0.5;点到多点网络,它不选举DR/BDR,可看成多个点到点链路的集合,数据传播方式为单播;广播型网络,选举DR/BDR,所有路由器和BR/BDR交换信息且不能被抢占,其中DR、BDR组播到224.0.0.5,DR/BDR侦听224.0.0.6;非广播型需要手动指定邻居,利用Hello消息单播。

(六)外部网关协议(BGP)

外部网关协议即自治系统之间的路由选择协议,当源主机传送一个数据报给目的主机(两个AS可能使用不同的内部网关协议),需要一种协议将路由选择信息传递给另一个AS中,即连接不同AS的相邻路由器之间交换路由信息的协议,比如BGP-4。

自治系统之间的路由选择叫做域间路由选择,而内部叫做域内路由选择。

1、对等体

在BGP中,两个路由器之间的相邻连接称为对等体连接,两个路由器互为对等体,若同在一个AS中,则称为IBGP对等体否则称为EBGP对等体

2、BGP报文和BGP工作流程

BGP有四种常见报文,OPEN报文建立邻居关系,KEEPALIVE报文用于保持活动状态,周期性确认邻居关系,对OPEN报文回应,UPDATE报文用于发送新的路由信息,NOTIFICATION报文用于报告检测到的错误。

首先BGP路由器直接就行TCP三次握手,建立TCP回话连接,然后交换OPEN消息确认版本等参数来确认邻居关系,路由器交换所有BGP路由直到平衡,之后只交换变化了的路由信息,路由的更新由UPDATE报文完成,可以通过KEEPALIVE报文验证路由器是否可用,若出现问题,则通过NOTIFICATION报文通知错误。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风(●•σ )

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值