当前位置: 首页 > news >正文

计算机网络 —— 网络层 (路由协议)

计算机网络 —— 网络层 (路由协议)

  • 什么是路由协议
  • 内部网关协议
    • RIP
      • 关键特性
    • OSPF
      • 主要特点
  • 外部网关协议
    • BGP
      • 关键特性

我们今天来看路由协议:

什么是路由协议

路由协议是网络设备(主要是路由器)用来决定数据包在网络中传输路径的规则集。它们通过共享路由信息来构建并维护路由表,确保数据能够从源设备有效地传输到目标设备。路由协议按照不同标准可以分为以下几类:

  1. 按工作原理分类
  • 距离矢量路由协议(Distance Vector Routing Protocols):如RIP(Routing Information Protocol)和IGRP(Interior Gateway Routing Protocol),这类协议基于跳数(hop count)作为度量标准来选择路径,并且定期向邻居广播整个路由表。它们简单但容易产生路由环路和慢收敛的问题。
  • 链路状态路由协议(Link State Routing Protocols):如OSPF(Open Shortest Path First)和IS-IS(Intermediate System to Intermediate System),这些协议通过泛洪网络拓扑信息来构建一个完整的网络图,每个路由器基于这个图计算最佳路径。它们提供了更快的收敛速度和避免路由环路的能力。
  1. 按用途分类
  • 内部网关协议(IGPs,Interior Gateway Protocols):在单个自治系统(AS)内部使用的路由协议,如RIP、OSPF和IS-IS。
  • 外部网关协议(EGPs,External Gateway Protocols):用于不同自治系统之间的路由传递,最著名的是BGP(Border Gateway Protocol)。
  1. 按路由表的更新方式分类
  • 静态路由:由网络管理员手动配置,不会随网络变化自动更新。
  • 动态路由:路由信息会根据网络的变化自动更新,包括上述的距离矢量和链路状态协议。
  1. 按支持的协议类型分类
  • 单播路由协议:处理单个发送者到单个接收者的通信。
  • 多播路由协议:设计用于支持一对多的通信,如PIM(Protocol Independent Multicast)。
  • 组播路由协议:实质上与多播路由协议相同,术语上有时互换使用,关注于高效地向多个目的地发送数据。

在这里插入图片描述在这里插入图片描述

路由协议的选择取决于网络的规模、复杂性、性能要求以及管理的便捷性。动态路由协议特别适用于大型网络,因为它能自动适应网络拓扑变化,减少管理负担,而静态路由则更适合小型网络或者对安全性、简单性有特殊需求的场景。

我们这里以内部和外部进行区分:

在这里插入图片描述

内部网关协议

内部网关协议(IGP,Interior Gateway Protocol)是在一个自治系统(Autonomous System, AS)内部运行的路由协议,负责在AS内部的路由器之间传播路由信息,以确定数据包在该自治系统内部的最佳传输路径。IGP的主要目标是高效、准确地更新路由表,确保数据能够在复杂的网络环境中快速、可靠地传输。几种常见的IGP包括:

  1. RIP(Routing Information Protocol):一种较为古老的IGP,基于距离矢量算法。RIP使用跳数(hop count)作为度量标准来确定到达目的地的最佳路径,最大跳数限制通常是15跳,超过这个值即认为网络不可达。RIP有版本1和版本2,后者支持VLSM(Variable Length Subnet Mask)和认证功能。
  1. OSPF(Open Shortest Path First):基于链路状态的IGP,能够提供更为快速的收敛速度和避免路由环路的能力。OSPF路由器收集整个网络的链路状态信息,并使用Dijkstra最短路径优先算法计算出到达每个网络的最短路径树。OSPF支持复杂的网络划分,包括区域划分(Area)来优化路由更新和减少带宽消耗。
  1. IS-IS(Intermediate System to Intermediate System):最初设计用于ISO的CLNP(ConnectionLess Network Protocol),后来扩展支持IPv4和IPv6。IS-IS也是链路状态协议,其工作原理与OSPF类似,但在某些方面更为简洁高效,特别是在大规模网络中。IS-IS支持分层的网络设计,通过Level-1(区域内)和Level-2(区域间)路由器来分割路由计算的复杂度。
  1. EIGRP(Enhanced Interior Gateway Routing Protocol):Cisco开发的高级距离矢量协议,结合了距离矢量和链路状态特性,支持快速收敛、负载均衡、VLSM和毒性逆转等功能。EIGRP使用度量值(Metric)来评估路径,该度量值综合考虑了带宽、延迟、可靠性、负载和最大传输单元(MTU)等因素。

