源路由 | 源路由网桥 / 生成树网桥

注:本文为 “源路由” 相关文章合辑

未整理去重。


什么是源路由(source routing)?

yzx99 于 2021-02-23 09:45:51 发布

考虑到一个网络节点 A 从路由器 R1 出发,可以经过两台路由器 R2、R3,到达相同的目标 B,网络节点 A 要如何把包转发给 B?

img

以前我的认知,是 R1 根据目标地址 B,通过路由算法,哪个路由节省路径,哪个路由节省时间,就往哪里走。

但还有一种路由方法,是 R1 强制标明,A 要往哪个方向走,就往哪个方向走。这就是源路由。

参考:

TCP-IP 详解卷 1:协议 的 8.5 IP 源站选路选项 章节(8.5 IP Source Routing Option)


路由器关于源路由的处理

minipig114 于 2005-10-19 09:45:00 发布

源路由

一种路由算法,由发送方(源节点)决定数据包的完整传输路径。

在源路由中,路由器扮演的角色是纯粹的转发者,依赖于源节点提供的完整路由信息。

特点

  1. 路由器仅作为存储转发设备: 路由器不参与路由决策,只负责按照数据包中携带的源路由信息,将数据包转发到指定的下一跳。

  2. 不查询路由表: 路由器不使用自己的路由表,而是直接根据数据包中的源路由信息进行转发。

  3. 可能导致盲目转发: 即使数据包中指定的下一跳不可达,路由器也会尝试转发,因为路由器不会主动验证下一跳的可达性。

如果源路由信息不准确或网络拓扑发生变化,数据包可能会丢失或被转发到错误的目的地。

这种方法的优点是控制灵活,但缺点是可能导致盲目转发,增加了数据包丢失的风险。


源路由 就是指定数据传输经过这个路由服务器

2014-12-17 16:02 huababy

源路由的基本概念

源路由就是指定数据传输经过这个路由服务器。先从源路由如何向连接在外地链路上的移动节点发送数据包开始。

IPv4 中的 Loose Source and Record Route Option

IPv4 在 IP 报头中定义了一个可选项:Loose Source and Record Route Option。这个可选项列出了一个或多个中间目的地址,要求数据包在到达最终的目的地址前必须经过这几个中间地址。

源主机发送数据包的处理过程

假设一台源主机需要向一台目的主机发送数据包,并且希望数据包经过从源到目的地路径上的一台特定路由器。此时,源主机将该路由器的地址作为“下一个中间目的”地址,放置在目的 IP 地址字段中,并将目的主机的 IP 地址放置在 Loose Source and Record Route Option 中。随后,数据包将根据网络前缀路由被发送到目的 IP 地址字段中指定的路由器。当该路由器接收到数据包后,它会检查可选项,发现自己仅为中间目的地。于是,它从 Loose Source and Record Route Option 中提取目的主机的地址,并将数据包转发至通往目的主机的下一跳地址。在转发数据包之前,路由器会将自己的 IP 地址记录在 Loose Source and Record Route Option 中,实际记录的是其转发数据包的端口的 IP 地址。

目的主机接收数据包的处理过程

当数据包到达目的主机时,目的主机检查可选项,确认自身为数据包的最终目的地。因此,目的主机将数据包提交至 IP 协议字段所指示的上层协议进行处理。IP 报头中定义的该可选项还要求,当目的主机对源主机进行响应时,其数据包中也需包含 Loose Source and Record Route Option。当然,目的主机应包含的是“反向”源路由。在本例中,目的主机在向原源主机发送数据包时,会在 Loose Source and Record Route Option 中包含作为中间目的地的路由器的地址。


源路由网桥 (source routing bridge)

Cainv89 于 2016-02-12 11:20:58 发布

1. 透明网桥与源路由网桥的比较

1.1 透明网桥的优缺点

  • 优点:透明网桥最大的优点就是容易安装,一接上就能工作。
  • 缺点:网络资源的利用还不充分。

1.2 源路由网桥的优缺点

源路由选择网桥的优缺点:源路由选择网桥通常用在令牌环网中。只关心那些目的地高位是 1 的帧。

1.3 透明网桥与源路由网桥的主要区别

透明网桥的网络资源利用不如源路由网桥充分,透明网桥是透明的。源路由网桥对主机不是透明的,主机必须知道网桥的标识以及连接到哪一个网段上。

在一个时期,透明网桥和源路由网桥是各自独立发展的。但随之而来的需求是要设计一种方式来满足通过透明网桥互联的局域网和通过源路由网桥互联的局域网之间的连接。

最终,所有的标准网桥都必须支持透明网桥,而源路由则被作为一个可选配的附加特性。

主要特点比较

