首页 > 其他分享 >【网络协议】精讲路由表概念!图解超赞超详细!!!

【网络协议】精讲路由表概念!图解超赞超详细!!!

时间:2024-08-24 09:54:09浏览次数:14  
标签:IP 精讲 地址 超赞超 发表 路由表 路由 路由器

亲爱的用户,搜索微信公众号:“风云说通信”,帮忙点点免费的广告,即可免费阅读该文章哦~~关注公众号,博主会定期给您推送更多免费干货喔~~

目录

前言

1.路由表定义  

2.路由控制分类

3.路由协议的分类

4.IP 地址与路由控制

5.IP数据报的发送和转发

6.路由表和转发表区别

6.1 路由表概念

6.2 转发表概念

 6.3 路由表和转发表区别

6.4 问题:有粉丝私聊我,路由表和转发表优先级哪个高?


前言

      发送数据包时所使用的地址是网络层的地址,即 IP 地址。然而仅仅有 IP 地址还不足以实现将数据包发送到对端目标地址,在数据发送过程中还需要类似于“指明路由器或主机”的信息,以便真正发往目标地址。保存这种信息的就是路由控制表。

1.路由表定义  

     在计算机网络中,路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择。

2.路由控制分类

路由控制分为静态和动态两种:

  • 静态路由控制:是指事先设置好路由器和主机中并将路由信息固定的方法,

  • 动态路由控制:是指让路由协议在运行过程中自动的设置路由控制信息的方法。

3.路由协议的分类

  • 一类是外部网关协议EGP(Exterior Gateway Protocol),

  • 一类是内部网关协议IGP(lnterior Gateway Protocol)。

      其中EGP主要用于各个不同组织机构之间的通信,而IGP则用于机构内部的通信。IP 协议始终认为路由表是正确的。然后,IP 本身并没有定义制作路由控制表的协议。即 IP 没有制作路由控制表的机制。该表是由一个叫做“路由协议”的协议制作而成。

4.IP 地址与路由控制

  • IP 地址的网络地址部分用于进行路由控制。

  • 路由控制表中记录着网络地址与下一步应该发送至路由器的地址。

  • 在发送 IP 包时,首先要确定 IP 包首部中的目标地址,再从路由控制表中找到与该地址具有相同网络地址的记录,根据该记录将 IP 包转发给相应的下一个路由器。如果路由控制表中存在多条相同网络地址的记录,就选择一个最为吻合的网络地址。

图片

路由控制表与 IP 包发送

5.IP数据报的发送和转发

IP数据报的发送和转发包括两个部分:

  • 一是主机发送IP数据报。

  • 二是路由器转发IP数据报。

      在下面讲解这个过程时为了突出重点,忽略使用ARP协议来获取目的主机或路由器接口的MAC地址的过程以及以太网交换机自学习和转发帧的过程。

图片

     如图所示的两个交换式以太网用路由器连接起来。如果IP数据报的源地址和目的地址在同一个网络中,那么可以经由交换机直接交付。而如果源地址和目的地址不在同一个网络中,那么就需要经过路由器进行间接交付。

   源主机是怎么知道目的主机与自己是否在一个网路中?源主机知道目的主机的IP地址,源主机将F的地址与自己的子网掩码相与,看是否等于自己的网络地址,如果不相同就说明两者不在同一个网络。

图片

      那这种情况下就需要路由器进行转发,所以要提前给网络中的主机设置默认网关,源主机会根据默认网关将数据报发送到路由器的对应接口。

   当路由器收到IP数据报后,检查首部是否出错,没有出错则进行转发,出错则直接丢弃。再根据IP数据报的目的地址查找匹配的条目,找到则转发给条目中指示的下一条,找不到丢弃该数据报。

图片

      比如A要发送数据报给D,根据数据报中目的地址192.168.0.129查找路由表,找到目的网络,发现它与接口1直连,则从接口1将该数据报转发出去。

6.路由表和转发表区别

6.1 路由表概念

      1、路由表通常用于路由器中,它包含了目的网络地址和下一跳地址的信息。
      2、路由表中的每一条记录通常包括目的网络的IP地址、子网掩码、下一跳路由器的IP地址以          3、及可能的优先级或成本。
      4、路由表可以包含静态路由和动态路由,其中静态路由是手动配置的,而动态路由是通过路由协议自动学习和更新的。
      5、路由表的查找过程可能涉及到最长前缀匹配,以确定数据包应该发送到哪个下一跳。

6.2 转发表概念

    1、转发表可以存在于路由器、交换机或其他网络设备中,用于快速查找数据包的转发信息。
    2、转发表通常是基于硬件的,可以快速进行查找操作,因为它是预先计算好的。
    3、转发表中的记录可能包括目的MAC地址、输出端口、VLAN信息等。
    4、在某些情况下,转发表可以看作是路由表的一种实现形式,特别是在需要快速转发数据包的场景下。

 6.3 路由表和转发表区别

    目的:路由表主要用于IP层的路由决策,而转发表可以用于多种网络层的转发决策。
    内容:路由表包含网络前缀和下一跳信息,转发表则包含目的地址和转发接口或端口信息。
    性能:转发表由于是预先计算和优化的,通常在查找速度上比路由表快。
    动态性:路由表可以动态更新,而转发表的更新可能需要更多的计算和配置。
    应用场景:路由表更常用于广域网和大型网络,转发表则在需要快速转发的局域网或数据中心中更为常见

     总的来说,路由表和转发表都是网络设备用来决定数据包转发路径的工具,但它们在实现方式、性能特点和应用场景上有所不同。

