HCIP复习2

news/2024/5/18 14:00:31 标签: 网络, tcp/ip, udp

HCIA复习

在这里插入图片描述

抽象语言---->编码
编码---->二进制
二进制--->电信号
处理电信号
OSI参考模型----OSI/RM
应用层
表示层
会话层
传输层	端口号:0-65535;1-1023是注明端口
网络层	IP地址
数据链路层
物理层
ARP协议
正向ARP---通过IP地址获取目的MAC地址
目的IP---目的MAC-----ARP表中---180
反向ARP---通过目标MAC地址获取目标IP地址
免费ARP----利用正向ARP的原理请求自己的IP地址
1、自我介绍
2、检测地址冲突

TCP/IP

在这里插入图片描述

四层模型—TCP/IP标准模型

五层模型—TCP/IP对等模型

PDU—协议数据单元

L1PDU(layer 1 物理层)
L2PDU
...
L7PDU

应用层---数据报文
传输层---数据段
网络层---数据包
数据链路层---数据帧
物理层---比特流

封装和解封装

  • 应用层—存在封装过程,取决于不同的应用程序
  • 传输层—TCP、UDP(端口号)
  • 网络层—封装IP地址
  • 数据链路层—封装MAC地址和LLC子层(逻辑链路控制,负责向其上层提供服务)
  • 物理层—数据已经成为电信号,不存在封装

在这里插入图片描述

TCP/IP的跨层封装

目的:提高封装和解封装的速度,加快传输效率

  • 跨四层封装—应用层的数据封装完成后,直接封装网络层数据

    • 应用在直连路由之间
    • 在这里插入图片描述
  • 跨三四层封装—在应用层封装之后直接封装二层数据

    • 应用在直连交互设备之间
    • 在这里插入图片描述
    SOF---帧首定界符
    MAC子层---介质访问控制层---802.3
    LLC子层---逻辑链路控制层---802.3
    

在这里插入图片描述

DSAP:标识接收方上层处理数据报文的模块 
SSAP:标识发送方上层梳理数据报文的模块 
Control:决定我们数据传送方式的模块
	1.无连接模式
	2.面向连接模式---控制分片、重组、排序

IP地址

IPv4版本—32位二进制

IPv6版本—128位二进制

点分十进制:把32位二进制分为4部分,每部分8位,进行二进制到十进制的转换
网络位:网络位相同,则代表在同一个广播域
主机位:在同一个广播域中,使用主机位来区分不同的主机
掩码:由连续的1和连续的0组成,1代表网络位,0代表主机位

IPv4地址分类(有类分址)

单播地址---一对一通讯
	特点:既能作为源IP地址,又能作为目的IP地址
组播地址---一对多
广播地址---一对所有
	仅作为目的IP地址使用
	
A:掩码:255.0.0.0
B:掩码:255.255.0.0
C:掩码:255.255.255.0
D
E

IP地址分类原则:根据IP地址二进制的前八位数字特征分类
A:0XXX XXXX-----0-127
B:10XX XXXX-----128-191
C:110X XXXX-----192-223
D:1110 XXXX-----224-239
E:1111 XXXX-----240-255

私网IP地址—单播地址

A:10.0.0.0-10.255.255.255-----1个A类网段
B:172.16.0.0-172.31.255.255-----16个B类网段
C:192.168.0.0-192.168.255.255----256个C类网段

私网IP地址可以重复使用,但是在私网内部需要保证唯一性。

特殊IP地址

1、127.0.0.1-127.255.255.254----环回地址----本地测试
2、255.255.255.255---受限广播地址
3、主机位全1---192.168.1.255/24----直接广播地址
区别:受限广播地址是不被路由器转发的,而直接广播地址会被转发。
4、主机位全0---192.168.1.0/24----网络
5、0.0.0.0----代表没有IP地址,或代表所有IP地址
6、169.254.0.0/16----本地链路地址/自动私有地址
注意:该IP地址不能进行跨网段通讯----以太网环境

VLSM—可变长子网掩码

思路:从主机位向网络位借位。
192.168.1.0/24
192.168.1.0 000 0000/25---192.168.1.0/25
192.168.1.1 000 0000/25---192.168.1.128/25

CIDR----无类域间路由

思路:取相同,去不同
192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
192.168.0000 0000.0
192.168.0000 0001.0
192.168.0000 0010.0
192.168.0000 0011.0
192.168.0.0/22----超网
172.16.0.0/24
172.16.1.0/24
172.16.2.0/24
172.16.3.0/24
172.16.0.0/22----子网汇总

在这里插入图片描述

DHCP服务—动态主机配置协议

DHCP Discover广播

应用层DHCP Dicover
传输层UDP—源端口号68—目的端口号67
网络IP—源IP地址0.0.0.0;目的IP地址255.255.255.255
数据链路层以太网协议—源MAC地址:00-16-D3-23-68-8A 目的MAC:FFFF-FFFF-FFFF

交换机的转发原理

交换机收到电信号后,将电信号转换为二进制,之后,截取到数据帧。
查看数据帧的源MAC地址,之后将该地址和数据进入的接口的对应关系记录在本地的MAC地址表中---300s
之后,看数据帧中的目的MAC地址,基于目标MAC地址查询本地MAC地址表,如果表中存在记录关系,则按照记录进行转发;若表中无记录关系,则将进行洪泛(交换机将数据从除了进入的接口外的所有接口发送一遍)

交换机洪泛的三种情况

  • 遇到广播帧
  • 遇到组播帧
  • 遇到未知单播地址

DHCP Offer报文—广播/单播

该报文中存在一个可用的IP地址给DHCP客户端
应用层DHCP Dicover
传输层UDP—源端口号67—目的端口号68
网络IP—源IP地址68.85.2.1;目的IP地址68.85.2.101
数据链路层以太网协议—源MAC地址:路由器 目的MAC:00-16-D3-23-68-8A

DHCP Request报文—广播