特点透明网桥源路由网桥
面向无连接连接
透明性完全透明不透明
配置方式自动手工
路由次优化优化
定位逆向学习发查找帧
失效处理由网桥处理由主机处理
复杂性在网桥中在主机中

2. 源路由网桥的工作原理

  • 源路由 (source route) 网桥在发送帧时将详细的路由信息放在帧的首部中。

  • 源站以广播方式向欲通信的目的站发送一个发现帧,每个发现帧都记录所经过的路由。

  • 发现帧到达目的站时就沿各自的路由返回源站。

  • 源站在得知这些路由后,从所有可能的路由中选择出一个最佳路由。

  • 凡从该源站向该目的站发送的帧的首部,都必须携带源站所确定的这一路由信息。

参考文献:

计算机网络 (第 5 版)》谢希仁 —— 第三章 3.5


网桥(生成树网桥和源路由网桥)

张朝阳的博客 于 2018-10-12 21:57:37 发布

生成树网桥

网桥收到一个数据帧以后,执行地址表扩充和帧转发,地址表扩充是指查看信源结点地址,进行地址表的扩充,从而使网桥了解哪些节点在哪些子网中;帧转发是指如果本地址表有信源地址里所有的结点,则直接进行转发;如果没有,则向本网桥除接收端口之外的所有端口进行广播。

此种方法得以实现的原因是俩个网桥之间有一条通路,在进行网桥设备冗余时,可能会形成环路。为了避免形成环路,则需要用到生成树算法;即选择一个中心网桥作为支撑树的根,选择一个与其相连的网桥加入支撑树(前提是不会形成环路),直至支撑树可以互联所有的子网,剩下的网桥留作备用。

源路由网桥

该网桥的核心思想是由帧的发送者显式地指出路由信息 RI,RI 信息包括网桥地址和局域网标志符的序列,网桥只需根据包含的路由信息进行转发即可,网桥可根据 RI 信息知道自己是否在转发路径中,并确定转发方向。

源节点如果没有到达目标节点的路由信息,则发送一个测试功能的广播帧,广播镇被每个网桥接收。接收到该广播帧的网桥如果在 RI 信息包含的节点中,则不必进行回应;如果没有,则向 RI 信息中增加本段号,继续进行转发到与其连接的不在 RI 信息中的网号的子网,直到转发到目标节点,目标节点返回给源节点一个应答帧,由于广播,会接收到多个应答帧。由源节点选出最佳路径,该算法可能会引发广播风暴。


via:

  • 什么是源路由(source routing)?-CSDN 博客
    https://blog.csdn.net/yzx99/article/details/113972472

  • 路由器关于源路由的处理 - CSDN 博客
    https://blog.csdn.net/minipig114/article/details/508972

  • 源路由 就是指定数据传输经过这个路由服务器 - huababy - 博客园
    https://www.cnblogs.com/lehaha/p/4169635.html

  • 源路由网桥 (source routing bridge)-CSDN 博客
    https://blog.csdn.net/cainv89/article/details/50654342

  • 网桥(生成树网桥和源路由网桥)_生成树协议与源路由网桥 - CSDN 博客
    https://zhangzhaoyang.blog.csdn.net/article/details/83032907

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【React】合成事件语法

React 合成事件是 React 为了处理浏览器之间的事件差异而提供的一种跨浏览器的事件系统。它封装了原生的 DOM 事件,提供了一致的事件处理机制。 合成事件与原生事件的区别: 合成事件是 React 自己实现的,封装了原生事件。合成事件依然可以通…

一文解释nn、nn.Module与nn.functional的用法与区别

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀零基础入门PyTorch框架_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 …

TongSearch3.0.4.0安装和使用指引(by lqw)

文章目录 安装准备手册说明支持的数据类型安装控制台安装单节点(如需集群请跳过这一节)解压和启动开启X-Pack Security和生成p12证书(之后配置内置密码和ssl要用到)配置内置用户密码配置ssl(先配置内置用户密码再配ssl)配置控制台…

2025年Android NDK超全版本下载地址

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…

CSS outline详解:轮廓属性的详细介绍

什么是outline? outline(轮廓)是CSS中一个有趣的属性,它在元素边框(border)的外围绘制一条线。与border不同的是,outline不占用空间,不会影响元素的尺寸和位置。这个特性使它在某些…

蓝桥杯之c++入门(六)【string(practice)】

目录 练习1:标题统计方法1:一次性读取整行字符,然后统计方法2:按照单词读取小提示: 练习2:石头剪子布练习3:密码翻译练习4:文字处理软件练习5:单词的长度练习6&#xff1…

Windows编程:下载与安装 Visual Studio 2010

本节前言 在写作本节的时候,本来呢,我正在写的专栏,是 MFC 专栏。而 VS2010 和 VS2019,正是 MFC 学习与开发中,可以使用的两款软件。然而呢,如果你去学习 Windows API 知识的话,那么&#xff0…

