HCIA-HCIP笔记

第一章

网络按地理覆盖范围分:局域网(LAN)、城域网(MAN)、广域网(WAN)

网络拓扑类型:星状型、树状型、总线型、环形、全网状型(最可靠、成本高)、部分网状型、组合型


第二章

OSI参考模型

参考模型是由各种组织提出的,OSI是由权威的ISO国际标准化组织提出,使用之前用的最多的是TCP/IP参考模型。

因为OSI协议栈比较复杂,TCP和IP协议在业界被广泛使用,所以TCP/IP参考模型成为互联网主流参考模型

应用层

应用层为应用软件提供接口,使应用程序能使用网络服务。应用层协议会指定使用相应的传输层协议以及所使用的端口等。

应用层的PDU被称为Data(数据)。不同应用层协议适用不同的传输层协议(TCP、UDP)

HTTP:端口号80

Telnet:端口号23

SSH:端口号22

FTP:端口号20、21

SMTP:25

TFTP:69(UDP)

DHCP:67、68(UDP)

FTP(文件传输协议)

Telnet

为用户提供在本地计算机完成远程设备工作的能力

HTTP

提供一种发布和接收HTML页面的方法

传输层

传输层协议来自应用层协议的数据,封装上相应的传输层头部,帮助建立Port to Port的连接。

传输层的PDU称为Segment(段)

网络层、数据链路层

网络层也叫 Internet层

负责将分组报文从源主机发送到目的主机。

网络层作用

为网络中的设备提供逻辑地址。负责数据包的寻径和转发。

常见协议如IPv4,IPv6、ICMP,IGMP等。

数据链路层位于网络层和物理层之间

·数据链路层向网络层提供“段内通信”:负责组顿、物理编址、差错控制等功能。

·常见的数据链路层协议有:以太网、PPPoE、PPP等。

地址解析协议(ARP)

根据已知的IP地址解析获得其对应的MAC地址

工作原理:

step 1:

1)发送数据前,设备会先查找ARP缓存表(arp -a)

2)如果缓存表中存在对方设备的MAC地址,则直接采用该MAC地址来封装帧,然后将帧发送出去,如果缓存表不存在相应的信息,则通过ARP获取

step2:

1)主机1通过发送ARP Request报文来获取主机2的MAC地址

2)由于不知道目的MAC地址,因此ARP Request报文内的目的端MAC地址为0

arp报文

step3:

ARP Request是广播数据帧,因此交换机收到后,会对该帧执行泛洪操作。

Step 4:

所有的主机接收到该ARP Request报文后,都会检查它的目的端IP地址字段与自身的P地址量香匹配。

主机2发现IP地址匹配,则会将ARP报文中的发送端MAC地址和发送端IP地址信息记录到自己的ARP 缓存表中。

Step5:

主机2通过发送ARPReply报文来响应主机1的请求此时主机2已知主机1的MAC地址,因此ARP Reply是单播数据赖。

处理数据的过程(准备过程)

应用层(数据)——传输层(段)——网络层(包、packet)——数据链路层(帧Frame)——物理层(位

假设你正在通过网页浏览器访问华为官网,当你输入完网址,敲下回车后,计算机内部会 
发生下列事情:

  1. IE浏览器(应用程序)调用HTTP(应用层协议),完成应用层数据的封装(图中DATA还应包括HTTP头部,此处省略)。
  2. HTTP依靠传输层的TCP进行数据的可靠性传输,将封装好的数据传递到TCP模块。
  3. TCP模块给应用层传递下来的Data添加上相应的TCP头部信息源端口、自的端口等)。此时的PDU被称作Segment(段)。
  4. 在IPv4网络中,TCP模块会将封装好的Segment传递给网络层的IPv4模块(若在IPv6环境,会交给IPv6模块进行处理)。
  5. IPv4模块在收到TCP模块传递来的Segment之后,完成IPv4头部的封装,此时的PDU被称为Packet(包)。
  6. 由于使用了Ethernet作为数据链路层协议,故在Pv4模块完成封装之后,会将Packet交由数据链路层的Ethernet模块(例如以太网卡)处理。
  7. Ethernet模块在收到Pv4模块传递来的Packet之后,添加上相应的Ethernet头部信息和FCS帧尾,此时的PDU被称为Frame()。
  8. 在Ethernet模块封装完毕之后,会将数据传递到物理层。
  9. 根据物理介质的不同,物理层负责将数字信号转换成电信号,光信号,电磁波(无线)信号等。
  10. 转换完成的信号在网络中开始传递。

中间网络数据传输

在物理传输过程中,数据必须是完整的封装,经过路由器、交换机都会在设备里先拆封装查看信息再重新封装发到下一跳,一跳一跳直到目的地址。送达后再层层拆开把数据传到应用层。

经过中间网络传递之后,数据最终到达目的服务器。根据不同的协议头部的信息,数据将被一层层的解封装并做相应的处理和传递,最终交由WEB服务器上的应用程序进行处理


第三章

VRP

什么是VRP?

华为公司数据通信产品的通用操作系统平台。

VRP的功能

  1. 实现统一的用户界面和管理界面
  2. 实现控制平面功能,并定义转发平面接口规范实现各产品转发平面与VRP控制平面之间的交互
  3. 屏蔽各产品链路层对于网络层的差异

VRP的文件系统

文件系统是指对存储器中文件、目录的管理,

  • 系统软件是设备启动、运行的必备软件。常见文件后级名为:(.cc)
  • 配置文件是用户将配置命令保存的文件。常见文件后级名为:(.cfg..zip,dat)。
  • 补丁是一种与设新系统软件兼容的软件。常见文件后级名为:(K.pat)。
  • PAF文件是根据用户对产品需要提供了一个简单有效的方式来裁剪产品的资源占用和功能特性。常见文件后级名为:(.bin)。

VRP存储设备

  • Flash 属于非易失存储器
  • SDRAM 同步动态随机存储器。
  • NVRAM 非易失随机读写存储器。
  • SDCard 断电后,不会丢失数据。存储容量较大,一般出现在主控板上。
  • USB 接口,用于外接大容量存储设备。

设备初始化过程

设备上电后,首先运行BootROM软件,初始化硬件并显示设备的硬件参数,然后运行系统软件,最后从默认存储路径中读取配置文件进行设备的初始化操作。

设备管理

Web网管方式

·Web网管方式通过图形化的操作界面,实现对设备直观方便地管理与维护,但是此方式仅可实现对设备部分功能的管理与维护。

·Web网管方式可以通过HTTP和HTTPS方式登录设备。

命令行方式

命令行方式需要用户使用设备提供的命令行对设备进行管理与维护,此方式可实现对设备的精细化管理,但是要求用户熟悉命令行。:命令行方式可以通过Console口、Telnet或 SSH方式登录设备。

VRP用户界面

系统通过用户界面用来管理、监控设备和用户间的当前会话。

Console用户界面

用来管理和监控通过 Console口登录的用户。用户终端的串行口可以与设备Console口直接连接,实现对设备的本地访问。

VTY用户界面

用来管理和监控通过VTY方式登录的用户。用户通过终端与设备建立Telnet或STelnet 连接后,即建立了一条VTY通道,通过VTY 通道实现对设备的远程访问。事先要做好VTY的配置操作

VRP用户等级

web网管方式登录

以华为AR系列路由器为例,PC终端打开浏览器软件,在地址栏中输入“https:/r192.168.1.1 按下回车键,显示ARWeb管理平台登录界面,

命令行方式-

本地登录

用户终端的串行端口可以与设备Console口直接连接,然后通过PuTTY工具本地登录实现对设备的本地配置。

远程登录

指终端远程登录到网络设备上,并且可以集中管理维护网络设备。

远程登录包括SSH和Telnet两种方式。

PuTTY工具是一个Telnet、SSH、串行接口等的连接软件。

本地登录时,终端设备采用串口与华为设备 Console口连接,所以采用Serial连接类型, COM端口根据终端设备实际端口选取,速率固定为9600

远程登录,选择telnet或者SSH登录,填好ip地址以及检查对应的端口号。

命令行界面CLI(Command Line Interface)

尖括号-用户视图 中括号-系统视图

基本配置命令

  1. 查看当前目录 <Huawei>pwd
  2. 显示当前目录下的文件信息 <Huawei>dir
  3. 查看文本文件的具体内容 <Huawei>more
  4. 修改用户当前界面的工作目录<Huawei>cd
  5. 创建新的目录<Huawei>mkdir
  6. 删除目录<Huawei>rmdir
  7. 复制文件<Huawei>copy
  8. 移动文件<Huawei>move
  9. 重命名文件<Huawei>rename
  10. 删除文件<Huawei>delete
  11. 恢复删除的文件<Huawei>undelete

12.彻底删除回收站中的文件<Huawei>reset recycle-bin

设置系统时钟

<Huawei>clock timezone用来对本地时区信息进行设置。

<Huawei>clock datetime用来设置设备当前或UTC日期和时间。

<Huawei>clockdaylight-saving-time 用来设置设备的夏令时。

配置命令等级

[Huawei]command-privilege level 3 view view-name

用来设置指定视图内的命令的级别。命令级别分为参观、监控、配置、管理4个级别,分别对应标识0、1、2、3

配置用户界面参数

[Huawei]idle-timeout minutes

用来设置用户界面断开连接的超时时间。如果用户在一段时间内没有输入命令,系统将断开连接。缺省情况下,超时时间是10分钟。

查看当前运行的配置文件

<Huawei>display current-configuration

保存配置文件

<Huawei>save filename.zip

查看保存的配置

<Huawei>display saved-configuration

清除已保存的配置

<Huawei>reset saved-configuration

查看系统启动配置参数

<Huawei> display startup

配置系统下次启动时使用的配置文件

<Huawei>startup saved-configuration configuration-file.zip 设备升级时,可以通过此命令让设备下次启动时加载指定的配置文件

配置设备重启

<Huawei>reboot

命令行中的自定义快捷键

·自定义快捷键:共有4个,<Ctrl+G>、<Ctrl+L>、 <Ctrl+O>和<Ctrl+U>。

·用户可以根据自己的需要将这4个快捷键与任意命令进行关联,当使用快捷键时,系统自动执行它所对应的命令。

<Huawei>system-view

[Huawei]hotkey ctrl_I "display tcp status"

华为设备图标

console口登录步骤

Putty登录路由器演示  3.3.1 华为VRP系统基本操作-1 P19 - 05:29

设备管理器查看是哪个COM口

display version查看版本信息

用户视图compare configuration \\比较当前配置与下一次启动的配置


第四章

IP协议

InternetProtocol本身是一个协议文件的名称,主要是定义并阐述了IP报文的格式。

作用

  • 为网络层的设备提供逻辑地址
  • 负责数据包的导址和转发

数据封装过程👇

格式

Header Length(头部长度):IP头部的长度

Total Length(总长):包含了IP、TCP、用户数据的长度之和

可选字段(长度不固定):当有些报文特殊时,可以将特殊信息填写进去

数据包分片

4.1.1 常见网络层协议 P21 - 09:12

分片:将报文分割成多个片段的过程。

网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若于较小的片段才能够在链路上传输。当数据包要分片时就用到Identication,Flags,Fragment Offset这三个字段。

当一个大的数据包被分割成若干个小包送到目的端时,接收方也要通过这些字段重新组装成一个完整的头部。

生存时间(TTL值)

1个字节,8bits,代表取值范围0-255,TTL的初始取值和初始的操作系统有关系,可能是255也可能是其他取值。

TTL字段设置了数据包可以经过的路由器数自。

一旦经过一个路由器,TTL值就会减1,当该字段值为0时,数据包将被丢弃。

协议号(Protocol)

指出IP头部取掉之后执行的是哪个协议。

协议字段是6,则继续执行TCP。

协议字段是17,则执行UDP。

协议字段是1,则执行ICMP。

Header Checksum(头部校验和)

IP头部校验和是一种用于检测IP数据报正确传输的校验机制,它通过对IP数据报头部字段进行求和运算,然后对结果进行码操作得到校验和值。在传输过程中,发送方计算校验和,并将其存诸在P头部阳的校验和字段中。接收方在接收到P数据报时,也计算校验和,并与接收到的校验和字段进行比较以确定数据是否正确传输。

在传输过程中,每当一个IP数据报通过一个路由器或主机时,都会重新计算校验和,并将计算的结果存储在校验和字段中。这样,接收方就可以通过计算校验和来验证数据的完整性。

IP address

作用:

  1. IP地址在网络中用于标识一个节点(或者网络设备的接口)。
  2. IP地址用于IP报文在网络中的寻址

构成:

网络部分:用来标识一个网络,代表IP地址所属网络。

主机部分:用来区分一个网络内的不同主机,能唯一标识网段上的某台设备。

网络掩码:区分一个IP地址中的网络部分及主机部分。

判断两台主机的ip地址是否在同网段:

掩码相同,网络部分若相同则两个主机属于同网段

网络号:IP地址和掩码做与运算

IP地址寻址

IP地址分类(有类编址)

  • A类网络:范围从1.0.0.0到127.0.0.0,网络地址的最高位必须是“0”,可用的A类网络有127个,每个网络能容纳16777214个主机。其中127.0.0.1是一个特殊的IP地址,表示主机本身,用于本地机器的测试。
  • B类网络:范围从128.0.0.0到191.255.255.255,网络地址的最高位必须是“10”,可用的B类网络有16382个,每个网络能容纳6万多个主机。
  • C类网络:范围从192.0.0.0到223.255.255.255,网络地址的最高位必须是“110”,C类地址是由3个字节的网络地址和1个字节的主机地址组成。
  • D类网络:D类地址用于多播(组播)通信,范围是224-239。D类地址没有具体的保留网段,用于指定多播组的地址。
  • E类网络:E类地址是保留给特殊用途的地址,范围是240-255。E类地址同样没有具体的保留网段,被保留供未来使用。

根据不同的IP地址类别,子网掩码的默认配置如下:

A类地址:子网掩码为255.0.0.0,网络部分占8位。

B类地址:子网掩码为255.255.0.0,网络部分占16位。

C类地址:子网掩码为255.255.255.0,网络部分占24位。

确定了网段和子网掩码后,IP地址分为网络地址、广播地址、可用地址。

网络地址是IP地址的最小地址,主机位全为0,用于标识一个网络。

广播地址是IP地址的最大地址,主机位全为1,用于向该网络中的所有主机发送数据的特殊地址。

可用地址:可分配给网络中的节点或网络设备接口的地址

一个网段可用地址数量:2的n次方-2(n是主机位的位数)。

私网IP地址

公网P地址 IP地址是由IANA统一分配的,以保证任何一个IP地址在Internet上的唯一性。

私网P地址 实际上一些网络不需要连接到Internet,比如一个大学的封闭实验室内的网络,只要同一网络中的网络设备的IP地址不冲突即可。在IP地址空间里,A、B、C三类地址中客预留了一些地址专门用于上述情况,称为私网IP地址。

特殊IP地址

子网划分 

现在,将原有的24位网络位向主机位丢“借”1位,这样网络位就扩充到了25位,相对的主
机位就减少到了7位,而借过来的这1位就是网位,此时网络掩码就变成了25位,即 255.255.255.128,或25。
子网位:可取值0或取值1,则得到了两人新的子网。通过计算可知,现在网络中,有128人P地址。

计算网络地址,主机位全为0

如果子网位取值0,则网络地址为192.168.10.0。
如果子网位取值1,则网络地址为192.168.10.128。

计算广播地址,主机位全为:
如果子网位取值0,则广播地址为192.168.10.127。

如果子网位取值1,则广播地址为192.168.10.255。

ICMP协议

Internet Control Message Protocol

ping命令按下回车,就发了一个Request的包。若能ping通,就能收到一个Reply包

ICMP的功能

ICMP重定向

ICMP重定向过程:
1:主机A希望发送报支到服务器A,于是根据配置的默认网关地址向网关RTB发送报支。

2.网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另一人网关设备RTA,此转发路径是更优的路径,所以RTB会可主机发送一人Redirect 消息,通知主机直接尚另一人网关RTA发送该报支。
3.主机收到Redirect消息后,会向RTA发送报文,然后RTA会将该报文再转发给服务器A。

ICMP差错检测 Ping

ICMP的一人典型应用是Ping。Ping是检测网络连通性的常用工具,同时也能够收集其他相关信息。用户可以在Ping命令中指定不同参数,如ICMP报文长度、发送的ICMP报文人数,等待回复响应的超时时等,设备根据配置的参数来构造开发送ICMP报文,进行Ping测试

ICMP错误报告 Tracert 基于报文头中的TTL值来逐跳跟踪报文的转发路径。

先发TTL为1的包测出经过的第一个设备,得到下一跳的ip地址,然后发TTL为2的包测出经过的第二个包,重复步骤逐跳地反馈。

IPv4地址配置注意,配置物理接口地址,子网掩码不等超过30,31只剩两个地址(网络地址和广播地址),配置逻辑接口地址LoopBack时,子网掩码可以随便取因为这个接口不参与互联。

网络IP地址规划

IP地址规划要和网络结构、路由协议、流量规划、业务规则等结合起来考虑。IP地址的规划应尽可能和网络层次相对应,应该是自同下的一种规划。IP地址规划的自标是:易管理、易扩展、利用率高。

参考规划原则:唯一性、连续性、扩展性、结构化、业务相关性


第五章

以太网协议

容易概念混淆:以太网就是局域网这个说法是错的,以太网是局域网中的一种协议。

以太网是当今现有局域网(LocalAreaNetwork,LAN)采用的最通用的通信协议标准,定义了局域网中采用的电缆类型和信号处理方法。

5.1.1以太网协议介绍 P27 - 03:03

冲突域

冲突域是指连接在同一共享介质上的所有节点的集合。

早期的以太网所有主机共享一个冲突域,即使有CSMA/CD机制也只能减少冲突发生的概率。

交换机能做到隔离冲突域,但是不能隔离广播信息,局域网是一个广播型网络,但是vlan技术可以解决。

冲突域的隔离能对网络带宽、数据报文转发效率有很大提升。

广播域

广播报文所能到达的整个访问范围称为二层广播域,简称广播域。

以太网卡

网络接口卡(NetworkInterfaceCard,NIC)也称为“网卡"。

5.1.1以太网协议介绍 P27 - 13:04网卡在计算机里的作用

以太网帧

以太网技术所使用的帧称为以太网帧(EthernetFrame),或简称以太帧。以太的格式有两个标准:Ethernet_II格式和IEEE802.3格式。

常用Ethernet_II格式,Type:指定上层网络层的协议,FCS校验收到数据的过程中有没有被篡改,保证了安全性。

MAC地址

MAC(Media Access Control)地址在网络中唯一标识

一块网卡的MAC地址是具有全球唯一性的。

地址构成

两部分组成,前24位(OUI)和后24位

OUI,厂商代码,由IEEE分配,3Byte,24bit

后24位作为区分每块网卡的代码

分类

区分单播和组播mac地址,第一字节的最后一位,0代表单播,1代表组播。

广播mac地址全为1

组播mac地址前24位固定,第一字节最后一位为1,通常为“01-00-5E”。

单播以太网帧

简称:单播帧1对1

目的MAC地址为单播MAC地址的帧

广播以太网帧 FF-FF-FF-FF-FF-FF

组播以太网帧

组播帧,1对多地发送数据,目的mac地址为组播mac地址类

认识交换机

以太网二层交换机

以太网二层交换机转发数据的端口都是以太网口,并且只能够针对数据的二层头部(以太网数据帧头)中的MAC地址进行寻址并转发数据。

工作原理:MAC地址表构成,通过地址表转发报文

学习过程

5.3.1交换机mac地址学习 P29 - 07:05

交换机的转发过程

交换机的3种数据帧处理行为:泛洪Flooding、转发Forwarding、丢弃Discarding

泛洪:查表,未知单播帧(找不到目的mac地址)、广播帧

转发:查表,转发

丢弃:查表,发现接收端和发送端在同一个接口,丢弃

5.4.1 同网段数据通信全过程 P31 - 00:03

display mac-address查看mac地址表


第六章

传统以太网的问题

垃圾流量:链路连接的设备没有目的mac地址对应的那台,这些白跑的数据占用不必要的带宽。

VLAN 虚拟局域网

将局域网划分成若干个VLAN,处在同一个VLAN的相互通信,每个VLAN有自己的广播域,实现广播域在逻辑上的隔离。

VLAN基本原理

VlanTag (Vlan标签)

当数据从pc传送到交换机上,交换机会对数据打上Vlan的标签,带标签的数据到达下一个交换机,交换机通过识别Tag知道这个数据是属于哪个Vlan,并从对应的端口发送出去。

PC是无法处理带标签的数据,所以打上vlantag都是在交换机上完成,发送到pc时也会脱掉vlantag

