计算机网络 网络层下 | IPv6 路由选择协议,P多播,虚拟专用网络VPN,MPLS多协议标签

news2024/11/16 19:06:50

文章目录

  • 5 IPv6
    • 5.1 组成
    • 5.2 IPv6地址
    • 5.3 从IPv4向IPv6过渡
      • 5.3.1 双协议栈
      • 5.3.2 隧道技术
  • 6 因特网的路由选择协议
    • 6.1 内部网关协议RIP
    • 6.2 内部网关协议 OSPF
      • 基本特点
    • 6.3 外部网关协议 BGP
      • 6.3.1 路由选择
    • 6.4 路由器组成
      • 6.4.1 基本了解
      • 6.4.2 结构
  • 7 IP多播
    • 7.1 硬件多播
    • 7.2 IP多播需要三种协议
      • 7.2.1 IGMP协议
      • 7.2.2 多播路由选择协议
  • 8 虚拟专用网络VPN
    • 8.1 网络地址转换方法NAT
      • NAT的工作原理:
      • NAT的优点
  • 9 MPLS多协议标签交换
      • 主要特点:
      • 工作原理:

5 IPv6

由于IPv4不够用了,所以后面用了范围更大的IPv6

主要变化如下

1 将地址从IPbv4的32位变到了128位

2 扩展的地址层次结构

3 更加灵活的首部格式

5.1 组成

由两大部分组成,即基本首部和后面的有效载荷(有效载荷允许有多个扩展首部)

5.2 IPv6地址

由于IPv6很大很大,所以原本的点分十进制也不够方便了

所以现在IPb6使用冒号十六进制法

比如如下:

68E6:8C64:0000:0000:0:1180:960A:FFFF

对于连续的零可以进行压缩表示,用双冒号替代

FF05:0:0:0:0:0:0:B3

如上面可以压缩为FF05::B3

为了不发生歧义,一个地址规定只能使用一次零压缩

5.3 从IPv4向IPv6过渡

介绍两种过渡方法

5.3.1 双协议栈

双协议栈是指完全过渡到IPv6之前,一部分主机或路由器同时装有IPv4和IPv6这两种协议栈

在和IPv4主机通信的时候采用IPv4,在和IPv6主机通信的时候采用IPv6

但是这种过渡方式代价太大,需要安装两套协议,所以提出下面的隧道技术

5.3.2 隧道技术

隧道技术核心就是在IPv6进入网络前 进行封装为IPv4帧传输,这样接收方接收到IPv6数据报后再解析IPv6数据报

隧道技术实际上也会用到双协议栈,只不过只在入网和出网的时候安装两个就行,中途的主机都不需要安装

6 因特网的路由选择协议

路由选择核心就是讨论转发表中的路由是怎么得出来的

理想的路由算法要尽可能

正确完整,简单,稳定且公平

对于路由选择协议,按照是否自适应调整可以划分为静态路由选择策略和动态路由选择策略

其中

  • 静态路由选择策略——即非自适应路由选择,简单开销小,人工配置每一条路由
  • 动态路由选择策略——即自适应路由选择,开销大,实现较为复杂,但是可以很好适应网络状态变化

我们可以把互联网划分为许多较小的自治系统AS,自治系统内部可以使用自己的路由选择协议,然后整体又可以连接到整个互联网上

那么在自治系统内部的使用的协议又叫做内部网关协议IGP,如RIP,OSPF

源主机和目的主机不在同一个自治系统叫做外部网关协议EGP,如BGP-4

6.1 内部网关协议RIP

了解路由选择协议,核心要解决三个问题——和哪些路由器交换信息?交换什么信息?在什么时候交换信息?

对于RIP而言

1 交换的对象是:只和相邻的路由器交换信息

2 交换的信息是:自己现在的路由表

3 交换的时间是:按照固定时间间隔交换信息,每隔30s

路由表更新的原则是 距离向量算法

看下面的例子

在这里插入图片描述

在这里插入图片描述

总结来看

首先是否是新信息

再看下一跳是否相同,这两种情况直接更新

如果下一跳不同的话比较距离

优点 开销较小,实现简单

