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

[Cloud Networking] Layer3 (Continue)

文章目录

  • 1. DHCP Protocol
    • 1.1 DHCP 三种分配方式
    • 1.2 DHCP Relay (中继)
  • 2. 路由协议 (Routing Protocol)
    • 2.1 RIP (Routing Information Protocol)
    • 2.2 OSPF Protocol
      • 2.2.1 OSPF Area
      • 2.2.2 Route ID / DR / BDR
      • 2.2.3 LSA / OSPF 邻居表 / LSDB / OSPF路由表
    • 2.3 BGP Protocol
    • 2.4 IS-IS Protocol
    • 2.5 ICMP(Internet Control Message Protocol)
  • 3 Subnet 子网
  • 4 VLAN (Virtual Local Area Network) 虚拟局域网

1. DHCP Protocol

DHCP: Dynamic Host Configuration Protocol, 动态主机配置协议。是一个局域网络协议,用途:

  1. 内部网络或者网络服务供应商自动分配IP给用户
  2. 提供内部网络管理员作为对所有电脑中央管理的手段

当一个机器启动时,没有IP,会发送 DHCP Discover message. DHCP Server 收到 Discover message, 为机器分配一个永久的IP。

在这里插入图片描述

1.1 DHCP 三种分配方式

  1. 自动分配:

管理员在server上建立地址池进行分配

  1. 手工分配

由 管理员为少数特定客户端(如WWW服务器等) 静态绑定固定的IP地址,通过DHCP将配置的固定IP地址发给客户端

  1. 动态分配

DHCP给主机指定一个有时间限制的IP地址,到达使用期限后或主机明确表示放弃这个地址时,客户端需要重新申请地址; 如果客户端没有重新申请,则这个地址将可能被其它的主机使用; 绝大多数客户端得到的都是这种 动态分配的地址(可以解决IP地址不够用的困扰)

1.2 DHCP Relay (中继)

如果DHCP服务器与客户端不在同一个网络,就需要中继 (Relay) 代理。
在这里插入图片描述
大型企业网络中会有很多vlan,不可能为每个vlan设置DHCP服务器,同时 vlan 间通信是靠高层的、三层交换机路由器防火墙,通讯的实质即拆分子接口然后分配给各个vlan端口,但是路由设备在处理物理网络流量的时候,是不允许广播包通过,所以 DHCP Relay实质就是把 DHCP 广播包转化为单播包再进行传输。

2. 路由协议 (Routing Protocol)

由于互联网规模庞大,所以网络会被分为许多 自治系统(AS-Autonomous system)。AS内部的路由器全部运行在同样的路由算法,AS之间是互联的,所以每个AS中一个或多个路由器用于不同AS之间的通信,这些路由器称为 网关路由器,用于将AS之外的目的地址转发分组。

所以路由选择协议可以划分为两大类:内部网关协议外部网关协议
AS之间的路由选择也叫做 域间路由选择,AS内部的路由选择叫做 域内路由选择
在这里插入图片描述

内部网关协议 IGP(interior gateway protocol),常见的有 RIP、OSPF 、IS-IS协议
外部网关协议 EGP(external gateway protocol),常见的有BGP协议

2.1 RIP (Routing Information Protocol)

RIP 路由信息协议,是一种分布式的基于距离向量的动态路由选择协议,使用“跳数”(最大15)来衡量到达目标地址的路由距离,最大的优点是简单。
在这里插入图片描述
R2 路由转发表

类型网络端口下一跳IP度量
C10.0.0.0/8G0/00
L10.0.0.2/32G0/00
C20.0.0.0/8G0/10
L20.0.0.2/32G0/10
R30.0.0.0/8G0/120.0.0.11
R30.0.0.0/8G0/010.0.0.11
R192.168.0.0/24G0/120.0.0.11
R192.168.1.0/24G0/010.0.0.11

RIP的距离称为跳数,RIP允许一条路径最多只能包含15个路由器,距离大于等于16即为不可达,所以适用于中小型网络。

由于RIP仅和相邻路由器狡猾信息,并且按照固定的时间间隔交换信息,如果某个路由器出现故障,相邻的路由器会把距离更新为16(不可达),但需要经过固定的时间间隔才能把更新信息传递给其他相邻的路由器并依次传递,即坏消息传递速度慢。

2.2 OSPF Protocol

开放式最短路径优先(Open Shortest Path First)是一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码和汇总、层次区域划分等优点。

2.2.1 OSPF Area

为了适应大型网络,OSPF在AS内划分了多个Area,每个OSPF路由器值维护所在区域的完整链路状态信息。划分区域时,会创建一个称为Area 0的中心区域,其他区域始终与Area 0相连。