原始以太网数据帧也叫Untagged帧,打了tag后叫标记帧,tagged帧,802.1q帧

TPID是固定值,告诉交换机这个是vlan标签

PRI优先值,3bit说明有2的3次方个优先等级,处理数据的优先顺序

CFI 判断是否是标准格式的指示符

VLANID 12bit说明有4096个vlan id,0-4095。其中0和4095是保留的,可用的是1-4094.

Vlan的划分方式

基于接口的,当接口发生改变,vlan也随之改变

基于mac地址、子网、协议不会跟随接口改变而改变,mac地址和vlan id关联

基于策略,三部分信息全部符合,交换机才会打上vlan标签

VLAN划分方式的匹配优先级

如果入方向 Untagged帧 同时匹配多种划分VLAN的方式,则优先级顺序从高至低依次是:

基于匹配策略划分VLAN>基于MAC地址划分VLAN或基于子网划分VLAN>基于协议划分VLAN>基于接口划分VLAN。

(1)如果报文同时匹配了基于MAC地址划分VLAN和基于子网划分VLAN,缺省情况下,优先:基于MAC地址划分VLAN。可以通过命令改变基于MAC地址划分VLAN和基于子网划分VLAN的优先级,从而决定优先划分VLAN的方式。

(2)基于接口划分VLAN的优先级最低,但却是最常用的VLAN划分方式。

Access接口

常用于连接PC、路由这些无法自己处理vlan标签的网络设备,只能处理一个vlan

Trunk接口

允许多个不同vlan通过,只有本征vlan(默认是vlan1)不用打标签通过,

Hybrid接口

Access和Trunk的混合

Vlan的应用

配置命令

Access配置命令

配置接口类型

[Huawei-GigabitEthernet0/0/1]port link-type access 在接口视图下,配置接口的链路类型为Access。

配置Access接口的缺省VLAN 2.

[Huawei-GigabitEthernet0/0/1]port default vlan vlan-id 在接口视图下,配置接口的缺省VLAN并同时加入这个VLAN。

vlan-id:配置缺省VLAN的编号。整数形式,取值范围量1-4094

Trunk接口配置命令

配置接口类型

[Huawei-GigabitEthernet0/O/1] port link-type trunk

在接口视图下,配置接口的链路类型为Trunk,

配置Trunk接口加入指定VLAN

[Huawei-GigabitEthernet0/o/1]port trunk allow-pass vlan ((vlan-id1[tovlan-id2])|all] 在接口视图下,配置Trunk类型接口加入的VLAN

3.(可选)配置Trunk接口的缺省VLAN

[Huawei-GigabitEthernet0/0/1] port trunk pvid vlan vlan-id 在接口视图下,配置Trunk类型接口的缺省VLAN,不配置默认pvid是1

Hybrid接口配置命令

1 配置接口类型

[Huawei-GigabitEthernet0/0/1]port link-type hybrid

在接口视图下,配置接口的链路类型为Hybrid。

2 配置Hybrid接口加入指定VLAN

