文章目录

  • 1.前言
  • 2.路由器的工作原理
  • 3.路由协议
    • 3.1静态路由协议
    • 3.2动态路由协议
      • 3.2.1 RIP动态路由协议
      • 3.2.2 OSPF动态路由协议
  • 4.发展趋势

1.前言

  路由器(Router)是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的TCP/IP协议。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置。所以路由器可以把非TCP/IP网络连接到因特网上。

2.路由器的工作原理

  路由器是一种三层设备,是使用IP地址寻址,实现从源IP到达目标IP地址的端到端的服务,其工作原理如下:

  • 路由器接收到数据包,提取目标IP地址及子网掩码计算目标网络地址
  • 根据目标网络地址查找路由表,如果找到目标网络地址就按照相应的出口发送到下一个路由器
  • 如果没有找到,就看一下有没有默认路由,如果有就按照默认路由的出口发送给下一个路由器
  • 如果没有找到就给源IP发送一个出错ICMP数据包表明没法传递该数据包 如果是直连路由就按照第二层MAC地址发送给目标站点

3.路由协议

  路由器通过路由表转发数据,路由表中的条目又分为直连网段和非直连网段。直连网段的路由由本地接口自动形成,非直连网段需要静态路由或动态路由,将网段添加到路由表中

3.1静态路由协议

  静态路由是由管理员手动配置的,是单向的,它的特点是缺乏灵活性,只适用于中小网络需要配置的路由条目少的情况。

华为设备静态路由命令:
ip route-static <对方网段> <子网掩码> <下一跳IP>

  当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发到默认路由接口,默认路由的表示形式为 0.0.0.0/0,默认路由只有在网络的末节才可以使用。

默认路由命令
ip route-static 0.0.0.0 0.0.0.0 <下一跳IP>
#默认路由是静态路由的一种

  有时候我们会设置浮动路由,浮动路由指的是配置两条静态路由,默认选取链路质量优(带宽大的)作为主路径,当路径出现故障时,由带宽较小的备份路由顶替,保持网络的不中断。

浮动路由命令
ip route-static <对方网段> <子网掩码> <下一跳IP> preference <优先级>
#默认静态路由的优先级为60,备份路由的优先级要比60大

3.2动态路由协议

动态路由协议分类:

  动态路由是基于动态路由协议实现的,不需要手动书写,路由器之间会互相学习,动态路由在一定程度上减少了管理任务,但也有缺点,会占用网络带宽。

3.2.1 RIP动态路由协议

  RIP是距离-矢量型动态路由协议,使用“跳数”(即metric)来衡量到达目标地址的路由距离,为了防止出现路由环路,限制了最大跳数为15跳,16跳为不可达。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷新,则相应的距离就被设定成无穷大,并从路由表中删除该表项。
  RIP有V1和V2两个版本,V1提出较早所有有非常多的缺陷,V2支持子网路由选择,支持CIDR,支持组播,并提供了验证机制。但是RIP为了解决环路问题,限制了最大跳数为15跳,使得RIP不太适用于大型网络。随着OSPF和IS-IS的出现,很多人认为RIP已经过时了,不过RIP占用带宽小,易于配置、管理等特点使其非常适用于小型网络。

RIPV1和RIPV2的区别:

版本 RIPV1 RIPV2
区别 有类路由协议 无类路由协议
广播更新255.255.255.255 组播更新224.0.0.9
不支持VLSM 支持VLSM
自动路由汇总,不可关闭 自动汇总可关闭,可手动汇总
不支持不连续子网 支持不连续子网
华为设备RIP命令:
rip     #进入RIP协议
undo summary    #关闭路由自动汇总
version 2       #版本2,dis this查看,命令提示符还是显示的1
network <直连网段>    #宣告直连网段
display rip <版本> route        #查看rip路由

3.2.2 OSPF动态路由协议

  OSPF是链路状态路由协议,一般用在同一个AS(自治系统)内.
  OSPF的工作原理:两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息(LSA)形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。

OSPF基本特点:

  • 支持无类域间路由CIDR
  • 支持区域划分
  • 无路由自环
  • 支持变长子网掩码VLSM
  • 路由变化收敛速度快
  • 使用IP组播收发协议数据
  • 支持多条等值路由
  • 支持协议报文的认证

工作流程简述:
建立邻接关系–链路状态数据库–最短路径树–路由表