应用层DHCP ACK
传输层UDP 67 68
网络IP-源IP:68.85.2.1—目的IP:68.85.2.101
数据链路层以太网协议—源MAC:路由器;目的MAC:00-16-D3-23-68-8A

DNS服务—域名解析协议

  • URL—统一资源定界符,和域名有区别,协议+网站的域名信息+文件所在的路径

目的:通过域名获取对应的IP地址

DNS端口号—53—TCP/IP

DNS查询过程

在这里插入图片描述

在这里插入图片描述


路由器的转发原理

原理:路由器将基于数据包中的目的IP地址查询本地路由表。若路由表中存再记录,则无条件按照记录 转发;若没有记录,则将直接丢弃该数据包。

获取未知网段的信息

1、直连路由:路由器默认生成可用接口直连网段的路由条目
2、静态路由:由网络管理员手工配置
3、动态路由:所有路由器运行相同的路由协议,之后路由器之间彼此沟通,计算出未知网段的路由信息

直连路由的生成条件

1、接口双UP
物理层面UP:代表链路正常
协议层面UP:代表具备通讯协议
2、接口必须配置IP地址

HTTP协议—超文本传输协议

TCP---80
超文本---包含有超链接link和多媒体元素标记的文本

TCP协议

是一种面向连接的可靠性传输协议(首先建立一个点到点的连接)

确认机制:传输确认,每接收一个数据段,则需要进行一次确认
重传机制:保障可靠性的最优机制,当一个数据段中某一个包丢失,会提醒要求重新传输这个报文

排序机制:传输一个数据段,被分为多个报文,从而不同路径传输,最终到达目的地的顺序会被打乱,所以需要重新进行排序。根据TCP数据包中的序号字段。

流控机制:滑动窗口机制---调节窗口大小从而对流量进行控制

可靠性:
TCP协议保证传输可靠性的机制 --- 确认、重传、排序、流控
MTU---最大传输单元
以太网MTU=1500
TCP在ip层面不允许分片原因是不同网络MTU不同,要进行分片,
如果丢失则不知道是那块丢了,要全部重传,因此不行。

最大段长度 MSS=MTU-TCP头部-IP头部(在TCP协议的选项字段)

PMTU---路径MTU发现协议
在IP报头中,有一个a字段是DF,该字段表明了IP报文是否允许分片,PMTU功能开启后,会将该字段设置为1,表示不能分片。
此时当需要进行分片时,发现该报文不能分片,设备会丢弃该报文,并向发送方发送一个ICMP报文(数据不可达)

TCP的面向连接

三次握手

在这里插入图片描述

四次挥手

在这里插入图片描述

MSL一个数据包在网络中最大的传输时间2min

UDP

应用层HTTP请求报文—请求方式:GET(用于请求一个网页信息)
传输层TCP 源端口:随机端口;目的IP;web服务器
网络IP协议—源IP:小明电脑;目的IP:web服务器
数据链路层以太网封装—MAC源:小明;目的MAC:网关
GET---请求读取一个web页面
POST---附加一个命名资源(web页面)
PUT---请求存储一个web页面
应用层HTTP应答报文—状态码 200—ok
传输层TCP协议—源端口号:80;目的:请求方的随机数
网络IP协议—源IP:web服务器;目的IP:小明
数据链路层以太网封装—源MAC:服务器;目的MAC:下一跳设备的MAC地址

HTTP状态码

分类 分类描述
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误


以太网(计算机 局域网)

静态路由

静态路由的优点
1.选路合理,由网络管理员手工配置
2.安全,动态路由协议的计算是需要路由器之间交互数据报文
3.不需要额外占用设备资源

缺点:
1.配置量大
2.无法基于拓扑结构的变化而自动收敛

flag:RD 递归计算而得

基本配置

方法一:
[r1]ip route-static 23.0.0.0 24 12.0.0.2-----在以太网中使用
方法二:
[r3]ip route-static 12.0.0.0 24 GigabitEthernet 0/0/0
方法三:
[r1]ip route-static 192.168.2.0 24 GigabitEthernet 0/0/1 12.0.0.2
方法四:
[r3]ip route-static 192.168.1.0 24 12.0.0.1    //需要提前铺垫好所有在路由递归查找过程中的所有路由项。

Pre — 优先级 — 当多条路由条目的目标网段相同时,仅加载优先级 最高的路由条目到路由表中。 — 数值越大,优先级反而越低 0 - 255 — 华为设备默认静态路由的优先级为60,直连路由的优先为0。

[r1]ip route-static 192.168.3.0 24 GigabitEthernet 0/0/1 192.168.2.2 — 增加出接口添加静态路由

路由环路 TTL — 64 128 255

拓展配置

1,负载均衡:当路由器访问同一个目标网段,具有多条开销相似的路径 时,可以让设备将流量进行拆分,分别从多条路径同时传输。可以起到叠 加带宽的效果。 192.168.6.0/24 Static 60 0 RD 192.168.2.2 GigabitEthernet 0/0/1 Static 60 0 RD 192.168.3.2 GigabitEthernet 0/0/2

2,环回接口:路由器配置的虚拟接口,一般用于虚拟实验而不受设备的 限制。 [r1]interface LoopBack ? <0-1023> LoopBack interface number ---- 环回接口可以创建 1024个 [r1]interface LoopBack 0 — 创建环回接口 [r1-LoopBack0] [r1]ping -a 192.168.1.1 192.168.4.1 — 指定发送Ping包中的源IP地 址

3,手工汇总:当路由器可以访问多个连续的子网时,若均通过相同的下 一跳,可以将这些网段进行汇总计算,之后仅编辑到达汇总网段的路由信 息即可,以达到减少路由条目数量,提高转发效率的目的。 192.168.00000001.0/24 192.168.00000010.0/24 192.168.0.0/22

4,路由黑洞:在汇总中,包含网络内实际不存在的网段时,可能会产生 流量有去无回的现象,造成链路资源的浪费。 192.168.0.0/22 <<< 192.168.0.0/24 192.168.0000 0001.0/24 192.168.0000 0010.0/24 192.168.0000 0011.0/24 合理的子网划分和汇总可以减少路由黑洞的产生。

