首页 > 其他分享 >IP 路由基础

IP 路由基础

时间:2023-09-14 23:25:23浏览次数:57  
标签:网段 IP 报文 基础 转发 路由表 路由 路由器

在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。路由是数据通信网络中最基本的要素。路由信息是指导报文转发的路径信息,路由过程就是报文转发的过程。

路由概述

路由初识

路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。三层设备根据路由转发报文到目的网段的三层设备,常见的三层设备有路由器,路由器都维护着一张路由表,路由表里存放的就是各种路由信息

路由中包含以下信息:

  • 目的网络:标识目的网段
  • 掩码:与目的共同标识一个网段
  • 出接口:数据包被路由后离开本地路由器的接口
  • 下一跳:路由器转发到目的网段的数据包所使用的下一跳地址

路由表

路由器通过各种方式发现路由,将发现的路由放入路由表中,路由表中存放着”最优“的路由条目,路由器依据路由表进行转发报文,路由表指导设备对IP报文的转发

路由信息的获取方式

直连路由

直连接口所在网段的路由,由设备自动生成。

当匹配中直连路由进行转发时,此时路由器会查看ARP表项,将报文直接转到目的地址,此时该路由器为路由转发的最后一跳路由器。使用直连路由进行路由转发时,转发的动作不是交给下一跳,而是查询ARP表项,根据ARP表项封装报文,将报文发送到目的IP。

静态路由

由网络管理员手动配置的路由条目

动态路由

路由器通过动态路由协议(如OSPF,IS-IS,BGP)学习到的路由

IP路由表格式

Destination/Mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。

Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。

Pre(Preference):表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。

Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。

NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。

Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。

路由条目优选比较准则

一.路由优先级比较

当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,路由器会比较这些路由的优先级,优选优先级值最小的路由。路由来源的优先级值(Preference)越小代表加入路由表的优先级越高,拥有最高优先级的路由将被添加进路由表。每一种路由协议都有相应的优先级。

路由优先级比较示例

路由优先级常见默认值

二.度量值

当路由器通过某种路由协议发现了多条到达同一个目的网络的路由时(拥有相同的路由优先级),度量值将作为路由优选的依据之一。路由度量值表示到达这条路由所指目的地址的代价,一些常用的度量值有:跳数、带宽、时延、代价、负载、可靠性等。度量值数值越小越优先,度量值最小路由将会被添加到路由表中。度量值很多时候被称为开销(Cost)。

度量值比较示例

路由选择匹配规则

最长匹配原则

当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位(Bit-By-Bit)比对,直到找到匹配度最长的条目,这就是最长前缀匹配机制。

最长匹配示例一:

路由表转发流程

来自10.0.1.0/24网段的IP报文想要去往40.0.1.0/24网段,首先到达网关,网关查找路由表项,确定转发的下一跳、出接口,之后报文转发给R2。报文到达R2之后,R2通过查找路由表项转发给R3,R3收到后查找路由表项,发现IP报文目的IP属于本地接口所在网段,直接本地转发。

IP路由小结

路由优选规则

当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,会选择路由优先级值最小的路由。如果这些路由学习自相同的路由协议,则优选度量值最优的。总之,最优的路由加入路由表。

路由转发规则

当路由器收到一个数据包时,会在自己的路由表中查询数据包的目的IP地址。如果能够找到匹配的路由表项,则依据表项所指示的出接口及下一跳来转发数据;如果没有匹配的表项,则丢弃该数据包。路由器的行为是逐跳的,数据包从源到目的地沿路径每个路由器都必须有关于目标网段的路由,否则就会造成丢包。

数据通信往往是双向的,因此要关注流量的往返(往返路由)。

静态路由

静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。•缺点是不能自动适应网络拓扑的变化,需要人工干预。•RTA上转发目的地址属于20.1.1.0/24的报文,在只有直连路由的情况下没有路由匹配。此时可以通过手动配置静态路由,使RTA发送前往20.1.1.0/24网段的报文交给下一跳10.0.0.2转发。

静态路由配置指令

在创建静态路由时,可以同时指定出接口和下一跳。对于不同的出接口类型,也可以只指定出接口或只指定下一跳。

对于点到点接口(如串口),只需指定出接口。

对于广播接口(如以太网接口)和VT(Virtual-template)接口,必须指定下一跳。

关联下一跳IP的方式

[Huawei] ip route-static ip-address { mask | mask-length } nexthop-address

关联出接口的方式