[Huawei-GigabitEthernet0/0/1]port hybrid untaqged vlan((vlan-id1[tovlan-id2]]|all

在接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的顿以Untagged方式通过接口

[Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan((vlan-id1[tovlan-id2])|all]

在接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的顿以Tagged方式通过接口。

3 (可选)配置Hybrid接口的缺省VLAN

[Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan vlan-id

在接口视图下,配置Hybrid类型接口的缺省VLAN

6.4.2 VLAN配置案例 P37 - 00:03

基于Mac地址划分vlan配置命令(必须用hybrid接口)

1.关联MAC地址与VLAN

[Huawei-vlan1o]mac-vlan mac-address mac-address[mac-address-maskmac-address-mask-lenqth]

通过此命令配置MAC地址与VLAN关联。

mac-address:指定与VLAN关联的MAC地址。格式为H-H-H。其中H为4位的十六进制数,可以输入1~4位,如 00e0、fc01。当输入不足4位时,表示前面的几位为0,如:输入e0,等同于00e0。MAC地址不可设置为0000 O000-0000、FFFF-FFFF-FFFF和组播地址。

mac-address-mask:指定MAC地址掩码。格式为H-H-H,其中H为1至4位的十六进制数。 mac-address-mask-length:指定MAC地址掩码长度。整数形式,取值范围是1~48。

2.使能MAC地址与VLAN

[Huawei-GigabitEthernet0/0/1lmac-vlan enable 通过此命令使能接口的MAC VLAN功能。

[SW1]display mac-vlan mac-address all 查看mac地址关联的vlan

3.接口都得配 port hybrid untagged vlan vlan-id去掉标签才能通。


第七章 STP

生成树协议

出现的原因:为了提高交换机网络的冗余性和防止环路

接入层交换机的上行只有单一的路,并无冗余,如果发生故障,那么下联的PC将会断网。

引入冗余性的同时引入了二层环路,数据在链路中重复转发不停止,链路的带宽是有限的,带宽不够用就会导致网络瘫痪

二层环路带来的问题

BUM帧包括广播帧、单播帧(U)、组播帧(M)

在处理未知单播帧、广播帧跟组播帧时,S3会进行泛洪操作,因此数据从两侧发出,S2,S1也会随之广播最后又回到S3(广播风暴)

S1接收到S3的数据帧会更新mac地址表信息,将S3的mac地址映射在G0/0/1,当S1再收到S2发来的源mac地址是S3的数据帧时,S1又将mac地址映射在G0/0/2。(Mac地址漂移)。

生成树协议

在网络中部署生成树后,交换机之间会进行生成树协议报文的交互并进行无环拓扑计算,最终将网络中的某个(或某些)接口进行阻塞(Block),从而打破环路。

交换机上运行的生成树协议会持续监控网络的拓扑结构,当网络拓扑结构发生变化时,生成树能感知到这些变化,并直自动做出调整。

因此,生成树既能解决二层环路问题,也能为网络的亢余性提供一种方案。

生成树协议是解决二层环路,交换机与交换机之间的,因为二层帧头中没有任何信息可用于防止数据被无尽止转发。

三层环路,TTL可一定程度防环是因为报文在传送到下一个路由字段就会减1,减到0时数据包就会被丢弃掉。

生成树协议一般应用在接入层和汇聚层,三层网络不用生成树协议,动态路由协议就有防环的功能。

STP基本概念

桥ID(BridgeID,BID)

IEEE802.1D标准中规定BID由16位的桥优先级(Bridge Priority)与桥MAC地址构成。

每一台运行STP的交换机都拥有一个唯一的BID,

BID桥优先级点据高16bit:其余的低48bit是桥MAC地 址

在STP网络中,BID最小的设备会被选举为根桥。备注:此处网桥(Bridge),或者桥也就是交换机。

根桥(RootBridge)

STP的主要作用之一是在整个交换网络中计算出一棵无环的“树”(STP树)。

根桥是一个STP交换网络中的“树根”。

STP开始工作后,会在交换网络中选举一个根桥,作为无环拓扑的“树根”。

在STP网络中,桥ID最小的设备会被选举为根桥。

1 首先比较桥优先级:优先级的值越小:则越优先

2 如果优先级相等,那么再比较MAC地址,拥有最小MAC地址的交换机会成为根桥。

选出根桥后,要指定哪些端口负责什么角色,这时就要看开销值

开销(cost)

接口的Cost主要用于计算根路径开销,也就是到送根的开销

接口的缺省Cost除了与其速率、工作模式有关,还与交换机使用的STPCost计算方法有关。

接口带宽越大,则cost值越小。

用户也可以根据需要通过命今调整接口的cost。

开销值参考

路径开销(Path Cost):从一个非根桥到达根桥的路径可能有多条,每一条路径都有一个总的开销值,此开销值是该路径上所有接收BPDU端口的端口开销总和(即BPDU的入方向端口)。

RPC(根路径开销)

一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的cost累加。

PortID(PID,接口ID)

接口ID由两部分构成的,高4bit是接口优先级,低12bit是接口编号。

激活STP的接口会维护一个缺省的接口优先级,在华为交换机上,该值为128。

BPDU(BridgeProtocolDataUnit,网桥协议数据单元)

BPDU是STP的协议报文。

BPDU分为两种类型:

配置BPDU(ConfigurationBPDU)

TCN BPDU(Topology Change Notification BPDU)

配置BPDU是STP进行拓扑计算的关键:

TCN BPDU只在网络拓扑发生变更时才会被触发。当某条链路故障需要启用备份链路时,交换机会先发TCN BPDU告诉交换机网络发生了变动,再利用配置BPDU重新计算一颗生成树。

最后一行:2 Forward Delay 转发延迟,在侦听和学习状态所停留的时间间隔,默认15s

端口的状态决定能否转发数据

STP的接口状态

禁用(Disable):该接口不能收发BPDU,也不能收发业务数据帧,例如接口为down

阻塞(Blocking):该接口被STP阻塞。处于阻塞状态的接口不能发送BPDU,但是会持续侦听 BPDU:而且不能收发业务数据帧:也不会进行MAC地址学习

侦听(Listening):当接处于该状态时,表明STP初步认定该接口为根接口或指定接口,但接口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业务数据帧,也不会进行MAC地址学习

学习(Learning):当接口处于该状态时,会侦听业务数据帧(但是不能转发业务数据帧),并且在收到业务数据帧后进行MAC地址学习

转发(Forwarding):处于该状态的接口可以正常地收发业务数据帧,也会进行BPDU处理。接口的角色需是根接口或指定接口才能进入转发状态

接口的状态可以迁移

拓扑变化过程

根桥故障

根桥发生变化,非根桥需要20s(超时老化时间Max Age)感知上游出现故障——非根桥会相互发送配置BPDU,重新选举根桥——经过重新选举,非根桥经过Listening-learning-forwarding(forward delay)需要两个15s恢复转发状态——共计50s

直连链路故障

链路故障——交换机根端口故障,备用端口会经过两个阶段共计30s成为根端口恢复转发状态

非直连链路故障

非直连链路故障后,SW3的备用端口恢复到转发状态,非直连故障会导致50s左右的恢复时间。

产生原因:中间连了一台交换机但是没有启用stp协议,因此感知上游故障还多了一个老化时间

拓扑导致mac地址错误

mac地址要300s老化时间才会发现自己的mac地址表错了,然后删除自己的mac表项再更新。为了缩短时间,stp协议的第二个报文TCN BPDU启用了。

当网络拓扑变化时,交换机就会发TCN BPDU告诉上游交换机,上游会回一个TCA置位的配置BPDU告诉交换机说收到了,你的根桥是哪个交换机,你要重新计算你的角色;上游同时会向根桥发送TCN BPDU。——根桥收到TCN BPDU后会发送TC BPDU配置BPDU告诉下一台交换机要更新路由表。下游收到后也会转发TC BPDU告诉他的下游。

缺点:机制复杂,效率低下

RSTP和MSTP看CDSN收藏文章

stp和rstp共同的缺点是交换机共用一颗生成树,导致某些链路空置浪费带宽资源,无法实现不同vlan的负载均衡,因此有了vbst技术和mstp技术。

VBST:基于vlan生成树

奇数vlan生成树和偶数vlan生成树

两颗生成树是相互独立的,偶数vlan的生成树会将奇数vlan生成树的接口阻塞掉,偶数vlan标签的数据走偶数生成树的路线,同理奇数vlan的生成树则阻塞掉偶数vlan生成树的接口。

MSTP:多生成树协议

是通过创建实例,将vlan放入到实例中。一个实例可以对应多个vlan,但是一个vlan只能对应一个实例。

相较于VBST,vbst只能按vlan-id的奇偶性来分开流量,mstp可以更自由地规划vlan,比如vlan12在实例1,34在实例2,更能实现流量的负载均衡。

相较于传统stp组网,为了简化树状结构,又能防止二层环路,同时充分提高链路带宽利用率,可以使用链路聚合技术。

Smart Link (反应速度是毫秒级的,比stp秒级反应更快)

SmartLink是一种为双上行组网量身定做的解决方案:

在双向行的设备上部署,当网络正常时,两条上行链路中,一条处于活跃状态,而另一条则处于备份状态(不承载业务流量)。如此一来二层环路就此打破。当主用链路发生故障后,流量会在毫秒级的时间内迅速切换到备用链路上,保证了数据的正常转发。。SmartLink配置简单,便于用户操作。

无需协议报文交互,收敛速度及可靠性大大提升。

操作简单只需指定两个端口(master和slave),局限性当有3个端口就用不了了。

STP、RSTP配置命令:

一、基础配置命令

启用/关闭STP协议

全局启用:[Huawei] stp enable

接口启用:[Huawei - GigabitEthernet0/0/1] stp enable

关闭命令:undo stp enable(适用于全局或接口视图)

配置STP模式

可选模式:STP、RSTP、MSTP

示例(切换为MSTP):[Huawei] stp mode mstp

注意事项:全网设备需采用统一的STP模式。

二、根桥与优先级配置

指定根桥与备份根桥

主根桥:[Huawei] stp root primary

备份根桥:[Huawei] stp root secondary

手动设置优先级(数值越小,优先级越高):[Huawei] stp priority 4096(默认值为32768)

三、端口参数调整

路径开销与端口优先级

修改端口路径开销:[Huawei - GigabitEthernet0/0/1] stp cost 20000

设置端口优先级:[Huawei - GigabitEthernet0/0/1] stp port priority 128(数值越小,优先级越高)。

端口角色保护

边缘端口(用于连接终端):[Huawei - GigabitEthernet0/0/1] stp edged-port enable

四、验证与排错

查看STP状态

全局状态:display stp

端口角色简表:display stp brief

根桥信息:display stp bridge root

保护功能

BPDU保护:避免边缘端口接收到BPDU报文,导致交换机会自动将这些端口设置为非边缘端口,并重新进行生成树计算,从而引起网络震荡
stp bpdu-protection
根保护:避免出现优先级更高的BPDU抢占根,导致整个生成树结构打乱,造成网络拥塞
int g0/0/0
stp root-protection

环路保护

防止端口角色错误迁移
当根端口(Root Port)或阻塞端口(Alternate Port)因链路拥塞或单向故障无法接收BPDU时,STP会重新计算拓扑,可能导致端口角色迁移形成环路。启用 loop-protection 后,这些端口会进入 Discarding 状态,阻止数据转发。进入Discarding状态后,端口仅接收BPDU,不转发数据,直至重新收到有效BPDU。

适用端口类型:

根端口:若超时未收到BPDU,端口角色保持原状,避免切换为指定端口。

阻塞端口(Alternate/Backup):状态保持阻塞,防止进入转发状态

int g0/0/0
stp loop-protection
TC保护:避免有人伪造TC-BPDU报文恶意攻击交换机,交换机短时间内接收到很多TC-BPDU报文,频繁的删除操作会给设备造成负担

stp tc-protection threshold 

保护机制之间会冲突:同一端口不能同时启用 loop-protectionroot-protection 或边缘端口功能


第八章 链路聚合

网络的可靠性要求

网络的可靠性指当设备或者链路出现单点或者多点故障时保证网络服务不间断的能力,

网络的可靠性可以从单板、设备、链路多个层面实现

单板

以华为12700交换机举例,

链路聚合

以太网链路聚合

以太网链路聚合Eth-Trunk:简称链路聚合,通过将多个物理接口捆绑成为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的。

如果使用生成树协议,4条10g带宽的链路只有1条工作,3条作为备份浪费资源,而链路聚合能让4条都工作,带宽提升为40G。

创建一个eth trunk就生成了一个聚合组,需要人为配置添加接口到聚合组,而这些接口就是成员接口

加入了聚合组不一定就全部活动。

手工负载均衡模式

  • 手工模式:Eth-Trunk的建立、成员接口的加入均由手动配置,双方系统之间不使用LACP进行协商。
  • 正常情况下所有链路都是活动链路,该模式下所有活动链路都参与数据的转发,平均分担流量,如果某条活动链路故障链路聚合组自动在剩余的活动链路中平均分担流量。
  • 当聚合的两端设备中存在一个不支持LACP协议时,可以使用手工模式。

手工模式的缺陷:

为了使链路聚合接口正常工作,必须保证本端链路聚合接口中所有成员接口的对端接口:

  • 属于同一设备
  • 加入同一链路聚合接口

手工模式下,设备间没有报文交互,因此只能通过管理员人工确认。

手工模式下,设备只能通过物理层状态判断对端接口是否正常工作。

LACP链路聚合控制协议

LACPDU报文

LACP模式:采用LACP协议的一种链路聚合模式。设备间通过链路聚合控制协议数据单元(Link Aggregation Control Protocol Data Unit,LACPDU)进行交互,通过协议协商确保对端是同一台设备、同一个聚合接口的成员接口。

LACPDU报文中包含设备优先级、MAC地址、接口优先级、接口号。

系统优先级-选主动端

  • LACP模式下,两端设备所选择的活动接口数目必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端成为主动端,另一端(被动端)根据主动端选择活动接口。
  • 通过系统LACP优先级确定主动端,值越小优先级越高。
  • 系统LACP优先级默认32768,越小越优,通常保持默认。当优先级一致时 LACP会通过比较MAC地址选择主动端 MAC地址越小越优

接口优先级-选活动接口

  • 选出主动端后,两端都会以主动端的接口优先级来选择活动接口,优先级高的接口将优先被选为活动接口。接口LACP优先级值越小,优先级越高。
  • 接口LACP优先级默认为32768,越小越优,通常保持默认,当优先级一致时LACP会通过接口编号选择活动接口,值越小越优。

最大活动接口数

  • LACP模式支持配置最大活动接口数目,当成员接口数目超过最大活动接口数目时会通过比较接口优先级、接口号选举出较优的接口成为活动接口,其余的则成为备份端口(非活动接口),同时对应的链路分别成为活动链路、非活动链路。交换机只会从活动接口中发送、接收报文。
  • 当活动链路中出现链路故障时,可以从非活动链路中找出一条优先级最高(接口优先级、接口编号比较)的链路替换故障链路,实现总体带宽不发生变化、业务的不间断转发。

活动链路选举

  1. SW1、SW2配置LACP模式的链路聚合。两端都设置最大活跃接口数为2。通过LACPDU选举出优先级较高的交换机SW1,作为LACP协商过程的主动端。
  2. SW1在本端通过比较接口优先级、接口编号选举出活动接口,其中1、2号接口在相同的接口优先级下拥有更小的接口号,成为活动接口。
  3. SW1通过LACPDU将本端活动端口选举结果告知对端。
  4. SW2依据SW1的选举结果,明确本端的活动接口,同时对应的链路成为活动链路。

至此,Eth-Trunk的活动链路选举过程完成。

负载分担有两种模式(通过命令行配置):

基于包的负载分担:将数据包分散到不同链路上走,因为每个数据帧在不同链路上走,最后到达对端的时间点不同从而引起数据乱序。

基于数据流的负载分担:同一股数据流走同一条链路,不同数据流走不同链路,按照五元组进行分流(源IP、目的IP、源MAC、目的MAC、源目IP、源目MAC的任意组合)

如果需要处理大量的并发连接,且每个连接的生命周期较短,那么基于包的负载均衡策略可能更适合(比如实时通讯)。而如果需要保持连接状态的稳定性和可靠性,那么基于流的负载均衡策略可能更为合适(比如视频流服务,文件下载)。

使用场景:

交换机和交换机之间

交换机和服务器之间

交换机与堆叠系统

8.2.4 典型使用场景和配置举例1 P53 - 01:31

防火墙双机热备心跳线

配置命令

1.创建链路聚合组

[Huawei] interface eth-trunk trunk-id 创建Eth-Trunk接口,并进入Eth-Trunk接口视图,配置链路聚合模式

2.[Huawei-Eth-Trunk1] mode (lacp/manual load-balance)Mode lacp配置链路聚合模式为lacp模式,mode manual load-balance配置链路聚合模式为手工模式 注意:需要保持两端链路聚合模式一致

3.[Huawei-GigabitEthernet0/0/1]eth-trunktrunk-id 将接口加入链路聚合组中(以太网接口视图)

4.[Huawei-Eth-Trunk1]trunkport interface-type{interface-number将接口加入链路聚合组中(Eth-Trunk视图)

3.4两种方式都可以将接口加入到链路聚合组中。

5.[Huawei-Eth-Trunk1]mixed-rate link enable使能允许不同速率端口加入同一Eth-Trunk接口的功能

缺省情况下,设备未使能允许不同速率端口加入同一Eth-Trunk接口的功能,只能相同速率的接口加入到同一个Eth-Trunk接口中。

6.[Huawei] lacp priority 32768 配置系统LACP优先级, 系统LACP优先级值越小优先级越高,缺省情况下,系统LACP优先级为

7.[SW1-Eth-Trunk1]load-balance src-mac //配置负载分担方式为基于原MAC的方式

load-balance dst-ip //基于目的ip地址分担

8.[SW1-Eth-Trunk1]max active-linknumber 2 //配置最大活动链路数,最小把max改成least

9.[SW1-Eth-Trunk1]lacp preempt enable //开启 lacp 端口抢占,(端口 down 掉,默认不抢占) 当高优先级的故障链路恢复正常,会立即抢占成为活动链路,原先低优先级的活动链路恢复成备份链路。

10.[SW1-Eth-Trunk1]lacp preempt delay 10 //配置抢占等待时间

堆叠/集群

目的:保证设备的可靠性

  • 堆叠(iStack):多台支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上变成一台交换设备,作为一个整体参与数据转发。
  • 集群(ClusterSwitchSystem,CSS):将两台支持集群特性的交换机设备组合在一起,从逻辑上组合成一台交换设备
  • 集群只支持两台设备,所以一般框式交换机支持集群,盒式设备支持堆叠。

优势:

  1. 逻辑上一台设备,简化运维,方便管理。
  2. 一台物理设备故障,其他设备可以接管转发、控制平台,避免了单点故障。
  3. 跨设备的链路聚合,物理上的无环网络,无需再部署STP。
  4. 链路聚合中的链路全部有效使用,链路利用率 100%。

实际应用:

应用1

需要扩展端口,一般在接入层,接入交换机做堆叠增加接口

需要提高带宽、冗余备份

应用2

VRRP是网关的冗余备份,网关是帮助数据跨网段传输的,当某一三层交换机故障关闭了,可以利用VRRP的技术虚拟出来一个网关,当主网关坏了还有虚拟网关

两台设备组成集群,虚拟成单一的逻辑设备。简化后的组网不再需要使用MSTP、RRP等协议,简化了网络配置,同时依靠跨设备的链路聚合,实现快速收敛,提高了可靠性。

推荐架构

核心层:CSS集群组网

汇聚成:堆叠

接入层:堆叠,既能扩展端口又能做链路的冗余备份,而且不用stp协议也可以阻止二层环路,将bpdu报文消耗的带宽节省了用来转发用户数据。


第九章 路由

路由

  • 路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的最佳路径
  • 路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器。
  • 路由设备维护着一张路由表,保存若路由信息。

路由信息:

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

路由表(存放路由信息)

  • 路由器通过各种方式发现路由
  • 路由器选择最优的路由条目放入路由表中
  • 路由表指导设备对IP报文的转发
  • 路由器通过对路由表的管理实现对路径信息的管理

路由条目生成

来源:直连路由 静态路由 动态路由

  • 直连路由指向本地直连网络的路由:由设备自动生成。
  • 当路由器为路由转发的最后一跳路由器时,IP报文匹配直连路由:路由器转发IP报文到目的主机。
  • 使用直连路由进行路由转发时,报文的目的IP和路由器接口IP在一个网段之中。
  • 并不是所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP。当某个接口down掉了,它的直连路由信息也从路由表上消失。

查看路由表命令 dis ip routing-table

路由表各项内容含义

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

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

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

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

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

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

最优路由条目优选:同目的网段,先比较优先级,再看开销。直连优先级为0且不可更改,静态路由默认60,ospf内部路由默认10,ospf外部路由默认150.内部路由是指和目的网段在同一个区域里。

路由转发

最长匹配原则

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

匹配度最长是指掩码位最大,前提是该路由条目包含有该数据包的目的ip,符合条件的再比较掩码位数,越大的越精确。

和最优路由条目区分开:最优路由条目是为了把这条路由添加到路由表。当路由添加到路由表后,报文的转发就遵循唯一原则最长匹配原则,选出最符合的路径。

静态路由的配置 通过配置命令将非直连网段加入到路由器的表项。

[huawei]ip route-static ip-address mask interface-type interface number nexthop-address \\关联出接口和下一跳

对于点到点接口(如串口Serial),必须指定出接口

对于广播接口,(如GE、E、10GE)和虚拟接口,必须指定下一跳

出接口和下一跳都配上就万无一失了。

缺省路由(默认路由)

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

规则:路由A要把数据发给不同网段必须经过同一个下一跳,才能配置缺省路由

应用场景:缺省路由一般用于企业网络出口,配置一条缺省路由让出口设备能够转发前往internet 上任意地址的IP报文。

动态路由

静态路由的缺陷:所有设备都要手动配置,无法感知网络拓扑变化,所有变化都要管理人员去配置,一旦网络设备多了就非常耗费时间。

动态路由:自动发掘、学习路由,感知拓扑变更,适用大规模网络

动态路由分类

按工作区域分:内部网关协议(IGP):RIP、OSPF、IS-IS 外部网关协议(EGP):BGP

同一个组织内学习用IGP,不同组织间学习路由用EGP。

按工作机制及算法分类:

距离矢量路由协议:RIP

链路状态路由协议:OSPF、IS-IS

路由的高级特性

路由递归

  1. 去往30.1.2.0/24的路由,下一跳为20.1.1.3,非本地直连网络,如果路由表中没有去往20.1.13的路由,该静态路由将不会生效,无法作为有效路由条目,并不会出现在路由表
  2. 添加一条去往20.1.1.3的路由,下一跳为直连网络内的IP地址10.0.0.2
  3. 去往30.1.2.0/24的路由通过递归查询得到一个直连的下一跳,该路由因此生效。

递归查询‌:如果没有直接连接的下一跳,路由器会继续在路由表中查询是否存在去往该非直连下一跳地址的路由。这个过程会重复进行,直到找到一个直接连接的下一跳为止。

等价路由

来源相同、开销相同的路由都会被加入路由表形成的路由为等价路由(两个路由条目指向的目的网段相同,但是具有不同的下一跳地址)路由转发会将流量分布到多条路径上。

路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发,转发行为被称为负载分担。

等价路由的两条线连同一个路由不会环路吗?

‌等价路由的两条线连接到同一个路由器不会形成环路‌。等价路由(ECMP,Equal-Cost Multi-Path Routing)是指到达同一个目的IP或目的网段存在多条开销值相等的不同路由路径。当两条链路具有相同的源地址、目的地址和开销值时,它们会合并为一条逻辑链路,但并不会形成环路。这是因为等价路由会将流量平均分布到这些物理链路上进行传输,而不是形成一个闭环‌

浮动路由

路由器上有多条去往同一个目的网络的链路,它们的优先级不同,优先级高的运作,优先级低的作为备份,当链路故障了次优链路接替。

路由汇总

CIDR(classlessinter-domainrouting,无类别域间路由)采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分。

CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有效减少路由表条目数量。

如图4条掩码不同的网段用一条网段汇总,因为第三字节前四位是相同的,所以可用192.168.0.0/20来表示这4个网段。

对比维度VLSM(可变长子网掩码)CIDR(无类域间路由)
定义通过动态调整子网掩码的长度,把一个网络划分为多个不同规模的子网通过取消传统的IP分类,将多个小型网络地址聚合为更大的地址块
主要目的提高IP地址的利用率,以适应不同规模的子网需求减少路由表条目的规模,优化路由效率
子网掩码操作向右移动(向主机位借位,增加网络位)向左移动(向网络位借位,减少网络位)
应用场景内部网络设计(例如企业不同部门的子网划分)互联网路由聚合(ISP地址分配、骨干网路由优化)
地址利用率允许同一主网内存在不同的子网掩码,实现精细的地址分配通过超网合并连续的地址块,减少地址碎片
路由表影响可能增加路由条目(需支持无类路由协议,如OSPF/RIP v2)显著减少路由条目(通过路由聚合)
技术关系是实现CIDR的基础技术之一依赖VLSM实现精细化的地址分配
典型示例将192.168.1.0/24划分为/25、/26等不同的子网将多个C类地址(如192.168.0.0/24 - 192.168.3.0/24)聚合为192.168.0.0/22

黑洞路由(解决路由汇总带来的环路问题或其他安全问题)

我们先在路由B上设置了缺省路由0.0.0.0/0指向路由器A,而路由器A则设置了一个汇总路由10.1.0.0/16指回了路由器B

但路由器B前面只有10.1.1.0/24`10.1.10.0/24`十个网段,剩下的其它网段`10.1.11.0/24`10.1.254.0/24都会这些包一直打环,要等到TTL超时才能停下。

所以在这种情况下就需要设置一种特殊的静态路由,将所有无关路由吸入其中,使它们有来无回的路由。

[Huawei] ip route-static 10.1.0.0 16 0 NULL0

Null0是一个系统保留的逻辑接口,当网络设备在转发某些数据包时,如果使用出接口为Null0的路由,

那么这些报文将被直接丢弃,就像被扔进了一个黑洞里,因此出接口为Null0的路由又被称为黑洞路由。

疑问:万一他把在内网的数据包也送进黑洞怎么办?

优先级!!黑洞路由的优先级需低于明细路由但高于默认路由,确保不存在网段的数据包优先被黑洞路由丢弃

loopback接口

LoopBack接口属于设备上的逻辑接口,逻辑接口是指能够实现数据交换功能但物理上不存在、需要通过配置建立的接口。

LoopBack接口创建后除非手工关闭该接口,否则LoopBack接口物理层状态和链路层协议永远处于UP状态。一般情况下,LoopBack接口使用32位掩码。使用LoopBack接口一般有如下自的:

1.作为一台路由器的管理地址,起到标识一台设备的作用。

2.使用该接口地址作为动态路由协议OSPF的routerid。

3.其他提高网络可靠性的用途。

Ping -a source-ip-address destination-ip-address命令用来指定发送ICMP ECHO- REQUEST报文的源IP 地址及目的IP地址。此时由于路由器上没有到该目的IP的路由条目,所以无法PING通。


第十章 实现vlan间通信

Vlan间通信

  • 实际网络部署中一般会将不同IP地址段划分到不同的VLAN。
  • 同VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信。
  • VLAN之间需要通过三层通信实现互访,三层通信需借助三层设备。

使用路由器实现VLAN间通信(两种方式):

1.物理接口

2.子接口(单臂路由)

使用物理接口

因为PC和路由处理数据时都识别不了vlan标签,所以:

交换机的接口采用Access,接收数据时会打上vlan标签,当发出数据时,如果接口vlan跟本身数据的vlan标签一样,发送的同时就会丢弃标签。

局限性:access接口只能使用单独一个vlan,如果要加一个vlan就要多一条链路。假设要分20个vlan就要使用20个接口,占用了太多接口。成本高

使用路由器子接口(共用一个物理接口):

GE0/0/1.10和GE0/0/1.20为子接口,是一个逻辑接口

了解Dot1q终结子接口:子接口也是一种三层的逻辑接口。跟VLANIF接口一样,在子接口上配置Dot1g终结功能和IP地址后,设备也会添加相应的MAC表项并置位三层转发标志位,进而实现VLAN间的三层互通。Dot1q终结子接口适用于通过一个三层以太网接口下接多个VLAN网络的环境。

子接口可以识别vlan标签,GE0/0/1.10识别的是vlan10的数据。

子接口处理数据:1.把mac地址这一层数据链路层的信息去掉 2.去掉vlan信息 3.重新封装数据再发出去,封装时网络层信息不变,添加上数据链路层数据和vlan标签。

[R1-GigabitEthernet0/0/1.10]dot1q termination vid 10 | 启用VLAN dot1q协议,并允许vlan10相关的帧通过

[R1-GigabitEthernet0/0/1.10]arp broadcast enable | 启用ARP广播协议

子接口方式的缺点:

1.所有终端走同一条链路,对链路压力是比较大的。

2.一旦链路故障,所有通信都会中断。单点故障

使用三层交换机VLANIF技术实现vlan间通信:

vlanif是虚拟接口,在路由模块,处理数据会解封装把数据链路层信息去掉根据网络层ip信息重新添加目的mac转发出去。


第十一章 动态路由协议

按算法分类:距离矢量路由协议和链路状态路由协议

距离矢量路由协议

路由器通告整个路由表给它的邻居,定期的向所有的邻居发送路由更新信息

  • 距离:决定了自己与目的网络有多远
  • 矢量:指出自己通过哪个方向能够到达目的网络

路由器通过和邻居周期性的共享自己的路由表信息,通过矢量叠加得到相应的路由表项,更新信息周期性的通过邻居一跳一跳的扩散到整个网络

距离矢量协议的缺点:

  1. 跳数无穷大
  2. 路由环路
  3. 不一致的路由信息

解决方案:定义最大跳数、水平分割、触发更新、毒性逆转、抑制计时器

OSPF协议的重要概念

LSDB(Link-State Database):

  • 描述:LSDB是每个OSPF路由器内部维护的数据库,用于存储接收到的LSA。它是一个用于计算最短路径的数据结构,包含了所有已知的LSA。作用:LSDB的主要作用是存储来自网络中其他路由器的LSA,并提供了完整的网络拓扑视图。它用于路由器的最短路径算法,以构建最优的路由表。

LSA(Link-State Advertisement):

  • 描述:LSA是OSPF协议中用于交换链路状态信息的数据包。每个LSA包含特定网络元素(如路由器、网络、链路等)的链路状态信息。作用:LSA的主要作用是传播每个网络元素的链路状态信息,包括与其相连的链路、链路的状态、成本等。LSA允许路由器了解网络中的拓扑信息。

LSA泛洪同步各自的LSDB数据库,每个路由器都清楚全网的拓扑。

SPF计算(最短路径计算)

通过计算从本地路由器(根节点)到网络中所有其他节点的最短路径树(SPT),另外,通过链路状态数据库(LSDB)中的拓扑信息构建全网无环结构,确保路由表不存在冗余路径

SPF计算的关键参数:Cost值

  • Cost计算公式Cost = 100 Mbps/链路带宽,带宽越高,Cost越低

OSPF协议 (开放最短路径)

  • OSPF是典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一。
  • 目前针对IPv4协议使用的是OSPFVersion2(RFC2328):针对IPv6协议使用OSPFVersion3(RFC274O)
  • 运行OSPF路由器之间交互的是LS(LinkState,链路状态)信息,而不是直接交互路由。 OSPF路由器将网络中的LS信息收集起来,存储在LSDB中。
  • 每台OSPF路由器都采用SPF算法计算达到目的地的最短路径。路由器依据这些路径形成路由加载到路由表中
  • OsPF支持VLSM(VariableLengthSubnetMask,可变长子网码),支持手工路由汇总。多区域的设计使得OSPF能够支持更大规模的网络。

OSPF在园区网络中的运用

在核心交换机与汇聚交换机上运行OSPF,实现园区网络内的路由可达。

OSPF基础术语

区域

  • OSPF Area用于标识一个OSPF的区域,
  • 区域是从逻辑上将设备划分为不同的组,每个组用区域号(AreaID)来标识。

Router-ID

  • (Router ldentifier,路由器标识符),用于在一个OSPF域中唯一地标识一台路由器
  • Router-ID的设定可以通过手工配置的方式,或使用系统自动配置的方式。

度量值(累计开销)

OSPF使用Cost(开销)作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值,缺省时接口cost值=100Mbit/s 除以 接口带宽。其中100Mbit/s为OSPF指定的缺省参考值,该值是可配置的。

度量值:OSPF路径累计cost值,是由接口cost值相加而来

什么情况要改100Mbit/s?当由千兆口时,接口cost值不能取小数点所以和百兆口一样也为1,就可以将其改大到1000Mbit/s。

OSPF协议报文类型

Hello 周期性发送,用来发现和维护OSPF邻居关系。

Database Description 描述本地LSDB的摘要信息,用于两台设备进行数据库同步。

Link State Request 用于向对方请求所需要的LSA。设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。

Link State Update 用于向对方发送其所需要的LSA。

Link State ACK 用来对收 到的LSA进行确认。

OSPF的邻居表:dis ospf peer\\查看邻居表

  • OSPF在传递链路状态信息之前,需先建立OSPF邻居关系
  • OSPF的邻居关系通过交互Hello报文建立。

OSPF的LSDB表:dis ospf lsdb \\查看LSDB表。详细信息后面加上 router

LSDB会保存自己产生的及从邻居收到的LSA信息,本例中R1的LSDB包含了三条LSA

Type标识LSA的类型,AdvRouter标识发送LSA的路由器

OSPF的路由表:dis ospf routing \\查看路由表

  • OSPF路由表和路由器路由表是两张不同的表项。
  • OSPF路由表包含Destination、Cost和NextHop等指导转发的信息。

LSA、LSDB、SPF 与路由表的关联

相互交换自己的 LSA 从而组成 LSDB。【LSDB 的形成】

通过 SPF 算法对 LSDB 中的路径信息进行计算,得出最优的 OSPF 路由。【路由的产生】

最优的 OSPF 路由放置在路由表中。如果存在其它路由协议的最优路由与 OSPF 的最优路由相同,将进行比较路由优先级,优先级小的信任度更高,将成为最优路由放置在路由表中

OSPF协议工作原理

ospf路由器之间的关系:邻居关系和邻接关系

两台路由器通过Hello报文发现彼此后就建立了邻居关系,邻居关系建立后经过DD、LSR、LSU和LSACK等,两台路由器LSDB同步完成,并开始计算路由时,就完成了邻接关系。

Hello报文确立邻居关系——DD报文协商主从关系,描述各自的LSDB(摘要信息),更新LSA,同步双方LSDB——计算路由

邻居发现阶段

Down → Init状态
路由器启动后发送Hello报文(组播地址224.0.0.5),包含自身Router ID和区域号。当收到邻居的Hello报文但未在邻居列表中看到自己的Router ID时,状态转为Init状态

Init → 2-Way状态
当收到Hello报文的邻居列表中出现自己的Router ID时,双方确认双向通信,进入2-Way状态。此时仅建立邻居关系,若无需同步数据库(如DROther之间),则停留在此状态

DD报文的协商和同步

2 Way——ExStart状态(主从协商)
路由器交换空DBD报文,根据Router ID选举主从(高ID为Master),Master决定DD报文序列号,协商序列号用于后续DD报文同步。

Exstart——Exchange状态(摘要交换)
主从角色确定后,发送携带LSA摘要的DBD报文(类似目录),双方对比本地LSDB差异

邻接关系建立过程

DD报文同步各自的LSA摘要信息后,进入Loading状态(同步详细链路状态):

路由器向各自对方要LSA的完整信息(发送LSR请求)——对方收到后将其需要的LSA的完整信息用LSU(link state update) 报文发出——验证有没有收到,路由器收到会发一个确认报文LSACK。同步完成后状态由loading——Full状态 邻接关系建立,可开始SPF计算最优路由,生成路由表项。

OSPF的快速收敛机制:

调整Hello/Dead间隔

  • 缩短Hello报文发送间隔(默认10秒),加快邻居失效检测速度,例如设置为5秒。Dead时间需保持为Hello间隔的4倍(如20秒),避免误判链路故障

Smart-Discover功能(触发更新):在DR/BDR变化或邻居状态切换时,主动立即发送Hello报文,跳过等待周期,加速邻接关系建立

增量更新:只发邻居需要的LSA,同步LSDB。

SPF增量算法(I-SPF与PRC)

  • I-SPF:仅对拓扑变化影响的节点重新计算最短路径树(SPT),保留未变化节点路径。
  • PRC(部分路由计算):当路由变化但SPT未变化时,仅更新受影响的路由条目,避免全量计算

OSPF 网络类型

OSPF的有四种网络类型,Broadcast、NBMA、P2MP和P2P。可以通过命令行修改 ospf network-type {Broadcast/ NBMA network/ point-to-multipoint network/ point-to-point network}

修改了网络类型后一定要保证两端的网络类型是一样的。

P2P 点到点

P2P指的是在一段链路上只能连接两台网络设备的环境

典型的例子是PPP链路。当接口采用PPP封装时,OSPF 在该接口上采用的缺省网络类型为P2P。

使用场景:接口是串行口,一条链路只有两个设备

BMA(broadcast Multiple Access)广播类型

BMA也被称为Broadcast,指的是一个允许多台设备接入的、支持广播的环境。

典型的例子是Ethernet(以太网)。当接口采用Ethernet 封装时,OSPF在该接口上采用的缺省网络类型为BMA。如果单条链路只有两个路由器也可以改成P2P

NBMA(Non-BroadcastMultipleAccess,非广播式多路访问)

NBMA指的是一个允许多台网络设备接入且不支持广播的环境。

数据链路层使用的是帧中继协议,ospf就是NBMA

如果是以太网协议,ospf就是广播类型

P2MP(PointtoMulti-Point,点到多点)

P2MP相当于将多条P2P链路的一端进行拥绑得到的网络。

没有一种链路层协议会被缺省的认为是P2MP网络类型。该类型必须由其他网络类型手动更改。

DR与BDR

当网络规模比较大时,如果每台OSPF路由器都与其他的所有路由器建立OSPF邻接关系,便会导致网络中存在过多的OSPF邻接关系,增加设备负担,也增加了网络中泛洪的OSPF报文数量。

当拓扑出现变更,网络中的LSA泛洪可能会造成带宽的浪费和设备资源的损耗。

如何解决上面的问题?通过DR去减少邻接关系

OSPF指定了三种身份,DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备用指定路由器)和DRother路由器。

DR:就像 一个班的班长,会跟其他路由器都建立邻接关系,汇总完后再告知每个路由器。

BDR:就像副班长,在DR工作时他也备份了所有邻接关系并且监控DR的状态,DR不工作时他就接替保证ospf运行。

DRother:DRother只与DR、BDR建立邻接关系,DRother之间不建立邻接关系,会停滞在2-way状态。

OSPF域

OSPF域(domain):运行了ospf协议的设备组成了ospf域

在ospf域中,可以使用单区域或者多区域。

单区域

ospf路由器在同一个区域(Area)内网络中泛洪LSA

随着网络规模越来越大,ospf路由器的数量越来越多带来诸多问题:

  • LSDB越来越庞大,同时导致OSPF路由表规模增加,路由器设备性能下降,影响数据转发。
  • 基于庞大的LSDB进行路由计算变得困难
  • 当网络拓扑变更时,LSA全域泛洪和全网SPF重新计算带来巨大负担。

多区域

OSPF引I入区域(Area)的概念,将一个OSPF域划分成多个区域,可以使OSPF支撑更大规模组网。

OSPF多区域的设计减小了LSA泛洪的范围,有效的把拓扑变化的影响控制在区域内,达到网络优化的目的。·

在区域边界可以做路由汇总,减小了路由表规模。

多区域提高了网络扩展性,有利于组建大规模的网络。

OSPF路由器根据其位置或功能不同,分为:

区域内路由器IR(Internal Router)

区域边界路由器ABR(Area Border Router)连接骨干区和非骨干区

骨干路由器(Backbone Router)在骨干区的路由器

自治系统边界路由器ASBR(AS Boundary Router)一边连接ospf协议和另一边连接其他路由协议。

配置命令

ospf number router-id\\不填number默认是进程1, id格式和ip地址一样

area 0 \\骨干区域0.0.0.0

network 直连网络地址 反掩码\\宣告网段进入area

ospf cost \\接口视图 配置接口上运行ospf协议所需的开销

bandwidth-reference value \\ospf视图 设置ospf带宽参考值

ospf dr-priority 100\\接口视图 设置接口在选举DR时的优先级

配置OSPF认证

OSPF支持报文验证功能,只有通过验证的报文才能接收,否则将不能正常建立邻居关系。

配置命令分为区域认证和链路认证

链路在同一个区域内用区域认证,简化配置

authentication-mode md5 1 "password" \\ospf区域视图下

ospf authentication-mode md5 1 "password" \\接口视图下

配置ospf默认路由

default-route-advertise \\下发默认路由

default-route-advertise always \\在出口路由器的ospf进程下 强制下发默认路由到普通ospf区域 但如果该出口路由器没配置默认路由,ospf内部也无法与外部通信

OSPF链路类型:点到点连接另一台路由器(P2P);传输链路(transit);STUB链路;虚链路(virtual-link),查看路由表和lsdb表可以看到

广播型网络配置ospf,链路类型有两种:TransNet、StubNet

TransNet是需要维护邻居的链路类型,StubNet是指不需要邻居的链路类型


第十二章 ACL访问控制列表

访问控制列表ACL(Access Control List)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。

ACL的组成

ACL由若干条permit或deny语句组成。每条语句就是该ACL的一条规则,每条语句中的permit或 deny就是与这条规则相对应的处理动作。

acl  2000 \\基本策略

acl name 2000/3000\\带名称的策略

rule 5 permit/deny source ip 通配符

规则编号(RuleID):一个ACL中的每一条规则都有一个相应的编号。不加编号默认第一条是5

步长(Step)

步长是系统自动为ACL规则分配编号时,每个相规编号之间的差值,缺省值为5。步长的作用是为了方便后续在旧规则之间,插入新的规则。

RuleID分配规则

系统为ACL中首条未手工指定编号的规则分配编号时,使用步长值(例如步长=5,首条规则编号为5)作为该规则的起始编号;为后续规则分配编号时,则使用大于当前ACL内最大规则编号且是步长整数倍的最小整数作为规则编号。

permit:允许 deny:拒绝

通配符:0严格匹配 1随机匹配 0和1可以任意放置

筛选子网掩码24的、奇数的网段:前三字节必须匹配,都取0 所以是0.0.0 最后字节的最后一位必须为1,所以通配符最后一个字节最后一位必须取0 所以是0.0.0.254

基本ACL只能挑选源ip地址,高级ACL能挑选源ip地址和目的ip地址、协议类型、源端口和目的端口

配置顺序(config模式)

系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配

两个方向:inbound入站ACL outbound出站ACL

  • 交换机上给Vlanif接口定义ACL方向:traffic-filter vlan 1 inbound acl 2000

  • 路由器上给路由接口定义ACL方向:traffic-filter inbound acl 2000

高级ACL的配置命令

配置基于ICMP协议类型、源IP地址(主机地址)和目的IP地址(网段地址)过滤报文的规则

在ACL 3001中配置规则,允许源IP地址是192.168.1.3主机地址且目的IP地址是192.168.2.0/24网段地址的ICMP报文通过。

rule permit icmp source 192.168.1.3 0 destination 192.168.2.0 0.0.0.255

配置基于TCP协议类型、TCP目的端口号、源IP地址(主机地址)和目的IP地址(网段地址)过滤报文的规则

在名称为deny-telnet的高级ACL中配置规则,拒绝IP地址是192.168.1.3的主机与192.168.2.0/24网段的主机建立Telnet连接。

[Huawei] acl name deny-telnet
[Huawei-acl-adv-deny-telnet] rule deny tcp destination-port eq telnet source 192.168.1.3 0 destination 192.168.2.0 0.0.0.255 

在名称为no-web的高级ACL中配置规则,禁止192.168.1.3和192.168.1.4两台主机访问Web网页(HTTP协议用于网页浏览,对应TCP端口号是80),并配置ACL描述信息为Web access restrictions。

[Huawei] acl name no-web
[Huawei-acl-adv-no-web] description Web access restrictions
[Huawei-acl-adv-no-web] rule deny tcp destination-port eq 80 source 192.168.1.3 0
[Huawei-acl-adv-no-web] rule deny tcp destination-port eq 80 source 192.168.1.4 0

eq后可接协议或者协议的端口号

配置基于TCP协议类型、源IP地址(网段地址)和TCP标志信息过滤报文的规则

在ACL 3002中配置规则,拒绝192.168.2.0/24网段的主机主动发起的TCP握手报文通过,允许该网段主机被动响应TCP握手的报文通过,实现192.168.2.0/24网段地址的单向访问控制。同时,配置ACL规则描述信息分别为Allow the ACK TCP packets through、Allow the RST TCP packets through和Do not Allow the other TCP packet through。

完成以上配置,必须先配置两条permit规则,允许192.168.2.0/24网段的ACK=1或RST=1的报文通过,再配置一条deny规则,拒绝该网段的其他TCP报文通过。

<Huawei> system-view
[Huawei] acl 3002
[Huawei-acl-adv-3002] rule permit tcp source 192.168.2.0 0.0.0.255 tcp-flag ack                                                           
[Huawei-acl-adv-3002] rule 5 description Allow the ACK TCP packets through
[Huawei-acl-adv-3002] rule permit tcp source 192.168.2.0 0.0.0.255 tcp-flag rst
[Huawei-acl-adv-3002] rule 10 description Allow the RST TCP packets through
[Huawei-acl-adv-3002] rule deny tcp source 192.168.2.0 0.0.0.255                             
[Huawei-acl-adv-3002] rule 15 description Do not Allow the other TCP packet through

配置时间访问

定义了一个名为work_hours的时间范围,从每天的08:00到17:00为工作时间,在工作日有效

[Huawei] time-range (work_hours) 08:00 to 17:00 working-day 工作日的8点到17点

[Huawei-acl-adv-3000] rule permit tcp source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 time-range work_hours


第十三章 AAA模式

AAA指的是Authentication、Authorization、Accounting,意思是认证、授权、计费,是网络安全的一种管理机制

• 认证是确认访问网络的远程用户的身份,判断访问者是否为合法的网络用户。

• 授权是对不同用户赋予不同的权限,限制用户可以使用的服务。例如,管理员授权办公用户才能对服务器中的文件进行访问和打印操作,而其它临时访客不具备此权限。

• 计费是记录用户使用网络服务过程中的所有操作,包括使用的服务类型、起始时间、数据流量等,用于收集和记录用户对网络资源的使用情况,并可以实现针对时间、流量的计费需求,也对网络起到监视作用。

网络运营商(ISP)需要验证家庭宽带用户的账号密码之后才允许其上网,并记录用户的上网时长或上网流量等内容,这就是AAA技术最常见的应用场景。

常见AAA网络架构

  • 每个用户都属于某一个域。用户属于哪个域是由用户名中的域名分隔符@后的字符串决定。例如,如果用户名是user1@domain1,则用户属于domain1域。如果用户名后不带有@,则用户属于系统缺省域。
  • NAS负责集中收集和管理用户的访问请求。NAS基于域来对用户进行管理,NAS上会创建多个域来管理用户,每个域都可以配置不同的认证、授权和计费方案,用于对该域下的用户进行认证、授权和计费。
  • 当收到用户接入网络的请求时,NAS会根据用户名来判断用户所在的域,根据该域对应的AAA方案对用户进行管控。

认证方式

不认证:完全信任用户,不对用户身份进行合法性检查。鉴于安全考虑,这种认证方式很少被采用。

本地认证:将本地用户信息(包括用户名、密码和各种属性)配置在NAS上,此时NAS就是AAA Server。本地认证的优点是处理速度快、运营成本低;缺点是存储信息量受设备硬件条件限制。这种认证方式常用于对用户登录设备进行管理,如Telnet,FTP用户等。

远端认证:将用户信息(包括用户名、密码和各种属性)配置在认证服务器上。支持通过RADIUS协议或HWTACACS协议进行远端认证。NAS作为客户端,与RADIUS服务器或HWTACACS服务器进行通信。

当用户想要通过NAS(network access server网络接入服务器)获得访问其它网络的权利或取得某些网络资源的权利时,首先需要通过AAA认证,而NAS就起到了验证用户的作用。NAS负责把用户的认证、授权、计费信息透传给服务器。服务器根据自身的配置对用户的身份进行判断并返回相应的认证、授权、计费结果。NAS根据服务器返回的结果,决定是否允许用户访问外部网络、获取网络资源。

授权方式

不授权:不对用户进行授权处理。

本地授权:根据NAS上对应域下的配置进行授权。

远端授权:支持由RADIUS服务器授权或HWTACAS服务器授权。

RADIUS授权,只支持对通过RADIUS服务器认证的用户授权。RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。

当采用远端授权时,用户可以同时从授权服务器和NAS获取授权信息。NAS配置的授权信息优先级比授权服务器下发的授权信息低。

计费方式

  • 不计费:为用户提供免费上网服务,不产生相关活动日志。
  • 远端计费:支持通过RADIUS服务器或HWTACACS服务器进行远端计费。

AAA实现协议 - RADIUS

  • AAA可以用多种协议来实现,最常用的是RADIUS协议。RADIUS是一种分布式的、客户端/服务器结构的信息交互协议,可以实现对用户的认证、计费和授权功能。
  • 通常由NAS作为RADIUS客户端,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接受/拒绝用户接入)。
  • RADIUS服务器一般运行在中心计算机或工作站上,维护相关的用户认证和网络服务访问信息,负责接收用户连接请求并认证用户,然后给客户端返回所有需要的信息(如接受/拒绝认证请求)。RADIUS使用UDP(User Datagram Protocol)作为传输协议,并规定UDP端口1812、1813分别作为认证、计费端口,具有良好的实时性;同时也支持重传机制和备用服务器机制,从而具有较好的可靠性。

过程:

  1. 当用户接入网络时,用户发起连接请求,向RADIUS客户端(即NAS)发送用户名和密码。
  2. RADIUS客户端向RADIUS服务器发送包含用户名和密码信息的认证请求报文。
  3. RADIUS服务器接收到合法的请求后,完成认证,并把所需的用户授权信息返回给客户端;对于非法的请求,RADIUS服务器返回认证失败的信息给客户端。
  4. RADIUS客户端通知用户认证是否成功。
  5. RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则RADIUS客户端向RADIUS服务器发送计费开始请求报文。
  6. RADIUS服务器返回计费开始响应报文,并开始计费。
  7. 用户开始访问网络资源。
  8. 当用户不再想要访问网络资源时,用户发起下线请求,请求停止访问网络资源。
  9. RADIUS客户端向RADIUS服务器提交计费结束请求报文。
  10. RADIUS服务器返回计费结束响应报文,并停止计费。
  11. RADIUS客户端通知用户访问结束,用户结束访问网络资源。

AAA配置

[Huawei] aaa \\进入AAA视图

[Huawei-aaa] authentication-scheme 【authentication-scheme-name】\\创建认证方案并进入相应的认证方案视图

[Huawei-aaa-authentication-scheme-name] authentication-mode {local | radius | hwtacacs}\\配置认证方式,local指定认证方式为本地认证。缺省情况下,认证方式为本地认证。

[Huawei-aaa] domain 【domain-name】\\创建domain并进入相应的domain视图

[Huawei-aaa-domain-name] authentication-scheme 【authentication-scheme-name】\\在相应的domain视图下绑定认证方案

[Huawei-aaa] local-user 【user-name】 password cipher 【password】\\创建本地用户,并配置本地用户的密码

  • 如果用户名中带域名分隔符,如@,则认为@前面的部分是用户名,后面部分是域名
  • 如果没有@,则整个字符串为用户名,域为默认域

[Huawei-aaa] local-user 【user-name】 service-type { {terminal | telnet | ftp | ssh | snmp | http} | ppp | none }\\设置本地用户的接入类型。缺省情况下,本地用户关闭所有的接入类型。

[Huawei-aaa] local-user 【user-name】 privilege level 【level】\\指定本地用户的权限级别。

display domain name [domain-name] \\命令用来查看域的配置信息。

• Domain-state为Active表示激活状态。

• 如果用户名后不带有@,则用户属于系统缺省域,华为设备支持两种缺省域:

  1. default域为普通用户的缺省域。
  2. default_admin域为管理用户的缺省域。

display aaa offline-record all\\命令用来查看系统中用户下线的记录


第十四章 NAT 网络地址转换

NAT:对IP数据报文中的IP地址进行转换,一般部署在连接内网和外网的网关设备,例如路由器或防火墙上

NAT的典型应用场景

对于“从内到外”的流量,网络设备通过NAT将数据包的源地址进行转换

对于“从外到内的”流量,则对数据包的目的地址进行转换

静态NAT

静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,一对一映射。

静态NAT配置

方式一:接口视图下配置静态NAT

[Huawei-GigabitEthernet0/0/0] nat static global (公有地址) inside (私有地址)

方式二:系统视图下配置静态NAT

[Huawei] nat static global global-address inside host-address

[Huawei-GigabitEthernet0/0/0]nat static enable \\在接口下使能静态NAT

[Huawei] display nat static \\查看静态NAT的配置。

局限性:只完成了私有地址对公有地址的映射,没有解决公有地址不足的问题

动态NAT

动态NAT:当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。

转换过程:

内网主机访问外网先查看地址池哪一个ip是空闲的,找到空闲IP将其标记为in use,在NAT映射表做下记录表示该ip已经绑定了一个私有地址。当外网回访该主机,NAT会根据映射表将目的地址换成私有地址,将公有地址还回地址池。

配置命令

1.创建地址池

[Huawei]nat address-group #地址池编号 起始ip 结束ip \\配置公有地址范围

2.配置地址转换的ACL规则

[Huawei]acl 2000 \\基本ACL

[Huawei-acl-basic-2000] rule 5 permit source 192.168.1.0 0.0.0.255 \\匹配需要进行动态转换的源地址范围

3.接口视图下配置带地址池的NAT Outbound

[Huawei-GigabitEthernet0/0/0] nat outbound acl-number address-group group-index [no-pat] 接口下关联ACL与地址池进行动态地址转换,no-Pat参数指定不进行端口转换,只转换ip信息

display nat address-group \\查看地址池

display nat outbound \\查看NAT转换表

display nat session all \\查看NAT转发表

局限性:能一定程度缓解ip地址不够用,但是不能解决很多用户并发上网的问题,用户得看地址池有空闲的ip才能建立映射关系。

NAPT

 网络地址端口转换NAPT(Network Address Port Translation):允许多个内部地址映射到同一个公有地址的不同端口。实现了多对一

配置命令与动态NAT相似,唯一不同是接口关联ACL时不加 no-pat

Easy IP

原理与NAPT相似,不同在于没有地址池,接口接收到分配的ip就是公有地址,适合小型网络内网转外网

配置命令

[ar1-acl-basic-2000]rule 10 permit source 10.10.10.0 0.0.0.255

[ar1-GigabitEthernet0/0/1]nat outbound 2000  //配置出向的NAT,对ACL允许的数据进行地址转换,将源IP地址转换为该接口的IP地址。

dis nat bound 显示NAT绑定信息

NAT server

实现内网服务器被外网用户所访问,将私网地址外网地址进行一个端口映射的操作。当私有网络中的服务器需要对公网提供服务时使用

为什么不用静态NAT?还是节省!NAT server只是用掉了一个端口绑定了内网的服务器,内网主机依然可以通过其他端口使用NAPT去访问外网。

配置命令

1.给接口配好IP地址

2.nat server protocol tcp global ip-address www(或者80)inside host-address 端口号 \\配置外网访问内网某一台服务器的地址和端口号,端口号看服务器用哪个端口

3.display nat server \\查看NAT服务器

四种主要方式的总结

类型映射方式IP复用适用场景
静态NAT一对一固定对外服务器
动态NAT多对多动态分配企业内网批量访问外网
NAPT

多对一:仅有1个公网ip

或多对多:有多个公网ip组成的地址池,

可实现灵活的负载均衡

(端口转换)

多对一:家庭/小型

多对多:企业级

NAT Server端口映射外网访问内网特定服务(如Web)

NAPT和Easy IP的区别:

特性NAPTEasy IP
公网IP来源手动配置地址池中的固定IP自动使用路由器出口接口的IP(动态或固定)
配置复杂度需创建地址池和映射规则无需地址池,仅需绑定接口即可
IP复用效率多对多映射,需多个公网IP多对一映射,单一IP即可
适用场景企业内网(需固定IP池)家庭/小型企业(动态IP环境)

第十五章 各种应用层协议

FTP 文件传输协议

文件传输协议有FTP和TFTP。 TFTP是传送简单的文件信息

FTP

FTP采用典型的C/S架构(即服务器端与客户端模型),客户端与服务器端建立TCP连接之后即可实现上传、下载。

针对传输的文件类型不同,FTP可以采用不同的传输模式:

ASClI模式:txt log cfg

Binary(二进制)模式: exe bin png

两种工作模式:主动模式(Port)、被动模式(PASV)

主动模式

在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,发送FTP用户名和密码,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令,告诉服务端客户端采用主动模式并开放了端口。FTP服务器接收到PORT命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。

被动模式

在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,发送用户名和密码进行登陆,同时会开启N+1端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P(端口P的范围是可以设置的,后面会说到这个是很重要的)进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。

主动模式和被动模式的不同: 主动模式传送数据时是“服务器”连接到“客户端”的端口(客户端开启数据端口);被动模式传送数据是“客户端”连接到“服务器”的端口(服务端开启数据端口)。

配置命令-设备作为服务器端

用户通过FTP访问设备 1.开启FTP服务器端功能

[Huawei]ftp [ipv6] server enable

缺省情况下,设备的FTP服务器端功能是关闭的。 2.配置FTP本地用户

[Huawei]aaa

[Huawei]local-user user-name password irreversible-cipher password ###

[Huawei]local-user user-name privilege level 3

[Huawei]local-user user-name service-type ftp

[Huawei]local-user user-name ftp-directory directory

必须将用户级别配置在3级或者3级以上,否则FTP连接将无法成功。

配置命令-设备作为客户端

客户视图下用ftp ip-address访问,类似telnet

ascii 将文件传输类型设置为AsCll,并显示默认类型

binary 设置文件传输类型以支持二进制图像

ls 列出当前远程目录的内容

passive 设置日志辅助模式 默认是开的

get 将远程文件下载到本地主机

put 将本地文件上传到远程主机


Telnet 、SSH远程管理

为了通过命令行远程管理设备,可以使用telnet、SSH协议管理

很多支持Telnet协议的设备既支持作为Telnet服务器端、Telnet客户端。

虚拟用户界面

当用户使用Console接口、Telnet等方式登录设备的时候,系统会分配一个用户界面(user-interface)来管理监控设备与用户间的当前会话,每个用户界面视图可以配置一系列参数用于指定用户的认证方式、登录后的权限级别,当用户登录设备后将会受这些参数限制。

Telnet、SSH所对应的用户界面类型为VTY(VirtualTypeTerminal,虚拟类型终端)。

SSH配置命令

服务器端用一台交换机模拟

1.配置vlanif接口和ip地址保证能ping通

2.开启stelnet服务命令

[Huawei]stelnet server enable  开启ssh服务

[Huawei]ssh authentication-type default password

交换机系统版本:V200R020及之后版本需额外配置ssh server-source all-interface或者指定登录端口 ssh server-source -i vlanif1,否则默认禁止所有接口SSH登录

3.创建本地AAA用户、密码、权限等级和服务类型

[Huawei]aaa

[Huawei-aaa]local-user aa password cipher 888  配置ssh的用户名和密码

[Huawei-aaa]local-user aa service-type ssh

[Huawei-aaa]local-user aa privilege level 3

4.在交换机上生成本地密钥对。

[Huawei]rsa local-key-pair create

dis rsa local-key-pair public

密钥长度建议2048位以提高安全性

5.配置VTY,身份认证方式为AAA认证,允许用户以SSH的方式接入

[Huawei]user-interface vty 0 4 打开虚拟终端接口

 [Huawei-ui-vty0-4]authentication-mode aaa 采用AAA认证

[Huawei-ui-vty0-4]protocol inbound ssh  仅允许SSH协议

6.创建SSH用户

[R2]ssh user Admin authentication-type password

[R2]ssh user xxx service-type {sftp|stelnet|all} //配置SSH用户的服务方式

7、使用Stelnet命令连接SSH服务器 

[R1]ssh client first-time enable 首次登录认证

[R1]stelnet IP address 

配置SSH的核心是密钥管理用户权限细化访问控制。若遇到无法登录问题,优先检查ssh server-source命令、用户服务类型及VTY协议限制。


DHCP 动态主机配置协议

为解决传统的静态手工配置方式的不足,DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)应运而生,其可以实现网络动态合理地分配IP 地址给主机使用。

DHCP采用C/S构架,主机无需配置,从服务器端获取地址,可实现接入网络后即插即用。

优点: 统一管理IP 地址租期

DHCP工作原理、四个报文

发现阶段-回复阶段-协商阶段-确认阶段

DHCP租期更新

50%租期--单播--原服务器

87.5%租期--广播--所有DHCP服务器--重绑定过程

接口配置

dhcp enable

接口下:

interface g0/0/1

  接口启用:dhcp select interface

  DNS列表:dhcp server dns-list 8.8.8.8(主选) 114.114.114.114(备选)

  租期时间:dhcp server lease day 1/ hour 1 /minunte 1 /unlimited

  固定地址:dhcp server static-bind ip-address <指定IP地址> macc-address <客户端MAC>

  排除地址:dhcp server excluded-ip-address <起始IP> <结束IP> 默认下发地址从254开始下发,如果地址有冲突将跳过冲突地址

全局配置

dhcp enable

ip pool <地址池名称>

network 192.168.1.0 mask 24

gateway-list 192.168.1.254

dns-list 8.8.8.8 114.114.114.114

lease day 1 hour 1 minute 1

static-bind ip-address <指定IP地址> mac-address <客户端MAC>

excluded-ip-address <起始IP> <结束IP>

接口下启用全局DHCP:

interface g0/0/1 ip add 192.168.1.254 24

dhcp select global # 使用全局地址池,通过识别接口地址判断使用的地址池

配置DHCPClient

[R1]interfaceGigabitEthernet 0/0/3

[R1-GigabitEthernet0/0/3] ip address dhcp-alloc

DHCP中继

也叫做DHCP中继代理,其可以实现在不同子网和物理网段之间处理和转发dhcp信息的功能。

如果DHCP客户机与DHCP服务器在同一个物理网段,则客户机可以正确地获得动态分配的ip地址。如果不在同一个物理网段,则需要DHCP Relay Agent(中继代理)

R1、R2配好接口ip,R1加一条静态路由到192.168.10.0

R1:DHCP服务端

[R1]ip pool 2

[R1-ip-pool-2]network 192.168.10.0 mask 24

[R1-ip-pool-2]gateway 192.168.10.1

[R1-ip-pool-2]dns-list 8.8.8.8

[R1-ip-pool-2]lease day 1

[R1]int g0/0/0

[R1-GigabitEthernet0/0/0]dhcp select global

R2:DHCP中继

[R2]dhcp enable

[R2]int g0/0/1

[R2-GigabitEthernet0/0/1]dhcp select relay

[R2-GigabitEthernet0/0/1]dhcp relay server-ip 172.16.10.1

查看PC收到了DHCP服务器分配到的ip地址 ipconfig

查看地址池分配情况 display ip pool name (name)

查看接口地址池情况 display ip pool interface G0/0/3


HTTP 超文本传输协议

诞生背景:

  • 在互联网早期,为了进行文档之间的共享,人们提出了www(World Wide Web,万维网)。
  • WWW由三部分组成:在浏览器中显示文档内容的页面标记语言HTML(Hypetext Markup Language,超文本标记语言)、在网络上传输文档的协议HTTP、在网络上表明文档位置的URL。
  • WWW早期其实是浏览HTML的客户端应用程序的名称,现在则代表三项技术的合集,也可以简称为Web。

URL 是统一资源定位符,表示的是一个资源,(图片 文字 视频 音频 等等)

HTML简称Web Page,只不过一个完整的Html页面可能会包含很多个URL的资源。

HTTP是将用户请求的HTML页面从一台Web服务器传输到客户端浏览器的一种协议。

url html http 之间的关系:

一个完整的HTML页面是由N多个Url地址资源组成的,而Http协议是用来传输这种Html文件的。

HTTP的工作原理


DNS 域名解析系统

负责将域名解析到IP地址的协议为DNS

域名:主机的字符标识方式。大部分情况下,我们访问网站时在浏览器内输入的URL就是该网站的域名。

域名解析服务器(DNSServer):负责维护域名与IP地址对应关系的数据库,并对解析者的请求进行响应

DNS客户端(Chrome浏览器)————internet————DNS服务器

当输入网址时,客户端会先在本地查看有没有记录,若没有再发送请求报文给DNS服务器,DNS服务器查询后将结果返回给客户端

域名的表示方法

域名的表示方法为:主机名.次顶级域名.顶级域名.根域,根域为“.”一般最后的根域不表示

顶级域名:.com .net .cn .edu .org .gov等等

次级域名:huawei baidu

主机域名 www

DNS查询方式

DNS是一个分布式系统,绝大多数的DNS服务器端的数据库不会拥有所有的域名记录,当客户端向一个DNS服务器端查询域名,但该DNS服务器端上却没有该域名的记录时,此时会有两种继续查询的方式:

递归查询:由DNS服务器向其他DNS服务器进行查询,将最终查询结果返回给DNS客户端

迭代查询:DNS服务器告知DNS客户端其他DNS服务器地址,客户端自行向其他DNS服务器进行查询。


NTP 网络时间协议

时间同步需求

当今企业园区网络中很多场景都需要所有设备保持时钟一致:

  • 网络管理:对从不同路由器采集来的日志信息、调试信息进行分析时,需要以时间作为参照依据。
  • 计费系统:要求所有设备的时钟保持一致
  • 多个系统协同处理同一个复杂事件:为保证正确的执行顺序,多个系统必须参考同一时钟。
  • 备份服务器和客户机之间进行增量备份:要求备份服务器和所有客户机之间的时钟同步。
  • 系统时间:某些应用程序需要知道用户登录系统的时间以及文件修改的时间。

如果通过人工去一个个配置修改时间,耗时耗力还不能保证精确性,所以就用到NTP协议

网络时间协议NTP(NetworkTimeProtocol)是TCP/IP协议族里面的一个应用层协议。NTP用于在一系列分布式时间服务器与客户端之间同步时钟。NTP的实现基于IP和UDP。NTP报文通过UDP传输,端口号是123。

NTP网络结构

主时间服务器:通过线缆或无线电直接同步到标准参考时钟,标准参考时钟通常是RadioClock或卫星定位系统等。

二级时间服务器:通过网络中的主时间服务器或者其他二级服务器取得同步。二级时间服务器通过NTP将时间信息传送到局域网内部的其它主机

层数(stratum):层数是对时钟同步情况的一个分级标准,代表了一个时钟的精确度,取值范围1~15,层级越小,精确度越高。1表示时钟精确度最高,15表示未同步。

NTP客户端到达主时间服务器要经过一层层的二级服务器


第十六章 WLAN

WLAN即WirelessLAN(无线局域网),是指通过无线技术构建的无线局域网络。WLAN广义上是指以无线电波、激光、红外线等无线信号来代替有线局域网中的部分或全部传输介质所构成的网络

Wi-Fi是通过无线电波来联网,是基于 IEEE 802.11标准的无线局域网通信技术

无线网络根据应用范围可分为WPAN、WLAN、WMAN、WWAN。

  1. WPAN (Wireless Personal Area Network):个人无线网络,常用技术有:Bluetooth、ZigBee、NFC、HomeRF、UWB。
  2. WLAN (Wireless Local Area NetWork):无线局域网,常用技术有:Wi-Fi。(WLAN中也会使用WPAN的相关技术。)
  3. WMAN ((Wireless Metropolitan Area Network):无线城域网,常用技术有:WiMaX。
  4. WWAN (Wireless Wide Area Network):无线广域网,常用技术有:GSM、CDMA、WCDMA、TD-SCDMA、LTE、5G。

Wi-Fi 和 IEEE802.11标准的对应

速率是理论最高的值,是所有终端的速率之和能达到的最高值。

WLAN的基本概念(Wi-fi)

WLAN设备介绍

家庭wifi路由器就是一个AP(Access Point)无线接入点,更具体是一个FAP(胖AP,可独立工作)。

有胖AP就有廋AP,廋AP(Fit-AP)只负责无线信号的发送和数据传输。

AC(Access Controller,无线接入控制器):负责WLAN的接入控制,转发和统计,AP的配置监控,漫游管理,AP的网络管理,安全控制

POE交换机:连接设备传输数据同时还能供电,能满足很多需要供电需求的设备比如(AP,监控摄像头)。POE,全名Power over Ethernet.

AC-FitAP组网架构

AC和AP之间通过CAPWAP机制相互通信

敏捷分布式AP

AP的一种特殊架构,将AP拆分为中心AP和敏分AP两部分,中心AP可管理多台敏分AP,在适用的场景下,成本低,覆盖好,敏捷分布式AP可以用于FAT AP,AC + FIT AP,云管理构,适用于房间分布密集的场景。

WLAN网络架构分有线侧无线侧两部分,有线侧是指AP上行到Internet的网络使用以太网协议,无线侧是指STA到AP之间的网络使用802.11协议。

有线侧组网概念:CAPWAP协议

CAPWAP

(control and provisioning of wireless access points protocol specification,无线接入点控制和配置协议),该协议定义了如何对AP进行管理,业务配置,即AC通过CAPWAP隧道来实现对AP的集中管理和控制。

功能:

  1. CAPWAP负责AP自动发现AC,AC对AP进行安全认证,AP从AC获取软件,AP从AC获得初始和动态配置
  2. AP与AC间的状态维护
  3. AC通过CWPWAP隧道对AP进行管理,业务配置下发。
  4. 当隧道转发模式时,AP将STA(station,无线终端)发出的数据通过CAPWAP隧道实现与AC间的交互

AP-AC组网方式:二层组网,三层组网

AP-AC连接方式:直连式组网,旁挂式组网

直连式组网可以认为AP、AC与上层网络串联在一起,所有数据必须通过AC到达上层网络。直连式组网中AC同时扮演AC和汇聚交换机的功能,AP的数据业务和管理业务都由AC集中转发和处理。

采用这种组网方式,对AC的吞吐量以及处理数据能力要求比较高。

旁挂式组网,AC旁挂在AP与上行网络的直连网络中,不再直接连接AP,AP的业务数据可以不经AC而直接到达上行网络 。

而采用旁挂式组网就比较容易进行扩展,只需将AC旁挂在现有网络中,比如旁挂在汇聚交换机上,就可以对终端AP进行管理。

无线侧组网概念

无线通信系统

无线通信系统中,信息可以是图像、文字、声音等。信息需要先经过信源编码转换为方便于电路计算和处理的数字信号,再经过信道编码和调制,转换为无线电波发射出去。

无线电磁波

无线电磁波是频率介于3赫兹和约300G赫兹之间的电磁波,也叫作射频电波,或简称射频、射电。无线电技术将声音讯号或其他信号经过转换,利用无线电磁波传播。

WLAN技术就是通过无线电磁波在空间中传输信息。当前我们使用的频段是:

2.4GHz频段 (2.4GHz~2.4835GHz);

5GHz频段(5.15GHz~5.35GHz,5.725GHz~5.85GHz)。

无线信道

信道是传输信息的通道,无线信道就是空间中的无线电磁波。无线电磁波无处不在,如果随意使用频谱资源,那将带来无穷无尽的干扰问题,所以无线通信协议除了要定义出允许使用的频段,还要精确划分出频率范围,每个无限电磁波的频率范围就是信道

2.4GHZ频段虽然有14个信道但是有重叠,如何减少重叠呢?通过错开信道,比如使用1,6,11三个信道,所以实则使用上的信道没有14个这么多。

5GHZ频段规划时就解决了重叠问题。并且支持更大更宽的信道

BSS/SSID/BSSID

基本服务集BSS (Basic Service Set):

一个AP所覆盖的范围。在一个BSS的服务区域内,STA可以相互通信。

基本服务集标识符BSSID (Basic Service SetIdentifier):

是无线网络的一个身份标识,用AP的MAC地址表示。用于唯一识别每个接入点或路由器的物理地址,以便网络管理员可以管理和维护网络。

服务集标识符SSID (Service Set Identifier):

是无线网络的一个身份标识,用字符串表示。用于标识Wi-Fi网络,使用户可以连接到网络。

SSID相同,通过BSSID可以区分是不是同一个AP

用于唯一识别每个接入点或路由器的物理地址,以便网络管理员可以管理和维护网络。

VAP

早期的AP只支持1个BSS,如果要在同一空间内部署多个BSS,则需要安放多个AP,这不但增加了成本,还占用了信道资源。为了改善这种状况,现在的AP通常支持创建出多个虚拟AP (Virtual Access Point, VAP)。

虚拟接入点VAP:

  • 是AP设备上虚拟出来的业务功能实体。用户可以在一个AP上创建不同的VAP来为不同的用户群体提供无线接入服务。
  • 每个VAP对应1个BSS。这样1个AP,就可以提供多个BSS,可以再为这些BSS,设置不同的SSID。但是VAP是共享提供者AP的信道资源。

ESS

为了满足实际业务的需求,需要对BSS的覆盖范围进行扩展。同时用户从一个BSS移动到另一个BSS时,不能感知到SSID的变化,则可以通过扩展服务集ESS实现。

扩展服务集ESS (Extend Service Set):

由多个使用相同SSID的BSS组成,是采用相同的SSID的多个BSS组成的更大规模的虚拟BSS。SSID相同但BSSID是不同的。

WLAN漫游:

指STA在同属一个ESS的不同AP的覆盖范围之间移动且保持用户业务不中断的行为。

WLAN网络的最大优势就是STA不受物理介质的影响,可以在WLAN覆盖范围内四处移动并且能够保持业务不中断。同一个ESS内包含多个AP设备,当STA从一个AP覆盖区域移动到另外一个AP覆盖区域时,利用WLAN漫游技术可以实现STA用户业务的平滑切换。

WLAN的工作原理

一、AP上线

AP获取ip地址

AP必须获得IP地址才能够与AC通信,WLAN网络才能够正常工作。

AP获取IP地址的方式包括以下:

静态方式:登录到AP设备上手工配置IP地址。

DHCP方式:通过配置DHCP服务器,使AP作为DHCP客户端向DHCP服务器请求IP地址。

典型方案:

部署专门的DHCP Server为AP分配IP地址。

使用AC的DHCP服务为AP分配IP地址。

使用网络中的设备,例如核心交换机为AP分配IP地址。

CAPWAP隧道建立

AC通过CAPWAP隧道来实现对AP的集中管理和控制。

Step1:Discovery阶段(AP发现AC阶段)

AP通过发送Discovery Request报文,找到可用的AC。

AP发现AC有两种方式:

  • 静态方式:AP上预先配置AC的静态IP地址列表。
  • 动态方式:DHCP方式、DNS方式和广播方式。

DHCP(三层组网):通过DHCP获取IP地址,并通过DHCP协议中的Option返回AC地址列表(在DHCP服务器上配置DHCP响应报文中携带Option 43,且Option 43携带AC的IP地址列表)。

广播(二层组网):AC和AP接在交换机上,AP发送discover广播报文查询。

Step2:建立CAPWAP隧道阶段

AP与AC关联,完成CAPWAP隧道建立。包括数据隧道和控制隧道:

  • 数据隧道:AP接收的业务数据报文经过CAPWAP数据隧道集中到AC上转发。
  • 控制隧道:通过CAPWAP控制隧道实现AP与AC之间的管理报文的交互。

两条隧道都可以进行DTLS加密,使能DTLS加密功能后,CAPWAP数据报文和控制报文都会经过DTLS加密和解密。当AP和AC之间隔着internet,则需要DTLS加密。

AP接入控制

AP发现AC后,会发送Join Request报文。AC收到后会判断是否允许该AP接入,并响应Join

Response报文。

AC上支持三种对AP的认证方式:MAC认证、序列号(SN)认证和不认证。

AC上添加AP的方式有三种:

  1. 离线导入AP:预先配置AP的MAC地址和SN,当AP与AC连接时,如果AC发现AP和预先增加的AP的MAC地址和SN匹配,则AC开始与AP建立连接。
  2. 自动发现AP:当配置AP的认证模式为不认证或配置AP的认证模式为MAC或SN认证且将AP加入AP白名单中,则当AP与AC连接时,AP将被AC自动发现并正常上线。
  3. 手工确认未认证列表中的AP:当配置AP的认证模式为MAC或SN认证,但AP没有离线导入且不在已设置的AP白名单中,则该AP会被记录到未授权的AP列表中。需要用户手工确认

AP的版本升级(可选项)

  • AP根据收到的Join Response报文中的参数判断当前的系统软件版本是否与AC上指定的一致。如果不一致,则AP通过发送Image Data Request报文请求软件版本,然后进行版本升级,升级方式包括AC模式、FTP模式和SFTP模式。
  • AP在软件版本更新完成后重新启动,重复进行前面三个步骤。

CAPWAP隧道维持

数据隧道维持:

AP与AC之间交互Keepalive报文(UDP端口号为5247)来检测数据隧道的连通状态。

控制隧道维持:

AP与AC交互Echo报文(UDP端口号为5246)来检测控制隧道的连通状态。

 为确保AP能够上线,AC需预先配置如下内容

域管理模板

  • 域管理模板提供对AP的国家码、调优信道集合和调优带宽等的配置。
  • 国家码用来标识AP射频所在的国家,不同国家码规定了不同的AP射频特性,包括AP的发送功率、支持的信道等。配置国家码是为了使AP的射频特性符合不同国家或区域的法律法规要求。

配置AC的源接口或源地址

  • 每台AC都必须唯一指定一个IP地址、VLANIF接口或者Loopback接口,该AC设备下挂接的AP学习到此IP地址或者此接口下配置的IP地址,用于AC和AP间的通信。此IP地址或者接口称为源地址或源接口。
  • 只有为每台AC指定唯一一个源接口或源地址,AP才能与AC建立CAPWAP隧道。设备支持使用VLANIF接口或Loopback接口作为源接口,支持使用VLANIF接口或Loopback接口下的IP地址作为源地址。

二、WLAN业务配置下发

AC向AP发送Configuration Update Request请求消息,AP回应Configuration Update Response消息,AC再将AP的业务配置信息下发给AP。

配置模板

为了方便用户配置和维护WLAN的各个功能,针对WLAN的不同功能和特性设计了各种类型的模板,这些模板统称为WLAN模板

域管理模板 域管理模板提供对AP的国家码、调优信道集合和调优带宽等的配置

射频模板 射频模板主要用于优化射频的参数,以及配置信道切换业务不中断功能。射频参数配置 配置基本射频参数:工作频段、信道、发射功率等。

VAP模板 在VAP模板下配置各项参数,同时还可以引用SSID模板、安全模板、认证模板等。

其他模板 AP系统模板、定位模板、WIDS模板、Mesh模板等

将这些模板引用到AP组、AP、AP射频或AP组射频中,模板下的配置才能够自动下发到指定AP上并生效。

VAP模板

AP获取的ip地址是在AP的vlanif接口下,所属的vlan叫管理vlan。业务vlan可以手动指定的,STA所属的vlan就是业务vlan。

三、STA接入

CAPWAP隧道建立完成后,用户就可以接入无线网络。

STA接入过程分为六个阶段:扫描阶段、链路认证阶段、关联阶段、接入认证阶段、DHCP、用户认证。

1.扫描阶段

STA可以通过主动扫描,定期搜索周围的无线网络,获取到周围的无线网络信息。

根据Probe Request帧(探测请求帧)是否携带SSID,可以将主动扫描分为两种:

主动扫描

携带有指定SSID的主动扫描方式:适用于STA通过主动扫描接入指定的无线网络。

客户端发送携带有指定SSID的Probe Request:STA依次在每个信道发出Probe Request帧,寻找与STA有相同SSID的AP,只有能够提供指定SSID无线服务的AP接收到该探测请求后才回复探查响应

携带空SSID的主动扫描方式:适用于STA通过主动扫描可以获知是否存在可使用的无线服务。

客户端发送广播Probe Request:如图所示,客户端会定期地在其支持的信道列表中,发送Probe Request帧扫描无线网络。当AP收到Probe Request帧后,会回应Probe Response帧通告可以提供的无线网络信息。

被动扫描

STA也支持被动扫描搜索无线网络。

被动扫描是指客户端通过侦听AP定期发送的Beacon帧(信标帧,包含:SSID、支持速率等信息)发现周围的无线网络,缺省状态下AP发送Beacon帧的周期为100TUs(1TU=1024us)。

2.链路认证阶段

链路认证

为了保证无线链路的安全,接入过程中AP需要完成对STA的认证。802.11链路定义了两种认证机制:开放系统认证和共享密钥认证。

开放系统认证(Open System Authentication):即不认证,任意STA都可以认证成功

共享密钥认证(Shared-key Authentication):STA和AP预先配置相同的共享密钥,AP在链路认证过程验证两边的密钥配置是否相同。如果一致,则认证成功;否则,认证失败。

共享密钥的认证过程为:

  1. STA向AP发送认证请求(Authentication Request)。
  2. AP随即生成一个“挑战短语(Challenge)”发给STA。
  3. STA使用预先设置好的密钥加密“挑战短语”(EncryptedChallenge)并发给AP。
  4. AP接收到经过加密的“挑战短语”,用预先设置好的密钥解密该消息,然后将解密后的“挑战短语”与之前发送给STA的进行比较。如果相同,认证成功;否则,认证失败。

3.关联阶段

终端关联过程实质上是链路服务协商的过程。

  • 瘦接入点(FIT AP)架构中关联阶段处理过程
  1. STA向AP发送Association Request请求,请求帧中会携带STA自身的各种参数以及根据服务配置选择的各种参数(主要包括支持的速率、支持的信道、支持的QoS的能力以及选择的接入认证和加密算法)。
  2. AP收到Association Request请求帧后将其进行CAPWAP封装,并上报AC。
  3. AC收到关联请求后判断是否需要进行用户的接入认证,并回应Association Response。
  4. AP收到Association Response后将其进行CAPWAP解封装,并发给STA。

STA收到Association Response后,判断是否需要进行用户的接入认证:

  • 如果不需要,STA可以访问无线网络;
  • 如果需要,STA继续发起用户接入认证请求,用户接入认证成功后,STA才可以访问无线网络。

4.接入认证

接入认证即对用户进行区分,并在用户访问网络之前限制其访问权限。相对于链路认证,接入认证安全性更高。

主要包含:PSK认证(预共享密码,中小企业或家庭用)和802.1X认证(大企业用的多)。

数据加密:

除了用户接入认证外,对数据报文还需要使用加密的方式来保证数据安全,也是在接入认证阶段完成的。数据报文经过加密后,只有持有密钥的特定设备才可以对收到的报文进行解密,其他设备即使收到了报文,也因没有对应的密钥,无法对数据报文进行解密。

无线接入安全协议

WLAN技术是以无线射频信号作为业务数据的传输介质,这种开放的信道使攻击者很容易对无线信道中传输的业务数据进行窃听和篡改。因此,安全性成为阻碍WLAN技术发展的最重要因素。

常用认证方式:

WEP采用链路认证,不涉及接入认证,没有安全性或者安全性很弱的策略

5.DHCP

STA获取到自身的IP地址,是STA正常上线的前提条件。

如果STA是通过DHCP方式获取IP地址,可以用AC设备或汇聚交换机作为DHCP服务器为STA分配IP地址。一般情况下使用汇聚交换机作为DHCP服务器。

STA获取哪个网段的ip地址呢?看AP被下发的业务VLAN,AP将STA的报文转发时会带上业务VLANTag,报文在相应的VLAN转发,从相应的VLAN获取ip地址。

6.用户认证

用户认证是一种“端到端”的安全结构,包括:802.1X认证、MAC认证和Protal认证。

Protal认证

也称Web认证,一般将PoR1l认证网站称为门户网站。

用户上网时,必须在门户网站进行认证。只有认证通过后才可以使用网络资源。一般是要求输入手机号

四、业务数据转发

CAPWAP中的数据包括控制报文(管理报文)和数据报文。

控制报文是通过CAPWAP的控制隧道转发的;

用户的数据报文分为隧道转发(又称为“集中转发”)方式和直接转发(又称为“本地转发”)方式。

隧道转发方式:

优点:AC集中转发数据报文,安全性好,配置简单,方便集中管理和控制。

缺点:业务数据必须经过AC转发,报文转发效率比直接转发方式低,AC所受压力大。

直接转发方式:

优点:数据报文不需要经过AC转发,报文转发效率高,AC所受压力小。

缺点:业务数据不便于集中管理和控制,需要给接口改成Access接口并配置相应的vlan。

WLAN的配置命令

AC控制AP的上线命令

1.配置AC作为DHCP服务器,配置Option43字段

[AC-ip-pool-pool1] option code[ sub-option sub-code] (ascii asci-string | hex hex-string | cipher cipher-string l ip-address ip-address

配置DHCP服务器分配给DHCP客户端的自定义选项

2.创建域管理模板,并配置国家码

[AC] wlan \\进入WLAN视图

[AC-wlan-view]regulatory-domain-profile name profile-name \\创建域管理模板,并进入模板视图,若模板已存在则直接进入模板视图

[AC-wlan-regulate-domain-profile-name]country-code country-code(cn) \\配置设备的国家码标识。

[AC-wlan-view]ap-group name group-name \\创建AP组,并进入AP组视图,若AP组已存在则直接进入AP组视图

[AC-wlan-ap-group-group-name] regulatory-domain-profile profile-name \\将指定的域管理模板引用到AP或AP组

3.配置源接口或源地址

[AC] capwap source interface (loopback loopback-number | vlanif vlan-id) 配置AC与AP建立CAPWAP隧道的源接口。

[AC]capwap source ip-address ip-address 配置AC的源IP地址。

4.添加AP设备-离线导入AP

[AC-wlan-view]ap auth-mode(mac-auth | sn-auth] \\配置AP认证模式为MAC地址认证,或SN认证,缺省为MAC地址认证

[AC-wlan-view] ap-id ap-id [[type-id type-id | ap-type ap-type] (ap-mac ap-mac | ap-sn ap-sn | ap-mac ap-mac ap-sn ap-sn)

[AC-wlan-ap-ap-id]ap-name ap-name

离线增加AP设备或进入AP视图,并配置单个AP的名称

[AC-wlan-view] ap-id 0

[AC-wlan-ap-0]ap-group ap-group \\配置AP所加入的组.

5.检查AP上线结果

[AC]display ap (all | ap-group ap-group) 查看AP信息。

AP的业务配置命令

配置射频

1.进入射频视图

[AC-wlan-view] ap-id 0

[AC-wlan-ap-o] radio radio-id

2.配置指定射频的工作带宽和信道

[AC-wlan-radio-0/0]channel (20mhz|40mhz-minus|40mhz- plus|80mhz|160mhz )channel

Warning:This action may cause service interruption.Continue?[Y/N]y

[AC-wlan-radio-0/0]channel 80+80mhz channel1 channel2

Warning:This action may cause service interruption. Continue?[Y/N]y

配置AP组中所有AP或单个AP指定射频的工作带宽和信道

3.配置天线的增益

[AC-wlan-radio-O/o]antenna-gain antenna-gain 配置AP组中所有AP或单个AP指定射频的天线增益。

4.配置射频的发射功率

[AC-wlan-radio-0/0leirp eirp 发射 功率一般是调小减少AP之间的相互干扰

配置AP组中所有AP或单个AP指定射频的发射功率。

5.配置射频覆盖距离参数

[AC-wlan-radio-0/0] coverage distance distance

配置AP组中所有AP或单个AP指定射频的射频覆盖距离参数

6.配置射频工作的频段

[AC-wlan-radio-0/0]frequency(2.4g|5g)

7.创建射频模板

[AC-wlan-view] radio-2g-profile name profile-name

创建2G射频模板,并进入模板视图,若模板已存在则直接进入模板视图。

8.引用射频模板

[AC-wlan-view]ap-group name group-name

[AC-wlan-ap-group-group-name] radio-2g-profile profile-name radio {radio-id | all} 在AP组中,将指定的2G射频模板引用到2G射频。

VAP的配置命令(重)

1.创建VAP模板

[AC-wlan-view]vap-profile name profile-name \\创建VAP模板,并进入模板视图,若模板已存在则直接进入模板视图

2.配置数据转发方式

[AC-wlan-vap-prof-profile-name]forward-mode(direct-forward | tunnel) \\配置VAP模板下的数据转发方式,可以是直接转发或隧道转发

3.配置业务VLAN

[AC-wlan-vap-prof-profile-name] service-vlan (vlan-id vlan-id | vlan-pool pool-name] \\配置VAP的业务VLAN。

4.配置安全模板

[AC-wlan-view]security-profile name profile-name \\创建安全模板或者进入安全模板视图

缺省情况下,系统已经创建名称为default、default-wds和default-mesh的安全模板

[AC-wlan-sec-prof-name]security wpa-wpa2 psk pass-phrase (your password) aex \\security psk命令配置WPA/WPA2的预共享密钥认证和加密

5.配置SSID模板

[AC-wlan-view]ssid-profile name profile-name

创建SSID模板,并进入模板视图,若模板已存在则直接进入模板视图,

缺省情况下,系统上存在名为default的SSID模板

[AC-wlan-ssid-prof-profile-name]ssid ssid

配置当前SSID模板中的服务组合识别码SSID(Service Set Identifier)

缺省情况下,SSID模板中的SSID为HUAWEI-WLAN。

配置完安全模板和SSID模板,进入VAP模板

[AC-wlan-view]vap-profile name profile-name

[AC-wlan-vap-prof-profile-name]security-profile profile-name 在指定VAP模板中引用安全模板

[AC-wlan-view]vap-profile name profile-name

[AC-wlan-vap-prof-profile-name]ssid-profile profile-name 在指定VAP模板中引用SSID模板。

6.引用VAP模板

[AC-wlan-view]ap-group name group-name

[AC-wlan-ap-group-group-name] vap-profile profile-name wlan wlan-id radio {radio-id|all} [service-vlan (vlan-id vlan-id | vlan-pool pool-name)} 在AP组中,将指定的VAP模板引用到射频。

7.查看VAP信息

[AC] display vap (ap-group ap-group-name| (ap-name ap-name | ap-id ap-id) [radio radio-id]) [ssid ssid]

[AC]display vap (all |ssid ssid) 查看业务型VAP的相关信息。

[AC]display station all \\查看STA信息

附:AP状态


第十七章 广域网技术

广域网Wide Area NetworkWAN)也称远程网。所覆盖范围从几十公里到几千公里,能连接多个城市或国家,或横跨几个大洲提供远距离通信,形成国际性的远程网络。

常见的广域网数据链路层协议有PPP协议和HDLC协议,其中PPP协议使用得最广泛。帧中继和ATM协议用得少。

广域网络设备基本角色有三种,CE(Customer Edge用户边缘设备),PE(Provider Edge服务提供商边缘设备)和P(Provider服务提供商设备)。具体定义是:

  • CE:用户端连接服务提供商的边缘设备,CE连接一个或多个PE,实现用户接入。
  • PE:服务提供商连接CE的边缘设备。PE同时连接CE和P设备,是重点的网络节点。
  • P:服务提供商不连接任何CE设备。

早期广域网技术,在用户侧CE和PE之间常用的广域网封装协议有PPP、HDLC、FR,在ISP内部早期用ATM协议,现在用的是MPS技术

PPP协议

PPP(point-to-point Protocol,点到点协议)是一种常见的广域网数据链路层协议,主要用于在全双工的链路上进行点到点数据传输封装。

PPP提供了安全认证协议族PAP(Password Authentication Protocol,密码验证协议)和CHAP(Challenge Handshake Authentication Protocol,挑战握手认证协议)。

PPP协议具有良好的扩展性,例如,当需要在以太网链路上承载PPP协议时,PPP可以扩展为PPPoE。

PPP协议提供LCP(Link Control Protocol,链路控制协议),用于各种链路层参数的协商,例如最大接收单元,认证模式等。

PPP协议提供各种NCP(Network Control Protocol,网络控制协议)如IPCP(IP Control Protocol,IP控制协议),用于各网络层参数的协商,更好地支持了网络层协议。

PPP链路建立流程

PPP链路的建立有三个阶段的协商过程,链路层协商、认证协商(可选)和网络层协商

  • 链路层协商:通过LCP报文进行链路参数协商,建立链路层连接。
  • 认证协商(可选):通过链路建立阶段协商的认证方式进行链路认证
  • 网络层协商:通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。

  1. 在Link Dead阶段,PPP链路进行初始化,当物理层接口联通后,状态自动进入到Link Establishment阶段。
  2. 进入到Link Establishment阶段,通信双方互相发送LCP报文,进行参数协商,如果参数协商失败,则会回退到Link Dead阶段。如果参数协商成功,并且双方需要认证,则进入到authentication阶段,如果不需要认证,则会直接进入到Network Layer Protocol阶段。
  3. 在Authentication阶段,通信双方会进行认证。
  4. 在Network Layer Protocol阶段,双方会再次进行协商,这次协商主要协商网络层参数,比如发送自己的IP地址、子网掩码等信息,看是否存在IP地址冲突或者不属于一个网段等情况。如果参数协商一致,那么此时就可以进行正常的数据包传送了。
  5. 在Link Termination阶段,代表PPP链接终止,除了Link Dead阶段之外,任何协商过程失败都会进入这一阶段,而如果处于Network Layer Protocol阶段,管理员手动关闭了链路,也会进入这一状态。

PPP协议状态机概览

  • 在上图的链接建立阶段,PPP使用LCP报文来协商连接(一种发送配置请求,然后接收响应的简单“握手”过程),该阶段主要是发送一些配置报文来配置数据链路,这些配置的参数不包括网络层协议所需的参数。协商中双方获得当前点对点连接的状态配置等,之后的“鉴别”阶段使用哪种鉴别方式也在这个协商中确定下来。

  • 鉴别阶段是可选的,如果链接协商阶段并没有设置鉴别方式,则将忽略本阶段直接进入“网络”阶段。鉴别阶段使用链接协商阶段确定下来的鉴别方式来为连接授权,以起到保证点对点连接安全,防止非法终端接入点对点链路的功能。链路质量的检测也会在这个阶段同时发生,但协议规定不会让链路质量的检测无限制的延迟验证过程。常用的鉴别认证方式有CHAPPAP方式。

PPP帧格式

PPP的flag字段恒为0x7E

地址(adress)字段恒为0xFF

控制(control)字段恒为0x03

协议(protocol)字段表示PPP报文中封装的payload(data字段)的类型,

数据报文:

0x0021,IP报文,

0x002B,IPX报文,

0x0029,AppleTalk报文。

控制报文:

0xC021,PPP的LCP报文(数据链路层),

0x8021,PPP的NCP报文(网络层)。

认证报文:

0xC023,PAP协议,

0xC223,CHAP协议

FCS 检验帧

LCP报文

Protocol字段为0xC021,0x代表这个字段是16进制,C021代表LCP报文,由Code字段标识不同类型LCP报文。

LCP报文主要分为:

  • 链路配置报文,主要用来建立和配置一条链路;
  • 链路终止报文,主要用来终止一条链路;
  • 链路维护报文,主要用来维护和调试链路。

链路配置报文与其它两类报文有着明显的区别,它主要是用来协商链路的配置参数选项的,因此这种报文的数据域还要携带许多配置参数选项的,采用TLV架构:

T(类型域)L(长度域)V(数据域)

PPP扩展性高的体现:TLV可以根据需要一个一个往上增加。应用:PPPoE

LCP协商过程-正常协商

LCP协商由不同的LCP报文交互完成。协商由任意一方发送Configure-Request报文发起。如果对接接收此报文参数匹配,则通过回复Configure-Ack响应协商成功。

LCP协商过程-参数不匹配

在LCP报文交互中出现LCP参数不匹配时,接收方回复Configure-Nak响应告知对端修改参数然后重新协商

LCP协商过程-参数不识别

PPP认证模式-PAP

PAP认证双方有两次握手。协商报文以明文的形式在链路上传输。

先在R1上配置了包含有R2的用户名和密码信息的数据库,R2发起认证时,R1接收到会去匹配数据库。

缺点:认证过程中都是以明文形式的报文进行发送,密码一旦被非法者获取,非法者可以伪装成合法者进行认证。

PPP认证模式-CHAP

CHAP认证双方有三次握手。协商报文被加密后再在链路上传输。

和PAP的不同,认证报文是先从认证方发起的,被认证方接收到挑战报文会提取ID、随机数,将其和密码进行HASH运算得到MD5,所以链路传输过程只能看到MD5结果但是密码是不会发送的,而且MD5无法逆推得出密码,因此除非暴力破解否则是获取不了的。

PAP认证方收到MD5结果也会进行本地计算,通过ID、随机数、数据库里用户名对应的密码,这些同样的原料计算出来的值比对被认证方的MD5,若一样则认证成功。

NCP协商-静态IP地址协商

PPP认证协商后,双方进入NCP协商阶段,协商在数据链路上所传输的数据包的格式与类型。以常见的IPCP协议为例,它分为静态IP地址协商和动态IP地址协商。

静态IP地址协商需要手动在链路两端配置IP地址。

NCP协商-动态IP地址协商

动态IP地址协商支持PPP链路一端为对端配置IP地址。

PPP协议的配置命令

配置接口封装PPP协议

[Huawei-Serial0/0/0] link-protocol ppp \\在接口视图下,将接口封装协议改为PPP,华为串行接口默认封装协议为ppp。

配置协商超时时间间隔

[Huawei-Serial0/0/0]ppp timer negotiate seconds \\在PPPLCP协商过程中,本端设备会向对端设备发送LCP协商报文,如果在指定协商时间间隔内没有收到对端的应答报文将重新发送

PAP认证配置命令

1.配置验证方以PAP方式认证对端

[Huawei-aaa]local-user user-name password (cipher | irreversible-cipher] password

[Huawei-aaa]local-user user-name service-type ppp

[Huawei-Serial0/0/0]ppp authentication-mode pap

配置验证方以PAP方式认证对端,首先需要通过AAA将被验证方的用户名和密码加入本地用户列表,然后选择认证模式。

2.配置被验证方以PAP方式被对端认证 2.

[Huawei-Serial 0/0/0]ppp pap local-user user-name password (cipher | simple) password \\配置本地被对端以PAP方式验证时,本地发送PAP用户名和口令。

CHAP认证配置命令

配置验证方以CHAP方式认证对端

[Huawei-aaa]local-user user-name password (cipher | irreversible-cipher] password

[Huawei-aaa]local-user user-name service-type ppp

[Huawei-Serial0/0/0]ppp authentication-mode chap

配置被验证方以CHAP方式被对端认证

[Huawei-Serial0/0/0]link-protocol PPP

[Huawei-Serial0/0/0]ppp chap user user-name

[Huawei-Serial0/0/0]ppp chap password (cipher | simple) password \\配置本地用户名,配置本地被对端以CHAP方式验证时的口令。

PPPoE

PPPoE(PPP over Ethernet,以太网承载PPP协议)是一种把PPP帧封装到以太网中的链路层协议。PPPoE可以使以太网网络中的多台主机连接到远端的宽带接入服务器。

PPPoE集中了PPP和Ethernet两个技术的优点。既有以太网的组网灵活优势,又可以利用PPP协议实现认证,计费等功能。

PPPoE应用场景

PPPoE实现了在以太网上提供点到点的连接。PPPoE客户端与PPPoE服务器端之间建立PPP会话,封装PPP数据报文,为以太网上的主机提供接入服务,实现用户控制和计费,在企业网络与运营商网络中应用广泛。 PPPOE的常见应用场景有家庭用户拨号上网、企业用户拨号上网等。

会话建立

PPPoE的会话建立有三个阶段,PPPoE发现阶段、PPPoE会话阶段和PPPoE终结阶段。

PPPoE报文

发现阶段:四个步骤:客户端发送请求、服务端响应请求、客户端确认响应和建立会话。

会话阶段:PPPoE会话阶段会进行PPP协商,分为LCP协商、认证协商、NCP协商三个阶段。

关闭阶段:当PPPoE客户端希望关闭连接时,会向PPPoE服务器端发送一个PADT报文,用于关闭连接。同样,如果PPPoE服务器端希望关闭连接时,也会向PPPoE客户端发送一个PADT报文。

PPPoE基本配置

1.通过拨号规则来配置发起PPPoE会话的条件

[Huawei]dialer-rule

2.配置拨号接口用户名,此用户名必须与对端服务器用户名相同

[Huawei-Dialer1]dialer user username

3.将接口置于一个拨号访问组

[Huawei-Dialer1]dialer-group group-number

4.指定当前拨号接口使用的拨号绑定

[Huawei-Dialer1]dialer-bundle number

5.将物理端口与dialer-bundle进行绑定

[Huawei-Ethernet0/0/0]pppoe-client dial-bundle-number number

display interface Dialer number \\查看拨号接口详细信息

display pppoe-client session summary \\查看pppoe-client会话状态信息


拓扑说明
服务端(R1):配置地址池、虚拟模板、用户认证,并绑定物理接口。
客户端(R2):配置拨号接口、关联物理接口,实现PPPoE拨号。
物理连接:两台路由器通过以太网接口(如GigabitEthernet0/0/0)直连。
服务端R1配置
地址池与虚拟模板
[R1]ip pool PPPoE_POOL  # 创建地址池,名字“PPPoE_POOL”
 network 192.168.1.0 mask 255.255.255.0  # 定义地址范围 
 gateway-list 192.168.1.1  # 客户端网关地址 
 dns-list 8.8.8.8  # (可选)DNS配置 
 [R1]interface Virtual-Template 1  # 创建虚拟模板 
 ip address 192.168.1.1 255.255.255.0  # 服务端虚拟接口IP 
 ppp authentication-mode chap  # 启用CHAP认证 
 remote address pool PPPoE_POOL  # 关联地址池
绑定物理接口
[R1]interface GigabitEthernet0/0/0
 pppoe-server bind Virtual-Template1  # 绑定虚拟模板到物理接口 
用户认证配置(AAA认证)
[R1]aaa 
 local-user client1 password cipher Huawei@123
 # 创建用户及密码 
 local-user client1 service-type ppp  # 指定服务类型 

客户端R2完整配置
拨号接口配置
[R2]dialer-rule  # 创建拨号规则 
 dialer-rule 1 ip permit  # 允许IP流量触发拨号 

 [R2]interface Dialer1  # 创建拨号接口 
 link-protocol ppp  # 启用PPP协议 
 ppp chap user client1  # CHAP认证用户名(与服务端一致)
 ppp chap password cipher Huawei@123  # 认证密码 
 ip address ppp-negotiate  # 动态获取IP 
 dialer user client1  # 指定对端用户名 
 dialer bundle 1  # 绑定拨号组
关联物理接口
[R2]interface GigabitEthernet0/0/0
 pppoe-client dial-bundle-number 1
 # 关联拨号组到物理接口 

路由与NAT(可选)
[R2]ip route-static 0.0.0.0 0 Dialer1  # 配置默认路由指向拨号接口 
[R2]acl 2000  # 创建内网流量ACL
 rule permit source 192.168.2.0 0.0.0.255  
[R2]interface Dialer1

 nat outbound 2000  # 启用NAT转换 

查看命令

服务端display pppoe-server session all(查看会话状态)

客户端display interface Dialer1(检查IP获取结果)

典型故障排查
拨号失败:检查物理接口状态、认证信息、虚拟模板绑定。
无法获取IP:验证地址池配置和ACL规则是否冲突。
NAT失效:确保ACL规则匹配内网网段,且默认路由正确。

广域网技术的发展

传统IP路由转发原理

传统的IP转发采用的是逐跳转发。数据报文经过每一台路由器,都要被解封装查看报文网络层信息,然后根据路由最长匹配原则查找路由表指导报文转发。各路由器重复进行解封装查找路由表和再封装的过程,所以转发性能低。

传统IP路由转发的特点:

  • 所有路由器需要知道全网的路由。
  • 传统IP转发是面向无连接的,无法提供较好的端到端QoS保证。

MPLS标签转发工作原理

MPLS(Multi-Protocol Label Switching),即多协议标签交换,是一种用于加速网络流量转发的技术。在网络中,路由器通常依赖于IP地址来决定如何转发数据包。然而,在启用了MPLS的情况下,数据包会被分配一个短的固定长度标签。

当数据进入MPLS域时,入口边缘设备会为该数据流附加一个标签;这个过程被称为压入(Push)。随后的数据传输过程中,中间节点仅需依据此标签而非完整的三层头部信息来进行快速查找并完成相应的路径决策操作。到达目的地之前最后一个边界节点负责移除这些标记以便接收方能够正常解析原始报文。

Segment Routing 分段路由

SR具有如下特点:

  • 通过对现有协议(例如IGP)进行扩展,能使现有网络更好的平滑演进。
  • 同时支持控制器的集中控制模式和转发器的分布控制模式,提供集中控制和分布控制之间的平衡。
  • 采用源路由技术,提供网络和上层应用快速交互的能力。

转发原理:SR将网络路径分成一个个段(Segment),并且为这些段和网络中的转发节点分配段标识ID(即SID)。通过对段和网络节点进行有序排列(Segment List),就可以得到一条转发路径。SR由源节点(第一台路由器)将段序列编码在数据包头部,随数据包传输。

SR的部署方式

SR部署分为有控制器部署和无控制器部署。控制器配合方式由控制器收集信息,预留路径资源和计算路径,最后将结果下发到头结点,是更为推荐的部署方式。


第十八章 SNMP

网络管理

网络管理是通过对网络中设备的管理,保证设备工作正常,使通信网络正常地运行,以提供高效、可靠和安全的通信服务,是通信网络生命周期中的重要一环。

OSI定义网络管理的五大功能模型

配置管理(Configuration Management):

配置管理涉及初始化网络,提供网络资源和服务以及监视和控制网络。 更具体地说,配置管理的职责包括在网络运行期间设置,维护,添加和更新组件之间的关系以及组件的状态。

配置管理包括设备配置和网络配置。设备配置可以在本地或远程执行。 自动化的网络配置,例如动态主机配置协议(DHCP)和域名服务(DNS)在网络管理中发挥关键作用。

性能管理(Performance Management):

性能管理与评估和报告被管理网络对象的行为和有效性有关。 网络监视系统可以测量和显示网络状态,例如收集有关流量,网络可用性,响应时间和吞吐量的统计信息。

故障管理(Fault Management):

故障管理涉及检测,隔离和纠正可能导致OSI网络故障的异常操作。 故障管理的主要目标是确保网络始终可用,并在发生故障时尽快将其修复。

安全管理(Security Management):

安全管理可以保护网络和系统免受未经授权的访问和安全攻击。 安全管理机制包括身份验证,加密和授权。 安全管理还涉及加密密钥以及其他与安全相关的信息的生成,分发和存储。 安全管理可以包括提供实时事件监视和事件日志的安全系统,例如防火墙和入侵检测系统。

计费管理(Accounting Management):

计费管理可以计量被管理对象的使用费用,并确定这种使用的成本。 该度量可能包括消耗的资源,用于收集会计数据的设施以及为客户使用的服务设置计费参数,维护用于计费目的的数据库,以及准备资源使用情况和计费报告。

传统网络管理方式:网络管理员管理(通过CLI或者Web方式)和网络管理站(基于SNMP集中管理,用统一的SNMP协议管理)

如今采用的是基于iMaster NCE的网络管理,智能化、自动化还有AI大数据分析的优势。

SNMP的原理

SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于管理和监控网络设备的标准化协议。它通过收集、组织和交换网络设备的状态、性能及配置信息,帮助管理员实现高效的网络管理。

SNMP系统由三个核心组件构成

  • 管理站(NMS, Network Management Station)
  • 运行管理软件的服务器,负责发起请求、接收告警(如SolarWinds、Zabbix)。
  • 被管理设备(Agent)
  • 网络中的设备(如路由器、交换机、服务器),内置SNMP代理程序,用于响应管理站的请求。
  • MIB(Management Information Base)
  • 存储被管理设备信息的数据库,以树形结构组织,每个参数对应唯一的OID(Object Identifier)。

MIB

MIB的定义与具体的网络管理协议无关。设备制造商可以在产品(如路由器)中包含SNMP
代理软件,并保证在定义新的MIB项自后该软件仍遵守标准。用户可以使用同一网络管理客户软件来管理具有不同版本MIB的多人路由器。若一台路由器上不支持此MIB,那么就无法提供相应的功能。
MIB可以分为公有MIB和私有MIB两种。

  • 公有MIB:一般由RFC定义,主要用来对各种公有协议进行结构化设计和接口标准化处理。大多数的设备制造商都需要按照RFC的定义来提供SNMP接口。
  • 私有MIB:是公有MIB的必要补充,当公司自行开发私有协议或者特有功能时,可以利用私有MIB来完善SNMP接口的管理功能,同时对第三方网管软件管理存在私有切议或特有功能的设备提供支持。如华为公可企业节点为:1.3.6.1.4.1.2011。

典型应用场景

  • 监控网络性能 收集带宽利用率、丢包率、设备温度等。
  • 故障告警 检测设备宕机、接口错误并实时通知管理员。
  • 配置管理 远程修改设备参数(如ACL规则、SNMP社区名)。
  • 资源统计 统计IP地址分配、路由表条目等。

SNMP采用UDP协议(端口161用于请求/响应,162用于Trap)

两种操作

  • 查询/修改操作

NMS作为管理者,向代理进程发送SNMP请求报文

代理进程通过设备端的MIB找到所要查询或修改的信息

向NMS发送SNMP响应报文。

  • 告警操作

设备端的模块由于达到模块定义的告警触发条件,通过代理进程向NMS发送消息,告知设备侧出现的情况,这样便于网络管理人员及时对网络中出现的情况进行处理

SNMP报文

  • GetRequest:获取单个OID的值。
  • GetNextRequest:遍历MIB树获取下一个OID的值。
  • GetBulkRequest(v2c+):批量获取多个OID值。
  • SetRequest:修改设备配置(如关闭端口)。
  • Response:Agent对请求的响应。
  • Trap/Inform:Agent主动上报事件。

SNMPv2c相较于v1

提升效率:批量查询get bulk, Agent会通过response一次将多个OID的值回应给NMS。

提高可靠性:inform报文,Agent发送Trap报文外还会发送Inform报文要求NMS必须发送response报文,确保Trap报文已经发送成功。

SNMPv3相较于之前的版本

提高了安全性:之前的版本没有身份验证和信息加密,毫无安全性。v3支持加密(AES/DES)、用户认证(HMAC-SHA/MD5)和访问控制,安全性大幅提升。

SNMP配置

1.使能SNMP代理功能

[Huawei]snmp-agent

2.配置SNMP的版本

[Huawei] snmp-agent sys-info version [v1 | v2c v3]

用户可以根据自已的需求配置对应的SNMP版本,但设备侧使用的协议版本必须与网管侧一致。

3.创建或者更新MIB视图的信息

[Huawei]snmp-agent mib-view view-name (exclude | include) subtree-name [mask mask]

4.增加一个新的SNMP组,将该组用户映射到SNMP视图

[Huawei]snmp-agent group v3 group-name {authentication I noauth I privacy}[read-view view-name write-view view-name | notify-view view-name]

该命令用于SNMPv3版本中创建SNMP组,指定认证加密方式、只读视图、读写视图、通知视图。是安全性需求较高的网管网络中的必需指令

5.为一个SNMP组添加一个新用户

[Huawei]snmp-agent usm-user v3 user-name group group-name

6.配置SNMPv3用户认证密码

[Huawei]snmp-agent usm-user v3 user-name authentication-mode (md5|sha|sha2-256)

配置完后会有一个互动的输入框要求填写密码

7.配置SNMPv3用户加密密码

[Huawei]snmp-agent usm-user v3 user-name privacy-mode(aes128 | des56)

8.配置设备发送Trap报文的参数信息

[Huawei] snmp-agent target-host trap-paramsname paramsname v3 security name security name (authentication | noauthnopriv | privacy)

NMS通过发送过来的Trap报文就可以知道是哪台设备

9.配置Trap报文的目的主机

[Huawei] snmp-agent target-host trap-hostname hostname address ipv4-address trap-paramsname paramsname

Agent需要知道它把Trap报文发给哪台NMS,因此通过名字、ip地址就可以锁定了。

10.打开设备的所有告警开关

[Huawei]snmp-agent trap enable

注意该命令只是打开设备发送Trap告警的功能,要与snmp-agent target-host协同使用,由snmp-agenttarget-host指定Trap告警发送给哪台设备。

11.配置发送告警的源接口。

[Huawei]snmp-agent trap source interface-type interface-number

注意Trap告警无论从哪个接口发出都必须有一个发送的源地址,因此源接口必须是已经配置了IP地址的接口

SNMP配置举例(网络设备侧)

基于华为iMasterNCE的网络管理

网络产业的变革与挑战

伴随5G和云时代的到来,VR/AR、直播、无人驾驶等各类创新性业务大量涌现,整个ICT产业迸发出蓬勃生机。与此同时,整个网络的流量也呈现出爆炸式增长,华为GIV(Global Industry Vision,全球产业展望)预计,2025年新增的数据量将达到180ZB。业务的动态复杂性也使得整个网络复杂度不断攀升。整体来看,这些问题的源头都指向了现有的网络系统,只有通过构建自动化、智能化的以用户体验为中心的网络系统才能有效应对。

华为iMaster NCE

  • 华为iMaster NCE是一款集管理、控制、分析和AI智能功能于一体的网络自动化与智能化平台。

1.在管理与控制方面,iMasterNCE支持:

  • CLI和SNMP等传统技术实现传统设备的管理和控制。
  • NETCONF(基于YANG模型)协议实现对支持SDN的网络的管理和控制。

2.iMasterNCE通过SNMP、Telemetry等协议采集网络数据,结合A算法进行大数据智能分析,通过Dashboard、报表等方式多维度呈现设备及网络状态、帮助运维人员快速发现设备及网络异常情况并处理,保障设备和网络的正常运作

NETCONF简介

NETCONF(Network Configuration Protocol,网络配置协议)是一种基于XML的网络配置协议,它存在的目的在于用可编程的方式实现网络配置的自动化,从而简化、加速网络服务地部署。

NETCONF提供一套管理网络设备的机制。用户可以使用这套机制增加、修改、删除、备份、恢复、锁定、解锁网络设备的配置,同时还具备事务和会话操作功能,从而来获取网络设备的配置和状态信息。

NETCONF使用SSH实现安全传输,使用RPC(Remote Procedure Call)远程调用的机制实现客户端和服务端的通信。NETCONF消息以XML格式呈现

NETCONF的优势

一次典型NETCONF交互

YANG语言概述

  • YANG(Yet Another Next Generation)是一种数据建模语言,实现了NETCONF数据内容的标准化。
  • YANG模型定义了数据的层次化结构,可用于基于NETCONF的操作。建模对象包括配置、状态数据、远程过程调用和通知。它可以对NETCONF客户端和服务器端之间发送的所有数据进行一个完整的描述。

YANG与XML

  • ·在NETCONF客户端(例如网管平台/SDN控制器)加载YANG文件。
  • ·通过YANG文件将数据转换为XML格式的NETCONF消息发送到设备。

理解:YANG文件就相当于一个模板,在SNMP里理解就是OID,而数据代表着OID的值。

  • 在NETCONF服务器(例如路电器/交换机等)加裁YANG文件。
  • 通过YANG文件将接收到的XML格式的NETCONF消息转换为数据并做后续处理。

Telemetry基本概述

  • Telemetry也作Network Telemetry,即网络遥测技术,是一项远程地从物理设备或虚拟设备上高速采集数据的技术。
  • 设备通过推模式(Push Mode)周期性地主动向采集器上送设备的接口流量统计、CPU或内存数据等信息,相对传统拉模式(Pull Mode)的一问一答式交互,提供了更实时更高速的数据采集功能。


第十九章 IPv6

为什么要用IPv6?

IPv4存在的问题

  • IPv4地址数量有限,理论2的32次方
  • IPv4地址分配不均,IANA—RIR—LIR(管理IP地址分配的组织),分到中国只有3亿
  • 地址有限的解决方案
  1. CIDR/VLSM
  2. NAT
  • 无法适应物联网的发展
  • 广播机制存在,会造成一定的性能损耗,易受到ARP攻击

IPv6的优势

“无限”地址空间:地址长度为128bit,海量的地址空间,满足物联网等新兴业务、有利于业务演进及扩展。

层次化的地址结构:相较于IPv4地址:IPv6地址的分配更加规范,利于路由聚合(缩减IPv6路由表规模)、路由快速查询。

即插即用:IPv6支持无状态地址自动配置(SLAAC),终端接入更简单

简化的报文头部:简化报文头,提高效率;通过扩展包头支持新应用,利于路由器等网络设备的转发处理,降低投资成本

安全特性:IPsec、真实源地址认证等保证端到端安全:避免NAT破坏端到端通信的完整性

移动性:对移动网络实时通信有较大改进,整个移动网络性能有比较大的提升。

增强的QoS特性:额外定义了流标签字段,可为应用程序或者终端所用,针对特殊的服务和数据流,分配特定的资源。

IPv6基本包头

IPv6包头由一个IPv6基本包头(必须存在)和多个扩展包头(可能不存在)组成。基本包头提供报文转发的基本信息,会被转发路径上的所有设备解析。

IPv6增加了一个流标签(Flow Label)用于标识一个流,支持QoS和优先级控制,可对数据流进行精细分类

Next Header 用来标识当前头(基本头或扩展头)后下一个头的类型。

扩展报头类型

IPv4和IPv6报头的不同之处

报头长度与结构

  • IPv4:可变长度(20-60字节),包含13个字段(如标识符、标志、分片偏移等),且选项直接嵌入主报头。
  • IPv6:固定40字节,仅包含8个核心字段(如流量类别、流标签等),选项通过扩展报头链独立处理,简化了路由器的处理流程。

关键字段差异

  • 移除字段:IPv6删除了IPv4中的校验和(Header Checksum)、分片相关字段(标识符、标志、分片偏移)以及选项字段。校验功能由链路层和传输层承担,分片工作由终端设备通过MTU路径发现完成。
  • 新增字段:IPv6引入流标签(Flow Label),支持QoS和优先级控制,可对数据流进行精细分类。

扩展机制

  • IPv4:选项直接嵌入主报头,导致处理复杂且效率低。
  • IPv6:通过扩展报头链(如逐跳选项、路由扩展等)添加功能,模块化设计提升灵活性和处理速度。

地址长度

  • IPv4:32位地址,理论地址数约43亿。
  • IPv6:128位地址,地址空间近乎无限(约3.4×10³⁸个)。

对齐方式

  • IPv4:字段按4字节对齐。
  • IPv6:字段按8字节对齐,简化数据包解析。

IPv4和IPv6报头的相同之处

核心功能字段

  • 均包含版本号(IPv4为4,IPv6为6)、源地址目的地址

服务类型支持

  • IPv4的服务类型(ToS)字段对应IPv6的流量类别(Traffic Class),均用于优先级控制和QoS。

生存时间机制

  • IPv4的TTL(Time to Live)字段在IPv6中更名为跳数限制(Hop Limit),功能一致(防止数据包无限循环)。

上层协议标识

  • IPv4的协议(Protocol)字段与IPv6的下一个报头(Next Header)功能相同,用于标识上层协议(如TCP/UDP)

IPv6报文处理机制与规则

一、处理机制:“按需处理,能不管就不管”

IPv6报文处理的核心逻辑是简化路由器负担,将复杂功能交给终端或扩展头处理。具体规则:

固定报头优先处理

  • IPv6基本报头固定40字节,只保留最关键的8个字段(如目的地址、跳数限制)。路由器只需解析这些字段即可完成基础转发,其他功能(如分片、加密)通过扩展头实现。

扩展头链式处理

  • 扩展头像“功能插件”,按顺序链式拼接。路由器只处理必须处理的扩展头(如“逐跳选项”),其他扩展头(如路由扩展、分片扩展)直接跳过,交给终端处理。
  • 举个例子: 若报文包含“路由扩展头”,只有路径上的指定路由器才会处理这部分,其他路由器直接忽略。

流标签快速分类

  • 流标签(Flow Label)用于标识同一类数据流(如视频流),路由器可根据流标签+源地址快速分类,实现流量优先级控制,无需深度解析内容。
二、核心规则:“能不分片就不分片,必须分片自己分”

分片规则

  • 中间设备禁止分片:IPv6不允许路由器对报文分片,发送方必须提前通过路径MTU发现确定链路支持的最大报文长度,自行分片后再发送。
  • 分片专用扩展头:若需分片,发送方在报文中加入分片扩展头,包含分片偏移、标识符等信息,接收方根据这些信息重组报文。

扩展头顺序规则

  • 扩展头必须按固定顺序排列(例如:逐跳选项→路由→分片→认证→载荷),确保路由器能按标准流程处理。

跳数限制机制

  • 每经过一个路由器,跳数限制值减1,归零直接丢弃报文(类似IPv4的TTL),防止网络中出现“无限循环”的数据包。
三、封装过程:“套娃式组装”

IPv6报文封装像俄罗斯套娃,由基本报头、扩展头和上层数据三部分按需组合:

第一步:装基本报头

填充固定40字节的“快递单”,写明源/目的地址、跳数限制等基本信息,并指定下一个报头类型(如TCP或扩展头类型)。

第二步:拼接扩展头(可选)

按需添加扩展头,例如:

  • 逐跳选项头:需要每个路由器处理的功能(如巨型报文标识)
  • 路由扩展头:指定报文经过的特定路由器,
  • 每个扩展头末尾的“下一个报头”字段指向后续内容,形成链式结构。

第三步:封装上层数据

  1. 将传输层(如TCP/UDP)数据或应用层内容附加在末尾,最终组成完整报文。

IPv6地址:IPv6地址的长度为128bit。一般用冒号分割为8段,每一段16bit,每一段内用十六进制表示。IPv6地址中的字母大小写不敏感,例如A等同于a。

地址格式

首选格式:

冒号分割为8段,每一段16bit,每一段内用十六进制表示。

用“IPv6地址/掩码长度”的方式来表示。

例如:2001:0DB8:0000:0001:0000:0000:0000:45ff/64。

压缩格式:

每段前导0可以省略,但是如果该段为全0,则至少保留一个“0”字符;拖尾的0不能被省略。

一个或多个连续的段为全0时,可用“::”表示,整个IPv6地址缩写中只允许有一个“::”。

例如:2001:DB8:0:1::45ff/64。

内嵌IPv4地址的格式:

地址的前96bit为IPv6地址格式,后32bit为IPv4地址格式。

IPv6部分可采用首选或压缩格式,IPv4部分采用点分十进制格式。

例如:0:0:0:0:0:0:166.168.1.2/64。

IPv6地址结构:

一个IPv6地址可以分为如下两部分:

  1. 网络前缀:nbit,相当于IPv4地址中的网络ID。(IPv6没有子网掩码)
  2. 接口标识:(128-n)bit,相当于IPv4地址中的主机ID。

IPv6地址分类:单播地址、组播地址、任播地址

IPv6单播地址接口标识生成方法有三种:

  • 手工配置
  • 系统自动生成
  • 通过IEEE EUI-64规范生成

IPv6常见单播地址

GUA

Global Unicast Address,全球单播地址,也被称为可聚合全球单播地址。该类地址全球唯一,用于需要有互联网访问需求的主机,相当于IPv4的公网地址。

ULA

ULA(Unique Local Address,唯一本地地址)是IPv6私网地址,只能够在内网中使用。该地址空间在IPv6公网中不可被路由,因此不能直接访问公网。

LLA

LLA(Link-Local Address,链路本地地址)是IPv6中另一种应用范围受限制的地址类型。LLA的有效范围是本地链路,前缀为FE80::/10。仅在广播域内有效,既不能跨越三层。

IPv6组播地址

IPv6组播地址标识多个接口,一般用于一对多的通信场景,IPv6组播地址只可以作为IPv6报文的目的地址。

被请求节点地址: 当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。该地址主要用于邻居发现机制和地址重复检测功能。被请求节点组播地址的有效范围为本地链路范围。

任播地址

  • 任播地址(Anycast Address):任播地址标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包将发送给其中路由意义上最近的一个网络接口。
  • 任播地址标识一组网络接口(通常属于不同的节点)。任播地址可以作为IPv6报文的源地址,也可以作为目的地址。可重复使用的单播地址,提供冗余和负载分担。

使用相同IPv6地址(任播地址)的两台Web服务器不会发生冲突

两个特殊地址:

环回地址:0:0:0:0:0:0:0:1/128 或者::1/128,与IPv4中的127.0.0.1作用相同

未指定地址:0:0:0:0:0:0:0:0/128 或者::/128。该地址作为某些报文的源地址,比如作为重复地址检测时发送的邻居请求报文(NS)的源地址,或者DHCPv6初始化过程中客户端所发送的请求报文的源地址。

IPv6单播地址业务流程

一个接口在发送IPv6报文之前要经历 地址配置、DAD、地址解析 这三个阶段,NDP(Neighbor Discovery Protocol,邻居发现协议)扮演了重要角色。

NDP(邻居发现协议)

定义

IPv6的网络层协议,替代IPv4的ARP。

基于ICMPv6(类型133-137)实现。

NDP五大核心功能:

  1. 地址解析(替代ARP)
  2. 路由器发现(发现默认网关)
  3. 无状态地址自动配置(SLAAC)
  4. 重复地址检测(DAD)
  5. 重定向(优化路径)

ICMPv6报文类型

NS、NA简单来说就是邻居设备之间互通信息,完成IPv6地址到链路层地址的解析,然后通过解析后得到的链路层地址和IPv6等地址信息来建立相应的邻居缓存表项。

RS、RA报文用于路由器发现

路由器发现是指主机定位本地链路上的路由器和确定其配置信息的过程,主要包含以下3方面内容:

  1. 路由器发现(Router Discovery):主机发现邻居路由器及选择某一个路由器作为默认网关的过程。
  2. 前缀发现(Prefix Discovery):主机发现本地链路上的一组IPv6前缀,生成前缀列表。该列表用于主机的地址自动配置和on-link判断。
  3. 参数发现(Parameter Discovery):主机发现相关操作参数的过程,如MTU、报文的默认跳数限制、地址分配方式等信息。

IPv6地址配置方式

  • 静态:手工配置静态地址
  • 动态:“有状态”和“无状态”
  1. 无状态地址自动配置:基于NDP实现,不需要IPv6地址分配服务器保存和管理每个节点的状态信息
  2. 有状态地址自动配置:基于DHCPv6实现,IPv6地址分配服务器必须保存每个节点的状态信息,并管理这些保存的信息

无状态地址自动配置流程:通过NDP协议的RS、RA报文生成IPv6前缀,有前缀再加上本地生成的64bit接口标识(例如EUI-64),生成一个单播地址。仅可以获得IPv6地址信息,获取不到NIS、SNTP服务器等参数,需要配合DHCPv6或者手动配置获得。

无状态自动配置过程

  1. PC1根据本地的接口ID自动生成链路本地地址:FE80::1002。
  2. PC1对该链路本地地址进行DAD检测,如果该地址无冲突则可启用,此时PC1具备IPv6连接能力。
  3. PC1发送RS报文,尝试在链路上发现IPv6路由器。
  4. R1发送RA报文(携带可用于无状态地址自动配置的IPv6地址前缀2001:DB8::/64。路由器在没有收到RS报文时也能够主动发出RA报文)。
  5. PC1解析路由器发送的RA报文,获得IPv6地址前缀,使用该前缀加上本地的接口ID生成IPv6单播地址:2001:DB8::1002。
  6. PC1对生成的IPv6单播地址进行DAD检测,如果没有检测到冲突,则启用该地址。

重复地址检测(DAD)

无论是手动还是自动获得IPv6单播地址,主机或路由器都会:

  • 通过ICMPv6报文进行DAD
  • 只有DAD通过之后才会使用该单播地址

流程:

  1. PC1生成单播地址后,此时处于“Tentativel临时”状态,发送NS报文(Target地址=待检测地址 目标mac地址为空 源ip地址全为0(未指定地址) 目的ip地址为临时地址自动生成的被请求节点组播地址)
  2. 若收到NA响应 → 地址冲突,重新生成。(PC2监听到NS报文就会告诉PC1它正在使用,并打上它的mac地址,PC1将地址打上“重复(Duplicate)”不再使用。)
  3. 若一段时间无响应 → 地址可用。此时地址状态为“优选(Preferred)”。

典型问题与解决

  • Q:DAD检测到冲突怎么办?
  • 主机需停止使用该地址,并通过以下方式重新生成:
  • SLAAC:生成新的接口标识(如随机化EUI-64)。
  • 手动配置:更换地址或检查网络环境。
  • Q:DAD为何使用组播而非广播?
  • 减少网络流量,仅相关设备(监听同一组播地址)需要处理报文。
  • Q:DAD耗时过长影响通信?
  • 默认等待时间较短(1秒),通常不影响用户体验;重传机制(可选,通常是3次)可进一步提高可靠性。

地址解析

IPv6地址解析通过ICMPv6(NS和NA报文)来实现。

 当PC1要传送数据包到PC2时,如果不知道PC2的链路层地址,则需要完成以下协议交互过程:

  1. PC1发送一个NS报文到网络上,目的地址为PC2对应的被请求节点组播地址(FF02::FF00:2),选项字段中带上PC1的链路层地址00e0-fcb5-4cc9。
  2. PC2侦听到该NS报文后,由于报文的目的地址FF02::FF00:2,自己在该组播组,处理该报文;同时,根据NS报文的源地址和源链路层地址选项更新自己的邻居缓存表项。
  3. PC2发送一个NA报文应答NS,同时在消息的目标链路层地址选项中带上自己的链路层地址00e0-fc48-777c。
  4. PC1接收到NA报文后,获悉了PC2的链路层地址,创建一个目标节点的邻居缓存表项。
  5. 这样通过一收一发的交互后,PC1和PC2就知道了对方的链路层地址,建立其对方的邻居缓存表项(类似于IPv4的ARP表),就可以相互通信了。
  • 关键字段
  • NS包含目标地址(Target Address);NA包含目标地址和链路层地址。

IPv6配置命令

基本配置

配置IPv6静态路由

[Huawei] ipv6 route-static dest-ipv6-address prefix-length(前缀长度){ interface-type interface-number [nexthop-ipv6-address] | nexthop-ipv6-address} [preference preference](优先级默认60)择优选择路由添加入路由表

默认情况下,华为路由器接口发送不了ICMPv6 RA报文。本网络的主机将不会定期收到更新IPv6地址前缀的信息。使用undo ipv6 nd ra halt命令使能系统发布RA报文的功能,主机才能收到路由器发来的地址前缀从而获得IPv6地址。

在接口开启ipv6,并配置ipv6地址后,华为设备会自动生成链路本地地址。

如果没有开启ipv6 unicast-routing(单播路由功能),只能去往邻居路由器直连接口,也就是说没有路由转发功能


第二十章 SDN、NFV

传统网络:

经典IP网络-分布式网络

当前的网络体系架构指的是传统的网络架构,也称为“分布式网络架构”,它通常是基于路由器和交换机的分布式控制系统。在这种架构中,网络设备(如路由器和交换机)在本地进行数据包处理和转发决策,而网络管理员通过命令行界面或Web界面来配置和管理这些设备。

主要的缺点:

  • 传统网络部署管理困难。 网络厂商杂、设备类型数量多、命令不一致
  • 分布式架构瓶颈出现。
  • 流量控制难真正实现。常规的网管软件只能对故障进行监视,无法实现全网全局的链路状态检测、流量可视化
  • 设备不可编程。设备在出厂里面的协议就定好了,无法通过安装软件来增加设备的功能

SDN

SDN(Software Defined Networking),即软件定义网络,是一种新兴的网络架构。传统网络设备如交换机和路由器在硬件中集成了数据平面和控制平面,这两个层面紧密耦合,导致网络配置和管理复杂且不灵活。SDN的核心理念是将控制平面(决定数据如何流动)从网络硬件中分离出来,由中央控制器软件进行统一管理。

三个特征:转控分离、集中控制、开放可编程接口

SDN的核心组件:

  • SDN控制器:网络的大脑,负责下发路由决策和策略,管理网络流量。
  • 南向接口:控制器与网络设备之间的通信协议,如OpenFlow。
  • 北向接口:控制器与上层应用的通信接口,允许应用通过API与网络设备交互。
  • 数据平面:由传统网络设备(如交换机、路由器)构成,负责数据包的转发

SDN的网络架构

OpenFlow基本概念

控制器和网络设备之间通信的一种南向接口协议,它定义了三种类型的消息,Controller-to-Switch、Asynchronous和Symmetric。每一种消息又包含了更多的子类型 。

  • controller-to-swicth消息是由交换机发起的,用于管理和检查交互就状态;
  • asychnomous消息是由交换机发起的,用于将网络事件和交换机状态改变信息更新到控制器;
  • symmetric消息是由控制器或交换机发起的

Controller to Switch(控制器到交换机)

  1. Features 用于控制器了解交换机支持的功能
  2. modify-state:用于管理交换机的状态,如流表项和端口状态,主要用于增,删,改openflow交换机内的流表项和交换机端口属性
  3. Packet-out:用于通过交换机特定端口发送报文 ,这些报文是通过Packet-in消息接收到的。通常Packet-out消息包含整个之前接收到的Packet-in消息所携带的报文或者buffer ID(用于指示存储在交换机内的特定报文)。这个消息需要包含一个动作列表,当OpenFlow交换机收到该动作列表后会对Packet-out消息所携带的报文执行该动作列表。如果动作列表为空,Packet-out消息所携带的报文将被OpenFlow交换机丢弃。
  4. Asynchronous-Configuration:控制器使用该报文设定异步消息过滤器来接收其只希望接收到的异步消息报文,或者向OpenFlow交换机查询该过滤器。该消息通常用于OpenFlow交换机和多个控制器相连的情况。

Asynchronous(异步消息)

  1. Packet-In: 交换机收到一个网络数据包,在流表中没有匹配项,则发送Packet-In消息给控制器。如果交换机缓存足够多,网络数据包被临时存放在缓存中,网络数据包部分内容和在交换机缓存中的序号一同发给控制器;如果交换机缓存不足则将整个数据包发送给控制器。
  2. Flow-Removed: 交换机中的流表因为超时或者修改等原因被删除掉,会触发flow-removed消息。
  3. Port-Status: 交换机端口状态发送变化时触发port-status消息。
  4. Error: 交换机发生故障时触发error消息。

Symmetric(同步消息)

  1. Hello: 用于交换机和控制器建立连接。
  2. Echo: 交换机和控制器均可发送echo消息,接收者需要回复echo reply。该消息用于测量延迟、带宽等。
  3. Experimenter: 用于在OpenFlow消息类型空间中为OpenFlow交换机提供额外的功能。

Flow Table 流表

流(Flow)就是具有相同特征的数据包集合。例如,源MAC地址为MAC_A,目的MAC地址为MAC_B的所有数据包集合就可以视为一条流,可见流具有方向性。有别于传统网络中路由器基于数据包独立转发的模式,使用OpenFlow的SDN网络是基于流进行转发的,即对相同特征的数据包集合采用同样的处理。

流表

用于指导OpenFlow交换机对收到的数据包进行转发,相当于二层的MAC地址表和三层的路由表

流表由若干条流表项(Flow Entry)组成,结构分为七个部分

  • 匹配域(Match Fields):用于定义某条流,也是流表匹配的依据
  • 指令(Instructions):表示对该条流应该如何处理
  • 优先级(Priority):表示该流表项的优先匹配程度
  • 计数器(Counters):用于统计该条流的信息
  • 生存时间(Timeouts):表示流表项的有效存活时间
  • Cookie:控制器设置用来过滤被流统计、流修改和流删除操作请求影响的流表项
  • 标志(Flags):用于流表项管理

流表项最为重要的两项为匹配域和指令,当OpenFlow交换机收到一个数据包,将它包头解析后与流表中流表项匹配域进行匹配,匹配成功则执行指令,因此流表可以简化理解为key-value形式的{匹配域-指令}表。

流表匹配过程

解析数据包得到的首部字段,用于与流表项匹配域进行匹配。若一个数据包与多个流表项匹配成功,最后只与优先级最高的流表项进行匹配。

  • 匹配成功,更新计数器,执行相应指令
  • 匹配失败
  • 流表中没有设置Table-Miss流表项,匹配失败时,丢弃数据包
  • 流表中设置有Table-Miss流表项(优先级为0且匹配域为ANY),则最后会匹配该表项,执行相应指令(如丢弃、交由控制器处理、交给下一张流表处理)

SDN的本质诉求

SDN的本质诉求是让网络更加开放、灵活和简单。它的实现方式是为网络构建一个集中的大脑,通过全局视

图集中控制,实现或业务快速部署、或流量调优、或网络业务开放等目标。 SDN的价值是

  • 集中管理,简化网络管理与运维
  • 屏蔽技术细节,降低网络复杂度,降低运维成本(只执行转发,做不了认证,可以在架构时旁挂一些安全检测设备)
  • 自动化调优,提高网络利用率
  • 快速业务部署,缩短业务上线时间
  • 网络开放,支撑开放可编程的第三方应用

iMaster NCE 解决方案

什么是iMaster NCE?

iMasterNCE,自动驾驶网络管理与控制系统,是华为集管理、控制、分析和AI智能功能于一体的网络自动化与智能化平台。。它有效连接了物理网络与商业意图,实现全局网络的集中管理、控制和分析。面向商业和业务意图使能资源云化、全生命周期网络自动化,以及数据分析驱动的智能闭环。北向提供开放网络API与IT快速集成。可以在企业领域数据中心网络(DCN)、企业园区(Campus)、企业分支互联(SD-WAN)等场景进行部署,让企业网络更加简单、智慧、 开放和安全,加速企业的业务转型和创新。

基于企业跨域网络的建立,HUAWEI从数据中心,企业园区,SD-WAN,广域IP,广域传输五个维度来进行网络设计与部署。

  • 数据中心 iMasterNCE-Fabric *
  • 企业园区 iMasterNCE-Campus *
  • SD-WAN iMasterNCE-WAN
  • 广域IP iMasterNCE-IP
  • 广域传输 iMasterNCE-T

华为数据中心CloudFabric自动驾驶解决方案

基于iMaster NCE-Fabric,为数据中心网络提供从规划-建设-运维-调优全生命周期服务。其关键特性包括:

规建一体:

  • 规划工具对接NCE,实现规划建设一体化。
  • ZTP(Zero Touch Provisioning,零配置开局)

极简部署:

  • 业务意图自理解和转换部署。
  • 网络变更仿真评估,杜绝人为错误。

智能运维:

  • 基于知识图谱和专家规则的快速故障发现定位
  • 基于专家规则和仿真分析的快速故障恢复

实时调优:

  • 面向AI-Fabric的流量本地推理,在线模型训练调优
  • 用户行为预测、资源调优建议

关键特性:极简ZTP部署

ZTP部署流程:

  1. 网络管理员点击启动ZTP任务。
  2. 设备自动获取IP地址访问控制器
  3. 控制器判断设备角色(SpineorLeaf),对上线设备下发管理IP、SNMP、NETCONF等配置,并通过管理IP纳管设备。
  4. 控制器全局下发互联配置及OSPF、BGP等配置。
  5. 设备上线成功,管理员NCE查看全网信息。

注:Spine-Leaf是数据中心网络架构

关键特性:网络意图自理解,业务快速部署

业务部署的周期从网络设计到配置下发再到业务验证,配置下发之前是需要手动配置的,但是现在基于iMaster NCE,只需要十分钟就ok了,客户可以在自己的平台上下一个工单,意图转换就是指将工单的业务设计成意图模型,这些模型会被NCE下发到设备上,下发之前会有一个仿真校验,校验成功之后,再进行网络配置

关键特性:网络变更仿真,预判变更风险

网络仿真就是再配置下发之前,有一个仿真的阶段,这个仿真就是来定位配置是否有问题,如果有问题就回滚,没有问题,就会下发到各个设备上

关键特性:数据中心网络AI智能运维

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值