我们这里介绍RIP和OSPF

RIP

RIP(Routing Information Protocol,路由信息协议)是一种经典的内部网关协议(IGP),用于在小型到中型的同构网络中实现动态路由选择。以下是RIP协议的关键特征和工作原理:

关键特性

  1. 距离矢量协议:RIP基于距离矢量算法工作,使用跳数(hop count)作为路由度量。一个跳数代表数据必须通过的一个网络设备(通常是路由器),RIP认为最佳路径是跳数最少的路径。RIP最多支持15跳,超过这个限制的网络被视为不可达,这限制了RIP在较大网络中的应用。
  1. 周期性更新:RIP路由器周期性地(默认每30秒)广播或组播其完整的路由表给直连的邻居,即使路由信息未发生变化。这种方式有助于保持网络中所有路由器的路由信息同步,但同时也增加了网络的广播流量。
  1. 收敛慢与路由环路:由于其基于距离矢量的特性,RIP容易产生路由环路。为了解决这个问题,RIP采用了水平分割(Split Horizon)、毒性反转(Poison Reverse)、保持计时器(Hold-Down Timer)和触发更新(Triggered Update)等机制。
  1. 版本:RIP有两个主要版本,RIPv1和RIPv2。RIPv1是无类别路由选择协议,不支持VLSM和CIDR,且路由更新时不携带子网掩码信息。RIPv2是其增强版,支持VLSM、CIDR和认证,且路由更新通过组播地址发送而非广播,提高了效率。
  1. UDP传输:RIP使用用户数据报协议(UDP)作为传输层协议,端口号为520。RIP的消息封装在UDP数据包中,然后通过IP协议传输。

在这里插入图片描述
在这里插入图片描述

OSPF

开放最短路径优先(OSPF,Open Shortest Path First)是由互联网工程任务组(IETF)开发的一种基于链路状态的内部网关协议(IGP),主要用于在一个自治系统(AS)内部高效地分配路由信息。OSPF协议的设计初衷是为了替代早期的IGP,如RIP,以提供更强大的功能和更好的网络性能。以下是OSPF协议的一些核心特点和机制:

主要特点

  1. 链路状态路由协议:OSPF基于链路状态算法,每个路由器维护一个链路状态数据库(LSDB),包含整个网络的拓扑结构信息。通过这个数据库,每个路由器独立计算到达各个网络的最短路径树(SPT)。
  1. 快速收敛:OSPF使用Dijkstra算法计算最短路径,并通过多种机制(如SPF算法、部分路由计算、增量更新)来加速网络变更时的收敛速度,减少网络中断时间。
  1. 分层设计:OSPF支持区域(Area)的概念,允许将大型网络划分为多个区域来管理和优化路由传播。这样可以减少路由更新的流量,提升网络效率,并增强网络的可管理性。
  1. 支持VLSM和CIDR:OSPF能够处理变长子网掩码(VLSM)和无类别域间路由(CIDR),这对于高效利用IP地址空间和简化网络设计至关重要。
  1. 认证机制:提供认证功能,可以配置接口级别的认证来保护路由信息的交换,增加网络安全性。
  1. 多种类型的OSPF报文:包括Hello报文(用于发现和维护邻居关系)、数据库描述报文(DD)、链路状态请求报文(LSR)、链路状态更新报文(LSU)和链路状态确认报文(LSAck),这些报文共同协作以实现状态同步和更新。
  1. 版本兼容性:OSPF有两个主要版本,OSPFv2用于IPv4网络,定义在RFC 2328中;OSPFv3用于IPv6网络,定义在RFC 2740中,它们在基本机制上相似,但在地址处理和一些扩展特性上有所不同。

在这里插入图片描述在这里插入图片描述