路由器分类说明
区域内路由器IR所连接的网络属于同一个区域,IR只运行一个OSPF协议实例。
主干路由器BBR主干区域中的路由器
区域之间的路由器 ABR(汇聚IP)连接到多个AS,且必须连到主干区域,为每个链接Area分别运行一个OSPF协议实例
AS边界路由器 ASBR与其他AS交换路由信息

在这里插入图片描述
虚拟链路

  • 主干区域必须是联通的,所有区域边界路由器ABR都能通过主干区域到达其他区域边界路由器
  • 如果不满足上面的条件,主干区域可以配置虚拟链路(virtual link)使其变成联通的

下图中 R3 和 R4 在主干区域,但是需要通过Area3才能实现联通。这时,可以在主干区域的R3、R4之间配置一条 virtual link,使得主干区域连续,实际上这条链路是通过N1中的物理连接来进行通信

在这里插入图片描述

2.2.2 Route ID / DR / BDR

Router ID 路由器ID,32位无符号整数,默认用loopback接口中最大的IP作为 Router ID。

NameInfo
DRDesignated Router, 选举Router ID最大的路由为DR
只有DR能代表该网络发送网络的链路状态
BDRBackup Designated Router,选举Router ID第二大的路由为 BDR
DR发生故障的时候,BDR变成DR
DROTHERNot DR nor BDR

在这里插入图片描述

R1> show ip ospf neighbor
Neighbor ID     Pri   State       Dead Time   Address       Interface
192.168.123.2   1   FULL/BDR      00:00:32    192.168.123.2 FastEthernet0/0
192.168.123.3   1   FULL/DR       00:00:31    192.168.123.3 FastEthernet0/0R3> show ip ospf neighbor
Neighbor ID     Pri   State       Dead Time   Address         Interface
192.168.123.1   1   FULL/DROTHER  00:00:36    192.168.123.1 FastEthernet0/0
192.168.123.2   1   FULL/BDR      00:00:39    192.168.123.2 FastEthernet0/0R2> show ip ospf neighbor
Neighbor ID     Pri   State       Dead Time   Address         Interface
192.168.123.1   1   FULL/DROTHER  00:00:31    192.168.123.1 FastEthernet0/0
192.168.123.3   1   FULL/DR       00:00:32    192.168.123.3 FastEthernet0/0

2.2.3 LSA / OSPF 邻居表 / LSDB / OSPF路由表

LSA (Link State Advertisement)链路状态通告,用于描述链路状态信息,路由器接口的状态信息,例如接口开销、连接的对象。

借用CSDN其他文章中的图 原文链接
在这里插入图片描述

  • 相邻路由器之间周期性发送HELLO报文,以便建立和维护邻居关系
  • 建立邻居关系后,给邻居路由器发送数据库描述报文(DBD),也就是将自己链路状态数据库中的所有链路状态项目的摘要信息发送给邻居路由器
  • 收到数据库描述报文后,若发现自己缺少其中某些链路状态项目,则会发送链路状态请求报文(LSR)。
  • 对方收到链路状态请求报文后,则会将其所缺少的链路状态项目的详细信息封装在链路状态更新报文(LSU)中发送回去
  • 收到链路状态更新报文后,将这些信息添加到自己的链路状态数据库中,随后发回链路状态确认报文(LSACK)

如上,OSPF在传递链路状态信息之前,需要建立 OSPF邻居关系 ,通过hello包文件里,OSPF邻居表显示了OSPF路由器之间的邻居状态,使用 display ospf peer 查看:

在这里插入图片描述

R1 > display ospf peerOSPF Process 1 with Router ID 10.0.1.1Neighbors
Area 0.0.0.0 interface 10.0.12.1(G1/0/0)'s neighbors
Router ID:10.0.12.1 Address: 10.0.12.2 GR State: NormalState: Rull Mode:Nbr is Master Priority:1DR: 10.0.12.1 BDR:10.0.12.2 MTU:0...

LSDB(Link State DataBase, 链路状态数据库),用于描述AS内部的拓扑结构。

每个路由器负责发现、维护与邻居的关系,并将已知的邻居和链路费用 LSA报文 描述,通过可靠的泛洪与 AS 内的其他路由器周期性交互,每个 AS 内的路由器收到所有 LSA 并放入自己的 LSDB

每台路由器基于 LSDB,使用 SPF(Shortest Path First,最短路径优先) 算法进行计算,每台路由器都计算出一棵以自己为根、无环的、拥有最短路径的树,这样路由器就已经知道了到达所有网段的优选路径。

边界路由器可以通过距离矢量算法互相传递路由,从而实现整个网络的互联。

每隔一段时间或链路状态发生变化时,重新生成LSA,路由器通过泛洪将LSA通告出去,实现路由实时更新。

