路由表的作用

article/2025/10/3 2:51:52

何谓路由

确定设备如何在不同网络之间相互传输的过程,也即通过互联的网络把信息从源地址传输到目的地址的活动被称之为路由。通常用于执行路由活动的设备被称为路由器。通过使用路由表,路由器则规划网络包到各自目的地的线路。路由的功能不仅仅是诸如路由器等网络设备能够完成,在安装有该功能的任意计算机系统也能够完成

你可以运行 route print 或 netstat -r 显示本地计算机上的路由表

ROUTE [-f] [-p] [command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]--操作路由表

我们报文通过路由器转发之后就会通过这些接口列表转发出去,下面就是转发规则

路由表中的每一个路由项具有五个属性,在此我将它们分为四个部分:

1、网络地址(Network Destination)、网络掩码(Netmask):网络地址和网络掩码相与的结果用于定义本地计算机可以到达的网络目的地址范围。通常情况下,网络目的地址范围包含以下四种:

  • 主机地址;某个特定主机的网络地址,网络掩码为255.255.255.255,如上表中的6、7、9;

  • 子网地址,某个特定子网的网络地址,如上表中的4、5;

  • 网络地址;某个特定网络的网络地址,如上表中的2、3、8;

  • 默认路由;所有未在路由表中指定的网络地址,如上表中的1,在后文将详细描述;

在添加路由时,Windows要求输入的网络地址和网络掩码相与后的结果必须等于网络地址,否则路由添加会失败。

2、网关(Gateway,又称为下一跳服务器):在发送IP数据包时,网关定义了针对特定的网络目的地址,数据包发送到的下一跳服务器。如果是本地计算机直接连接到的网络,网关通常是本地计算机对应的网络接口,但是此时接口必须和网关一致;如果是远程网络或默认路由,网关通常是本地计算机所连接到的网络上的某个服务器或路由器。

3、接口(Interface):接口定义了针对特定的网络目的地址,本地计算机用于发送数据包的网络接口。网关必须位于和接口相同的子网(默认网关除外),否则造成在使用此路由项时需调用其他路由项,从而可能会导致路由死锁。

4、跃点数(Metric):跃点数用于指出路由的成本,通常情况下代表到达目标地址所需要经过的跃点数量,一个跃点代表经过一个路由器。跃点数越低,代表路由成本越低;跃点数越高,代表路由成本越高。当具有多条到达相同目的网络的路由项时,TCP/IP会选择具有更低跃点数的路由项

注:

localhost、127.0.0.1 和 本机IP之间的区别:

1、localhost等于127.0.0.1,不过localhost是域名,127.0.0.1是IP地址。

2、localhost和127.0.0.1不需要联网,都是本机访问(基于本地作用)。

3、本机IP需要联网,本机IP是本机或外部访问, 本机 IP 就是本机对外放开访问的IP地址,这个网址就是与物理网卡绑定的IP地址。

何为路由

路由工作在TCP/IP四层协议栈的网络层,通过转发分组实现网络互连,并连接两个IP子网。是指分组从源端到目的端时路径的进程。在我国,路由一般支持TCP/IP协议。路由器根据网络层的地址和路由器内部维护的路由表决定下一跳地址,分组到达路由时,更改链路层MAC帧的报头继续转发。

待转发的数据报怎么找到下一跳的路由器?
 当路由器收到一个带转发的数据报,在从路由表得出下一跳路由器的IP地址后,不是把这个地址填入IP数据报,而交送数据链路层的网络
 接口软件。网络接口把下一跳的路由器的IP地址转换成硬件地址(arp),并将此硬件地址放在链路层的MAC帧的首部,然后根据这个硬件地址找到下一跳路由器。(所以路由是三层协议栈,为了转发IP数据报)


  平常人们一直容易将路由与桥接弄混,但是桥接和路由的区别非常明显:路由与桥接的关键区别点在于路由发生在网络层,桥接发生在链路层

路由转发过程

路由转发过程:先确定最短路径,然后再通过所选路径上的网络传输数据。
  一个分组到达路由器之后,先于本地路由表中的对应的子网掩码做按位与运算,然后再在本地的路由表中查询,如果与本地IP相同,则已经到达目的端,由当前路由解析数据;如果计算出不是本地IP地址,则此IP为下一跳的路由IP,继续进行路由转发;若在当前路由器中查询不到下一跳地址,即转向默认的下一跳IP。转发分组不可能在一个路由停下,这样会给当前路由的性能造成负担,且每个转发分组的IP数据包的报头中都有一个8位的生存时间TTL,这个生存时间并不是以时间单位计数,而是计算当前已经转发过的路由次数,在源端,设置好最大转发次数值,即生存时间(time to live),每经过一个路由,数值减一,直到最终路由器检查到生存时间为0。则丢弃该分组。
 

路由算法的区分要素--选择最短跳数

静态

严格意义上来说,静态算法并不能称之为算法。
  是网络在开始运行前由网关建立的映射关系,在网关不更改的情况下,这种静态算法基本不会变,且设计也相对简单。但因为无法变化的原因,静态算法不能对网络关系的变化做出改变。所以在大型网络中并不适用。(适用于军事国防)

