什么是路由?

news2025/7/22 15:22:14

什么是路由?

介绍

**路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。**路由发生在OSI网络参考模型中的第三层即网络层。

路由引导分组转送,经过一些中间的节点后,到它们最后的目的地。作成硬件的话,则称为路由器。路由通常根据路由表——一个存储到各个目的地的最佳路径的表——来引导分组转送。因此为了有效率的转送分组,创建存储在路由器存储器内的路由表是非常重要的。

路由与桥接的不同,在于路由假设地址相似的节点距离相近。这使得路由表中的一项纪录可以表示到一群地址的路径。因此,在大型网络中,路由优于桥接,且路由已经成为互联网上查找路径的最主要方法。

较小的网络通常可以手动设置路由表,但较大且拥有复杂拓扑的网络可能常常变化,若要手动创建路由表是不切实际的。尽管如此,大多数的公共交换电话网络(PSTN)仍然使用预先计算好的路由表,在直接连线的路径断线时才使用预备的路径;见公共交换电话网路由。“动态路由”尝试按照由路由协议所携带的信息来自动创建路由表以解决这个问题,也让网络能够近自主地避免网络断线或失败。

动态路由作为当前最普及的实现方式。然而,设置路由协议常须要经验与技术;目前的网络技术还没有发展到能够全自动地设置路由。

工作原理

数据以数据包的形式沿着任何网络传输。每个数据包都有一个标头,其中包含有关数据包预定目的地的信息。当数据包向目的地移动时,多台路由器可能会对其进行多次路由。路由器每秒对数百万个数据包执行此过程数百万次。

当数据包到达时,路由器首先在路由表中查找其地址。这类似于乘客查阅公交时刻表以找到前往目的地的最佳公交路线。然后,路由器将数据包转发或移动到网络中的下一个点。

例如,当您从办公室网络中的计算机访问网站时,数据包首先会发送到办公室网络路由器。路由器查找标头数据包并确定数据包的目的地。然后,它查找其内部表并将数据包转发到网络内部的下一个路由器或另一台设备,例如打印机。

有哪些类型?

有两种不同的路由类型,取决于路由器创建路由表的方式:

静态路由

在静态路由中,网络管理员使用静态表手动配置和选择网络路由。在网络设计或参数需要保持不变的情况下,静态路由非常有用。

这种路由技术的静态特性会带来预期的缺点,例如网络拥塞。虽然管理员可以在链路出现故障时配置回退路径,但静态路由通常会降低网络的适应性和灵活性,从而限制网络性能。

动态路由

在动态路由中,路由器根据实际网络条件在运行时创建和更新路由表。它们尝试使用动态路由协议找到从源到目的地的最快路径,动态路由协议是一组用于创建、维护和更新动态路由表的规则。

动态路由的最大优势在于它可以适应不断变化的网络条件,包括流量、带宽和网络故障。

主要的路由协议有哪些?

路由协议是一组规则,用于指定路由器如何识别和转发网络路径上的数据包。路由协议分为两个不同的类别:内部网关协议和外部网关协议。

内部网关协议最适合自治系统,即由单一组织管理控制的网络。外部网关协议可以更好地管理两个自治系统之间的信息传输。

内部网关协议

这些协议评估自治系统,并根据不同的指标做出路由决策,如下所示:

  • 跳数,或源和目的地之间的路由器数量
  • 延迟,或将数据从源发送到目的地所花费的时间
  • 带宽,或源和目的地之间的链路容量

以下是内部网关协议的一些示例。

路由信息协议-RIP

路由信息协议(RIP)依靠跳数来确定网络之间的最短路径。RIP 是一种传统协议,如今已经没有人使用,因为它不能很好地扩展到更大规模的网络实施。

开放最短路径优先协议-OSPF

开放最短路径优先协议(OSPF)从自治系统中的所有其他路由器收集信息,以确定通往数据包目的地的最短和最快路由。您可以使用各种路由算法或计算机进程实施 OSPF。

外部网关协议

边界网关协议(BGP)是唯一的外部网关协议。

边界网关协议-BGP

BGP 定义了通过互联网进行的通信。互联网是连接在一起的自治系统的大集合。每个自治系统都有自治系统号(ASN),它是通过向互联网号码分配机构注册而获得的。

BGP 的工作原理是跟踪最近的 ASN 并将目的地地址映射到其各自的 ASN。

什么是路由算法?