缺点 限制了网络规模,使用最大距离为15。同时好消息传递的快,坏消息传递的慢!!网络出故障后的传播时间很慢

6.2 内部网关协议 OSPF

上述的RIP缺点是不能适用于较大规模的自治系统

所以使用OSPF

同样回答三个问题——和哪些路由器交换信息?交换什么信息?在什么时候交换信息?

对于RIP而言

1 交换的对象是:和所有该区域的路由器交换

2 交换的信息是:自己现在的路由表

3 交换的时间是:按照固定时间间隔交换信息,每隔30s

基本特点

1 带宽是主要考虑的因素

2 使用的是洪泛法,就是路由器通过输出端口向所有路由器发送信息

3 所有路由器最终建立链路状态数据库,全网范围内一致,因而克服了RIP的缺点(RIP只知道相邻的)保证了更新过程中收敛的快

同时为了能让他应用于更大规模的网络

进行了区域的划分

每次只需要对该(主干)区域做洪泛即可,因而也只需要知道主干区域的完整拓扑结构即可

在这里插入图片描述

OSPF有五种类型

​ 1 问候分组 确定是否可达

​ 2 数据库描述分组 达到数据库的同步

​ 3 链路状态请求 新情况下的同步

​ 4 链路状态更新

​ 5 链路状态确认

6.3 外部网关协议 BGP

使得前面的自治系统连为一个整体!!!

力求寻找较好的路由,不要兜圈子即可,不用最短的

内部的路由器建立iBGP连接,而内部和外部直接建立eBGP连接

BGP发言人,每一个自治系统的管理员要选择至少一个路由器作为该自治系统的BGP发言人

6.3.1 路由选择

1本地偏好值最高的路由优先选择

2 使用具有AS跳数最少的选择

3 使用热土豆路由算法

BGP-4使用四种报文

​ 1 打开

​ 2 更新

​ 3 保活

​ 4 通知

6.4 路由器组成

6.4.1 基本了解

讲完了路由选择,接下来讲解路由器

路由器是一种典型的网络层设备,具有多个输入端口和多个输出端口的专用计算机~

路由器是互联网中的关键设备

路由器的主要任务是:

​ 转发分组

路由器的主要作用是:

​ 联通不同的网络(如不同VLAN,不同的IP子网,不同的局域网和广域网)

​ 选择信息传送的线路(即通过选路来转发分组)

​ 选择通畅快捷的近路,能大大提高通信速度,减轻网络系统负荷

6.4.2 结构

控制平面和数据平面

控制平面

​ 控制平面是数据网络中做出转发决定的元素,比如路由协议,选路策略和网络设备上运行这些协议的软硬件资源等

​ 控制平面做出的决定包括:该把数据包发往哪条路径转发、是否要用多条路径转发同一个数据流

数据平面

​ 数据平面是执行控制平面决定的部分,包括数据封装协议,网络协议的高速转发芯片等

控制平面和数据平面分离

SDN采用控制平面和数据平面分离,实现灵活部署

典型路由器结构分为

路由选择部分

分组转发部分

交换结构

路由器关键部件,常用的交换方式

通过存储线,通过总线,通过纵横结构

7 IP多播

目的:更好支持一对多通信,可以大大节约网络资源

一对多通信:一个源点发送到许多个终点。例如,实时信息的交付(如新闻,股市行情等)

核心就是把多次的单播变成可复制的多播

IP多播可以分为两种

1 只在本局域网上进行硬件多播

2 在互联网的范围进行多播

前一种硬件多播,比较简单但也比较重要,先讲这个

7.1 硬件多播

在48位的多播地址中,前25位都固定不变,后23位可以用作多播

7.2 IP多播需要三种协议

7.2.1 IGMP协议

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

IGPM是本地使用的一个范围

IGMP使用IP数据报传输报文

主要两个功能

​ 让主机加入多播组

​ IGMP 报告和查询 维护 多播组转发表

IGMP工作可以分为两个阶段

第一:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP报文,申明自己是该组的成员

本地的多播路由器收到IGMP报文后,将组员关系转发给因特网上的其他多播路由器