外部网关协议

BGP

边界网关协议(BGP,Border Gateway Protocol)是一种外部网关协议(EGP),用于在不同的自治系统(AS)之间交换路由信息和实现互联网的互联互通。它是构成互联网架构的核心协议之一,负责在广泛的网络中传播可达性信息,确保数据包可以从一个AS传输到另一个AS,最终达到目的地。以下是BGP的一些关键特性和工作原理:

关键特性

  1. 自治系统间的路由:BGP的主要作用是在不同的AS之间传播路由信息。每个AS都被分配一个唯一的AS号,BGP路由器通过建立邻居关系交换路由信息,以确定如何将数据包从一个AS转发到另一个AS。
  1. 路径属性:BGP路由不仅包含目的网络前缀和下一跳信息,还携带一系列路径属性,这些属性影响路由的选择和传播。常见的属性包括Origin、AS_PATH、Next_Hop、MED(Multi-Exit Discriminator)、Local_Pref等,其中AS_PATH记录了一条路由经过的所有AS,对于防止路由环路和选择最佳路径至关重要。
  1. 路由选择算法:BGP路由器基于策略和路径属性选择最优路由。策略可以基于属性设定,如优选本地AS内路由、选择AS_PATH较短的路由等。BGP并不直接使用像OSPF那样的最短路径优先算法。
  1. 邻居关系和会话:BGP通过TCP(端口179)建立邻居关系,保证了数据传输的可靠性。邻居之间交换Update、Notification、Keepalive和Open等消息来维持连接和更新路由信息。
  1. 路由反射器和联盟:为了简化大规模网络中的BGP部署,引入了路由反射器(RR)和联盟(Confederation)机制。路由反射器允许非直连的BGP对等体之间传播路由,减少了全连接的需求;联盟则是将大的AS逻辑上划分为多个小AS,便于管理且不影响外部路由选择。
  1. 版本:目前广泛使用的是BGPv4,支持CIDR和路由聚合,是IPv4和IPv6互联网的骨干路由协议。早期的BGPv1、v2版本已不再使用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们来看两道题:
在这里插入图片描述在这里插入图片描述
这里只是对协议进行了大致的梳理,并没有进行深度的阐释,这里建议大家配合视频进行食用。

相关文章:

  • 计算机网络 ——网络层(IPv4地址)
  • ThreadCache线程缓存
  • linux install cmake3.22
  • Apache POI(使用Java读写Excel表格数据)
  • Flutter 中的 ListWheelViewport 小部件:全面指南
  • Docker安装、使用,容器化部署springboot项目
  • 机器学习——卷积神经网络
  • 【ARM Cache 系列文章 2.1 -- Cache PoP 及 PoDP 介绍】
  • shell编程(二)——字符串与数组
  • 【Java】/*抽象类和接口*/
  • Sylar---协程调度模块
  • [AIGC] CompletableFuture的重要方法有哪些?
  • Android - RadioGroup中多个radiobutton同时被选中问题
  • Vue3学习第二天记录
  • 服务部署:.NET项目使用Docker构建镜像与部署
  • [笔记] php常见简单功能及函数
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Codepen 每日精选(2018-3-25)
  • HTTP请求重发
  • JavaScript-Array类型
  • js中forEach回调同异步问题
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Ruby 2.x 源代码分析:扩展 概述
  • SQLServer之创建数据库快照
  • Vue2.0 实现互斥
  • 动态魔术使用DBMS_SQL
  • 飞驰在Mesos的涡轮引擎上
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 类orAPI - 收藏集 - 掘金
  • 用element的upload组件实现多图片上传和压缩
  • ​flutter 代码混淆
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​如何在iOS手机上查看应用日志
  • #stm32整理(一)flash读写
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $$$$GB2312-80区位编码表$$$$
  • (1) caustics\
  • (11)MATLAB PCA+SVM 人脸识别
  • (7)svelte 教程: Props(属性)
  • (C语言)二分查找 超详细
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • .naturalWidth 和naturalHeight属性,
  • .net core开源商城系统源码,支持可视化布局小程序
  • .Net 应用中使用dot trace进行性能诊断