网络——路由

article/2025/10/7 4:02:17

路由

路由是路由器控制层面的工作(路由器另一工作是数据层面上的转发),所以路由的学习需要从路由器入手。
借鉴学习:路由器工作原理

设备-路由器

路由器含义结构功能工作原理
工作在OSI模型的网络层上的具有多个输入端口和多个输出端口的计算机网络设备内部整体分为两部分:路由选择部分(路由协议+路由表)、分组转发部分(转发表FIB+交换结构)路由(收集网络拓扑信息并动态形成路由表)、转发(根据转发表(FIB)转发IP数据包)、隔离广播域&子网、制定访问规则、不同类型的网络互联收到数据包后根据OSI模型层层将数据包拆开,到网络层后根据IP进行路由转发;根据接口协议层层封装,实现异种网络的互联

含义

路由器
路由器是一种计算机网络设备,提供了路由与转发两种重要机制,可以决定数据包来源端到目的端所经过的路由路径,这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端,称为转发(转送)。路由器工作在OSI模型的网络层上。
路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。路由器与交换机的差别即在于路由器是OSI模型第三层的产品,交换机是OSI模型第二层的产品。

路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。
也就是说,将路由器某个输入端口收到的分组,按照分组要去的目的地,把该分组从路由器的某个合适的输出端口转发给下一跳的路由器。
下一跳的路由器也按照这种方法处理分组,直到该分组到达终点为止。

结构

在这里插入图片描述
路由器内部整体分为两部分:路由选择部分、分组转发部分。
路由选择部分:软件、控制层面、核心是路由选择处理机。(路由选择协议+路由表)
分组转发部分:硬件、数据层面、核心是处理芯片和交换结构。(转发表)

路由选择部分

路由选择部分:软件、控制层面、核心是路由选择处理机。(路由选择协议+路由表)

路由表

每个路由器中都有一个路由表和FIB(Forward Information Base)表:路由表用来决策路由,FIB用来转发分组。

路由表:这里个表都用来保存路由信息,路由表通常由路由协议和路由管理模块维护,包括更多的信息(IP地址/IP子网、下一跳、路由度量、超时间等);
路由表中路由有三类:
(1)链路层协议发现的路由(即是直连路由)
(2)静态路由
(3)动态路由协议发现的路由。

路由选择协议

常见的路由协议可以分为两种类型
一、内部网关协议
内部网关协议(IGP:Interior Gateway Protocol),适用于单个ISP的统一路由协议的运行,一般由一个ISP运营的网络位于一个AS(自治系统)内,有统一的AS number(自治系统号),用来处理内部路由。
RIP、IGRP(Cisco私有协议)、EIGRP(Cisco私有协议)、OSPF、IS-IS等都是内部网关协议。

二、域间路由协议
BGP(Border Gateway Protocol):边界网关协议。
为了维护各个ISP的独立利益,标准化组织制定了ISP间的路由协议BGP,其用来处理各ISP之间的路由传递。
与内部网关协议不同的是,其不在于发现和计算路由,而在于控制路由的传播和选择最佳路由。

分组转发部分

分组转发部分:硬件、数据层面、核心是处理芯片和交换结构。(转发表+交换结构)

转发表

转发表(FIB):是基于路由生成的,路由器实际转发时使用转发表(只包括IP地址/IP子网和下一跳/出接口);
转发表中每条转发项都指明分组到某个网段或者某个主机应该通过路由器的那个物理接口发送,然后就可以到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。
高性能路由器转发表通常都用硬件来实现,有利于高速查找。

交换结构

交换结构是一台路由器的核心组件,它的作用就是根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去。
在这里插入图片描述
在这里插入图片描述

功能