5,缺省路由:一条不指定目标的路由条目。查表时,若本地路由均未匹 配,则将匹配缺省路由。 路由黑洞和缺省路由相遇将100%出环 [r1]ip route-static 0.0.0.0 0.0.0.0 12.0.0.2

6,空接口路由:防止路由黑洞和缺省路由相遇成环,在黑洞路由器上配 置一条到达汇总网段指向空接口的路由条目。 1,路由表的匹配原则:最长匹配原则(精确匹配原则) 2,null 0:如果一条路由的出接口设置为空接口,则将匹配到的数 据包直接丢弃。 [r1]ip route-static 192.168.0.0 22 NULL 0

7,浮动静态路由:通过修改静态路由的默认优先级,实现静态路由的备 份效果。 [r2]ip route-static 192.168.1.0 24 21.0.0.1 preference 80 [r1-GigabitEthernet0/0/0]shutdown — 手工关闭接口 [r1-GigabitEthernet0/0/0]undo shutdown — 重新开启接口


BFD

双向转发检测,是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。

在这里插入图片描述

在这里插入图片描述


网络类型及数据链路层协议

网络类型是根据我们数据链路层所运行的协议及规则来划分。

网络类型的分类

  • P2P—点到点—point to point
  • MA—多点接入网络
    • BMA—广播型多点接入网络
    • NBMA—非广播型多间接入网络

数据链路层协议

MA网络

以太网协议

特点:需要使用MAC地址对我们的设备进行区分和标识

原因:(为什么以太网需要使用MAC地址进行物理寻址)利用以太网协议建立起来的二层网络中可以包含多个接口,每个以太网接口之间都可以进行交互以太网数据帧,从而进行通讯,若不存在MAC地址,则无法找到对应的接收数据帧的设备。

所属类型—BMA

以太网网络的构建方式—使用以太网线缆,连接设备的以太网接口,形成的网络称为以太网络,所运行的协议就是以太网协议。

以太网的特色—可以提供极大的传输速率—频分技术

POS为服务器间高速转发数据流的线
同步=跟在报文后面
异步=以字节为单位

P2P网络(Peer to Peer)

当一个网络只能存在两台设备,且不允许第三台设备加入,这样的网络称之为P2P网路。

P2P网络的搭建—使用串口线缆连接设备的串线接口,形成的网络

串口线—一种比较古老的线缆,早期主要使用的线缆之一

串口的标准:E1—2.048M/bps T1—1544M/bps


HDLC—High-Level Data Link Control—高级数据链路控制协议

标准:(两种不兼容思科、锐捷)

  • 满足工业标准的HDLC协议—ISO组织(IBM公司—SDLC—一种面向比特的同步数据链路控制协议—以帧为单位来传输数据)
  • 不满足工业标准的HDLC协议—各家厂商根据ISO标准的HDLC上进行修改得出

HDLC网络搭建

理论上不用配ip,为了服务上层协议要配ip

display interface brief
link-protocol hdlc

HDLC的接口地址借用

串行接口可以借用loopback接口的ip地址和对端建立连接。
[Huawei-Serial4/0/0]ip address unnumbered interface LoopBack 1
要配路由且该路由条目出口配置为出接口,因为没有ip地址

将环回接口IP地址配置为对端接口IP地址的同网段地址,且掩码为32

PPP—点到点协议(Point to Point Protocol)

PPP协议优点

  • 相较于HDLC,PPP协议具备良好的兼容性。统一标准协议(任何穿行接口或串行线缆,子要能够支持全双工通讯,就可以支持PPP协议)
  • 具有良好的可移植性。—PPPoE
  • 可以完成认证和授权
  • 没有重传机制,开销小,速度快

PPP会话的搭建

​ PPP协议建立会话需要经过三个阶段

  • 链路建立阶段—LCP协议
  • 认证阶段—PPP认证(可选项)
  • 网络层协议协商阶段—NCP协商

PPP链路建立阶段

在这里插入图片描述

  • Dead阶段—被称为物理层不可用阶段
    • 当通讯双方的两端检测到物理链路激活,就会从dead阶段跃迁到Establish阶段
  • Establish阶段—会进行LCP参数
    • 在该阶段,当LCP参数协商成功后,会进入opened状态,表示底层链路已经建立。
  • Authenticate阶段—大多数情况下,链路两端的设备是需要经过认证阶段后才能进入到网络层协议阶段。
    • PPP链路在缺省情况下,不要求进行认证
    • 如果要求进行认证,则在链路建立阶段必须指定认证协议。
    • 认证方式是在双方链路建立阶段进行协商的。
  • 在Network阶段—PPP链路进行NCP协商
    • 通过NCP协商来选择和配置一个网络层协议并进行该网络层协议的参数协商
    • 只有当响应的网络层协议协商成功后,该网络层协议才可能通过这条PPP链路进行发送。
  • NCP协议成功后,PPP链路将保持通讯状态
    • 若PPP运行过程中,物理链路断开、认证失败、定时器超时、手工关闭连接等操作都会导致链路进入Terminate阶段
  • Terminate阶段—链接关闭的阶段
    • 若此时所有的链路资源均已被施放,则通讯双方都将回到初始Dead状态,直到双方重新建立PPP连接。

在这里插入图片描述

F=flag标记 0x7e 帧开始 结尾

A=address地址 0xff 全F 填充

C=control 无意义0x03

LCP协议—链路控制协议—主要用于完成PPP会话建立的第一阶段协商过程

NCP协议—网络控制协议—是一系列协议的总称,完成PPP会话建立第三阶段时针对网络层协议进行协商。网络层所使用的协议不同,则对应的NCP协议不同。

LCP报文类型
  • LCP具有三大报文类型
    • 链路配置报文—重点

      • 在这里插入图片描述
    • 链路终止报文

      • Terminate-Request:终止请求
      • Terminate-ACK:终止确认
    • 链路维护报文

      • echo-request — 回波请求
      • echo-reply — 回波应答

