IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> IP路由原理——技术详解 -> 正文阅读

[网络协议]IP路由原理——技术详解

一. 路由工作原理:

路由转发数据过程其实很简单,简单的总结就是:

路由接收数据包→查看目的地址→与路由表进行匹配找到转发端口→转发到该端口

在这里插入图片描述

具体路由器工作过程:

1)、PC1要给PC2发送数据,因为地址不在同一个网段,PC1会将数据包发送给本网段的网关路由R1的G0/1接口,

2)、R1路由器接收到数据包,查看数据包IP头部中目的地址是2.100,再查询自己路由表,发现到达192.168.2.0/24网段需要从G0/0接口出去,于是R1路由器将数据包发送到G0/0接口,并由此接口将数据发出去到达R2路由器。

3)、R2路由器收到一个来自R1的数据包,同样查看IP首部包中的目的地址是2.100,再查询自己路由表。发现192.168.2.0/24网段在G0/1接口下,R2路由器将数据包再转发到G0/1接口,并由此接口发送到PC2设备上,到此路由工作过程结束。
在这里插入图片描述

1、路由表

再来看一下概念的东西,通过工作过程基本上可以了解什么是路由表及其作用,总结如下:1)路由器中维护的路由条目的集合2)路由器根据路由表做路径选择:

在这里插入图片描述

2、路由表分类

在这里插入图片描述

1)直连(Direct):本地接口、回环地址

2)静态(static):需要手动指定

3)动态(dynamic):距离矢量:rip

距离矢量(增强型):BGP

链路状态:ospf、isis等

4)默认路由:0.0.0.0 0.0.0.0是一种特殊的静态路由,如果报文的目的地址无法匹配路由表中的任何一项,路由器将选择依照缺省路由来转发报文。

注:如果没有默认路由,那么目的地址在路由表中没有匹配表项的包将被丢弃。

3、路由表形成

路由形成主要分为几个部分,按大类主要就两类:1)直连网段:配置IP地址,并且状态UP形成直连路由。就像上图中R1直连网段就是G0/1和G0/0端口下的IP地址对应的地址段。2)非直连网段:非直连的网段就需要通过路由协议学习后,将学习到的网段写入路由表,就像上图中红色标出来的部分,路由协议会在后面讲解。
在这里插入图片描述

4、路由及转发匹配原则

1)学习路由表:ip地址相同情况下,比协议优先级,优先级相同比cost(度量值)。

2)转发数据:数据转发时多条协议到相同目的地时,则匹配最长子网掩码,长的优先选择发送。

注:学习路由表=不同协议到相同目的地址只学习一条,比优先级和cost;

转发数据=多条协议发送相同目的地时,比子网长度;

转发数据路由没有条目则丢弃;

在这里插入图片描述

5、路由协议优先级值

在这里插入图片描述

6、路由注意事项

1)、网线连接:属于广播类型,必须配置下一跳地址,串口模式(点到点)可以不指定;

2)、路由发送数据包流程:确认目的地址–查缓存表–转发数据;

3)、静态路由一般情况下,收发数据双方需要都配置路由才可以正常通信;

7、路由转发数据封装过程

在这里插入图片描述

1)PC1在网络层将来自上层的报文封装成IP数据包,其首部Header字段包含了源目IP地址。源地址即本机PC1的地址192.168.1.1,目的地址为PC2的地址192.168.2.1。PC1会用本机配置的子网掩码与目的地址进行与运算,得出目的地址与本机地址不属于同一网段,因此发往PC2的数据包需要经过RTA路由器进行转发。

2)PC1通过ARP请求获得默认网关RTA路由器的G0/1接口MAC地址00:11:98:70:22:22,在数据链路层PC1将IP数据包封装成以太网数据帧,在以太网数据帧首部的源MAC地址为00:11:98:70:11:11,目的MAC地址为网关G0/1口的MAC地址00:11:98:70:22:22。

3)RTA路由器从G0/1接口收到来自PC1的数据帧,去掉链路层的封装。RTA路由器认为这个IP数据包是要通过自己进行路由转发,所以RTA路由器会查询自己的路由表,寻找与目标IP地址192.168.2.1相匹配的路由表项,再根据路由表的下一跳地址将数据包转发到G0/0接口。

4)在G0/0接口RTA路由器重新封装以太网帧,此时源MAC地址为RTA路由器的G0/0口的MAC地址00:11:98:70:33:33,目的MAC地址为与之相连的RTB路由器的G0/0接口MAC地址00:11:98:70:44:44。

5)路由器B从G0/0接口收到来自RTA路由器的数据帧,同样去掉数据链路层封装。并查看目的IP地址与路由表进行匹配,再根据路由表的下一跳信息将数据包转发到G0/1接口。最后RTB路由器发现目的网段与自己G0/1接口直接相连,通过ARP广播,RTB路由器获取到PC2主机的MAC地址00:11:98:70:66:66,此时RTB路由器再将IP数据包封装成以太网帧,源MAC地址为RTB路由器G0/0接口的MAC地址00:11:98:70:55:55,目的MAC为:00:11:98:70:66:66,最终数据封装完成后,RTB将数据帧从G0/1接口发送给PC2主机。

总结:数据发送的原目IP地址不变,而源目MAC地址会随着设备端口不断转发变更而变化。

8、路由与交换机制区别

我们知道交换机是工作在OSI模型的第二层,即数据链路层,路由器工作在OSI模型的第三层,网络层,那么这两者具有区别和作用我们来总结一下:

1)交换机:交换机工作在OSI模型第二层数据链路层,数据链路层只能识别物理地址也就是MAC地址信息,当交换机的某个接口收到一个数据帧时,交换机首先会读取数据帧中相应的目标地址的MAC地址,然后再自己的MAC地址表中查找是否有目标MAC地址的端口信息。如果有,则把数据帧转发到相应的端口。如果没有,则向除源端口外的所有端口转发数据帧。这就是交换机的数据交换过程。

总结:交换机根据自己的MAC地址表在交换机的不同端口之间进行数据交换,即交换机的一个端口交换到另一个端口。

2)路由器:在网络层可以识别逻辑地址。当路由器的某个接口收到一个数据包时,路由器首先会读取包中相应目标的逻辑地址网络部分,然后再路由表中查找。如果在路由表中找到了目标地址的路由条目,则把数据包转发到路由器的相应接口,如果在路由表中没有找到目标地址的路由条目,且路由器配置了默认路由,就根据默认路由的配置转发到路由器的相应接口,如果在路由表中没有找到目标地址的路由条目,且路由器中没有配置默认路由,则将该数据包丢弃,并返回不可达信息。这就是数据路由的过程。

总结:路由器是根据自己的路由表进行转发,期间经过了路由选择和路由器转发的过程,从路由器的一个接口路由到另一个接口。

IP路由基础理论知识详解-原理及配置
56 播放 · 0 赞同视频
点击可播放视频

二. 静态路由与动态路由:

路由器不仅支持静态路由,同时也支持RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、IS-IS(Intermedia System-Intermedia System)和BGP(Border Gateway Protocol)等动态路由协议。

静态路由与动态路由的区别

路由协议是路由器之间维护路由表的规则,用于发现路由,生成路由表,并指导报文转发。依据来源的不同,路由可以分为三类:

通过链路层协议发现的路由称为直连路由。

在这里插入图片描述

通过网络管理员手动配置的路由称为静态路由。

在这里插入图片描述

通过动态路由协议发现的路由称为动态路由。

在这里插入图片描述

静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。缺点是不能自动适应网络拓扑的变化,需要人工干预。

动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置对用户要求比较高,对系统的要求高于静态路由,并将占用一定的网络资源和系统资源。

动态路由的分类

对动态路由协议的分类可以采用以下不同标准:

根据作用范围不同,路由协议可分为:

内部网关协议IGP(Interior Gateway Protocol):在一个自治系统内部运行。常见的IGP协议包括RIP、OSPF和IS-IS。

外部网关协议EGP(Exterior Gateway Protocol):运行于不同自治系统之间。BGP是目前最常用的EGP协议。

根据使用算法不同,路由协议可分为:

距离矢量协议(Distance-Vector Protocol):包括RIP和BGP。其中,BGP也被称为路径矢量协议(Path-Vector Protocol)。

链路状态协议(Link-State Protocol):包括OSPF和IS-IS。

以上两种算法的主要区别在于发现路由和计算路由的方法不同。

三. 路由表和FIB表:

路由器转发数据包的关键是路由表和FIB表,每个路由器都至少保存着一张路由表和一张FIB(Forwarding Information Base)表。路由器通过路由表选择路由,通过FIB表指导报文进行转发。

路由表:每台路由器中都保存着一张本地核心路由表(即设备的IP路由表),同时各个路由协议也维护着自己的路由表。

本地核心路由表:路由器使用本地核心路由表用来保存决策优选路由,并负责把优选路由下发到FIB表,通过FIB表指导报文进行转发。这张路由表依据各种路由协议的优先级和度量值来选取路由。

对于支持L3VPN(Layer 3 Virtual Private Network)的路由器,每一个VPN-Instance拥有一个自己的管理路由表(本地核心路由表)。

协议路由表:协议路由表中存放着该协议发现的路由信息。路由协议可以引入并发布其他协议生成的路由。例如,在路由器上运行OSPF协议,需要使用OSPF协议通告直连路由、静态路由或者IS-IS路由时,要将这些路由引入到OSPF协议的路由表中。
在这里插入图片描述

四. 缺省路由:

缺省路由是另外一种特殊的路由。简单来说,缺省路由是没有在路由表中找到匹配的路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发。如果没有缺省路由且报文的目的地址不在路由表中,那么该报文将被丢弃,并向源端返回一个ICMP(Internet Control Message Protocol)报文,报告该目的地址或网络不可达。
在这里插入图片描述

在路由表中,缺省路由以到网络0.0.0.0(掩码也为0.0.0.0)的路由形式出现。可通过命令display ip routing-table查看当前是否设置了缺省路由。通常情况下,管理员可以通过手工方式配置缺省静态路由;但有些时候,也可以使动态路由协议生成缺省路由,如OSPF和IS-IS。

五. 路由迭代:

路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由迭代。BGP路由、静态路由和UNR路由的下一跳都有可能不是直连的,都需要进行路由迭代。

例如,BGP路由的下一跳一般是非直连的对端loopback地址,不能指导转发,需要进行迭代。即根据以BGP学习到的下一跳为目的地址在IP路由表中查找,当找到一条具有直连的下一跳、出接口信息的路由后(一般为一条IGP路由),将其下一跳、出接口信息填入这条BGP路由的IP路由表中并生成对应的FIB表项。

对于BGP私网路由,需要隧道进行转发,路由的下一跳一般是远端PE的Loopback地址,不能指导转发,也需要进行路由迭代,即在隧道列表中查找到达该Loopback地址的隧道,将该隧道信息填入路由表中并生成对应的FIB表项。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:57:20  更:2022-07-17 16:58:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:39:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码