路由器的功能:

  • 路由:收集网络拓扑信息并动态形成路由表/路由器控制层面的工作,决定数据包从来源端到目的端所经过的路由路径(host到host至今的最佳传输路径)
  • 转发:根据转发表(FIB)转发IP数据包/路由器数据层面的工作,将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行)
  • 子网间速率适配
  • 隔离子网
  • 隔离广播域
  • 指定访问规则
  • 不同类型的网络互联:路由器经常会收到以某种类型的数据链路帧封装的数据包,当转发这种数据包时,路由器可能需要将其封装为另一种类型的数据链路帧。数据链路封装取决于路由器接口的类型及其连接的介质类型。

工作原理

  1. 收到数据包后根据OSI模型层层将数据包拆开,到网络层后根据IP进行路由转发;
  2. 根据接口协议层层封装,实现异种网络的互联
    在这里插入图片描述
    在这里插入图片描述

常用路由协议—OSPF

路由协议OSPF全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,它的使用不受任何厂商限制,所有人都可以使用,所以称为开放的,而最短路径优先(SPF)只是OSPF的核心思想,其使用的算法是Dijkstra算法,最短路径优先并没有太多特殊的含义,并没有任何一个路由协议是最长路径优先的,所有协议,都会选最短的。

OSPFOpen Shortest Path First
IP协议号89
路由管理距离110

冗余

VRRP协议


http://chatgpt.dhexx.cn/article/UKTyc8K8.shtml

相关文章

网络基础之路由详解

目录 IP路由基础 路由协议的分类 路由选路规则 静态路由 缺省路由 OSPF开放式最短路径优先协议 IP路由基础 路由器 特点 路由器的一个接口就是一个网段,一个网段就是一个广播域 路由器的一个接口用于一个MAC地址 路由器可以隔离广播域 广播报文无法穿越…

计算机网络:路由的概念及其分类

面对“路由”二字,很多人的第一个反应就是路由器。而路由器只是实现“路由”这一功能的工具罢了。路由器可以说是一台简化的电脑,它具有操作系统,接口,输入输出,存储器等等。正因为如此,现代路由器和电脑一…

网络路由相关的知识

配置静态路由 手工配置的路由信息,包括网络地址 子网掩码和下一跳地址。在没有配置静态路由的情况下,这两个子网中的计算机a、b之间是不能通信的。从计算机a发往计算机b的ip包,在到达router后,router不知道如何到达计算机b所在的…

网络路由知识大全

一、 如果ping域名的时候出现ping:unknown host xxx.xxx 但是ping IP地址的时候可以通的话 可知是dns服务器没有配置好,查看一下配置文件/etc/resolv.conf,里面是否有nameserver xxx.xxx.xxx.xxx,比如使用dns服务器 nameserver 8.8.8.8&am…

java解析rtc_RTC Java API 学习笔记

1 使用RTC Java API进行登录: Login的步骤分为以下: 1 初始化启动RTC的平台TeamPlatform:TeamPlatform.startup(); 2 获取RTC repository的连接 ITeamRepository teamRepository TeamPlatform.getTeamRepositoryService().getTeamRepository…

JS控制元素的显示和隐藏

开发工具与关键技术: DW、前端 作者:梁锦豪 撰写时间:2019/1/16当我们想要通过事件来控制元素时,我们可以用JavaScript来实现 下面是通过鼠标移入,移出事件来控制元素的显示与隐藏的例子: 首先,…

如何通过JS判断一个元素是否显示、隐藏

如何通过JS判断一个元素是否显示、隐藏 文章目录 如何通过JS判断一个元素是否显示、隐藏通过display是否等于none来判断通过jquery的:hidden/:visible 伪类来判断说明 通过display是否等于none来判断 通过判断当前元素的display的值来判断当前元素是否是可见状态。只能用displa…

js显示隐藏

其实这边我是新学的一点知识虽然不多但是新手还是比较容易上手的 <div id"panel"><button class"head">什么是jQuery?</button><div class"content">jQuery是继Prototype之后又一个优秀的JavaScript库&#xff0c;它是…

CSS隐藏元素的方法