动态

动态路由是在静态路由上发展出现的,当使用场景变大,网络服务存在变化,必须在某些用户不使用路由发送数据时,断开他的连接,给所需用户。且在最终不可分组路由时可以进行静态算法的补充。

路由算法的衡量标准

因为路由算法多种多样,在何种情况下使用何种路由算法,则成了网络路由布置的重中之重,所以,路由的衡量标准必须最科学,最准确。
  1、可靠性
  路由算法计算得到的路径,在一段时间后可能失效,或者自身计算得到路径是一条不存在的路径,导致分组在网络中成为“流浪儿”。
  2、路径长度
  即分组在路由过程中转发的次数。
  3、路由延迟
  数据从源端发送,到目的端接收数据的所花时间。
  4、负载
  网络中路由器的繁忙程度。
  5、通信代价
  即通信花费的运作费,维护费等资金费用。

路径算法的代表算法

LS算法

在连接初,源端路由会向全网络中的各个路由发送一个分组数据包,每个路由则会回复给他一个分组数据包,其中包含自己的IP地址。
  
  源端路由向全网络发送一个响应数据包,每个接收到的路由则会回复一个应答数组包,收到应答数据包后,将往返时间除以2,得到路由时间以及延时时间的总和。
  
  向网络中公布自己的信息,同时接收其他路由发来的信息。,这样,每个路由都会及时更新自己的路由表等其他信息,维持自己的路由信息时最新的。
  
  选择一个合适的算法,得到两个端的最佳路径。
  
  由此看来,LS算法貌似是一个站在大局上对待网络上所有路由的架构的建立,而不针对的那个路由之间的转发分组。

Dijkstra算法

路由器先建立一张网络图,确定源端、目的端,然后建立一个邻接矩阵,每两个路由节点之间都有自己的链路权值,例如a,b节点的链路权值就是[i,j],i和j分别是a路由和b路由的权值。
  
  路由器为每个节点维护一个状态记录,包含三个字段:
  1、前序字段–当前节点的前一节点;
  2、长度字段–从源端到当前路由的权值之和;
  3、标号字段–表示节点的状态–永久或暂时
  
  然后路由器初始化所有节点的状态纪录,长度设置为无穷大,标号为暂时。

路由器将源端路由的标号设为“永久”,记为T节点,随即检查与标号为“永久”节点直接相连的路由节点,选择路径最近节点将其标号设为“永久”,此节点为最新的T节点。
  
  检查当前T节点是否为目的端节点,如果不是,则继续上述操作,如果是,则根据回溯法记录经过的每一个节点,则为源端到目的端的路径。
 

更新路由表算法

路由算法之距离矢量算法和链路状态算法(BIP/OSFP)

1.节点A发送给相邻节点B其到所有节点的距离信息

2节点A发送给链路上所有节点其到相邻节点的距离信息

分组转发算法如下:
1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
2)若N就是于此路由直接相连的某个网络地址,则进行直接交付,不需要在经过其他的路由器,直接把数据报交付目的主机。
3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则执行(4)
4)若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由;否则,执行5)
5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由;否则,执行6)
6)报告转发分组出错。
 

ip/mask主要就为了寻址,找路。

 


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

相关文章

路由表中的信息

在“查表判断转发目标”这一点上,路由器和交换机的大体思路是类似的,不过具体的工作过程有所不同。交换机是通过MAC头部中的接收方MAC地址来判断转发目标的,而路由器则是根据IP头部中的IP地址来判断的。由于使用的地址不同,记录转…

路由表学习笔记(一):如何查看路由表和操作路由表

文章目录 查看路由表操作路由表 查看路由表 在终端使用route print命令可以查看路由表信息 C:\Users\Administrator>route print结果如下图 路由表信息解释 网络目标:显示了路由器连接的所有网段。网络掩码:显示了该网段的子网掩码,路…

路由表包含哪些信息?如何配置浮动路由?

什么是路由? 路由表包含哪些信息? 如何配置浮动路由? 一、 什么是路由 网络中的各个节点,处在不同网段,路由器收到1个数据包,要将这个数据包送往目的地。 路由器转发数据包的依据,就是路由表…

第9节 路由表的分类及路由器简单原理

路由表的分类及路由器简单原理 0 摘要1 路由概述2 路由表2.1 路由表概述2.2 路由表的分类2.3 检查路由表的先后顺序 3 路由器工作原理3.2 工作原理3.2 交换机与路由器的对比 4 相关命令—查看路由表及配置路由条目参考文章 0 摘要 本节主要讲解了路由表的形成及路由器的工作原…

路由表