6.4 问题:有粉丝私聊我,路由表和转发表优先级哪个高?

    实际上“优先级”这个概念并不适用于比较路由表和转发表,因为它们在网络设备中扮演不同的角色。路由表用于决策过程,而转发表用于执行过程的。 

     在数据包处理流程中: 首先,路由器会查看路由表来决定数据包的下一跳地址。 然后,根据路由表中的信息,路由器可能会生成或查找转发表中的条目,以确定数据包应该从哪个接口发送。 最后,数据包根据转发表中的指令被转发出去。

     因此,并不是转发表的优先级高于路由表,而是它们在数据包处理的不同阶段发挥各自作用。路由表是决策的基础,而转发表是执行决策的结果。在某些情况下,为了提高效率,路由器可能会将路由表中的信息直接映射到硬件中的转发表,从而减少每次转发数据包时的处理时间。

标签:IP,精讲,地址,超赞超,发表,路由表,路由,路由器
From: https://blog.csdn.net/jly_20220520/article/details/141367768

相关文章

  • JavaScript函数调用之多括号调用(精讲)
    目录fn()()调用形式fn1().fn2()调用形式也叫链式调用链式调用的特点常见用途(fn())()调用形式也叫立即调用函数(IIFE)关键点:用途:示例:几种多括号调用形式:fn()()()fn1().fn2()(fn())()fn()()调用形式定义:是一个JavaScript中常见的模式,通常用于函数式编程。它的......
  • 方法精讲-言语1笔记
    前:1、听思路、听方法,举一反三是目的。2、挖坑在哪是重点。3、跟上笔记言语理解与表达考情:联考-省一、三大类:1、片段阅读2、语句表达3、逻辑填空二、1、题量40~25不等2、考场上速度,标准题量-5分钟如:40-5=35分3、开始学不要求速度4、文科80%以上的准确率合格5、理......
  • 生产者消费者模型精讲
    初识生产者消费者模型前置知识:线程创建,实现线程互斥的锁,实现线程同步的条件变量为了了解生产消费模型,我们先来引入一个现实中的例子。虽然这种操作看起来有点偷换概念,但是这无疑是一种便于对生产消费模型有一个初步印象的好方法。已知学校中有一个小卖部,有一个或多个学生从......
  • [Java SE] 核心源码精讲:java.util.Optional(JDK1.8-)
    1概述:java.util.Optional该类是Java8中引入的一个用于处理可能为null的值的容器类。这是一个容器对象,可能包含或不包含非空值。自Java1.8起支持如果有值存在,isPresent()方法将返回true;而get()方法将返回该值,若无值存在,将报异常java.util.NoSuchElement......
  • Studying-代码随想录训练营day62| Floyd 算法精讲、A*算法精讲(A star算法)、最短路算法
    第62天,完结撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★*,最后的两个算法学习,编程语言C++目录Floyd算法精讲A*算法精讲(Astar算法) A*算法 复杂度分析 A*算法的缺点最短路算法总结篇 图论总结深搜和广搜并查集最小生成树 拓扑排序 最短路算法 总结 Floyd算法精讲......
  • Studying-代码随想录训练营day59| dijkstra(堆优化版)精讲、Bellman_ford 算法精讲
    第59天,dijkstra算法的优化版本,以及Bellman_ford算法......
  • Stable diffusion小白入门第2课:文生图精讲
    大家好,这里是《Stablediffusion小白入门》系列的第2篇,在上一篇——Stablediffusion小白入门第1课:软件安装及介绍,我们成功安装了Stablediffusion软件,而今天,我们将深入了解Stablediffusion的文生图功能,让你也能生成满意的图片!AI工具SD整合包、各种模型插件、提示词、AI人......
  • C语言内存函数精讲
    目录引言1.内存分配函数malloc2.内存释放函数free3.内存拷贝函数memcpy4.内存移动函数memmove5.内存设置函数memset6.内存比较函数memcmp总结 引言在C语言编程中,内存管理是核心技能之一。C语言提供了一系列内存操作函数,这些函数在动态内存分配、数据拷贝和比较等方......
  • Django模型中的save方法 精讲
    两种方法定义在Django模型中的save方法有不同的参数处理方式。第一种方法:defsave(self,*args,**kwargs):super().save(*args,**kwargs) 特点:使用*args和**kwargs来捕获所有位置参数和关键字参数。这样的方法可以灵活地接收任何传递给save方法的参数,并将它......
  • 《专题》numpy科学计算基础库——精讲<3>
    一、numpy库的用法    首先需要导入一下fromnumpyasnp,之后调用函数就直接使用np.array() 二、实操numpy库函数    1、hstack(),水平方向拼接np.hstack它通过水平堆叠来生成数组。如下图所示,将两行三列的二维数组a和二维数组b水平方向拼接,得到一个两行六......