OSPF区域:
  为了适应大型网络,OSPF在AS内划分多个区域,每个OSPF路由器只负责维护所在区域的完整链路状态信息。

  OSPF的区域分为骨干区域 area 0 和非骨干区域(除了0以外的所有区域),OSPF区域的维护依赖 area 0 骨干区域路由信息的中转,非骨干区域不能脱离骨干区域存在,若只有一个单区域,那一定是area 0。非骨干区域主要有四种,末梢、完全末梢、次末节、完全次末节。

Router ID:
  router id 是OSPF区域内唯一标识路由器的IP地址。
选取router id的规则:

  • 选取路由器loopback接口上数值最高的IP地址
  • 如果没有loopback接口,在物理端口中选取IP地址最高的
  • 使用router-id命令指定Router ID

DR/BDR和DRothers:
  在网络中任意两台路由器之间都要交换路由信息,如果网络中有n台路由器,则需要建立n(n-1)/2个邻接关系,这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源。为解决这一问题,OSPF协议定义了指定路由器DR,备份指定路由器BDR和其他路由器DRothers。
DR/BDR选举过程:

  • 在第一个报文中,DR,BDR字段都为空(0.0.0.0)
  • 如果DR,BDR字段都为空,先选举出BDR,先比较优先级,越大越优先(默认为1,0不参与选举),如果优先级相同,会比较router-id,越大越优先
  • 如果DR字段为空,BDR为非空,BDR会升级为DR,然后再选举BDR
  • 如果DR为非空,BDR为空,会选举BDR
224.0.0.5--DRothers的组播地址
224.0.0.6--DR/BDR的组播地址
设置DR/BDR优先级命令:
reset ospf process  #重启ospf
ospf dr-priority ?  #设置DR/BDR优先级
dis ospf interface  #查看DR/BDR

OSPF数据包类型

OSPF包类型 描述
HELLO包 用于发现和维持邻居关系
DBD数据库描述包 用于向邻居发送摘要信息以同步链路状态数据库,选举DR/BDR
LSR链路状态请求包 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息
LSU链路状态更新包 收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA
LSAck链路状态确认包 确认已经收到的LSU,每个LSA需要被分别确认

OSPF多区域
  OSPF根据网段来划分区域,同一网段必须在同一个区域内,多区域的拓扑结构为花瓣型,其他区域必须与 area 0 直连才可通信,如果不能直连,则需要配置虚链路。OSPF多区域内的路由器主要划分为下面几种:

简写 含义
IR 内部路由器(internal router)
ABR 区域边界路由器(area border router)
BR 骨干路由器(backbone router)
ASBR AS边界路由器(AS boundary router)


OSPF的LSA类型

查看LSA命令
(1)查看1类LSA(区域内路由)
display ospf lsdb router
(2)查看2类LSA(DR通告本区域路由)
display ospf lsdb network
(3)查看3类LSA(区域间LSA)
display ospf lsdb summary
(4)查看4类LSA(外部指向ASBR路由)
display ospf lsdb asbr
(5)查看5类LSA(外部路由)
dis ospf lsdb ase
(6)查看7类LSA(nssa 区域产生的外部路由)
diplay ospf lsdb nssa

OSPF四种特殊区域

  • Stub区域(末梢区域)
  • Totally Stub区域(完全末梢区域)
  • NSSA区域
  • Totally NSSA区域

参考:https://www.ibadboy.net/archives/1622.html

4.发展趋势

  传统路由器在转发每一个分组时,都要进行一系列复杂操作,包括路由查找、访问控制表匹配、地址解析、优先级管理以及其他附加操作。这些操作大大影响了路由器的性能与效率,降低了分组转发速率和转发的吞吐量,增加了CPU的负担。经过路由器的前后分组间的相关性很大,具有相同目的地址和源地址的分组往往连续到达,这为分组的快速转发提供了实现的可能与依据。新一代路由器,如IP Switch、Tag Switch等,就是采用这一设计思想用硬件以实现快速转发,从而大大提高了路由器的性能与效率。