隐藏元素之后&#xff0c;它在页面的行为如何&#xff1f; HTML文件如下 很简单&#xff0c;就一个div <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content&…

javascript隐藏和显示元素

使页面元素隐藏和显示可以有两种方式&#xff1a; 方式一&#xff1a;设置元素style属性中的display var t document.getElementById(test);//选取id为test的元素 t.style.display none; // 隐藏选择的元素 t.style.display block; // 以块级样式显示方式二&#xff1a;设…

JavaScript控制元素(标签)的显示与隐藏

使用JavaScript有多种方式来隐藏元素&#xff1a; 方式一、使用HTML 的hidden 属性&#xff0c;隐藏后不占用原来的位置 hidden 属性是一个 Boolean 类型的值&#xff0c;如果想要隐藏元素&#xff0c;就将值设置为 true&#xff0c;否则就将值设置为false 【HTML hidden 属性…

faceswap-GAN

一&#xff0c;https://github.com/shaoanlu/faceswap-GAN 二&#xff0c;GAN网络架构 auto encoder网络结构 辨别网络结构 三&#xff0c;训练与推断 1.训练阶段&#xff0c;从人的图片上获取人脸并对齐作业&#xff0c;为了提升模型能力&#xff0c;并对人脸进行warp操作&a…

faceswap尝试

主要参考&#xff1a;https://github.com/deepfakes/faceswap 安装cuda9.0cudnn7.3.1python各种库 训练样本用的川普和凯奇。 显卡&#xff1a;1050ti 主要显卡太low了&#xff0c;慢的无语。。。。。

使用faceswap进行视频换脸操作

一、下载源码安装环境 开源csdn代码下载地址 https://codechina.csdn.net/mirrors/deepfakes/faceswap Github下载地址 https://github.com/deepfakes/faceswap 先下载源码&#xff0c;然后下载Anaconda3安装 官网&#xff0c;可以进一步了解faceswap https://forum.fac…

Deepfake-faceswap代码测试

FaceSwap Github官方文档 下面来记录一下我安装和运行faceswap的流程 首先需要downland源代码 Github配置相关的环境参考INSTALL.md 提取配置好tensorflow cuda 等等 比如最基本的就是Python3&#xff0c;并且这个可以调用Opencv(如果有错误&#xff0c;请参考另一篇记录) p…

Faceswap开发(一) GAN网络的基本了解

来自 Github上 作者 shaoanlu 链接&#xff1a; https://github.com/shaoanlu/faceswap-GAN 最近在研究Faceswap&#xff0c;随之就一定要了解GAN网络在工程中的使用原理&#xff0c;就算是Google上资料也并不多&#xff0c;检索到Github上优秀作者"shaoanlu"的工程…

faceswap 安装使用详情

最近对AI换脸比较感兴趣&#xff0c;就看了一下faceswap的使用。 1.下载代码&#xff1a; https://github.com/deepfakes/faceswap 2.安装python 3.xx版本&#xff0c;之前是2.x不能正常工作 3.运行setup.py wudi:faceswap xiepengchong$ python setup.pyWARNING Running …

Windows安装faceswap

一、安装python3.7版本的anaconda3 下载地址 &#xff1a; Anaconda3-2020.02-Windows-x86_64.exe 然后安装&#xff0c;一路下一步安装&#xff0c;下边两个勾选上 二、在.condarc文件中写入如下内容 &#xff0c;配置Anaconda的国内镜像地址 channels:- defaults show_cha…

3D FaceSwap换脸

3D FaceSwap 一、算法原理二、实验过程1.实验代码2.配置环境 一、算法原理 FaceSwap是基于图形学的换脸方法&#xff0c;首先获取人脸关键点&#xff0c;然后通过3D模型对人脸关键点位置进行渲染&#xff0c;不断缩小目标形状和关键点定位间的差异&#xff0c;最后将渲染模型的…