第二:因为组员关系是动态的,因此本地多播路由器要周期性探寻本地局域网上的主机,以便知道这些主机继续是组的成员

只知道 有哪些多播组成员还是不够的

还要知道怎么到达对应的成员,这就涉及到多播路由选择协议

7.2.2 多播路由选择协议

转发多播数据报使用的方法

1 洪泛与剪除

​ 这种方法适用于较小的多播组,直接广播(洪泛)

​ 如果发现某个路由器的下游树枝没有该多播组成员,那么则直接剪除

2 隧道技术

​ 这种方法适合于多播组在地理上很分散的情况

3 基于核心的发现技术

​ 这种方法的多播组使用范围比较广

​ 对每一个多播组指定一个核心路由器,给出它的单播地址

8 虚拟专用网络VPN

有些时候内部网络的某些主机并不需要连到互联网中,只需要和内部网络的其他网络通信即可,这时候便没必要再给他们全球独一无二的地址了

那么网络设计者们便在IP地址中划分了一部分作为本地地址(不和全球地址产生冲突)

本地地址或者叫专用地址

最经典的是192.168打头的

还有一种类型的VPN,就是远程接入VPN,核心是建立VPN隧道

8.1 网络地址转换方法NAT

如果某些分配了本地IP地址的计算机忽然想连上互联网

一个可行分办法就是用网络地址转换NAT方式

至少有一个有效的外部全球IP地址

NAT的工作原理:

NAT的基本原理是将内部设备的私有IP地址和端口号映射到单个或多个公共IP地址的一组唯一端口上。这样,当内部设备发送请求时,路由器会将请求从内部IP地址和端口号转换为公共IP地址和不同的端口号,以确保响应的数据包能够正确返回到请求的设备。

NAT有几种不同的方式来实现这种映射:

  1. 静态NAT:在静态NAT中,管理员手动配置内部IP地址和端口号与外部IP地址的映射。这些映射是固定的,通常用于服务器或特定应用程序的端口转发。
  2. 动态NAT:在动态NAT中,NAT路由器动态地将内部设备的私有IP地址映射到可用的公共IP地址,通常从一个IP地址池中选择。这种方式允许多个设备共享几个公共IP地址。
  3. PAT(端口地址转换):PAT是一种特殊的NAT形式,它使用单个公共IP地址,但使用不同的端口号来区分内部设备。这是最常见的NAT形式,通常用于家庭网络和小型企业。

NAT的优点

  • 安全性提高:NAT可以隐藏内部网络结构,因为外部网络只能看到NAT设备的公共IP地址。这增加了网络的安全性,因为攻击者难以确定内部设备的真实IP地址。
  • IPv4地址节省:由于IPv4地址短缺,NAT允许多个设备使用同一个公共IP地址,从而节省了IPv4地址资源。
  • 简化管理:NAT允许多个设备通过一个公共IP地址访问互联网,简化了网络管理。

9 MPLS多协议标签交换

为了增加IP数据报的转发速度,引入了MPLS

MPLS并没有取代IP

多协议标签交换(Multiprotocol Label Switching,MPLS)是一种在计算机网络中用于数据传输的高效且灵活的技术。MPLS通过在数据包头部添加标签(Label)来对数据进行标记和转发,从而改善了数据包的路由、流量工程和服务质量。以下是MPLS的主要特点和工作原理的介绍:

主要特点:

  1. 标签交换:MPLS通过在数据包头部添加一个短的标签来标识数据包,而不是基于传统的IP路由表来进行转发。这个标签可以在网络中的路由器之间快速交换,从而提高了数据包的转发速度。
  2. 流量工程:MPLS允许网络管理员根据网络流量的需求来管理路由和优化网络性能。管理员可以为不同的流量流分配不同的标签,以实现更好的流量控制和负载均衡。
  3. 服务质量(QoS)支持:MPLS可以根据标签来实现不同类别的服务质量(如低延迟、高带宽等),这对于应对多种网络应用的需求非常重要,如实时音视频通信。
  4. 简化路由表:MPLS可以减小路由器的路由表,因为它只需要考虑标签而不是完整的IP地址。这有助于减小路由器的存储和处理负担,提高了网络的扩展性。
  5. 隧道和虚拟专用网络(VPN)支持:MPLS可以用于创建虚拟专用网络,使不同的企业或组织可以在共享的基础设施上构建私有网络,同时保持数据的隔离性和安全性。