路由器原理和路由协议介绍相关推荐

  1. 路由器原理及路由协议

    本文通过阐述TCP/IP网络中路由器的基本工作原理,介绍了IP路由器的几大功能,给出了静态路由协议和动态路由协议,以及内部网关协议和外部网关协议的概念,同时简要介绍了目前最常见的RIP.OSPF.BG ...

  2. 路由器距离向量算法计算举例_路由器基本原理是什么 路由器基本发展情况介绍【图文】...

    PLC路由器原理和ARR 路由器基本原理 要实现网络中通信节点彼此之间的通信,首先必须给每个节点分配一个唯一的IP地址.路由器应该至少有两个网络端口,分别连接LAN或者WAN子网上,每个端口必须具有一 ...

  3. 计算机网络自顶向下方法华为路由器配置OSPFv3路由协议实现端到端的通信

    一 实验目的 掌握OSPFv3 的基本配置功能,在 R1.R2 和 R3 上启用OSPFv3 路由协议.R1 和R2 引入外部直连路由来与 PC 互联,要求PC1 与能够与PC2 互访. 二 实验原理 ...

  4. 网络技术——路由器原理与测试

    网络技术--路由器原理与测试 下列练习项目实验搭建详细过程配置与说明 练习1:实现静态路由传输协议 练习2:实现默认路由传输协议 a.开启远程登录控制路由器 1.路由器 1.1.路由器工作原理 1.2 ...

  5. 关于协议转换器的分类以及工作原理的详细介绍

    现如今,随着互联网的广泛应用,我们国内的网民也是突破了8.29亿,相信,大家对于网络这块是非常的熟悉了,它是一种虚拟的东西,但是它几乎存在于我们生活的各个角落,在很大程度的让我们的日常生活变得便捷与丰 ...

  6. REVIEW of 路由器原理与设计

    路由器原理与设计 李韬 第一讲 一.课程介绍 课程关注点:互联网基础设施(router switch-) 课件中关于路由器的定义:路由器又称网关(Q:二者是否等同?),是互联网基础设施的最关键设备,一 ...

  7. Pulsar简介及Pulsar部署、原理和使用介绍

    Pulsar简介及Pulsar部署.原理和使用介绍 Pulsar简介 诞生背景 Apache Pulsar 是一个企业级的分布式消息系统,最初由 Yahoo 开发,在 2016 年开源,并于2018年 ...

  8. php mysql 编程原理_PHP开发的原理及优势介绍

    原标题:PHP开发的原理及优势介绍 在目前的网站开发语言中,比较常用的主要有:PHP.ASP ..NET.JSP等,使用最广泛的要数PHP语言了. PHP一种通用开源脚本语言.语法吸收了C语言.Jav ...

  9. ARKit从入门到精通(2)-ARKit工作原理及流程介绍

    转载请注明出处:ARKit从入门到精通(2)-ARKit工作原理及流程介绍 1.1-写在前面的话 1.2-ARKit与SceneKit的关系 1.3-ARKit工作原理 1.3.1-ARSCNView ...

  10. Nginx工作原理及相关介绍

    Nginx工作原理及相关介绍 一.Nginx工作原理与模块介绍 1.Nginx基本工作原理 NGINX以高性能的负载均衡器,缓存,和web服务器闻名.Nginx由内核和模块组成,其中,内核的设计非常微 ...

最新文章

  1. SQL Server 2008 :安装
  2. 3306 端口 要不要修改_zabbix 自动发现并监控所有端口
  3. Nodejs介绍及其安装
  4. 二分查找(5种方式实现二分查找),栈
  5. Android常用权限
  6. php 物理路径,网站物理路径查找思路
  7. 《销售总监》读书笔记
  8. 小黑小波比.git clone报错解决方案
  9. oracle学习笔记 后记
  10. 陈强教授《机器学习及R应用》课程 第十七章作业
  11. 记一次npm发包失败的经历
  12. app推广假量怎么识别?
  13. 我以为猫咪牙齿断了一点不要紧,结果…
  14. SRAM种类、产家、种类简介
  15. 【CVPR2020】Detection in Crowded Scenes: One Proposal, Multiple Predictions笔记
  16. 分布式搜索elasticsearch搜索功能【进阶】
  17. SQLserver2000服务点启动服务没反应,无法启动,解决办法
  18. qt unable to creat a debugging问题
  19. 如何向纯洁的女朋友解释并发与并行的区别?
  20. 第三章 集合的基本概念和运算 3.2集合的基本运算

热门文章

  1. 车辆悬架刚度计算方法
  2. 什么?四六级及格线不是425分?!
  3. Silverlight新型的富媒体
  4. python读书心得体会范文_读书心得体会范文6篇
  5. jq实现表格冻结窗格的样式
  6. 什么是DNS污染?DNS污染的解决方法
  7. 六字诀养生法 气功口诀
  8. Android判断首次安装
  9. Alpha 测试(α测试) Beta 测试(β测试)区别
  10. win7在网上邻居上看不到别的电脑如何解决