LCP建立

1.MRU值=PPP数据帧中所允许携带的最大数据单元(信息部分大小),单位字节,默认1500
2.认证方式:根据第二阶段认证来判断,若存在认证,则需要协商认证方式;若不存在认证,则不需要协商。
3.魔术字:用来检测链路中是否存在环路,是由本地设备随机生成的字符串(设备序列号、硬件地址)

协商过程

在这里插入图片描述

认证阶段

​ PPP的认证,一般是通过AAA管理框架来完成的

​ 认识是双向的,但是也可以做单向,但是不建议

​ 两种认证方式:PAP、CHAP

在这里插入图片描述

  • PAP
    • 密码认证协议—是一种明文的认证方式
PAP配置方法
认证方
创建用户信息
[r1-aaa]local-user huawei password cipher 123456
[r1-aaa]local-user huawei service-type ppp
配置认证方式
[r1-Serial4/0/0]ppp authentication-mode pap
被认证方
[r2-Serial4/0/0]ppp pap local-user huawei password cipher 123456

PPP会话的建立是一次性会话方式,当第一次链路建立完成后,后续修改认证方式不会影响链路的通讯。(需重启接口来激活)

CHAP配置方法

在这里插入图片描述

认证方
[XIAN-OPENLAB-CORE-AR2240-1-aaa]local-user ccip password cipher 666666
[XIAN-OPENLAB-CORE-AR2240-1-aaa]local-user ccip service-type ppp
[XIAN-OPENLAB-CORE-AR2240-1-Serial4/0/0]ppp authentication-mode chap

被认证方式
[r2-Serial4/0/0]ppp chap user ccip
[r2-Serial4/0/0]ppp chap password cipher 666666

一条PPP链路的两端可以使用不同的认证协议认证对端,但是被认证方必须支持认证方要求使用的认证协议并正确配置用户名和密码等信息(一个端口可以同时配两个不同的认证)


网络层协议协商阶段—NCP协商

​ 通过NCP协议来对网络层参数进行协商

  • 协商内容

    • IP报文的压缩方式
    • IP地址—检测该IP地址是否位可用IP地址,且不与自己的IP地址冲突
  • 协商过程

  • 静态地址协商

    • 在这里插入图片描述

    • 一旦认可了对方的IP地址,则将会自动学习到达该IP地址的主机路由。—在PPP网络中,通讯双方的IP地址可以不同

  • 动态地址协商

    • 在这里插入图片描述

    • 配置命令

    • 配置方[r2-Serial4/0/0]remote address 1.1.1.1
      
      认证方[r1-Serial4/0/0]ip address ppp-negotiate
      

AAA—认证、授权、计费

网络安全的一种管理机制

安全功能

  • 认证—用于验证用户是否可以获取网络访问权限
  • 授权—授予用户可以使用的服务类型
  • 计费—记录用户使用网络资源的情况

AAA域

  • 每一个用户都属于一个域,一个域是由属于同一个域的用户构成的集合群体
  • 域下信息
    • 一个域统一管理AAA方案、服务器模板和授权
    • AAA方案—分为认证方案、授权方案和计费方案,用来定义认证、授权和计费的方式方法
    • 服务器模板—用来配置认证、授权或计费使用的服务器

在这里插入图片描述

在这里插入图片描述

授权信息分为两类

  • 本地授权(域下授权信息):用户从域下获取的授权信息
  • 服务器授权:用户从域下和服务器同时获取授权信息
    • 若域下授权信息与服务器授权信息冲突,则遵照服务器授权信息执行
    • 若不冲突,则两者同时执行

用户所属域

用户属于哪一个域—根据NAS设备来判断(类似DNS服务器)

NAS存储一个区域内部所有的用户信息,以及其对应的域信息

当用户名中携带了域名信息,则NAS设备会根据域名将其归属到对应域下,并回复该域下所配置的AAA方案、服务器模板、域下授权信息。如果用户名没有携带域名信息,则会将其归属到默认域中。

默认域中自带默认的认证方案、授权方案和计费方案

img

aaa

domain huawei //创建一个域

AAA方案

认证方案

认证方案用来定义用户认证时所使用的的认证方法以及每种认证方法的生效顺序。
认证方案必须应用到域。

设备支持的认证方式

  • 本地认证—设备作为认证服务器,然后将用户信息配置在本设备上。
    • 速度快,降低运营成本
    • 缺点:存储的用户信息量收硬件影响
  • 不认证

授权方案

授权方案用来定义用户授权是使用的授权方法以及每种授权方法的生效顺序并且也需要应用到域。

设备支持的授权方法

  • 本地授权
  • 不授权

计费方案

计费方案用来定义用户计费时使用的计费方法以及每种计费方法的生效顺序并且,也需要应用到域。

设备支持的计费方法

  • RADIUS计费
  • HWtacacs计费

计费只能有一种方案,故没有所谓的生效顺序

小实验

在这里插入图片描述

配置信息:

创建用户:
[server-aaa]local-user ccip@huawei password cipher 123456----用户名后必须跟域名
[server-aaa]local-user ccip@huawei service-type telnet
AAA方案:
[server-aaa]authorization-scheme huawei ---创建一个授权方案
[server-aaa-author-huawei]authorization-mode local ----设置该方案的授权方法
[server-aaa]authentication-scheme huawei ---创建一个认证方案
[server-aaa-authen-huawei]authentication-mode local ---设置该方案的认证方法
[server-aaa]domain huawei ---创建huawei域
[server-aaa-domain-huawei]authorization-scheme huawei
[server-aaa-domain-huawei]authentication-scheme huawei

img


GRE和MGRE

在这里插入图片描述

VPN出现前:使用物理专线—维护成本高

VPN—虚拟私有网络

  • 指的是依靠ISP或其他网络管理机构在公有网络基础上构建的专用的安全数据通信网络,只不过该网络是逻辑上的而非物理的