参考谢希仁版《计算机网络》路由表是TCP/IP模型中链接两端的重要概念。路由是指导报文转发的路径信息,路由表是指所有路径信息的集合。 在计算机网络中,路由表(routing table)或称路由择域信息库(RIB, Routing Informa…

路由器的功能与路由表的查看

标题:路由器的功能与路由表的查看 一、路由器的工作原理 1.1、路由、路由器 路由:从原主机到目标主机的转发过程。 路由器:能够将数据包转发到正确的目的地,并在转发过程中选择最佳路径的设备。根据路由表转发数据。 转发原理…

云服务器搭建网站(初学)

第一步:来到/var/www/目录下 第二步:在www目录下创建web1文件夹 第三步:来到root目录 第四步:在root目录上传所需要的压缩包 第五步:解压刚刚上传的压缩包到指定的目录(我们刚刚所创建的web1目录&#xff…

腾讯云服务器简单搭建项目

文章目录 前言重置服务器putty启动nginxwinscp使用putty添加root权限 前言 前两个有个朋友买了个阿里云服务器,给我说很便宜,还搭建了个项目,给我教学了一下。我兴冲冲去阿里云官网一看,卧槽新人活动,我是老用户了。一…

初学者云服务器搭建及配置

1、轻量级服务器购买: 进入官方网址主页:https://www.aliyun.com/?utm_contentse_1000301881 拖动至最下方,找到学生机:https://promotion.aliyun.com/ntms/act/campus2018.html?spm5176.12825654.7y9jhqsfz.69.3dbd2c4aMKLKvN…

华为云服务器搭建

最近因为要开发一个小的软件,不得不配置一个服务器。因为以前用过新浪的SAE,毕竟在学校做的东西都是demo级别的,新浪的那免费的垃圾玩意也就凑合用着了。 我以前做的网站和微信都是用的新浪SAE。我觉得这玩意有两个地方真是太坑爹了&#xff…

使用云服务器搭建我的世界(Minecraft)服务端

目录 1.背景 2.我的世界服务端配置步骤 2.1获取服务端核心 2.2获取服务端mod 2.3配置云服务器 2.3.1安装JAVA环境 2.3.2运行服务端 2.3.3给服务器添加mod 2.4优化服务端 2.4.1使用tmux终端运行 2.4.2将服务端的Log日志输出为网页 3.客户端配置 4.小结 1.背景 去年…

阿里云网站服务器环境搭建(全套步骤)

1、远程服务器安装iisphpmysql环境 iisphpmysql环境:https://download.csdn.net/download/qq_39161501/10402847 2、解析域名 3、登录服务器打开IIS->绑定域名 4、 (1)云服务器ECSA->网络和安全->安全组->创建安全组 https://h…

搭建服务器

一、服务器搭建 服务器可以分为网络服务器和本地服务器两种类型,各有优势,网络服务器不需要硬件设计,访问便捷;本地服务器在数据安全上更具优势。 (1)本地服务器搭建 参考链接:如何搭建一个自…

从零开始搭建自己的云服务器

以前一直都是在本地运行服务器,然后用localhost访问,这样有个局限的地方就是,你只能在局域网中访问。于是就想租一个云服务器。 这里我选择了腾讯云,10元一个月的没抢到,反倒是抢到了15天免费体验。 经过实名认证之后&…

CentOS搭建云服务平台

目录 文章目录 目录前言创建主机配置主机网络安装环境使用Xshell修改系统镜像源开始安装环境 安装虚拟机配置虚拟机网络克隆虚拟机网络桥接修改主机网络配置修改虚拟机网络配置 注意参考资料 前言 最近在学习在centOS上搭建一个云服务平台,所以写下该文章当做笔者的…

手把手教你配置阿里云服务器搭建网站

写在前面 出于好奇,我用学生优惠租了一台阿里云服务器,打算做一些Java web的开发,但是毕竟是第一次接触这样的东西,还是比较懵逼,在这个过程中遇到了一些问题(肯定会遇到问题的),但…

如何利用腾讯云服务器搭建个人网站

你是否想要搭建一个网站,却苦苦找不到方法,你是否看到别人搭建的网站,自己羡慕不已,今天,就教大家来搭建一个简单的个人网站。 在这里,我采用的是腾讯云服务器搭建的。首先,需要注册腾讯云账号…

教你如何使用云服务器搭建我的世界Minecraft服务器(超级简单-10分钟完成)

一个人玩游戏没啥意思,和朋友一块联机呢,距离太远,家庭局域网宽带又没有公网ip,你的朋友没办法与你联机,然而你只需要一台服务器即可搞定了;但是很多用户没没接触过相关的内容,具体的该怎么操作…

新手搭建云服务器详细过程

最近突然想使用下服务器,为后续工作准备,作为之前Linux都没有玩过的我感觉很费劲,所以就是无数次的百度,最终将服务器搭建好了;期间整理了一些资料,和过程上也做了些笔记,这里和大家分享下&…

阿里云服务器搭建 图文详细教程

一:远程桌面 首先先确定端口号是否开放 并且进入安全中心给0.0.0.0添加ip白名单 点击添加 完成效果 二:通过ssh远程连接对云服务器进行安装配置 输入密码点击确定即通过ssh连接到云服务器终端 对以下命令进行操作 apt update apt install xrdp [输入y&a…