[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number

关联出接口和下一跳IP方式

[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number [ nexthop-address ]

缺省路由

缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发。缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由

动态路由概述

当网络规模越来越大时,使用手动配置静态路由的方式获取路由条目将变得越发复杂,同时在拓扑发生变化时不能及时、灵活响应。动态路由协议能够自动发现和生成路由,并在拓扑变化时及时更新路由,可以有效减少管理人员工作量,更适用于大规模网络。

标签:网段,IP,报文,基础,转发,路由表,路由,路由器
From: https://www.cnblogs.com/Metkey/p/17703789.html

相关文章

  • Linux基础39 nginx动静分离, nginx资源分离, rewrite概述
    一、动静分离动静分离,通过中间件将动静分离和静态请求进行分离;通过中间件将动态请求和静态请求,可以减少不必要的请求消耗,同时能减少请求的延时。通过中间件将动态请求和静态请求分离,逻辑图如下: 二、配置动静分离1.单台机器的动静分离[[email protected]]#vimwordpre......
  • 【FPGA项目】沙盘演练——基础版报文收发
    第1个虚拟项目1. 前言点灯开启了我们的FPGA之路,那么我们来继续沙盘演练。用一个虚拟项目,来入门练习,以此步入数字逻辑的大门。KeyWords:FIFO、SOF、EOF、计数器、缓存、时序图、方案设计2. 项目要求1) 输入报文长度64~2048字节;2) 输入报文之间最小间隔为两拍;3) 输出......
  • Unity 游戏开发、03 基础篇 | C#初级编程
    C#初级编程https://learn.u3d.cn/tutorial/beginner-gameplay-scripting8Update和FixedUpdateUpdate(不是按固定时间调用的)经常用于移动非物理特性的物体(不是物理对象)简单定时器接收输入FixedUpdate(调用时间间隔相同)进行任何必要的物理计算(任何物理对象)最好使用力......
  • 【php基础】基础语法01
    一、PHP简述PHP(全称:PHP:HypertextPreprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言。在一个php文件中可以包括以下内容:PHP文件可包含文本、HTML、JavaScript代码和PHP代码PHP代码在服务器上执行,结果以纯HTML形式返回给浏览器PHP文件的默认文件扩展名是".php"......
  • Cisco OSPF基础配置
    Routeospf10开启动态ospf协议名字为10Networkar0宣告直连网段需要反子网掩码并且给他分到同一区域......
  • Hbase基础知识
     数据库:被称为namespace表:创建表的时候仅需要声明列族Columnfamily即可行:row,每行数据由一个rowkey和多个column组成,按字典顺序存储。查询只能根据rowkey进行查询,不可以用sql列:column由列族columnfamily和列限定符columnqualifier限定,建表只需指明列族,列限定符无需预先定义......
  • Rockchip RK3399 - USB基础
    一、USB基础知识回顾在linux驱动移植-usb驱动基础我们对USB总线进行了简单的介绍,其中包括:USB协议版本介绍:USB1.0、USB1.1、USB2.0、USB3.0、USB3.1、USB3.2、USB4.0;USB接口:伴随着USB版本迭代,USB产生了多种连接器类型规范,比如Type-A、Type-B、Mini-A、Mini-B、Micro-A、Micro-B......
  • 无涯教程-JavaScript - IF函数
    描述如果条件为TRUE,则IF函数返回一个值,如果条件为FALSE,则返回另一个值。语法IF(logical_test,value_if_true,[value_if_false])争论Argument描述Required/Optionallogical_testTheconditionyouwanttotest.Requiredvalue_if_trueThevaluethatyouwan......
  • 一体化研发协作赋能平台:Apipost
    作为一款专为程序员打造的API管理工具,Apipost也成为开发人员圈子里的一款热门工具。Apipost拥有强大的功能和便捷操作性,这也让许多开发者爱不释手。那么,Apipost到底有哪些吸引人的特点呢?本文将为您详细介绍。统一API管理Apipost提供了统一的API管理平台,支持多种数据格式和API文档,让......
  • 一体化研发协作赋能平台:Apipost
    作为一款专为程序员打造的API管理工具,Apipost也成为开发人员圈子里的一款热门工具。Apipost拥有强大的功能和便捷操作性,这也让许多开发者爱不释手。那么,Apipost到底有哪些吸引人的特点呢?本文将为您详细介绍。 统一API管理Apipost提供了统一的API管理平台,支持多种数据格式和AP......