工作原理:

MPLS的工作原理包括以下步骤:

  1. 标签分配:在MPLS网络中,每个路由器都分配一个唯一的标签给数据包。这个标签通常是20位长,包含了一些信息,如数据包的下一个路由器(下一跳)。
  2. 标签交换:当数据包到达一个MPLS路由器时,该路由器会查看数据包的标签,然后根据标签表将数据包转发到下一个路由器。标签表包含了标签与出口接口的映射关系。
  3. 标签压栈和弹栈:在数据包通过MPLS网络的过程中,标签可以被压栈(添加新的标签)或弹栈(移除标签)。这允许数据包在网络中多次标记和转发。
  4. 最终目的地:当数据包到达目的地时,最后一个MPLS路由器会弹出标签并将数据包交付给上层协议(通常是IP),然后根据目的IP地址将数据包传送到目标设备。

MPLS技术的灵活性和效率使其成为了广泛应用于企业网络、服务提供商网络和数据中心网络的一种重要技术。它有助于改进网络性能、提高服务质量,并简化了网络管理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1323030.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vp与vs联合开发-通过FrameGrabber连接相机

添加控件 1.CogRecordDisplay 控件 用于显示图像 初始化相机对象方法 //启动窗体时 调用初始化相机方法 //封装相机关闭方法 //窗体关闭时 调用相机关闭方法 拍照 设置采图事件 // 保存图像 设置曝光按钮事件 1.可变参数

C# pictureBox显示一张图片,我想先释放这个图片以免占用无法修改,(旋转)改完再显示这张图片

