【网络基础】路由表,分组转发算法[通俗易懂]

【网络基础】路由表,分组转发算法

大家好,又见面了,我是全栈君。

前提:

IP数据报的首部中没有地方能够用来指明“下一跳路由器的 IP 地址”。


那么。当路由器接受到一个待转发的报文时。是怎样确定将该报文的传向呢?在此,我们引入“路由表”概念。

路由表如图所看到的:

【网络基础】路由表,分组转发算法[通俗易懂]

一个IP报文传到路由器R2时,则会通过查询R2所维护的路由表,依据IP报文段中的目的地址进行匹配。

得到对应的下一跳地址。

这样,

    IP 数据报终于一定能够找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。
    仅仅有到达最后一个路由器时,才试图向目的主机进行直接交付

 


当然,路由表内容不止上图所看到的。例如以下:

特定主机路由:

这样的路由是为特定的目的主机指明一个路由。

採用特定主机路由可使网络管理人员能更方便地控制网络和測试网络,同一时候也可在须要考虑某种安全问题时採用这样的特定主机路由。

  默认路由:

作用:

路由器还可採用默认路由以降低路由表所占用的空间和搜索路由表所用的时间。
仅仅要目的网络
在路由表中匹配不到就一律选择默认路由详情见后面:分组转发规则
用途
假设一个主机连接在一个小网络上。而这个网络仅仅用一个路由器和因特网连接,那么在这样的情况下使用默认路由是非 常合适的。 




当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层的网络接口软件
确认下一跳路由器之后,

网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址。并将此硬件地址放在链路层的 MAC 帧的首部。然后依据这个硬件地址找到下一跳路由器。  


以下列出路由器之间分组转发的算法


(1)  从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
(2)  若网络 N 与此路由器直接相连。则把数据报直接交付目的主机 D。否则是间接交付,运行(3)。

(3) 若路由表中有目的地址为 D 的特定主机路由。则把数据报传送给路由表中所指明的下一跳路由器。否则,运行(4)。

(4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器。否则,运行(5)。

(5) 若路由表中有一个默认路由。则把数据报传送给路由表中所指明的默认路由器;否则,运行(6)。
(6)  报告转发分组出错。 

本文由Cout_Sev 搜集整理并改动

转载请注明出处

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116367.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win10 pycharm安装教程_社区版pycharm安装教程

    win10 pycharm安装教程_社区版pycharm安装教程一、官网下载安装包:https://www.jetbrains.com/pycharm/download/#section=windows这里下载的是Pycharm社区版:二、安装Pycharm安装前先在本地新建一个文件夹,后面把pycharm安装在指定路径:1、直接双击运行,点击Next:2、选择指定路径安装,并继续点击Next:3、继续下一步,全部勾选,点击Next:4、接着点击Install安装:5、安装完成,点击f…

    2022年8月29日
    0
  • touchesBegan: withEvent: 不执行解决

    touchesBegan: withEvent: 不执行解决touchesBegan:withEvent:/ touchesMoved:withEvent:/ touchesEnded:withEvent:等只能被UIView捕获(如有问题请指出对请指出,路过的大牛请勿喷),当我们创建UIScrollView或UIImageView时,当点击时UIScrollView或UIImageView 会截获touch事件,导致tou

    2022年7月25日
    13
  • Django框架—目录文件简介

    1.创建工程2.工程目录结构3.各文件作用:1manage.py2init.py3settings.py该Django项目(此处是mysite)的设置文件或配置文件。 重要

    2022年3月29日
    49
  • 解决document.cookie无法获取到cookie问题

    解决document.cookie无法获取到cookie问题一、前言在进行前后端联调的时候,由于想实现一个登出操作,前端自动删除浏览器存储的cookie,想通过document.cookie来获取进而进行删除操作,但是发现浏览器有cookie;但是无法获取到情况遂记录二、场景复现首先登录后,浏览器中是有记录cookie的,如图然后我代码层执行documen.cookie发现获取不到,浏览器控制台也同样后面去研究了一下application中存放的cookies的属性内容,发现有个属性HttpOnly是选中状态,这个状态是由于后端设置cookie的时候

    2022年7月27日
    1
  • stimulsoft oracle,Stimulsoft Reports

    stimulsoft oracle,Stimulsoft ReportsStimulsoftReports一站式报表解决方案,支持.NET,JavaScript,Java和Php软件商:Stimulsoft当前版本:2020.3发布日期:2020/6/12推荐:以下是”Reports.Web”,如果您需要了解更多信息,您可以联系我们。支持ASP.NET,ASP.NETMVC,原生.NETCore的报表工具StimulsoftRepor…

    2022年7月26日
    7
  • 让新手给练了(2021年春节)

    1.概述对于一个建站新手来讲,最重要的莫过于2件事1.时间效率 2.性价比 换句话讲,对于非专业选手,在整个建站过程,如何省时省力,用相对简单的方式,花更少的钱建好网站是关键。基于上述,给大家带来一版适合新手的建站指南,供大家参考2.建站指南建站三大必备条件:域名+主机空间(虚机主机/服务器)+建站程序无论你是自己建站还是外包第三方建站,都需要具备这三个要素才能建网站。2.1.注册域名注册域名(域名就是人们常说的“网址”,好比一个网站的门牌号,不可或缺)注意事项:1.

    2022年4月13日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号