路由算法是实现不同路由协议的软件程序。它们的工作原理是为每条链路分配一个成本数字;成本数字是使用各种网络指标计算的。每台路由器都尝试以最低的成本将数据包转发到下一个最佳链路。

通常使用以下两种形式的路由协议来达成:距离向量算法连线状态算法。所有路由算法几乎都可以分类到这两种算法中。

距离矢量路由

距离矢量路由算法要求所有路由器定期互相更新找到的最佳路径信息。每台路由器都会向所有已知目的地发送有关当前总成本评估的信息。

最终,网络中的每台路由器都会发现所有可能的目的地的最佳路径信息。

链路状态路由

在链路状态路由中,每台路由器都会发现网络中的所有其他路由器。路由器利用此信息绘制整个网络的地图,然后计算任何数据包的最短路径。

常见问题

路由表: 指记录路由信息的表(可以单路由表,也可以多路由表)

img

img

问题1: 按上面的路由表来看,如果要访问10.1.1.1这个IP,请问会怎么走?

答: 会通过10.1.1.0/255.255.255.0这个路由条目后面指示的ens33网卡去寻找10.1.1.1。

问题2: 按上面的路由表来看,如果要访问119.75.217.26这个IP,请问会怎么走?

答: 会通过网关10.1.1.2去寻找。

当在一台linux机器上要访问一个目标ip时,请记住linux以下四步口诀(在linux默认的单路由表情况下,如果想更深 入了解多路由表,请看课外拓展内容):

如果本机有目标ip,则会直接访问本地; 如果本地没有目标ip,则看第2步

  1. 用route -n查看路由,如果路由条目里包含了目标ip的网段,则数据包就会从对应路由条目后面的网卡出去
  2. 如果没有对应网段的路由条目,则全部都走网关
  3. 如果网关也没有,则报错:网络不可达

参考链接

1.维基百科 https://zh.wikipedia.org/wiki/%E8%B7%AF%E7%94%B1

2.https://zhuanlan.zhihu.com/p/149243461

  1. 掌握Linux路由这一篇就够了!
  2. 什么是路由?

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

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

相关文章

六【 SpringMVC框架】

一 SpringMVC框架 目录一 SpringMVC框架1.什么是MVC2.SpringMVC概述3.SpringMVC常见开发方式4.SpringMVC执行流程5.SpringMVC核心组件介绍6.快速构建Spring MVC程序✅作者简介:Java-小白后端开发者 🥭公认外号:球场上的黑曼巴 🍎个…

工业三防平板可应用于各种复杂苛刻的工作环境

伴随着工业互联网技术的快速发展,生产制造自然环境繁杂,机器设备规定比较严苛。普通平板在工业场景户外场景等都比较容易出现磕碰或者出现其它因素如进水、进灰尘而引发设备故障。三防平板之所以在建筑工程的应用较为广泛,这与其独特的性能是…

线性数据结构:数组 Array

一、前言数组是数据结构还是数据类型?数组只是个名称,它可以描述一组操作,也可以命名这组操作。数组的数据操作,是通过 idx->val 的方式来处理。它不是具体要求内存上要存储着连续的数据才叫数组,而是说&#xff0c…

scratch和平使者 电子学会图形化编程scratch等级考试一级真题和答案解析2022年12月

目录 scratch和平使者 一、题目要求 1、准备工作 2、功能实现 二、案例分析

视图、游标、慢查询日志

Java知识点总结:想看的可以从这里进入 目录2.7、视图、游标2.7.1、视图2.7.2、游标2.7、慢查询日志2.7、视图、游标 2.7.1、视图 视图是一种虚拟存在的表,同真实表一样,视图也由列和行构成,它不存在于数据库中,是我们…

【红黑树】红黑树插入操作相关的细节和疑难拆解分析