虚拟:用户不再需要拥有实际的长途数据线路,而是使用公共网络资源建立的属于自己的私有网咯

专用:用户根据自身需求,特别定制的最符合自身网络架构的网络

核心技术—封装技术(VLAN同理)


GRE(通用路由封装)—标准的三层隧道技术—逻辑隧道的封装技术

属于点到点隧道

GRE环境

在这里插入图片描述

希望的流量走向

SIP:192.168.1.1DIP:192.168.2.1数据

实际的流量走向

SIP:12.0.0.1DIP:23.0.0.3数据

经过GRE粘合后的走向

SIP:192.168.1.1DIP:192.168.2.1数据
SIP:12.0.0.1DIP:23.0.0.3SIP:192.168.1.1DIP:192.168.2.1数据
1.创建隧道接口
[r1]interface Tunnel 0/0/0 //创建隧道接口
[r1-Tunnel0/0/0lip address 192.168.3.1 24
[r1-Tunnel0/0/0]tunnel-protocol gre //定义封装方式

[r1-Tunnel0/0/0]source 12.0.0.1 //定义封装内容,注意是物理接口IP地址
[r1-Tunnel0/0/0]destination 23.0.0.3

双方均需要进行GRE配置
2.配置虚拟静态路由条目

GRE的报文结构

在这里插入图片描述

SIP:12.0.0.1(传输协议)DIP:23.0.0.3(传输协议)GRE(封装/运载协议)SIP:192.168.1.1(乘客协议)DIP:192.168.2.1(乘客协议)数据
  • 设备从连接私网的接口接收到报文后,检查报文头部中出现的IP地址字段,并在路由表中查找出接口,如果发现出接口是隧道接口,则将报文发送给tunnel模块进行处理。
  • tunnel模块接收到报文后,会首先根据乘客协议的类型和当前GRE隧道的配置来添加参数,并对报文进行GRE封装
  • 然后,设备给报文添加传输协议报文头部,即IP报文头部。该IP头部信息的源IP地址是隧道源地址 (不是隧道自身的IP地址),目的地址就是隧道的目的地址。
  • 最后,设备根据新添加的IP报文头部中的目的IP地址,在路由表中查找对应的出接口,并发送报文
  • 接收端设备从连接公网的接口收到报文后,首先分析IP报文头部,如果发现协议类型字段的值为47 (GRE的协议号),表示上层协议为GRE协议,于是出接口将报文交给GRE模块处理。
  • GRE模块去掉IP报文头部和GRE头部,并根据GRE报文头部中的协议类型字段,发现此报文的乘客协议为私网中运行的IP协议,将该数据交给对应协议处理。

Keepalive检测—GRE保活机制—用于检测隧道对端是否可达

[r1-Tunnel0/0/0]keepalive period 2 retry-times 5
设置发送周期为2s;重传次数为5次。

如果本端隧道配置了keepalive检测功能,GRE隧道会创建一个计时器,并周期性的发送探测报文,同时进行不可达计数。
每发送一个探测报文,不可达计数+1
如果该计数器到达预先设定的值之前收到回应报文,则表明对端可达。
如果计时器值达到预先设定的重传次数,还未收到对端的回应报文,则认为对端不可达。关闭隧道连接.
keepalive是不需要双方均进行配置的,仅配置一端即可进行检查,最好两端都配

MGRE—多点通用路由封装技术(非NBMA)

在这里插入图片描述

NHRP—下一跳解析协议

中心&节点:Hub&Spoke架构

NHS(下一跳服务器):在私网当中选择一个出口物理IP地址不会变的设备充当NHS服务器。剩下的节点都可以知道中心的隧道IP和物理IP,然后通过NHRP要求所有的分支节点都需要将自己的物理接口IP和隧道IF发送给该服务器(有变化就发送) 。
NHS服务器将会存有所有分支节点的地址映射关系的一个动态记录。
发送消息时查询该映射记录表即可。

MGRE的非shortcut配置

在这里插入图片描述

reset saved-configuration //清除本地配置文件

Hub配置
[r1Jinterface Tunnel 0/0/0
[r1-Tunnel0/0/0lip add 192.168.5.1 24
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp //修改接口封装模式为点到多点
GRE[r1-Tunnel0/0/0]source 15.0.0.1 //定义封装的源IP,该IP地址为物理IP地址

Spoke配置
[r4Jinterface Tunnel 0/0/0
[r4-Tunnel0/0/0]ip add 192.168.5.4 24
[r4-Tunnel0/0/0]tunnel-protocol gre p2mp
[r4-Tunnel0/0/0]source 45.0.0.1
[r4-Tunnel0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register //分支需要到中心站点注册隧道地址物理地址注册
ip rpute-static ....
[r1]display nhrp peer all //查看nhrp的注册情况


DSVPN—华为

  • DSVPN专门为了Hub-Spoke架构诞生服务

通过总部中转流量缺点:

  1. 总部在中转分支之间的数据流量时,会消耗总部hub设备的cpu和内存资源,造成资源紧张
  2. 总部需要对分支之间的数据流量进行封装和解封装,造成额外的网络延时
  3. IPSec协议不支持广播报文和组播报文。

DSVPN通过NHRP协议动态收集、维护和发布各节点的公网地址等信息,解决了源分支无法获取目的分支的公网IP地址的问题,从而可以在分支和分支之间直接建立一条动态的VPN隧道,实现分支和分支之间的直接通讯,减轻总部的设备负
担。

DSVPN借助MGRE技术,使VPN魔道能够传输组播报文和广播报文,并日一个tunne]接口可以跟多人对端建立VPNY道,减少网络管理员的配置量。并且,在新增分支或者分支地址变化的情况下,能够自动维护总部和分支之间的隧道关系,而不需要调整任何配置。

DSVPN概念

当源spoke需要向目的spoke发送数据报文时,
源spoke通过与hub节点的静态mgre道交与NHRP协议报文获取目的spoke节点的公网地址,并目与目的Spoke节点建立动态mgre隧道

MGRE隧道

  • 静态mgre----建立在hub到spoke,并且永久存在
  • 动态mgre—建立在spoke到spoke,在一定周期内没有流量转发时将自动拆除

NHRP映射表

  • 静态表项
  • 动态表项
  • 老化时间—7200s两小时

NHRP映射表建立过程

  1. 建立spoke和hub之间的MGRE隧道

  2. 分支学习路由

    1. shortcut方式—快捷方式
      • 分支路由全部汇聚到总部
      • spoke节点只需要存放到达hub节点路由即可
      • 一般应用在网络规模较大、分支节点较多的场景(次优路径)
    2. 非shortcut方式----非快捷方式
      • 分支间相互学习路由
      • 每一个分支节点都需要学习到所有对端的控制层面的数据
      • 一般应用在网络规模较小,路由信息量少的网络
  3. 建立spoke和spoke之间的MGRE隧道

    • shortcut
    分支间配置彼此的静态路由但下一跳都为总部虚拟地址
    [r1-Tunnel0/0/0]nhrp redirect //在hub设备上配置(重定向)告诉发送方要去的虚拟地址
    [r4-Tunnel0/0/0]nhrp shortcut //在spoke设备上配置---
    
    • 非shortcut(手工配置spoke之间的路由,再由总部转发)

建立Spoke与Spoke之间的mGRE隧道(shortcut方式):

在这里插入图片描述

在这里插入图片描述

Spoke与Spoke之间的mGRE隧道建立过程(Normal方式\非shortcut方式):

在这里插入图片描述

在这里插入图片描述


动态路由协议下的MGRE环境—RIP

[r1-Tunnel0/0/0]nhrp entry multicast dynamic //在hub配置,开启伪广播功能(给所有人都单
播发送一次报文)
[r1-Tunnel0/0/0]undo rip split-horizon //关闭rip水平分割---非shortcut
[r1-Tunnel0/0/0]rip summary-address 192.168.0.0 255.255.248.0 //shortcut

OSPF—开放式最短路径优先协议

OSPF基础

IETE—国际互联网工程任务组—RFC2328

工作范围:AS内部—IGP

算法:迪特拉斯算法

OSPFv2和RIPv2对比

相同点:

  • 两者都是无类别路由协议—传播时携带真实掩码
  • 两者的更新方式相同—组播
    • RIPV2—224.0.0.9
    • OSPFV2—224.0.0.5/6
  • 两者均支持等开销负载均衡

不同点:

  • RIPV2只能应用在小型网络中,OSPFV2可以应用在中大型网络环境

OSPF区域划分—结构化部署

OSPF域(Domain)—将一系列的OSPF路由器组成的网络称为OSPF域。

在这里插入图片描述

区域ID:32bit

OSPF多区域划分要求:

  1. OSPF要求域中所有的非骨干区域(区域ID不为0)都必须与区域0相连
  2. 骨干区域不能被分割

OSPF区域划分

假定没有“所有非骨干区域都必须与骨干区域相连”这条规则----“远离骨干的非骨干”

在这里插入图片描述

定义了ABR(区域边界路由器)设备—确保所有人遵循上述规则

  1. 至少连接两个区域

  2. 连接的区域中至少有一个是区域0

  3. 在区域0中至少有一个活跃的邻居

    作用:传递区域间路由

为了避免区域间的路由形成环路,非骨千区域之间不允许直接相互发布区域间路由

假定没有“骨干区域不能被分割”这条规则----不连续骨干区域:

在这里插入图片描述

OSPF规定:

从非骨干区域收到的路由信息,ABR能接收,但不会使用这条路由信息(OSPF水平分割原则)

OSPF有如下规则:
1、对于伪ABR设备不允许转发区域间路由信息。
2、对于真实ABR而言
能够将自己直连的非骨千区域的区域内路由信息传递给骨干区域能够将自己直连的骨干区域的区域内路由信息传递给非骨干区域。能够将自己从骨干区域学习到的区域间路由信息传递给费骨干区域。

OSPF路由器角色

  • 内部路由器(IR)
    • 所有接口都接入同一个区域的路由器
  • 区域边界路由器(ABR)
  • 骨干路由器(BR)
    • 接入Area0的路由器,包括ABR,但不包括ASBR
  • ASBR(AS边界路由器)
    • 工作在OSPF自治系统边界的路由器
    • 并不是同时运行多种路由协议的OSPF路由器就一定是ASBR,ASBR一定是将外部路由引入到OSPF域的设备

OSPF数据包

在这里插入图片描述

  1. Hello

    • 用来周期发现、建立、保活OSPF邻居关系,通过组播224.0.0.5发送

    • 10s发送一次来确认邻居的存在

    • hold-time—四倍的hello时间

    • Router-ID(RID)

      • 全域AS唯一,标识路由器身份

      • 用IP地址形式表示(32bit,点分十进制)

      • 配置方法

        • 手工配置

        • 自动配置

          • 默认最大环回地址,若没有最大环回则选择最大物理IP地址(路由器的RID选择,非OSPF)

          • [r1]display router id //查看路由器全局ID值

          • 注意:
            启动OSPF进程前,必须要有接口IP地址,若存在IP地址,则在第一次启动OSPF进程时,会选取第一个配置的IP地址为RID
            但是,若删除第一个配置的IP地址后,则恢复为上述规则。 
            
            在华为设备中,若没有接口IP地址,则OSPF启动后,RID为0.0.0.0
            在思科设备中,若没有接口IP地址,则OSPF启动失败
            
          • 无论采用手工配置还是自动选择,一旦OSPF进程启动,RID被确定,则无法变化,必须重启进程才能生效

          • reset ospf process 重启所有OSPF进程

  2. DBD

    • 数据库描述报文
    • 该报文携带的是路径信息的摘要 (为了减少更新量,并不会直接给邻居发送TOPO信息,而是将TOPO信息的目录发送给邻居)
  3. LSR

    • 链路状态请求报文
    • 基于未知的LSA(链路状态通告)信息进行查询
  4. LSU

    • 链路状态更新报文
    • 携带真正的LSA信息的数据包
  5. LSAck

    • 链路状态确认报文

OSPF七种状态机

  1. down—关闭状态—一旦启动了OSPF协议,则发出hello包,并进入下一状态
  2. init—初始化状态—收到的hello包中,存在自己的RID值,则进入下一状态
  3. 2-way—双向通讯状态—邻居关系建立的标志

条件匹配:匹配成功则进入下一阶段,不成功则停留在2-way

  1. exstart—预启动状态—使用未携带信息的DBD包进行主从关系选举,RID大的为主
  2. exchange—准交换状态—使用携带目录信息的DBD报文进行目录共享
  3. loading—加载状态—邻居间使用LSR/LSU/LSAck三种报文来获取完整的TOPO信息
  4. full—转发状态—修成正果—标志邻接关系的建立

在这里插入图片描述

包发送前后,不同路由器视角下,路由器的状态不同

在这里插入图片描述

在这里插入图片描述

主R2优先进入Loading状态,R1接收到带有信息的DBD报文,才进入Loading

DD报文最后没有LSA头部,R1告诉R2,收到了它发出的最后一个DD报文

条件匹配

  • 设备接口名称
    • DR—指定路由器接口
    • BDR—备份指定路由器接口
    • DRother—其他路由器接口
  • OSPF称为邻接关系的条件
    • 点到点—不用选举DR和BDR—直接开始建立邻接关系(加快收敛的方法)
    • MA网络—在一个网络中,不限制节点数(会选举DR和BDR)
  • 选举规则(接口IP作为DR)
    • 接口优先级—>0-255---->优先级越大,为DR,次一级为BDR(默认为1)
    • RID----(接口优先级相同情况下)越大越优先
  • 选举范围—一个广播域进行一次条件匹配
  • 角色之间的关系
    • DR和DRother---->邻接关系
    • DR和BDR---->邻接关系
    • BDR和DRother---->邻接关系
    • DRother和DRother—>邻居关系
  • 非抢占性选举模式

选举过程

  1. DR、BDR的选举是通过Hello报文来实现的,选举过程发生在2-way状态之后
  2. 路由器将自己的接口的DR优先级填写hello报文中的“DR优先级”字段
  3. 在接口视图下可以修改DR优先级(若DR优先级修改为0,则代表不具备DR和BDR的选举资格)
  4. 当路由器接口激活OSPF后,首先检查网络上是否已经存在DR设备,如果存在则接受DR角色。若不存在,则拥有最高DR优先级的设备称为DR(RID)
  5. BDR的选举过程和DR的选举过程相同,但是是在DR选举成功之后
DR设备使用组播224.0.0.5向该MA网络发送消息.
而DR和BDR使用224.0.0.6监听该MA网络的消息。
DRother使用224.0.06发送自己的LSU报文。

NBMA网络类型:

在这里插入图片描述

在NBMA网络类型下,如果需要启动OSPF协议,需要手工指定邻居,否则不会发送he11o报文。
若不发送he11o报文,则邻居状态处于attempt状态。


OSPF工作状态

img

  • 启动OSFP配置完成后,OSPF将向本地所有运行OSPF协议的接口组播224.0.0.5发送hello报文; hello报文中携带有本地的RID以及本地已知的邻居RID;之后生成邻居表。
  • 邻居关系建立后,进行条件匹配;匹配失败则停留在邻居关系;仅hello报文保活
  • 匹配成功的邻居将开始建立邻接关系。
  • 首先使用未携带数据的DBD报文来进行主从关系选举;之后使用携带数据的DBD报文来共享数据库 目录;之后本地使用LSR/LSU/LSACK报文来获取未知的LSA信息;
  • 完成本地数据库的建立—生成数据库表。
  • 之后本地基于数据库生成有向图和最短路径树,之后计算本地到达拓扑中所有未知网段的最短路 径,并将其添加到路由表中。
  • 收敛完成,hello报文周期保活。每30min进行一次周期更新。

结构突变

  1. 新增网段—直接在邻接关系的接口使用LSU进行更新,将内容告诉于邻居。并需要邻居的ACK确认。
  2. 断开网段—直接在邻接关系的接口使用LSU进行更新,将内容告诉于邻居。并需要邻居的ACK确认。
  3. 无法沟通—dead time ----四倍的hello时间

OSPF基础配置

在这里插入图片描述

1.启动OSPF进程
	[r1]ospf 1 router-id 1.1.1.1 //进程号仅具备本地意义,手工配置RID方法
2.创建区域
	[r1-ospf-1]area 0
3.宣告
	[r1-ospf-1-area-0.0.0.o]network 1.1.1.1 0.0.0.0 //精准宣告
	[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255 //宣告网段
	宣告使用反掩码形式
	
display ospf peer
display ospf peer brief
display ospf lsdb
display ip routing-table protocol ospf
display ospf routing

华为体系中,优先级为10;
OSPF的COST====参考带宽(100Mbps)/实际带宽
[r1-ospf-1]bandwidth-reference 1000 //修改参考带宽-----所有设备均需修改
一条OSPF路径的Cost等于从目的地到本地路由器沿途的所有设备的入接口Cost值的总和

OSPF报文格式

OSPF报文头部
在这里插入图片描述

  • 版本(Version)
    • 对于OSPFv2而言,该字段值恒为2
  • 类型(Type)
    • 描述OSPF数据包的类型
    • Hello------1
    • DBD------2
    • LSR-------3
    • LSU-------4
    • LSACK—5
  • 报文长度(Packet Length)
    • 整个OSPF报文的长度----单位字节
  • 路由器ID
    • 发出该报文的路由器的RID值
  • 区域ID
    • 发出该报文的接口所属于区域的ID值
  • 校验和
    • 验证OSPF整体数据报文的有效性
  • 验证类型
    • 指示该报文使用认证类型
    • 不认证—0;简单认证—1;MD5认证—2
  • 认证数据
    • 用于报文认证所对比的内容
    • 若认证类型为不认证,则该字段全部用0填充
OSPF的认证功能存在于所有的数据交互过程中,对于任何一种数据报文,都需要进行认证
在认证的过程中,需要对比两个字段,首先对比认证类型
	若相同,才会对比认证数据字段

Hello包

在这里插入图片描述

  • 网络掩码(Network Mask)

    • 该字段填充的是发送该报文的网络掩码
    • 两台OSPF路由器如果通过以太网接口直连,那么双方的直连接口必须配置相同的网络掩码。(点到点网络不需要对比该参数)
    • OSPF建立邻居关系需要对比子网掩码信息是华为独有,别的厂商没有这个要求
  • Hello间隔

    • 两台直连路由器需要确保直连接口的Hello时间间隔相同,否则邻居关系无法建立
    • 缺省情况下,P2P和BMA类型下,为10S;P2MP和NBMA为30S
  • 可选项(Options)

    • 该字段一共8bit,每个比特位都用于指示该路由器的某个特定的OSPF特性
    • 而OSPF邻接关系建立过程中,该字段的某些比特位将会被检查,可能影响OSPF邻居关系建立(特殊区域的标记)
  • 路由器优先级(接口优先级/DR优先级)

    • [r2-GigabitEthernet0/0/0]ospf dr-priority ?
      /修改OSPF接口的DR优先级
      
  • 路由器失效时间

    • 两台直连路由器要建立OSPF邻居关系,需要保证双方接口的dead time时间相同,否则邻居关系无法正常建立。
    • 缺省时间为hello的4倍。
  • 指定路由器

    • 网络中DR设备的接口IP地址
    • 若没有DR或者DR没有选举出来,则填充0.0.0.0
  • 备份指定路由器

    • 网络BDR设备的接口IP地址
    • 若没有BDR或未选举结束,则填充为0.0.0.0
  • 邻居

    • 在直连链路上发现的有效邻居,此处填充的是邻居的RID值,如果发现多个邻居,则包含多个邻居字段。

所有224.0.0.X格式的组播地址称为本地链路组播,目的IP地址是本地链路组播的数据包中的TTL值被设定为1.所有的本地链路组播都会存在对应的组播MAC地址,01-00-5e-后24位 (组播IP地址的后24位)

限制邻居关系建立的参数

在这里插入图片描述

  • 子网掩码

  • 在R2上修改网络掩码后,
    R2会将与R3的状态立即修改为Down状态。而R3会在40S死亡时间之后进行状态切换。
    原因在于,R2在修改IP地址的掩码后,会认为之前的连接中断,需要重新建立连接,所以重置状态机。
    而R3则认为是无法沟通。故会等待死亡时间超时后才切换状态。
    并且,该情况,在R3等待40S周期内,还是可以向R2转发数据,R2可以接收到该数据包,但无法回复
    
    
    邻居建立好后,在一方修改子网掩码,修改一方状态机立刻Down,而另一侧会在40sdead time 后Down,但是在40s内OSPF peer依然为FULL,依然可以学到路由,但无法回包
    

http://www.niftyadmin.cn/n/145952.html

相关文章

《C++ Primer Plus》(第6版)第11章编程练习

《C Primer Plus》&#xff08;第6版&#xff09;第11章编程练习《C Primer Plus》&#xff08;第6版&#xff09;第11章编程练习1. 随机漫步者位置写入文件2. Vector类&#xff1a;稍作修改3. 最低、最高和平均步数4. Time类&#xff1a;使用友元函数来实现所有的重载运算符5.…

网络工程师面试题(面试必看)(4)

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.正题 61.路由加表原则

华为OD机试 - 素数之积(Java) | 机试题+算法思路+考点+代码解析 【2023】

素数之积 题目 RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高,给定一个32位正整数,请对其进行因数分解,找出是哪两个素数的乘积。 输入描述: 一个正整数num 0 < num <= 2147483647 输出描述: 如果成功找到,…

JDBC视频学习笔记

学习视频&#xff1a;尚硅谷JDBC核心技术视频教程&#xff08;康师傅带你一站式搞定jdbc&#xff09;_哔哩哔哩_bilibili 目录 JDBC概述 1.1 数据的持久化 1.2 Java中的数据存储技术 1.3 JDBC介绍 1.4 JDBC体系结构 1.5 JDBC程序编写步骤 获取数据库连接 2.1:Dr…

命名实体识别(NER)知识汇总

介绍 命名实体识别&#xff08;Named Entity Recognition&#xff0c;NER&#xff09;是NLP领域中一项基础的信息抽取任务&#xff0c;NER 是关系抽取、知识图谱、问答系统等其他诸多NLP任务的基础。NER从给定的非结构化文本中识别命名实体&#xff0c;并对实体分类&#xff0c…

Python科学计算:绘图1.二维图形

昨天事情有点多&#xff0c;没来得及写&#xff0c;今天写&#xff0c;从今天开始&#xff0c;我所有的代码全部用VScode写&#xff0c;因为我发现&#xff0c;用Pycharm写这些&#xff0c;真的是大材小用了&#xff0c;所以&#xff0c;就简单一些&#xff0c;直接用VScode来写…

k8s 集群,new node无法加入集群

首先 都会在master创建个tokenkubeadm token create然后就往里加&#xff0c;kubeadm join直接报错 &#xff1a;WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]这个错误提示是 kubeadm 加入集群时无法验…

第十六章 使用 ^GBLOCKCOPY 进行快速Global复制

文章目录第十六章 使用 ^GBLOCKCOPY 进行快速Global复制^GBLOCKCOPY 的使用运行 ^GBLOCKCOPY第十六章 使用 ^GBLOCKCOPY 进行快速Global复制 ^GBLOCKCOPY 是一个 IRIS 例程&#xff0c;可在数据库之间执行快速全局复制。它有两种操作模式&#xff1a;交互式和批处理。交互模式…