效果 public static bool RotateFlip(MyDel Log, string fileName){try{string tempPath Path.GetTempFileName();using (Bitmap bmp new Bitmap(fileName)){float resolution 600; //x,y必须为这个数 误差小于-1bmp.RotateFlip(RotateFlipType.Rotate90FlipNone);bmp.Save(…

智能优化算法应用:基于冠状病毒群体免疫算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于冠状病毒群体免疫算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于冠状病毒群体免疫算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.冠状病毒群体免疫算法4.…

飞天使-k8s-知识点1-kubernetes架构简述

文章目录 名词功能要点 k8s核心要素CNCF 云原生框架简介k8s组建介绍 名词 CI 持续集成, 自动化构建和测试:通过使用自动化构建工具和自动化测试套件,持续集成可以帮助开发人员自动构建和测试他们的代码。这样可以快速检测到潜在的问题,并及早…

C/C++编程中的算法实现技巧与案例分析

C/C编程语言因其高效、灵活和底层的特性,被广大开发者用于实现各种复杂算法。本文将通过10个具体的算法案例,详细探讨C/C在算法实现中的技巧和应用。 一、冒泡排序(Bubble Sort) 冒泡排序(Bubble Sort)是一…

单片机应用实例:LED显示电脑电子钟

本例介绍一种用LED制作的电脑电子钟(电脑万年历)。其制作完成装潢后的照片如下图: 上图中,年、月、日及时间选用的是1.2寸共阳数码管,星期选用的是2.3寸数码管,温度选用的是0.5寸数码管,也可根据…

人工智能中不可预测的潜在错误可能是灾难性的——数学解释

一、说明 有没有人研究评估AI的错误产生的后果有多么严重,是否存在AI分险评估机制?更高维度上,人工智能的未来是反乌托邦还是乌托邦?这个问题一直是争论的话题,各大阵营都支持。我相信我们无法准确预测这两种结果。这是…

画图之C4架构图idea和vscode环境搭建篇

VS Code 下C4-PlantUML安装 安装VS Code 直接官网下载安装即可,过程略去。 安装PlantUML插件 在VS Code的Extensions窗口中搜索PlantUML,安装PlantUML插件。 配置VS Code代码片段 安装完PlantUML之后,为了提高效率,我们最好安装PlantUML相关的代码片段。 打开VS Cod…

React心理健康测试网站系统源码

帮助需要的人更好地了解自己的心理健康状态和人格特征。本模板提供了一个最小的配置,使得React可以在Vite中启用HMR,并且包含了几个ESLint规则。只需要使用react antd-mobile即可轻松部署完成。 源码下载:https://download.csdn.net/downlo…

操作系统系列:Unix进程系统调用fork,wait,exec

操作系统系列:Unix进程系统调用 fork系统调用fork()运用的小练习 wait系统调用Zombiesexec 系列系统调用 开发者可以查看创建新进程的系统调用,这个模块会讨论与进程相关的Unix系统调用,下一个模块会讨论Win32 APIs相关的进程。 fork系统调用…

智能优化算法应用:基于学生心理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于学生心理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于学生心理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.学生心理学算法4.实验参数设定5.算法…

VS+Qt 打包Python程序

书接上回,调用C调用python,下面来谈谈随exe文件打包。 先说下环境vs2019Qt5.12.11python3.8,这里需要注意如果你要适配Win7的系统,python最好是9以下,以上不兼容,也没时间找方法,找到评论说下 如…

实现个人日志命令行工具(C语言)

〇、前言 中午上课的时候,打开 github 看了一下个人主页,虽然最近很忙,但是这个活动记录有点过于冷清: 于是我就想着写一个日志命令行工具,输入以下命令就能将我的日志立即同步到 github 上: mylog toda…

Jenkins+Docker+Gitee搭建自动化部署平台

目录 服务器准备 Docker安装 yum 包更新到最新 设置yum源 安装docker 启动和开机启动 验证安装是否成功 Jenkins安装 拉取镜像 创建映射目录 运行镜像 运行出错 修正权限 重新运行镜像 新建安全组,放通8080端口 激活Jenkins Jenkins插件 Jenkins全…

el-form与el-upload结合上传带附件的表单数据(前端篇)

1.写在之前 本文前端采用Vue element-plus技术栈,前端项目参考yudao-ui-admin-vue3项目与Geeker-Admin项目。 这篇文章是el-form与el-upload结合上传带附件的表单数据(后端篇)-CSDN博客姐妹篇,后端篇文章主要讲的是后端的实现逻…

限流原理与实践:固定窗口、滑动窗口、漏桶与令牌桶解析

方案一、固定窗口限流算法 这里我们通过一个 demo 来介绍固定窗口限流算法。 创建一个 FixWindowRateLimiterService 类。 Service public class FixWindowRateLimiterService {Resourceprivate StringRedisTemplate stringRedisTemplate;private static final DefaultRedisSc…

新手上路:自动驾驶行业快速上手指南

文章目录 1.自动驾驶技术的发展1.1 工业革命驱动自动驾驶技术发展1.2 想象中的未来:科幻作品中的自动驾驶汽车1.3 自动驾驶技术萌芽与尝试1.4 百花争鸣:自动驾驶科技巨头与创业公司并进 2.个人开发者,如何玩转自动驾驶?2.1 灵活易…

Opencv实验合集——实验六:模板匹配

1.概念 模板匹配旨在在图像中找到与给定模板最相似的部分。其核心思想是通过滑动模板,计算每个位置与模板的相似性,然后找到最匹配的位置。这一过程常涉及选择匹配度量方法,如平方差匹配、归一化平方差匹配、相关性匹配等。模板匹配在目标检…

git缓存区、本地仓库、远程仓库的同步问题(初始化库无法pull和push)

git新建库与本地库同步 gitee使用教程,git的下载与安装接不在叙述了。 新建远程仓库 新建远程仓库必须要使用仓库提供的api,也就是仓库门户网站,例如gitee,github,gitlab等。在上图中使用gitee网址中新建了一个test仓…

【无语】Microsoft Edge 浏览器不显示后台返回的数值数据

Microsoft Edge 禁用 JSON 视图 写在前面禁用 JSON 视图 写在前面 遇到一个有意思的事情,在用 Microsoft Edge 浏览器发送请求测试时发现,后端返回的数值数据没有正常展示,而是类似查看源码的结果,只显示了一个行号1,…