基于ansible部署elk集群

ansible部署 ELK部署 ELK常见架构 (1)ElasticsearchLogstashKibana:这种架构是最常见的一种,也是最简单的一种架构,这种架构通过Logstash收集日志,运用Elasticsearch分析日志,最后通过Kibana中…

(苍穹外卖)项目结构

苍穹外卖项目结构 后端工程基于 maven 进行项目构建,并且进行分模块开发。 1). 用 IDEA 打开初始工程,了解项目的整体结构: 对工程的每个模块作用说明: 序号名称说明1sky-take-outmaven父工程,统一管理依赖版本&…

达梦数据库从单主模式转换为主备模式

目录标题 达梦数据库单主转主备配置笔记前期准备服务器环境数据库安装磁盘空间 流程流程图说明基于脱机备份方式的单实例转主备流程图详细步骤说明 详细步骤1. 检查主库归档模式2. 配置主库配置文件dm.ini 文件dmmal.ini 文件dmarch.ini 文件 3. 备份主库数据库4. 备库配置新建…

计算机毕业设计hadoop+spark+hive民宿推荐系统 酒店推荐系统 民宿价格预测 酒店价预测 机器学习 深度学习 Python爬虫 HDFS集群

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

接口对象封装思想及实现-笔记

目录 接口对象封装代码分层思想 封装案例封装Tpshop商城登录Tpshop商城登录参数化 接口自动化测试框架 接口对象封装 代码分层思想 分层思想:将普通思想分为两层,分为接口对象层和测试脚本层 接口对象层: 对接口进行封装,封装好之…

【LeetCode】5. 贪心算法:买卖股票时机

太久没更了,抽空学习下。 看一道简单题。 class Solution:def maxProfit(self, prices: List[int]) -> int:cost -1profit 0for i in prices:if cost -1:cost icontinueprofit_ i - costif profit_ > profit:profit profit_if cost > i:cost iret…

微信小程序调用企业微信客户服务插件联通企业微信客服

需求背景:用户在小程序页面点击按钮添加企业微信的客服 相关技术:基于uniapp开发的微信小程序 插件名称:企业微信客户服务插件「联系我」插件 - 文档 - 企业微信开发者中心 仔细阅读文档「联系我」插件 - 文档 - 企业微信开发者中心 以下是我的实例代码 1.首先先小程序管…

大数据数仓实战项目(离线数仓+实时数仓)2

目录 1.课程目标和课程内容介绍 2.数仓维度建模设计 3.数仓为什么要分层 4.数仓分层思想和作用 5.数仓中表的种类和同步策略 6.数仓中表字段介绍以及表关系梳理 订单表itcast_orders 订单明细表 itcast_order_goods 商品信息表 itcast_goods 店铺表 itcast_shops 商…

【Android】jni开发之导入opencv和libyuv来进行图像处理

做视频图像处理时需要对其进行水印的添加,放在应用层调用工具性能方面不太满意,于是当下采用opencvlibyuv方法进行处理。 对于Android的jni开发不是很懂,我的需求是导入opencv方便在cpp中调用,但目前找到的教程都是把opencv作为模…

理解 C 与 C++ 中的 const 常量与数组大小的关系

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C语言 文章目录 💯前言💯数组大小的常量要求💯C 语言中的数组大小要求💯C 中的数组大小要求💯为什么 C 中 const 变量可以作为数组大小💯进一步的…

小菜鸟系统学习Python第六天

1.函数: 2.全局变量加global(这里博主记混了,global使用的时候不能赋值,然后就错了两回) 3.内嵌函数 4.闭包 存在嵌套函数:在一个函数内部定义另一个函数。内部函数引用外部函数的变量:内部函数使用了外部函数作用域中的变量。外部函数返回内部函数&…

【STM32系列】利用MATLAB配合ARM-DSP库设计IIR数字滤波器(保姆级教程)

ps.源码放在最后面 设计FIR数字滤波器可以看这里:利用MATLAB配合ARM-DSP库设计FIR数字滤波器(保姆级教程) 设计IIR滤波器 MATLAB配置 设计步骤 首先在命令行窗口输入"filterDesigner",接着就会跳出以下界面&#xf…

WSL2中安装的ubuntu搭建tftp服务器uboot通过tftp下载

Windows中安装wsl2,wsl2里安装ubuntu。 1. Wsl启动后 1)Windows下ip ipconfig 以太网适配器 vEthernet (WSL (Hyper-V firewall)): 连接特定的 DNS 后缀 . . . . . . . : IPv4 地址 . . . . . . . . . . . . : 172.19.32.1 子网掩码 . . . . . . . .…