2.3 BGP Protocol

2.4 IS-IS Protocol

2.5 ICMP(Internet Control Message Protocol)

3 Subnet 子网

既然Layer 2 可以通过switch实现设备互连,何必通过IP划分子网呢?

看过之前 [Cloud Networking] Layer 2 协议 文章,可以知道 Layer 2的协议需要通过广播来发现对方,假如一个二层网络包含了大量的客户机,那么就会产生广播风暴,假如把网络划分成不同的网段,每个网段内的客户及数量进行限制,那么引起的广播风暴比较良性,对网络的影响就会较小。

再有一个原因,工作在三层的是路由器 Router,它比交换机更聪明,能够支持更多的网络配置,例如Router的某个接口上,只允许访问80端口(HTTP),其他都过滤掉。

因此,我们对网络进行划分,将网络划分为不同的子网,每个子网内部处于同一个网段,比如 10.0.0.0/24,子网通过 Router 连接其他的子网。

4 VLAN (Virtual Local Area Network) 虚拟局域网

如图所示,2个switch分别连了2台电脑,A和C都是Vlan10, B和D都是Vlan20,如果想要A和C通信,B和D通信,且不同vlan的电脑不能通信,那么就要用到 Vlan,两个switch之间的link叫做 Trunck。
在这里插入图片描述

一个Trunk可以连接 Switch,也可以链接 Switch 和 Router,默认情况,一个trunk既可以处理switch 所有 vlan 的vlan流量,也可以配置为只允许传递某一个vlan的流量。

下面再来认识一下Vlan用到的端口
在这里插入图片描述

  1. Trunk/Tagged Port: Trunk 和 普通物理连线并无区别,但是一条trunck两端的接口需要经过特殊的配置。两端接口再Cisco设备上被称为 trunk port,其他vendor的设备上则叫做 tagged port,图中红色圈。Trunk/Tagged Port 用于给数据包添加 Vlan Tag。

  2. Access/Untagged Port: 橙色圈是客户机连到switch上的端口,叫做 Access Port,这里应该有4个,圈一个示例一下。Access Port用来发送和接受没有 Vlan Tag 的数据包。也就是说,Access/Untagged Port只能用于一个Vlan。
    在这里插入图片描述

  1. A向 switch 1 发送数据包 Ethernet Frame
  2. Trunk / Tagged Port 发送前会添加Tag信息,其中 VLAN Identifier标识属于哪个Vlan的流量
  3. Frame经过Trunk到达switch 2,switch 2解析Tag之后,丢掉Tag发送到指定的 Access Port发给客户机C

相关文章:

  • CCAA质量管理【学习笔记】​​ 备考知识点笔记(五)质量设计方法与工具
  • Tomcat Websocket应用实例研究
  • 使用高斯混合模型(GMM)进行猫狗音频聚类(Kaggle Audio Cats and Dogs)
  • requests post json/data;requests response 接收不同数据
  • 华为安全Security认证,你了解多少?
  • Nginx之Stream(TCP/UDP)负载均衡
  • Ubuntu24多版本python解释器使用
  • 基于可视化设计的低代码开发分析与应用探讨
  • VBA技术资料MF160:提取文件夹中文件的详细信息
  • 项目计划
  • 基于QT和C++实现的中国象棋
  • Cascadia Code 字体
  • 【面试八股文】谈一谈你对TCP和UDP的区别是怎么理解的?
  • 小甲鱼——字典
  • 【并发编程实战】内存模型--解决可见性和有序性的利器
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【comparator, comparable】小总结
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • Angular2开发踩坑系列-生产环境编译
  • canvas绘制圆角头像
  • Koa2 之文件上传下载
  • miaov-React 最佳入门
  • Promise面试题2实现异步串行执行
  • SSH 免密登录
  • 程序员该如何有效的找工作?
  • 分享几个不错的工具
  • 前端面试之CSS3新特性
  • 如何在GitHub上创建个人博客
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 通信类
  • mysql面试题分组并合并列
  • ​Java基础复习笔记 第16章:网络编程
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​字​节​一​面​
  • ‌移动管家手机智能控制汽车系统
  • #laravel 通过手动安装依赖PHPExcel#
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (JS基础)String 类型
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (八)Flask之app.route装饰器函数的参数
  • (二)构建dubbo分布式平台-平台功能导图
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (转)Scala的“=”符号简介
  • (转)菜鸟学数据库(三)——存储过程
  • (转)人的集合论——移山之道
  • (转)四层和七层负载均衡的区别
  • (转载)Linux网络编程入门
  • *算法训练(leetcode)第三十九天 | 115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
  • .htaccess配置重写url引擎
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .net wcf memory gates checking failed