本文就红黑树的插入操作进行细致到每一个小步骤的解析。1,成员变量本红黑树使用了三叉链结构,使用的时候尤其要记得处理指向父亲的指针。为何在节点的构造函数中,默认节点的颜色为红色?因为考虑到红黑树的性质(对于每个…

汇编语言 标志位总结

缩写原意: Overflow of = OV NV [No Overflow] Direction df = DN (decrement) UP (increment) Interrupt if = EI (enabled) DI (disabled) Sign sf = NG (negative) PL (positive) Zero zf = ZR [zero] NZ [ Not zero] Auxiliary Carry af = AC NA [ No AC ] Parity pf = PE…

计网个人作业05

R1 链路层可以提供如下服务 链路层服务IP能否提供?TCP能否提供?流量控制✔差错检测✔✔差错纠正全双工、半双工✔ R2 不冗余 IP层有丢包的情况⼀个⻓的 TCP 报⽂段会被分⽚成多个 IP 数据报形成不同的帧,不同的帧可能会被不同链路传输。同…

二.线性表之顺序表

文章目录前言一.顺序表的概念及结构二.顺序表的接口实现1.顺序表的动态存储2.顺序表的初始化3.顺序表尾插#封装:扩容函数4.顺序表尾删5.顺序表头插6.顺序表头删7.顺序表查找8.顺序表在pos位置插入x9.顺序表删除pos位置的值10.顺序表销毁11.顺序表打印三.源1.Seqlist…

3000字,聊一聊学习低代码和学习编程到底有什么区别?

作者介绍胡艳平,万应低代码联合创始人、CTO,中国信通院低代码/无代码推进中心技术专家,全国信标委《低代码开发平台能力要求》起草人之一。曾有科技公司CTO问我:低代码是不是一种不用敲代码的编程语言?在不确定低代码能…

机器人学习的坚持与收获-2023

所有的机会都需要自己努力去争取,毕竟天会下雨下雪,但是不会掉馅饼。之前写过关于毕业生的一些博文。机器人工程ROS方向应用型本科毕业设计重点课题学生验收成果(暂缓通过)机器人工程ROS方向应用型本科毕业设计重点课题学生验收成…

如何让人机对话更自然?

来源:投稿 作者:顾相欢 编辑:学姐 AAAI-2022|定制对话的人设和知识背景 原文标题: Call for Customized Conversation: Customized Conversation Grounding Persona and Knowledge 原文链接: https://arxiv.org/ab…

分类预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆网络数据分类预测

分类预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆网络数据分类预测 目录分类预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆网络数据分类预测分类效果基本描述程序设计参考资料分类效果 基本描述 1.Matlab实现WOA-CNN-BiLSTM鲸鱼算法优化卷…

Ubuntu下gcc多版本管理

Ubuntu下多gcc版本的管理 开发过程中,在编译一个开源项目时,由于代码使用的c版本过高,而系统内置的gcc版本过低时,这个时候我们就需要升级gcc版本,但是为了避免兼容性问题,安装多个版本的gcc,然…

uniapp中调用.net6 webapi

使用uniapp开发程序时,不管是小程序,还是H5界面,它们只是一个显示界面,也就是只充当前台界面,那么我们后台使用.net6 webapi写业务逻辑,然后前端访问后端,即可实现前后端分离开发软件的模式。 …

连不上虚拟机我谁都怀疑了!唯独没怀疑VirtualBox这个浓眉大眼的家伙!

这里写自定义目录标题一、问题和现象环境二、思考和尝试三、问题原因VirtualBox NAT模式的坑四、解决办法1、双网卡2、配置转发端口一、问题和现象 fileZilla连接不上虚拟机(Linux/centOS)。 ping不通虚拟机。 ssh连接不上虚拟机。 环境 Win10主机使用…

上岸16K,薪资翻倍,在华为外包做测试是一种什么样的体验····

现在回过头看当初的决定,还是正确的,自己转行成功,现在进入了华为外包测试岗,脱离了工厂生活,薪资也翻了一倍不止。 我17年毕业于一个普通二本学校,电子信息工程学院,是一个很不出名的小本科。…

吃透8图1模板,人人可以做架构

前言 在40岁老架构师 尼恩的读者交流群(50)中,很多小伙伴问尼恩: 大佬,我们写架构方案, 需要从哪些方面展开 大佬,我们写总体设计方案需要一些技术亮点,可否发一些给我参考下 诸如此类,问法很多…

Serverless Kubernetes的思考与征程

​作者:牛秋霖、张维、李传云、易立 本文将针对Serverless Container技术的特殊性,分享其对Kubernetes的架构影响,以及阿里云在Serverless Kubernetes方面架构选择。 一、Serverless Container缘起 在2018年,容器团队与弹性计算团…

9 种会让你大吃一惊的副业工具

然而,副业需要使用许多工具。我举个例子:我在网上写文章,做数字产品,需要用到各种工具。相信我,免费的互联网工具可以帮助我快速完成工作,这样我就可以赚更多的钱并有更多的空闲时间。注意:这些…