
数据通信网络:由路由器、交换机、防火墙、无线控制器、无线接入点,以及个人电脑、网络打印机、服务器等设备构成的通信网络。
功能: 数据通信网络最基本的功能是实现数据互通。
交换机: 距离终端用户最近的设备,用于终端用户接入网络、对数据帧进行交换等。
路由器:网络层设备,可以在因特网中进行数据报文转发。路由器根据所收到的报文的目的地址选择一条合适的路径,将报文传送到下一个路由器或目的地,路径中最后的路由器负责将报文送交目的主机。
防火墙:•网络安全设备,用于控制两个网络之间的安全通信。它通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以此来实现对网络的安全保护。
按照地理覆盖范围来划分,网络可以分为局域网 (Local Area Network)、城域网 (Metropolitan Area Network) 和广域网 (Wide Area Network)。
局域网(LAN):
城域网(MAN):
广域网(WAN):
网络拓扑(Network Topology)是指用传输介质(例如双绞线、光纤等)互连各种设备(例如计算机终端、路由器、交换机等)所呈现的结构化布局。
按照网络的拓扑形态来划分,网络可分为星型网络、总线型网络、环形网络、树形网络、全网状网络和部分网状网络

OSI参考模型又被称为七层模型,由下至上依次为:
物理层:在设备之间传输比特流,规定了电平、速度和电缆针脚等物理特性。
数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测。
网络层:定义逻辑地址,供路由器确定路径,负责将数据从源网络传输到目的网络。
传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。
会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。
TCP/IP****常见协议

应用层为应用软件提供接口,使应用程序能够使用网络服务。应用层协议会指定使用相应的传输层协议,以及传输层所使用的端口等。
应用层的PDU被称为Data(数据)

传输层协议接收来自应用层协议的数据,封装上相应的传输层头部,帮助其建立“端到端”(Port to Port)的连接。
传输层的PDU被称为Segment(段)。



客户端使用的源端口一般随机分配,目标端口则由服务器的应用指定;
源端口号一般为系统中未使用的,且大于1023;
目的端口号为服务端开启的应用(服务)所侦听的端口,如HTTP缺省使用80
任何基于TCP的应用,在发送数据之前,都需要由TCP进行“三次握手”建立连接。

TCP连接建立的详细过程如下:
由TCP连接发起方(图中PC1),发送第一个SYN位置1的TCP报文。初始序列号a为一个随机生成的数字,因为没收到过来自PC2的任何报文,所以确认序列号为0 ;
接收方(图中PC2)接收到合法的SYN报文之后,回复一个SYN和ACK置1的TCP报文。初始序列号b为一个随机生成的数字,同时因为此报文是回复给PC1的报文,所以确认序列号为a+1;
PC1接收到PC2发送的SYN和ACK置位的TCP报文后,回复一个ACK置位的报文,此时序列号为a+1,确认序列号为b+1。PC2收到之后,TCP双向连接建立。TCP使用序列号和确认序列号字段实现数据的可靠和有序传输

假设PC1要给PC2发送一段数据,传输过程如下
1. PC1将全部待TCP发送的数据按照字节为单位编上号。假设第一个字节的编号为“a+1”,第二个字节的序号为“a+2”,依次类推。
2. PC1会把每一段数据的第一个字节的编号作为序列号(Sequence number),然后将TCP报文发送出去。
3. PC2在收到PC1发送来的TCP报文后,需要给予确认同时请求下一段数据,如何确定下一段数据呢?序列号( a+1 )+载荷长度=下一段数据的第一个字节的序号(a+1+12)
TCP通过滑动窗口机制来控制数据的传输速率

1. 在TCP三次握手建立连接时,双方都会通过Window字段告诉对方本端最大能够接受的字节数(也就是缓冲区大小)。
2. 连接建立成功之后,发送方会根据接受方宣告的Window大小发送相应字节数的数据。
3. 接受方接受到数据之后会放在缓冲区内,等待上层应用来取走缓冲的数据。若数据被上层取走,则相应的缓冲空间将被释放。
4. 接收方根据自身的缓存空间大小通告当前的可以接受的数据大小( Window )。
5. 发送方根据接收方当前的Window大小发送相应数量的数据。当数据传输完成,TCP需要通过“四次挥手”机制断开TCP连接,释放系统资源

TCP支持全双工模式传输数据,这意味着同一时刻两个方向都可以进行数据的传输。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,因此在传输完毕后,两个方向的连接必须都关闭。如图所示
1. 由PC1发出一个FIN字段置”1 ”的不带数据的TCP段;
2. PC2收到PC1发来的FIN置位的TCP报文后,会回复一个ACK置位的TCP报文。
3. 若PC2也没有需要发送的数据,则直接发送FIN置位的TCP报文。假设此时PC2还有数据要发送,那么当PC2发送完这些数据之后会发送一个FIN置位的TCP报文去关闭连接。
4. PC1收到FIN置位的TCP报文,回复ACK报文,TCP双向连接断开。传输层负责建立主机之间进程与进程之间的连接,而网络层则负责数据从一台主机到另外一台主机之间的传递。
网络层的PDU被称为Packet(包)。

网络层协议工作过程

数据链路层位于网络层和物理层之间,可以向网络层的IP、IPv6等协议提供服务。数据链路层的PDU被称为Frame(帧)。
以太网(Ethernet)是最常见的数据链路层协议。

以太网与MAC地址
•MAC地址由48比特(6个字节)长,12位的16进制数字组成。例如:48-A4-72-1C-8F-4F

ARP (Address Resolution Protocol)地址解析协议:
根据已知的IP地址解析获得其对应的MAC地址。

ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取数据链路层地址的一个TCP/IP协议。
ARP是IPv4中必不可少的一种协议,它的主要功能是:
将IP地址解析为MAC地址;
维护IP地址与MAC地址的映射关系的缓存,即ARP表项;
实现网段内重复IP地址的检测。
网络设备一般都有一个ARP缓存(ARP Cache)。ARP缓存用来存放IP地址和MAC地址的关联信息。
在发送数据前,设备会先查找ARP缓存表。如果缓存表中存在对方设备的ARP表项,则直接采用该表项中的MAC地址来封装帧,然后将帧发送出去。如果缓存表中不存在相应信息,则通过发送ARP Request报文来获得它。
学习到的IP地址和MAC地址的映射关系会被放入ARP缓存表中存放一段时间。在有效期内(缺省:180s),设备可以直接从这个表中查找目的MAC地址来进行数据封装,而无需进行ARP查询。过了这段有效期,ARP表项会被自动删除。
如果目标设备位于其他网络,则源设备会在ARP缓存表中查找网关的MAC地址。然后将数据发送给网关。最后网关再把数据转发给目的设备。
主机1的ARP缓存表中不存在主机2的MAC地址,所以主机1会发送ARP Request来获取目的MAC地址。
ARP Request报文封装在以太帧里。帧头中的源MAC地址为发送端主机1的MAC地址。此时,由于主机1不知道主机2的MAC地址,所以目的MAC地址为广播地址FF-FF-FF-FF-FF-FF。
ARP Request报文中包含发送端MAC地址、发送端IP地址、目的端MAC地址、目的端IP地址,其中目的端MAC地址的值为0。ARP Request报文会在整个网络上传播,该网络中所有主机包括网关都会接收到此ARP Request报文。
所有的主机接收到该ARP Request报文后,都会检查它的目的端IP地址字段与自身的IP地址是否匹配。如果不匹配,则该主机将不会响应该ARP Request报文。如果匹配,则该主机会将ARP请求报文中的发送端MAC地址和发送端IP地址信息记录到自己的ARP缓存表中,然后通过ARP Reply报文进行响应。
主机2会向主机1回应ARP Reply报文。
ARP Reply报文中的发送端IP地址是主机2自己的IP地址,目的端IP地址是主机1的IP地址,目的端MAC地址是主机1的MAC地址,发送端MAC地址是自己的MAC地址,同时操作类型被设置为Reply。
ARP Reply报文通过单播传送。
主机1收到ARP Reply以后,会检查ARP报文中目的端IP地址字段与自身的IP地址是否匹配。如果匹配,ARP报文中的发送端MAC地址和发送端IP地址会被记录到主机1的ARP缓存表中。
数据到达物理层之后,物理层会根据物理介质的不同,将数字信号转换成光信号、电信号或者是电磁波信号。
物理层的PDU被称为比特流(Bitstream)。

常见传输介质

发送方数据封装

中间网络数据传输
封装好的完整数据,将会在网络中被传递

一般情况下:
网络中的二层设备(如以太网交换机)只会解封装数据的二层头部,根据二层头部的信息进行相应的“交换”操作。
网络中的三层设备(如路由器)只会解封装到三层头部,并且根据三层头部的信息进行相应的“路由”操作。
注:“交换”和“路由”的详细细节和原则,将会在后面的课程中详细介绍。接收方数据解封装

经过中间网络传递之后,数据最终到达目的服务器。根据不同的协议头部的信息,数据将被一层层的解封装并做相应的处理和传递,最终交由WEB服务器上的应用程序进行处理。VRP是华为公司数据通信产品的通用操作系统平台,作为华为公司从低端到核心的全系列路由器、以太网交换机、业务网关等产品的软件核心引擎。
VRP提供以下功能:
文件系统是指对存储器中文件、目录的管理,功能包括查看、创建、重命名和删除目录,拷贝、移动、重命名和删除文件等。
掌握文件系统的基本操作,对于网络工程师高效管理设备的配置文件和VRP系统文件至关重要。

设备初始化过程
设备上电后,首先运行BootROM软件,初始化硬件并显示设备的硬件参数,然后运行系统软件,最后从默认存储路径中读取配置文件进行设备的初始化操作。
VRP用户级别
VRP提供基本的权限控制,可以实现不同级别的用户能够执行不同级别的命令,用以限制不同用户对设备的操作。


1.查看当前目录
<Huawei>pwd2.显示当前目录下的文件信息
<Huawei>dir 3.查看文本文件的具体内容
<Huawei>more4.修改用户当前界面的工作目录
<Huawei>cd5.创建新的目录
<Huawei>mkdir6.删除目录
<Huawei>rmdir7.复制文件
<Huawei>copy 8.移动文件
<Huawei>move9.重命名文件
<Huawei>rename10.删除文件
<Huawei>delete 11.恢复删除的文件
<Huawei>undelete12.彻底删除回收站中的文件
<Huawei>reset recycle-bin 1.配置设备名称
[Huawei] sysname name2.设置系统时钟
用来对本地时区信息进行设置。
<Huawei> clock timezone time-zone-name { add | minus } offset用来设置设备当前或UTC日期和时间。
<Huawei> clock datetime [ utc ] HH:MM:SS YYYY-MM-DD用来设置设备的夏令时。
<Huawei> clock daylight-saving-time 3.配置命令等级
用来设置指定视图内的命令的级别。命令级别分为参观、监控、配置、管理4个级别,分别对应标识0、1、2、3。
[Huawei] command-privilege level level view view-name command-key4.配置用户通过Password方式登录设备
用来进入指定的用户视图并配置用户认证方式为password。系统支持的用户界面包括Console用户界面和VTY用户界面,Console界面用于本地登录,VTY界面用于远程登录。默认情况下,设备一般最多支持15个用户同时通过VTY方式访问。
[Huawei]user-interface vty 0 4
[Huawei-ui-vty0-4]set authentication password cipher information5.配置用户界面参数
用来设置用户界面断开连接的超时时间。如果用户在一段时间内没有输入命令,系统将断开连接。缺省情况下,超时时间是10分钟。
[Huawei] idle-timeout minutes [ seconds ]6.配置接口IP地址
用来给设备上的物理或逻辑接口配置IP地址。
[Huawei]interface interface-number
[Huawei-interface-number]ip address ip address7.查看当前运行的配置文件
<Huawei>display current-configuration 8.配置文件保存
<Huawei>save9.查看保存的配置
<Huawei>display saved-configuration 10.清除已保存的配置
<Huawei>reset saved-configuration11.查看系统启动配置参数
用来查看设备本次及下次启动相关的系统软件、备份系统软件、配置文件、License文件、补丁文件以及语音文件
<Huawei> display startup 12.配置系统下次启动时使用的配置文件
设备升级时,可以通过此命令让设备下次启动时加载指定的配置文件
<Huawei>startup saved-configuration configuration-file 13.配置设备重启
<Huawei>reboot需求说明:
•查看路由器RTA当前目录下的文件和目录的信息;
•创建一个新目录test,然后删除该目录。
需求说明:
•将文件huawei.txt重命名为save.zip;
•将文件save.zip复制并命名为file.txt;
•将文件file.txt移动到dhcp目录下;
•删除文件file.txt;
•恢复删除文件file.txt。
如图,某工程师需要为公司配置路由器,需求如下:


网络层经常被称为IP层。但网络层协议并不只是IP协议,还包括ICMP(Internet Control Message Protocol)协议、IPX(Internet Packet Exchange)协议等。

IP协议
IP是Internet Protocol的缩写。 Internet Protocol本身是一个协议文件的名称,该协议文件的内容非常少,主要是定义并阐述了IP报文的格式。
经常被提及的IP,一般不是特指Internet Protocol这个协议文件本身,而是泛指直接或间接与IP协议相关的任何内容。

IP协议有版本之分,分别是IPv4和IPv6。目前,Internet上的IP报文主要都是IPv4报文,但是逐步在向IPv6过渡。若无特别声明,本章所提及的IP均指IPv4。
IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。
IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation)。它是Internet工程任务组IETF(Internet Engineering Task Force)设计的一套规范,是IPv4(Internet Protocol Version 4)的升级版本。数据封装

应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。
如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段);数据段被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包);数据包被传递到数据链路层,封装数据链路层报头和尾部得到的PDU被称为Frame(数据帧);最后,帧被转换为比特,通过网络介质传输。
这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。
本章节我们主要讨论数据在网络层的封装,如果封装为IP协议,则被称为IP Packet(IP数据包)。IPv4报文格式

数据包分片
•将报文分割成多个片段的过程叫做分片。
•网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输。

Identification:16 bit,发送主机赋予的标识,分片重组时会用到该字段。
Flags:3 bit,标志位。
保留段位:0,保留。
生存时间 (Time to Live, TTL)

Time to Live:8 bit,生存时间。可经过的最多路由数,即数据包在网络中可通过的路由器数的最大值。
报文在网段间转发时,如果网络设备上的路由规划不合理,就可能会出现环路,导致报文在网络中无限循环,无法到达目的端。环路发生后,所有发往这个目的地的报文都会被循环转发,随着这种报文逐渐增多,网络将会发生拥塞。
为避免环路导致的网络拥塞,IP报文头中包含一个生存时间TTL(Time To Live)字段。报文每经过一台三层设备,TTL值减1。初始TTL值由源端设备设置。当报文中的TTL降为0时,报文会被丢弃。同时,丢弃报文的设备会根据报文头中的源IP地址向源端发送ICMP错误消息。(注意:网络设备也可被配置为不向源端发送ICMP错误消息。)协议号 (Protocol)

目的端的网络层在接收并处理报文以后,需要决定下一步对报文如何处理。IP报文头中的协议字段标识了将会继续处理报文的协议。
该字段可以标识网络层协议,如ICMP(Internet Control Message Protocol,因特网控制报文协议,对应值0x01);也可以标识上层协议,如TCP(Transmission Control Protocol,传输控制协议,对应值0x06)、UDP(User Datagram Protocol,用户数据包协议,对应值0x11)。IP地址在网络中用于标识一个节点(或者网络设备的接口)。
IP地址用于IP报文在网络中的寻址
IP地址就像现实中的地址,可以标识网络中的一个节点,数据就是通过它来找到目的地。
在IP网络上,如果用户要将一台计算机连接到Internet上,就需要申请一个IP地址。IP地址就像现实中的地址,可以标识网络中的一个节点,数据就是通过它来找到目的地的。即我们通过IP地址实现全球范围内的网络通信。
IP地址是网络设备接口的属性,不是网络设备本身的属性。当我们说给某台设备分配一个IP地址时,实质上是指给这台设备的某个接口分配一个IP地址。如果设备有多个接口,通常每个接口都至少需要一个IP地址。
注:需要使用IP地址的接口,通常是路由器和计算机的接口。IP地址表示

IP地址表示
IP地址是长度是32 bit,由4个字节组成。为了阅读和书写方便,IP地址通常采用点分十进制数来表示。
IP地址构成

IPv4地址由如下两部分组成:
网络部分 (网络号):用来标识一个网络
IP地址不能反映任何有关主机位置的地理信息,只能通过网络号码字段判断出主机属于哪个网络。
对于网络号相同的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。
主机部分 (主机号):用来区分一个网络内的不同主机
网络掩码 (Netmask),又称子网掩码 (Subnet Mask):
IP地址寻址
**网络部分:**用来标识一个网络,代表IP地址所属网络。
**主机部分:**用来区分一个网络内的不同主机,能唯一标识网段上的某台设备。

IP地址分类(有类编址)

为了方便IP地址的管理及组网,IP地址分成五类
A、B、C类地址比较
注:
IP地址类型

网络地址
广播地址
可用地址
一个网段可用地址数量计算
IP地址计算

网络地址:将IP地址的主机位全设为0,所得结果是该IP地址所在网络的网络地址。
广播地址:将IP地址的主机位全设为1,所得结果是该IP地址所在网络的广播地址。
IP地址数:2ⁿ,n为主机位位数。
可用IP地址数:2ⁿ-2,n为主机位位数。私网IP地址
公网IP地址:IP地址是由IANA统一分配的,以保证任何一个IP地址在Internet上的唯一性。这里的IP地址是指公网IP地址。
私网IP地址:实际上一些网络不需要连接到Internet,比如一个大学的封闭实验室内的网络,只要同一网络中的网络设备的IP地址不冲突即可。在IP地址空间里,A、B、C三类地址中各预留了一些地址专门用于上述情况,称为私网IP地址。
特殊IP地址
•IP地址空间中,有一些特殊的IP地址,这些IP地址有特殊的含义和作用,举例如下。

IPv4 vs IPv6
•由全球IP地址分配机构,IANA (Internet Assigned Numbers Authority)管理的IPv4地址,于2011年完全用尽。随着最后一个IPv4公网地址分配完毕,加上接入公网的用户及设备越来越多,IPv4地址枯竭的问题日益严重,这是当前IPv6替代IPv4的最大源动力。



为了更有效地转发IP数据报文和提高数据报文交互成功的机会,在网络层使用ICMP协议。ICMP允许主机或设备报告差错情况和提供有关异常情况的报告。
ICMP消息:
ICMP消息封装在IP报文中,IP报文头部Protocol值为1时表示ICMP协议。
字段解释:
ICMP重定向
ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非最优路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由

ICMP重定向过程:
ICMP差错检测

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

ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。
如果网络中发生了环路,导致报文在网络中循环,且最终TTL超时,这种情况下网络设备会发送TTL超时消息给发送端设备。
如果目的地不可达,则中间的网络设备会发送目的不可达消息给发送端设备。目的不可达的情况有多种,如果是网络设备无法找到目的网络,则发送目的网络不可达消息;如果网络设备无法找到目的网络中的目的主机,则发送目的主机不可达消息。
1.进入接口视图
[Huawei] interface interface-type interface-number通过此命令可以进入指定的接口视图,配置接口的相关属性。
interface-type interface-number:指定接口类型和接口编号。接口类型和接口编号之间可以输入空格也可以不输入空格。
2.配置接口的IP地址
[Huawei-GigabitEthernet0/0/1] ip address ip-address { mask | mask-length }在接口视图下,通过此命令来给网络设备上的接口配置IP地址,实现网络的互连。
配置接口IP地址

路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。
路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器。
路由设备维护着一张路由表,保存着路由信息
网关以及中间节点(路由器)根据收到的IP报文其目的地址选择一条合适的路径,并将报文转发到下一个路由器。在路径中的最后一跳路由器二层寻址将报文转发给目的主机。这个过程被称为路由转发。
中间节点选择路径所依赖的表项为称为路由表。
路由条目包含明确的出接口以及下一跳,这两项信息指导IP报文转发到相应的下一跳设备上。路由信息介绍

通过路由中包含的信息,路由设备可以转发IP报文到相应的路径。
目的地址、掩码用于识别IP报文目的地址,路由设备将IP报文匹配到相应的路由之后,根据路由的出接口、下一跳确认转发的路径。
只有出接口并不能够确认转发IP报文的下一跳设备,还需要明确的下一跳设备地址。路由表

路由器依据路由表转发报文。
路由表由一条条详细的路由条目组成。
路由表由路由条目组成,但不代表路由表中保存了所有路由,路由表中只会保存“最优的”路由。
对路由表中的路由条目的管理实际上就是路由器维护、管理路由信息的具体实现。路由信息获取方式
路由器依据路由表进行路由转发,为实现路由转发,路由器需要发现路由,以下为常见的路由获取方式

直连路由:直连接口所在网段的路由,由设备自动生成。
静态路由:由网络管理员手工配置的路由条目
动态路由:路由器通过动态路由协议(如OSPF、IS-IS、BGP等)学习到的路由直连路由


查看IP路由表

路由表中各个内容的含义
路由优先级- 基本概念
当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,路由器会比较这些路由的优先级,优选优先级值最小的路由。
路由来源的优先级值(Preference)越小代表加入路由表的优先级越高。
拥有最高优先级的路由将被添加进路由表。
路由优先级 - 比较过程
RTA通过动态路由协议OSPF和手动配置的方式都发现了到达10.0.0.0/30的路由,此时会比较这两条路由的优先级,优选优先级值最小的路由。
每一种路由协议都有相应的优先级。
OSPF拥有更优的优先级,因此通过OSPF学习到的路由被添加到路由表中。
RTA通过静态、动态路由协议学习到相同的路由条目,比较路由协议优先级,OSPF优先。OSPF的路由条目被加入到路由表
常见路由类型的默认优先级如下

度量值- 基本概念

度量值 - 比较过程
•RTA通过动态路由协议OSPF学习到了两条目的地为10.0.0.0/30的路由,学习自同一路由协议、优先级相同,因此需要继续比较度量值。
•两条路由拥有不同的度量值,下一跳为30.1.1.2的OSPF的路由条目拥有更小的度量值,因此被加入到路由表中。

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

最长匹配示例


路由转发流程

来自10.0.1.0/24网段的IP报文想要去往40.0.1.0/24网段,首先到达网关,网关查找路由表项,确定转发的下一跳、出接口,之后报文转发给R2。报文到达R2之后,R2通过查找路由表项转发给R3,R3收到后查找路由表项,发现IP报文目的IP属于本地接口所在网段,直接本地转发。IP路由表小结
当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,会选择路由优先级值最小的路由;如果这些路由学习自相同的路由协议,则优选度量值最优的。总之,最优的路由加入路由表。
当路由器收到一个数据包时,会在自己的路由表中查询数据包的目的IP地址。如果能够找到匹配的路由表项,则依据表项所指示的出接口及下一跳来转发数据;如果没有匹配的表项,则丢弃该数据包。
路由器的行为是逐跳的,数据包从源到目的地沿路径每个路由器都必须有关于目标网段的路由,否则就会造成丢包。
数据通信往往是双向的,因此要关注流量的往返(往返路由)。静态路由应用场景
静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。
缺点是不能自动适应网络拓扑的变化,需要人工干预。
RTA上转发目的地址属于20.1.1.0/24的报文,在只有直连路由的情况下没有路由匹配。此时可以通过手动配置静态路由,使RTA发送前往20.1.1.0/24网段的报文交给下一跳10.0.0.2转发。

静态路由配置
1.关联下一跳IP的方式
[Huawei] ip route-static ip-address { mask | mask-length } nexthop-address2.关联出接口的方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number3.关联出接口和下一跳IP方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number [ nexthop-address ]在创建静态路由时,可以同时指定出接口和下一跳。对于不同的出接口类型,也可以只指定出接口或只指定下一跳。
对于点到点接口(如串口),只需指定出接口。
对于广播接口(如以太网接口)和VT(Virtual-template)接口,必须指定下一跳
配置举例

RTA与RTC上配置静态路由,实现10.0.0.0/24与20.1.1.0/24的互通。
因为报文是逐跳转发的,所以每一跳路由设备上都需要配置到达相应目的地址的路由。
另外需要注意通信是双向的,针对通信过程中的往返流量,都需关注途径设备上的路由配置。
RTA的配置如下
[RTA] ip route-static 20.1.1.0 255.255.255.0 10.0.0.2 RTC的配置如下
[RTC] ip route-static 10.0.0.0 255.255.255.0 S1/0/0 缺省路由
缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发。
缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由。

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


静态路由的缺点是不能自动适应网络拓扑的变化,需要人工干预。
动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。动态路由分类

路由递归
路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归。
路由递归也被称为路由迭代。


等价路由

路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发,这种转发行为被称为负载分担。
浮动路由-基本概念
静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份。
浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时该备份路由不会出现在路由表。

示例

RTA-RTB之间的链路正常时,20.0.0.0/30的两条路由条目都是有效的条目,此时比较优先级,下一跳为10.1.1.2的优先级60,下一跳为10.1.2.2的优先级70,因此下一跳为10.1.1.2的加入路由表。
RTA-RTB之间的链路故障时,10.1.1.2不可达,因此下一跳为10.1.1.2的路由失效,此时前往20.0.0.0/30的路由就只存在一条,该条路由将会被选入路由表。前往20.0.0.1的流量将会被转发到10.1.2.2。CIDR
CIDR(classless inter-domain routing,无类别域间路由)采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分。
CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有效减少路由表条目数量。

路由汇总需求
子网划分、VLSM解决了地址空间浪费的问题,但同时也带了新的问题:路由表中的路由条目数量增加。
为减少路由条目数量可以使用路由汇总。

对于一个大规模的网络来说,路由器或其他具备路由功能的设备势必需要维护大量的路由表项,为了维护臃肿的路由表,这些设备就不得不耗费大量的资源。同时,由于路由表的规模变大,会导致路由器在查表转发时效率降低。因此在保证网络中的路由器到各网段都具备IP可达性的同时,需要减小设备的路由表规模。一个网络如果具备科学的IP编址,并且进行合理的规划,是可以利用多种手段减小设备路由表规模的。一个非常常见而又有效的办法就是使用路由汇总(Route Summarization)。路由汇总又被称为路由聚合(Route Aggregation),是将一组有规律的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的,我们把汇聚之前的这组路由称为精细路由或明细路由,把汇聚之后的这条路由称为汇总路由或聚合路由。路由汇总简介
路由汇总将一组具有相同前缀的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的。
路由汇总采用了CIDR的思想:将相同前缀的地址聚合成一个。
我们把汇聚之前的这组路由称为精细路由或明细路由,把汇聚之后的这条路由称为汇总路由或聚合路由。

RTA上为了能够前往远端地址,需要为每一个远端网段配置一条明细路由。去往10.1.1.0/24、10.1.2.0/24、10.1.3.0/24…拥有相同下一跳。将拥有相同下一跳,一组有规律的路由汇总成一条路由,这叫做路由汇总。
路由汇总可以有效减少路由表项大小。汇总计算

基于一系列连续的、有规律的IP网段,如果需计算相应的汇总路由,且确保得出的汇总路由刚好“囊括”上述IP网段,则需保证汇总路由的掩码长度尽可能长。
诀窍在于:将明细路由的目的网络地址都换算成二进制,然后排列起来,找出所有目的网络地址中“相同的比特位”
汇总引发的问题


一般来说一条路由,无论是静态的或者是动态的,都需要关联到一个出接口,路由的出接口指的是设备要到达一个目的网络时的出站接口。路由的出接口可以是该设备的物理接口,例如百兆、千兆以太网接口,也可以是逻辑接口,例如VLAN接口(VLAN Interface),或者隧道(Tunnel)接口等。在众多类型的出接口中,有一种接口非常特殊,那就是Null(无效)接口,这种类型的接口只有一个编号,也就是0。Null0是一个系统保留的逻辑接口,当网络设备在转发某些数据包时,如果使用出接口为Null0的路由,那么这些报文将被直接丢弃,就像被扔进了一个黑洞里,因此出接口为Null0的路由又被称为黑洞路由。精确汇总


由于静态路由由网络管理员手工配置,因此当网络发生变化时,静态路由需要手动调整,这制约了静态路由在现网大规模的应用。
动态路由协议因其灵活性高、可靠性好、易于扩展等特点被广泛应用于现网。在动态路由协议之中,OSPF(Open Shortest Path First,开放式最短路径优先)协议是使用场景非常广泛的动态路由协议之一。
OSPF在RFC2328中定义,是一种基于链路状态算法的路由协议。
为什么需要动态路由协议?
静态路由是由工程师手动配置和维护的路由条目,命令行简单明确,适用于小型或稳定的网络。静态路由有以下问题:
动态路由协议的分类

距离矢量路由协议
运行距离矢量路由协议的路由器周期性的泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中。
对于网络中的所有路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的方向在哪里,距离有多远。这即是距离矢量算法的本质。

链路状态路由协议 - LSA泛洪
与距离矢量路由协议不同,链路状态路由协议通告的的是链路状态而不是路由表。运行链路状态路由协议的路由器之间首先会建立一个协议的邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。

链路状态路由协议 - LSDB组建
每台路由器都会产生LSAs,路由器将接收到的LSAs放入自己的LSDB(Link State DataBase,链路状态数据库)。路由器通过LSDB,掌握了全网的拓扑。

链路状态路由协议 - SPF计算
每台路由器都会产生LSAs,路由器将接收到的LSAs放入自己的LSDB(Link State DataBase,链路状态数据库)。路由器通过LSDB,掌握了全网的拓扑。

链路状态路由协议 - SPF计算
每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算。每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”。有了这棵“树”,路由器就已经知道了到达网络各个角落的优选路径。

SPF是OSPF路由协议的一个核心算法,用来在一个复杂的网络中做出路由优选的决策。
链路状态路由协议 - 路由表生成
最后,路由器将计算出来的优选路径,加载进自己的路由表(Routing Table)

链路状态路由协议总结

链路状态路由协议有四个步骤:
第一步是建立相邻路由器之间的邻居关系。
第二步是邻居之间交互链路状态信息和同步LSDB。
第三步是进行优选路径计算。
第四步是根据最短路径树生成路由表项加载到路由表。OSPF****简介

OSPF-在园区网络中的应用

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

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

在实际项目中,通常会通过手工配置方式为设备指定OSPF Router-ID。请注意必须保证在OSPF域中任意两台设备的Router-ID都不相同。通常的做法是将Router-ID配置为与该设备某个接口(通常为Loopback接口)的IP地址一致。
OSPF的基础术语:度量值
OSPF使用Cost(开销)作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值,缺省时接口Cost值 = "100 Mbit/s " /"接口带宽" 。其中100 "Mbit/s"为OSPF指定的缺省参考值,该值是可配置的。
笼统地说,一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。

OSPF协议报文类型
OSPF有五种类型的协议报文。这些报文在OSPF路由器之间交互中起不同的作用

OSPF三大表项 - 邻居表
OSPF有三张重要的表项,OSPF邻居表、LSDB表和OSPF路由表。对于OSPF的邻居表,需要了解:

OSPF三大表项 - LSDB表
对于OSPF的LSDB表,需要了解:

OSPF三大表项 - OSPF路由表
对于OSPF的路由表,需要了解:

OSPF路由器之间的关系
初识OSPF邻接关系建立过程

OSPF邻接关系建立流程 - 1

当一台OSPF路由器收到其他路由器发来的首个Hello报文时会从初始Down状态切换为Init状态。
当OSPF路由器收到的Hello报文中的邻居字段包含自己的Router ID时,从Init切换2-way状态。OSPF邻接关系建立流程- 2&3

OSPF邻接关系建立流程- 4

邻居状态转变为Loading后,R1向R2发送LSR报文,请求那些在Exchange状态下通过DD报文发现的,但是在本地LSDB中没有的LSA。
R2收到后向R1回复LSU。在LSU报文中包含被请求的LSA的详细信息。
R1收到LSU报文后,向R2回复LS ACK报文,确认已接收到,确保信息传输的可靠性。
此过程中R2也会向R1发送LSA请求。当两端LSDB完全一致时,邻居状态变为Full,表示成功建立邻接关系。OSPF邻居表回顾

OSPF网络类型简介
在学习DR和BDR的概念之前,需要首先了解OSPF的网络类型。
OSPF网络类型是一个非常重要的接口变量,这个变量将影响OSPF在接口上的操作,例如采用什么方式发送OSPF协议报文,以及是否需要选举DR、BDR等。
接口默认的OSPF网络类型取决于接口所使用的数据链路层封装。
如图所示,OSPF的有四种网络类型,Broadcast、NBMA、P2MP和P2P。

OSPF网络类型
一般情况下,链路两端的OSPF接口网络类型必须一致,否则双方无法建立邻居关系。
OSPF网络类型可以在接口下通过命令手动修改以适应不同网络场景,例如可以将BMA网络类型修改为P2P。


DR与BDR的背景
MA(Multi-Access)多路访问网络有两种类型:广播型多路访问网络(BMA)及非广播型多路访问网络(NBMA)。以太网(Ethernet)是一种典型的广播型多路访问网络。
在MA网络中,如果每台OSPF路由器都与其他的所有路由器建立OSPF邻接关系,便会导致网络中存在过多的OSPF邻接关系,增加设备负担,也增加了网络中泛洪的OSPF报文数量。
当拓扑出现变更,网络中的LSA泛洪可能会造成带宽的浪费和设备资源的损耗。

为优化MA网络中OSPF邻接关系,OSPF指定了三种OSPF路由器身份,DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备用指定路由器)和DRother路由器。
只允许DR、BDR与其他OSPF路由器建立邻接关系。DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2-way状态。
BDR会监控DR的状态,并在当前DR发生故障时接替其角色。

OSPF域与单区域
OSPF域(Domain):一系列使用相同策略的连续OSPF网络设备所构成的网络。
OSPF路由器在同一个区域(Area)内网络中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。
如果OSPF域仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸多问题:

OSPF多区域
OSPF引入区域(Area)的概念,将一个OSPF域划分成多个区域,可以使OSPF支撑更大规模组网。
OSPF多区域的设计减小了LSA泛洪的范围,有效的把拓扑变化的影响控制在区域内,达到网络优化的目的。
在区域边界可以做路由汇总,减小了路由表规模。
多区域提高了网络扩展性,有利于组建大规模的网络。

区域的分类:区域可以分为骨干区域与非骨干区域。骨干区域即Area0,除Area0以外其他区域都称为非骨干区域。
多区域互联原则:基于防止区域间环路的考虑,非骨干区域与非骨干区域不能直接相连,所有非骨干区域必须与骨干区域相连。OSPF路由器类型

区域内路由器(Internal Router):该类路由器的所有接口都属于同一个OSPF区域。
区域边界路由器ABR(Area Border Router):该类路由器的接口同时属于两个以上的区域,但至少有一个接口属于骨干区域。
骨干路由器(Backbone Router):该类路由器至少有一个接口属于骨干区域。
自治系统边界路由器ASBR(AS Boundary Router):该类路由器与其他AS交换路由信息。只要一台OSPF路由器引入了外部路由的信息,它就成为ASBR。OSPF单区域&多区域典型组网

中小型企业网络规模不大,路由设备数量有限,可以考虑将所有设备都放在同一个OSPF区域。
大型企业网络规模大,路由设备数量很多,网络层次分明,建议采用OSPF多区域的方式部署。1.(系统视图)创建并运行OSPF进程
[Huawei] ospf [ process-id | router-id router-id ]porcess*-id*用于标识OSPF进程,默认进程号为1。OSPF支持多进程,在同一台设备上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立。router-id用于手工指定设备的ID号。如果没有通过命令指定ID号,系统会从当前接口的IP地址中自动选取一个作为设备的ID号。
2.(OSPF视图)创建并进入OSPF区域
[Huawei-ospf-1] area area-idarea命令用来创建OSPF区域,并进入OSPF区域视图。
area-id可以是十进制整数或点分十进制格式。采取整数形式时,取值范围是0~4294967295。
3.(OSPF区域视图)指定运行OSPF的接口
[Huawei-ospf-1-area-0.0.0.0] network network-address wildcard-mask network命令用来指定运行OSPF协议的接口和接口所属的区域。network-address为接口所在的网段地址。wildcard-mask为IP地址的反码,相当于将IP地址的掩码反转(0变1,1变0),例如0.0.0.255表示掩码长度24 bit。
4.(接口视图)配置OSPF接口开销
[Huawei-GigabitEthernet0/0/0] ospf cost costospf cost命令用来配置接口上运行OSPF协议所需的开销。缺省情况下,OSPF会根据该接口的带宽自动计算其开销值cost取值范围是1~65535。
5.(OSPF视图)设置OSPF带宽参考值
[Huawei-ospf-1] bandwidth-reference valuebandwidth-reference命令用来设置通过公式计算接口开销所依据的带宽参考值。value取值范围是1~2147483648,单位是Mbit/s,缺省值是100Mbit/s。
6.(接口视图)设置接口在选举DR时的优先级
[Huawei-GigabitEthernet0/0/0] ospf dr-priority priorityospf dr-priority命令用来设置接口在选举DR时的优先级。priority值越大,优先级越高,取值范围是0~255。
案例描述
有三台路由器R1、R2和R3,其中R1和R3分别连接网络1.1.1.1/32和3.3.3.3/32(LoopBack0模拟),现需要使用OSPF实现这两个网络的互通。具体拓扑如下

配置过程分为三个步骤:配置设备接口、配置OSPF和验证结果。
结果验证
在建立OSPF邻居和邻接关系的过程中,稳定的状态是 Exchange Full
点到点链路上的两台路由器 广播型网络中的DR和BDR 广播型网络中的BDR和DRother 情况下路由器之间会建立邻接关系
以太网协议
以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号处理方法。
以太网是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络。

早期的以太网:
以太网是建立在CSMA/CD机制上的广播型网络。冲突的产生是限制以太网性能的重要因素,早期的以太网设备如集线器HUB是物理层设备,不能隔绝冲突扩散,限制了网络性能的提高。
交换机组网:
交换机做为一种能隔绝冲突的二层网络设备,极大的提高了以太网的性能,并替代HUB成为主流的以太网设备。但是交换机对网络中的广播数据流量不做任何限制,这也影响了网络的性能。冲突域

在共享网络,以太网络使用CSMA/CD技术,避免冲突问题。CSMA/CD的基本工作过程如下:
CSMA/CD的工作原理可简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。
广播域

全1MAC地址FF-FF-FF-FF-FF-FF为广播地址,所有节点都会处理目的地址为广播地址的数据帧,该数据帧所能到达的整个访问范围称为二层广播域,简称广播域。
注:MAC (Media Access Control)地址,在网络中唯一标识一个网卡,每个网卡都需要并会有唯一的一个MAC地址,后面课程内容会具体讲以太网帧格式
以太网技术所使用的帧称为以太网帧 (Ethernet Frame),或简称以太帧。
以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。

什么是MAC地址
MAC (Media Access Control)地址在网络中唯一标识一个网卡,每个网卡都需要并拥有唯一的一个MAC地址。
一块网卡的MAC地址是具有全球唯一性的。
MAC地址是在IEEE 802标准中定义并规范的,凡是符合IEEE 802标准的以太网卡,都必须拥有一个MAC地址,用MAC地址来定义网络设备的位置。不同的网卡,MAC地址也不同
IP地址vs MAC地址
每个以太网设备在出厂时都有一个唯一的MAC地址,但在设备接入网络时,会同时为每台主机再分配一个IP地址,这个原因是什么?

MAC地址表示
一个MAC地址有48 bit,6 Byte。
MAC地址通常采用“十六进制”+“-”表示。
MAC地址由48比特(6个字节)长,12位的16进制数字组成。

MAC地址构成及分类

一个制造商在生产制造网卡之前,必须先向IEEE注册,以获取一个长度为24bit (3字节)的厂商代码,也称为OUI。
后24bit由厂商自行分派,是各个厂商制造的所有网卡的唯一编号。
MAC地址可以分为3种类型
单播MAC地址:也称物理MAC地址,这种类型的MAC地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址
▪单播MAC地址用于标识链路上的一个单一节点。
▪目的MAC地址为单播MAC地址的帧发往一个单一的节点。
▪单播MAC地址可以作为源或目的地址。
▪注意:单播MAC地址具有全球唯一性,当一个二层网络中接入了两台具有相同MAC地址的终端时(例如误操作等),将会引发通信故障(例如这两台终端无法相互通信),且其他设备与它们之间的通信也会存在问题。
广播MAC地址:全1的MAC地址(FF-FF-FF-FF-FF-FF),用来表示局域网上的所有终端设备
▪广播MAC地址可以理解为一种特殊的组播MAC地址。
▪其具体格式为:FFFF-FFFF-FFFF。
▪目的MAC地址为广播MAC地址的帧发往链路上的所有节点。
组播MAC地址:除广播地址外,第8bit为1的MAC地址为组播MAC地址(例如01-00-00-00-00-00),用来代表局域网上的一组终端
▪组播MAC地址用于标识链路上的一组节点。
▪目的MAC地址为组播MAC地址的帧发往一组节点。
▪组播MAC地址不能作为源地址,只能作为目的地址
单播以太帧

局域网上的帧可以通过三种方式发送。
第一种是单播,指从单一的源端发送到单一的目的端。
每个主机接口由一个MAC地址唯一标识,MAC地址的OUI中,第一字节第8个比特表示地址类型。对于主机MAC地址,这个 比特固定为0,表示目的MAC地址为此MAC地址的帧都是发送到某个唯一的目的端。广播以太帧

第二种发送方式是广播,表示帧从单一的源发送到共享以太网上的所有主机。
广播帧的目的MAC地址为十六进制的FF-FF-FF-FF-FF-FF,所有收到该广播帧的主机都要接收并处理这个帧。
广播方式会产生大量流量,导致带宽利用率降低,进而影响整个网络的性能。
当需要网络中的所有主机都能接收到相同的信息并进行处理的情况下,通常会使用广播方式。组播以太帧

第三种发送方式为组播,组播比广播更加高效。
组播转发可以理解为选择性的广播,主机侦听特定组播地址,接收并处理目的MAC地址为该组播MAC地址的帧。
组播MAC地址和单播MAC地址是通过第一字节中的第8个比特区分的。组播MAC地址的第8个比特为1。
当需要网络上的一组主机(而不是全部主机)接收相同信息,并且其他主机不受影响的情况下通常会使用组播方式。以太网二层交换机

以太网二层交换机:
在园区网络中,交换机一般来说是距离终端用户最近的设备,用于终端接入园区网,接入层的交换机一般为二层交换机。
二层交换设备工作在TCP/IP对等模型的第二层,即数据链路层,它对数据包的转发是建立在MAC(Media Access Control )地址基础之上的。
以太网三层交换机:
不同局域网之间的网络互通需要由路由器来完成。随着数据通信网络范围的不断扩大,网络业务的不断丰富,网络间互访的需求越来越大,而路由器由于自身成本高、转发性能低、接口数量少等特点无法很好的满足网络发展的需求。因此出现了三层交换机这样一种能实现高速三层转发的设备。交换机的工作原理

二层交换机工作在数据链路层,它对数据帧的转发是建立在MAC地址基础之上的。交换机不同的接口发送和接收数据是独立的,各接口属于不同的冲突域,因此有效地隔离了网络中的冲突域。
二层交换设备通过学习以太网数据帧的源MAC地址来维护MAC地址与接口的对应关系(保存MAC与接口对应关系的表称为MAC地址表),通过其目的MAC地址来查找MAC地址表决定向哪个接口转发MAC地址表
每台交换机中都有一个MAC地址表,存放了MAC地址与交换机端口编号之间的映射关系。

MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系。交换机在转发数据帧时,根据数据帧的目的MAC地址查询MAC地址表。如果MAC地址表中包含与该帧目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含该帧目的MAC地址对应的表项时,交换机将采取泛洪方式在除接收接口外的所有接口发送该报文交换机的3种数据帧处理行为
交换机对于从传输介质进入某一端口的帧的处理行为一共有3种:

交换机会通过传输介质进入其端口的每一个帧都进行转发操作,交换机的基本作用就是用来转发数据帧。
交换机对帧的处理行为一共有三种:泛洪(Flooding),转发(Forwarding),丢弃(Discarding)。
泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它的端口”是指除了这个帧进入交换 机的那个端口以外的所有端口)。
转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口”不能是这个帧进入交换机的那个端 口)。
泛洪

如果从传输介质进入交换机的某个端口的帧是一个单播帧,交换机会去MAC表查这个帧的目的MAC地址。如果查不到这个MAC地址,则交换机将对该单播帧执行泛洪操作。
如果从传输介质进入交换机的某个端口的帧是一个广播帧,交换机不会去查MAC地址表,而是直接对该广播帧执行泛洪操作。
如图所示:
场景一:主机1想要访问主机2,发送单播数据帧,交换机收到后,若MAC地址表中查不到对应的表项,则会泛洪该数据帧。
场景二:主机1想要访问主机2,但不知道对应的MAC地址,则会发送ARP请求报文,该报文为广播数据帧,交换机收到后,则会泛洪该数据帧转发

如果从传输介质进入交换机的某个端口的帧是一个单播帧,则交换机会去MAC表查这个帧的目的MAC地址。如果查到了这个MAC地址表,则比较这个MAC地址在MAC地址表中对应的端口编号是不是这个帧从传输介质进入交换机的那个端口的端口编号。如果不是,则交换机执行转发操作(将该帧送至该帧目的MAC地址在MAC地址表中对应的那个端口,并从那个端口发送出去)。
如图所示:
主机1想要访问主机2,发送单播数据帧,交换机收到后,在MAC地址表中查到了对应的表项,则会点对点转发该数据帧。丢弃

交换机的MAC地址学习

初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表为空。交换机的MAC地址学习

主机1想要发送数据给主机2(假设已知对端的IP地址和MAC地址),会封装数据帧,包含自己的源IP地址和源MAC地址。
交换机收到后会查自己的MAC地址表,发现没有对应表项,则收到的数据帧是“未知单播帧” 。
由于收到的数据帧是“未知单播帧”,因此交换机会泛洪该数据帧。
同时,交换机将收到的数据帧的源MAC地址和对应端口编号记录到MAC地址表中。
注意:MAC地址表中动态学习的表项并非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到更新的表项将被删除,这个生存周期被称作老化时间。例如华为S系列交换机的老化时间缺省值是300秒。
广播网络中的所有主机均会收到该数据帧,但是只有主机2会处理(因为目的MAC地址是主机2)。
主机2会回复数据帧给主机1,也是单播数据帧。
交换机收到该单播数据帧后,会查看自己的MAC地址表,发现有对应的表项,则将数据从对应的端口转发出去。
同时,交换机将收到的数据帧的源MAC地址和对应端口编号记录到MAC地址表中。场景描述:

数据封装过程

主机1在发送数据报文前,需要先进行报文封装,包括源目IP地址、源目MAC地址等。初始状态

主机1为了进行报文封装,会查本地的ARP缓存表。初始状态下,主机1的ARP缓存是空的。
而刚上电的交换机,初始状态下,交换机的MAC地址表也是空的。泛洪数据帧

主机1发送ARP请求报文,请求目的MAC地址。
交换机收到的数据帧后查MAC地址表,发现没有对应表项,则向所有非接收端口,泛洪该数据帧。学习MAC地址

交换机将收到的数据帧的源MAC地址和对应端口记录到MAC地址表中。目标主机回复

主机2收到ARP请求报文后,会进行相应的处理,并发送ARP响应报文,回复主机1。
交换机收到的数据帧后查MAC地址表,发现有对应表项,则向对应端口转发该数据帧;并且交换机将收到的数据帧的源MAC地址和对应端口记录到MAC地址表中。
最终,主机1收到主机2的ARP响应报文后,就会将对应的IP地址和MAC地址记录到自己的ARP缓存中,并封装自己的报文,访问主机2。传统以太网的问题

广播域:
网络安全问题和垃圾流量问题:
显然,广播域越大,网络安全问题和垃圾流量问题就越严重。
虚拟局域网 (VLAN, Virtual LAN)

为了解决广播域带来的问题,人们引入了VLAN (Virtual Local Area Network),即虚拟局域网技术:
通过在交换机上部署VLAN,可以将一个规模较大的广播域在逻辑上划分成若干个不同的、规模较小的广播域,由此可以有效地提升网络的安全性,同时减少垃圾流量,节约网络资源。
VLAN的特点:
VLAN的好处:
注:二层,即数据链路层。
如何实现VLAN

Switch1与Switch2同属一个企业,该企业统一规划了网络中的VLAN。其中VLAN10用于A部门,VLAN20用于B部门。A、B部门的员工在Switch1和Switch2上都有接入。
PC1发出的数据经过Switch1和Switch2之间的链路到达了Switch2。如果不加处理,后者无法判断该数据所属的VLAN,也不知道应该将这个数据输出到本地哪个VLAN中。
VLAN标签 (VLAN Tag)
交换机如何识别接收到的数据帧属于哪个VLAN?

如图所示,SW1识别出某个帧是属于哪个VLAN后,会在这个帧的特定位置上添加一个标签。这个标签明确地标明了这个帧是属于哪个VLAN的。其他交换机(如SW2)收到这个带标签的数据帧后,就能轻而易举地直接根据标签信息识别出这个帧属于哪个VLAN。
IEEE 802.1Q定义了这种带标签的数据帧的格式。满足这种格式的数据帧称为IEEE 802.1Q数据帧,也称VLAN数据帧VLAN数据帧

在一个VLAN交换网络中,以太网帧主要有以下两种形式:
VLAN数据帧中的主要字段:
TPID:2字节,Tag Protocol Identifier(标签协议标识符),表示数据帧类型。
PRI:3 bit,Priority,表示数据帧的优先级,用于QoS。
VLAN的实现

Switch1和Switch2之间的链路要承载多个VLAN的数据,需要一种基于VLAN的数据“标记”手段,以便对不同VLAN的数据帧进行区分。
IEEE 802.1Q标准(也被称为Dot1Q)定义了该“标记”方法。该标准对传统的以太网数据帧进行修改,在帧头中插入802.1Q Tag,而在该Tag中,便可以写入VLAN信息。
VLAN的划分方式

计算机发出的数据帧不带任何标签。对已支持VLAN特性的交换机来说,当计算机发出的Untagged帧一旦进入交换机后,交换机必须通过某种划分原则把这个帧划分到某个特定的VLAN中去。
VLAN的划分包括如下5种方法
1.基于接口划分:根据交换机的接口来划分VLAN。
网络管理员预先给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的标签,然后数据帧将在指定VLAN中传输。
2.基于MAC地址划分:根据数据帧的源MAC地址来划分VLAN。
网络管理员预先配置MAC地址和VLAN ID映射关系表,当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
3.基于IP子网划分:根据数据帧中的源IP地址和子网掩码来划分VLAN。
网络管理员预先配置IP地址和VLAN ID映射关系表,当交换机收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
4.基于协议划分:根据数据帧所属的协议(族)类型及封装格式来划分VLAN。
网络管理员预先配置以太网帧中的协议域和VLAN ID的映射关系表,如果收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
5.基于策略划分:根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等。
网络管理员预先配置策略,如果收到的是Untagged帧,且匹配配置的策略时,给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
基于接口的VLAN划分

划分原则:
特点:
缺省VLAN,PVID (Port VLAN ID)
基于MAC地址的VLAN划分
划分原则:
特点:
以太网二层接口类型

基于接口的VLAN划分依赖于交换机的接口类型。
Access接口
Trunk接口
Hybrid接口
Access接口

上文已经介绍了交换机如何识别数据帧属于哪个VLAN以及VLAN的划分方式,那交换机对于Untagged帧和Tagged帧又是如何处理的呢?
Access接口特点:
Access接口接收数据帧:
Access接口发送数据帧:
Trunk接口

对于Trunk接口,除了要配置PVID外,还必须配置允许通过的VLAN ID列表,其中VLAN 1是默认存在的。
Trunk接口特点:
Trunk接口接收数据帧:
Trunk接口发送数据帧:
Access接口与Trunk接口举例

在本例中,SW1和SW2连接主机的接口为Access接口,PVID如图所示。SW1和SW2互连的接口为Trunk接口,PVID都为1,此Trunk接口的允许通过的VLAN ID列表也如图所示
Hybrid接口

对于Hybrid接口,除了要配置PVID外,还存在两个允许通过的VLAN ID列表,一个是Untagged VLAN ID列表,另一个是Tagged VLAN ID列表,其中VLAN 1默认在Untagged VLAN列表中。这两个允许通过列表中的所有VLAN的帧都是允许通过这个Hybrid接口的。
Hybrid接口特点:
Hybrid接口接收数据帧:
Hybrid接口发送数据帧:
Hybrid接口举例

小结

各类接口添加或剥除VLAN标签的处理过程总结如下:
当接收数据帧时:
当发送数据帧时:
因此,Access接口发出的数据帧肯定不带Tag;Trunk接口发出的数据帧只有一个VLAN的数据帧不带Tag,其他都带VLAN标签;Hybrid接口发出的数据帧可根据需要设置某些VLAN的数据帧带Tag,某些VLAN的数据帧不带Tag。
VLAN的规划

VLAN编号建议连续分配,以保证VLAN资源合理利用。最常用的划分方式是基于接口的方式。
应用场景 - 基于接口的VLAN划分

应用场景 - 基于MAC的VLAN划分

VLAN的基础配置命令
1.创建VLAN
[Huawei] vlan vlan-id通过此命令创建VLAN并进入VLAN视图,如果VLAN已存在,直接进入该VLAN的视图。
vlan-id是整数形式,取值范围是1~4094
[Huawei] vlan batch { vlan-id1 [ to vlan-id2 ] }通过此命令批量创建VLAN。其中:
Access接口的基础配置命令
1.配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type access在接口视图下,配置接口的链路类型为Access
2.配置Access接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port default vlan vlan-id 在接口视图下,配置接口的缺省VLAN并同时加入这个VLAN。
•vlan-id:配置缺省VLAN的编号。整数形式,取值范围是1~4094。
Trunk接口的基础配置命令
1.配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type trunk在接口视图下,配置接口的链路类型为Trunk
2.配置Trunk接口加入指定VLAN
[Huawei-GigabitEthernet0/0/1] port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }在接口视图下,配置Trunk类型接口加入的VLAN。
3.(可选) 配置Trunk接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port trunk pvid vlan vlan-id在接口视图下,配置Trunk类型接口的缺省VLAN。
Hybrid接口的基础配置命令
1.配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type hybrid在接口视图下,配置接口的链路类型为Hybrid
2.配置Hybrid接口加入指定VLAN
[Huawei-GigabitEthernet0/0/1] port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }在接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的帧以Untagged方式通过接口
[Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }在接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的帧以Tagged方式通过接口
3.(可选) 配置Hybrid接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan vlan-id在接口视图下,配置Hybrid类型接口的缺省VLAN

配置思路:
创建VLAN并将连接用户的接口加入VLAN,实现不同业务用户之间的二层流量隔离。
配置SW1和SW2的各接口类型以及通过的VLAN,实现相同业务用户通过SW1和SW2通信。

配置思路:
创建VLAN并将连接用户的接口加入VLAN,实现不同业务用户之间的二层流量隔离。
配置SW1和SW2的各接口类型以及通过的VLAN,实现主机和服务器之间通过SW1和SW2通信。
Hybrid****接口的基础配置
1.关联MAC地址与VLAN
[Huawei-vlan10] mac-vlan mac-address mac-address [ mac-address-mask | mac-address-mask-length ]通过此命令配置MAC地址与VLAN关联。
mac-address:指定与VLAN关联的MAC地址。格式为H-H-H。其中H为4位的十六进制数,可以输入1~4位,如00e0、fc01。当输入不足4位时,表示前面的几位为0,如:输入e0,等同于00e0。MAC地址不可设置为0000-0000-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/1] mac-vlan enable通过此命令使能接口的MAC VLAN功能。
命令:mac-vlan mac-address mac-address [ mac-address-mask | mac-address-mask-length ]
mac-address:指定与VLAN关联的MAC地址。
mac-address-mask:指定MAC地址掩码。
mac-address-mask-length:指定MAC地址掩码长度。
命令:mac-vlan enable,用来使能接口的MAC VLAN功能。

配置思路:
创建VLAN。
配置各以太网接口以正确的方式加入VLAN。
配置主机1、主机2、主机3的MAC地址与VLAN关联,实现根据报文中的源MAC地址确定VLAN。
命令:display mac-vlan { mac-address { all | mac-address [ mac-address-mask | mac-address-mask-length ] } | vlan vlan-id },用来查看基于MAC地址划分VLAN的配置信息。
all:显示所有MAC地址VLAN划分信息。
mac-address mac-address:显示指定MAC地址的VLAN划分信息。
mac-address-mask:MAC地址掩码。
mac-address-mask-length:MAC地址掩码长度。
vlan vlan-id:显示指定MAC-VLAN的配置信息。
输出信息:
以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议STP(Spanning Tree Protocol)。
运行STP协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某个接口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形网络中不断循环,避免设备由于重复接收相同的报文造成处理能力下降。
RSTP(Rapid Spanning Tree Protocol)协议基于STP协议,对原有的STP协议进行了更加细致的修改和补充,实现了网络拓扑快速收敛
技术背景:二层交换机网络的冗余性与环路

技术背景:人为错误导致的二层环路

二层环路带来的问题

初识生成树协议

生成树能够动态响应网络拓扑变化调整阻塞接口

交换机上运行的生成树协议会持续监控网络的拓扑结构,当网络拓扑结构发生变化时,生成树能感知到这些变化,并且自动做出调整。
因此,生成树既能解决二层环路问题,也能为网络的冗余性提供一种方案。
问答:二层及三层环路

生成树协议在园区网络中的应用位置

STP概述
STP是一个用于局域网中消除环路的协议。
运行该协议的设备通过彼此交互信息而发现网络中的环路,并对某些接口进行阻塞以消除环路。
STP在网络中运行后会持续监控网络的状态,当网络出现拓扑变更时,STP能够感知并且进行自动响应,从而使得网络状态适应新的拓扑结构,保证网络可靠性。
由于局域网规模的不断增长,生成树协议已经成为了当前最重要的局域网协议之一。
STP的基本概念:桥ID

STP的基本概念:根桥

STP的基本概念:Cost

STP的基本概念:Cost计算方法

STP的基本概念:RPC

STP的基本概念:Port ID

STP的基本概念:BPDU

配置BPDU的报文格式

配置BPDU的比较原则

配置BPDU的转发过程

STP的计算过程




STP的接口状态

STP的接口状态迁移

拓扑变化 - 根桥故障

拓扑变化 - 直连链路故障

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

拓扑改变导致MAC地址表错误






在上述三台交换机上部署STP,以便消除网络中的二层环路。
通过配置,将SW1指定为根桥,并使SW3的GE0/0/22接口被STP阻塞。
STP的不足之处
从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。
从使用和配置角度来讲,接口之间最本质的区别并不在于接口状态,而是在于接口扮演的角色。
根接口和指定接口可以都处于Listening状态,也可能都处于Forwarding状态。
RSTP概述
IEEE 802.1w中定义的RSTP可以视为STP的改进版本,RSTP在许多方面对STP进行了优化,它的收敛速度更快,而且能够兼容STP。
RSTP引入了新的接口角色,其中替代接口的引入使得交换机在根接口失效时,能够立即获得新的路径到达根桥。备份端口作为指定端口的备份,帮助链路上的网桥快速获得到根桥的备份路径。RSTP的状态规范根据端口是否转发用户流量和学习MAC地址把原来的5种状态缩减为3种。 另外,RSTP还引入了边缘接口的概念,这使得交换机连接终端设备的接口在初始化之后能够立即进入转发状态,提高了工作效率
RSTP对STP的其他改进
拓扑稳定后,配置BPDU报文的发送方式进行了优化
使用更短的BPDU超时计时
对处理次等BPDU的方式进行了优化
端口角色不同

边缘端口

端口状态不同
RSTP的状态规范把原来的5种状态缩减为3种。

STP/RSTP的缺陷:所有的VLAN共享一棵生成树

VBST:基于VLAN的生成树

MSTP:多生成树

MSTP概述
•MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。
•每棵生成树叫做一个多生成树实例MSTI(Multiple Spanning Tree Instance)。
•所谓生成树实例就是多个VLAN的集合所对应的生成树。
•通过将多个VLAN捆绑到一个实例,可以节省通信开销和资源占用率。
•MSTP各个实例拓扑的计算相互独立,在这些实例上可以实现负载均衡。
•可以把多个相同拓扑结构的VLAN映射到一个实例里,这些VLAN在接口上的转发状态取决于接口在对应实例的状态。
堆叠与园区网络树形结构组网形态

Smart Link

传统交换二层组网中,默认所有网络都处于同一个广播域,这带了诸多问题。VLAN(Virtual Local Area Network,虚拟局域网)技术的提出,满足了二层组网隔离广播域需求,使得属于不同VLAN的网络无法互访,但不同VLAN之间又存在着相互访问的需求。
VLAN间通信
实际网络部署中一般会将不同IP地址段划分到不同的VLAN。
同VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信。
VLAN之间需要通过三层通信实现互访,三层通信需借助三层设备。

常见的三层设备:路由器、三层交换机、防火墙等。
将二层交换机与路由器的三层接口互联,由三层设备进行路由转发来实现通信。

使用路由器物理接口

在二层交换机上配置VLAN,每个VLAN单独使用一个交换机接口与路由器互联。
路由器使用两个物理接口,分别作为VLAN 10及VLAN 20内PC的默认网关,使用路由器的物理接口实现VLAN之间的通信。使用路由器子接口

R1使用一个物理接口(GE0/0/1)与交换机SW1对接,并基于该物理接口创建两个子接口:GE0/0/1.10及GE0/0/1.20,分别使用这两个子接口作为VLAN 10及VLAN 20的默认网关。
由于三层子接口不支持VLAN报文,当它收到VLAN报文时,会将VLAN报文当成是非法报文而丢弃。因此,需要在子接口上将VLAN Tag剥掉,也就是需要VLAN终结(VLAN Termination)。子接口处理流程

子接口终结VLAN的实质包含两个方面:
对接口接收到报文,剥除VLAN标签后进行三层转发或其他处理。
对接口发出的报文,又将相应的VLAN标签添加到报文中后再发送。子接口配置示例

interface interface-type interface-number.sub-interface number命令用来创建子接口。sub-interface number代表物理接口内的逻辑接口通道。一般情况下,为了方便记忆,子接口ID与所要终结的VLAN ID相同。
dot1q termination vid命令用来配置子接口Dot1q终结的单层VLAN ID。缺省情况,子接口没有配置dot1q终结的单层VLAN ID。arp broadcast enable命令用来使能终结子接口的ARP广播功能。缺省情况下,终结子接口没有使能ARP广播功能。终结子接口不能转发广播报文,在收到广播报文后它们直接把该报文丢弃。为了允许终结子接口能转发广播报文,可以通过在子接口上执行此命令。三层交换机和VLANIF接口

VLANIF配置示例

interface vlanif vlan-id命令用来创建VLANIF接口并进入到VLANIF接口视图。vlan-id表示与VLANIF接口相关联的VLAN编号。VLANIF接口的IP地址作为主机的网关IP地址,和主机的IP地址必须位于同一网段。VLANIF转发流程



网络拓扑

连接逻辑图

NAPT(Network Address Port Translation,网络地址端口转换):将IP数据报文头中的IP地址、端口号转换为另一个IP地址、端口号的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能,NAPT支持多个内部地址映射到同一个公有地址上,可以实现使用一个公有地址支持内网多个内部地址同时访问外部网络。
通信过程

假设所有设备上都已存在相应的ARP或MAC表项




NAT(Network Address Translation,网络地址转换):将IP数据报文头中的IP地址转换为另一个IP地址。
二、三层接口对比

网络的可靠性指当设备或者链路出现单点或者多点故障时保证网络服务不间断的能力。
网络的可靠性可以从单板、设备、链路多个层面实现。

设备可靠性

链路可靠性

为保证设备间链路可靠性,在设备间部署多条物理线路,为防止环路STP只保留一条链路转发流量,其余链路成为备份链路
提升链路带宽
设备之间存在多条链路时,由于STP的存在,实际只会有一条链路转发流量,设备间链路带宽无法得到提升

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

链路聚合基本术语概念

链路聚合接口可以作为普通的以太网接口来使用,与普通以太网接口的差别在于:转发的时候链路聚合组需要从成员接口中选择一个或多个接口来进行数据转发。
一个聚合组内要求成员接口以下参数相同:

手工模式缺陷
(1)

为了使链路聚合接口正常工作,必须保证本端链路聚合接口中所有成员接口的对端接口:
手工模式下,设备间没有报文交互,因此只能通过管理员人工确认。
在上图示例中SW1将四个接口加入到同一个聚合接口,但是其中一个接口的对端为SW3,而不是SW2,导致部分流量被负载分担到SW3,从而导致通信异常。
(2)

手动模式下,设备只能通过物理层状态判断对端接口是否正常工作。
系统优先级
LACP模式下,两端设备所选择的活动接口数目必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端成为主动端,另一端(被动端)根据主动端选择活动接口。
通过系统LACP优先级确定主动端,值越小优先级越高。

接口优先级
选出主动端后,两端都会以主动端的接口优先级来选择活动接口,优先级高的接口将优先被选为活动接口。接口LACP优先级值越小,优先级越高。

最大活动接口数
LACP模式支持配置最大活动接口数目,当成员接口数目超过最大活动接口数目时会通过比较接口优先级、接口号选举出较优的接口成为活动接口,其余的则成为备份端口(非活动接口),同时对应的链路分别成为活动链路、非活动链路。交换机只会从活动接口中发送、接收报文。

当活动链路中出现链路故障时,可以从非活动链路中找出一条优先级最高(接口优先级、接口编号比较)的链路替换故障链路,实现总体带宽不发生变化、业务的不间断转发。

活动链路选举



LACP通过LACPDU中的三个flags来标识该端口的状态,如果是活跃端口如下三个flags的值将会是1:
如果是非活跃端口,该三个flags字段的值将为0。

负载分担

负载分担模式
Eth-trunk支持基于报文的IP地址或MAC地址来进行负载分担,可以配置不同的模式(本地有效,对出方向报文生效)将数据流分担到不同的成员接口上。
常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源目MAC。
实际业务中用户需要根据业务流量特征选择配置合适的负载分担方式。业务流量中某种参数变化越频繁,选择与此参数相关的负载分担方式就越容易实现负载均衡。

如果报文的IP地址变化较频繁,那么选择基于源IP、目的IP或者源目IP的负载分担模式更有利于流量在各物理链路间合理的负载分担;
如果报文的MAC地址变化较频繁,IP地址比较固定,那么选择基于源MAC、目的MAC或源目MAC的负载分担模式更有利于流量在各物理链路间合理的负载分担。
如果负载分担模式选择的和实际业务特征不相符,可能会导致流量分担不均,部分成员链路负载很高,其余的成员链路却很空闲,如在报文源目IP变化频繁但是源目MAC固定的场景下选择源目MAC模式,那将会导致所有流量都分担在一条成员链路上。




不同型号交换机的可设置的最大活动接口数并不一致,如S6720HI、S6730H、S6730S和S6730S-S链路聚合组活动接口数的上限阈值是32,而S6720LI、S6720S-LI、S6720SI和S6720S-SI链路聚合组活动接口数的上限阈值是16。具体数值查阅产品手册确定。
设置最小活动接口数目是为了保证最小带宽,当带宽过小时一些对链路带宽有要求的业务将会出现异常,此时切断Eth-Trunk通过网络自身的高可靠性将业务切换到其他路径,从而保证业务的正常运行。手工模式链路聚合配置举例

LACP模式链路聚合配置举例


什么是堆叠、集群

堆叠、集群的优势

实际应用


推荐架构

为提高链路可靠性、链路利用率、链路带宽可以使用链路聚合技术,按照聚合方式不同可以分为静态聚合和LACP模式聚合。
LACP模式采用报文协商,可以实现活动链路的备份,在链路出现故障时将备份链路选举为活动链路继续参与转发。
为保证报文到达的顺序,链路聚合的负载分担采用基于流的形式。
使用iStack、CSS技术可以简化网络管理、简化网络结构、提高网络可靠性。
技术背景:需要一个工具,实现流量过滤

随着网络的飞速发展,网络安全和网络服务质量QoS(Quality of Service)问题日益突出。
园区重要服务器资源被随意访问,园区机密信息容易泄露,造成安全隐患。
Internet病毒肆意侵略园区内网,内网环境的安全性堪忧。
网络带宽被各类业务随意挤占,服务质量要求最高的语音、视频业务的带宽得不到保障,造成用户体验差。
以上种种问题,都对正常的网络通信造成了很大的影响。因此,提高网络安全性和服务质量迫在眉睫,我们需要对网络进行控制。比如,需要借助一个工具帮助实现一些流量的过滤。ACL概述

通过ACL可以实现对网络中报文流的精确识别和控制,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。
ACL是由permit或deny语句组成的一系列有顺序的规则的集合;它通过匹配报文的相关字段实现对报文的分类。
ACL是能够匹配一个IP数据包中的源IP地址、目的IP地址、协议类型、源目的端口等元素的基础性工具;ACL还能够用于匹配路由条目。ACL的组成

规则编号

规则编号和步长的概念:
如果手工指定了一条规则,但未指定规则编号,系统就会使用大于当前ACL内最大规则编号且是步长整数倍的最小整数作为规则编号。
步长可以调整,如果将步长改为2,系统则会自动从当前步长值开始重新排列规则编号,规则编号就变成2、4、6…。
那步长的作用是什么?直接rule 1/2/3/4…为什么不可以?
通配符


如果想匹配192.168.1.0/24网段中的奇数IP地址,通配符该怎么写呢?
这就得出了通配符的一个特点:通配符中的1或者0是可以不连续的。
还有两个特殊的通配符:
ACL的分类与标识

基于ACL规则定义方式的划分,可分为:
基于ACL标识方法的划分,则可分为:
注意:用户在创建ACL时可以为其指定编号,不同的编号对应不同类型的ACL。同时,为了便于记忆和识别,用户还可以创建命名型ACL,即在创建ACL时为其设置名称。命名型ACL,也可以是“名称 数字”的形式,即在定义命名型ACL时,同时指定ACL编号。如果不指定编号,系统则会自动为其分配一个数字型ACL的编号。
基本ACL与高级ACL

基本ACL:
高级ACL:
ACL的匹配机制


ACL的匹配顺序及匹配结果

1.一条ACL可以由多条“deny或permit”语句组成,每一条语句描述一条规则,这些规则可能存在包含关系,也可能有重复或矛盾的地方,因此ACL的匹配顺序是十分重要的。
2.华为设备支持两种匹配顺序:自动排序(auto模式)和配置顺序(config模式)。缺省的ACL匹配顺序是config模式。
自动排序,是指系统使用“深度优先”的原则,将规则按照精确度从高到低进行排序,并按照精确度从高到低的顺序进行报文匹配。——这个比较复杂,这里就不具体展开了,感兴趣的同学可以课后查看资料。
配置顺序,系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。——这个就是我们前面提到的匹配顺序。
如果后面又添加了一条规则,则这条规则会被加入到相应的位置,报文仍然会按照从小到大的顺序进行匹配
3.匹配结果:(如图所示,以192.168.1.3/24为例)
首先理解ACL 2000的含义:
ACL的匹配位置


基本ACL的基础配置命令




高级ACL的基础配置命令
1.创建高级ACL
[Huawei] acl [ number ] acl-number [ match-order config ]使用编号(3000~3999)创建一个数字型的高级ACL,并进入高级ACL视图
[Huawei] acl name acl-name { advance | acl-number } [ match-order config ]使用名称创建一个命名型的高级ACL,进入高级ACL视图。
创建高级ACL
[Huawei] acl [ number ] acl*-number* [ match-order config ]
[Huawei] acl name acl*-name* { advance | acl*-number* } [ match-order config ]
2.配置基本ACL的规则
根据IP承载的协议类型不同,在设备上配置不同的高级ACL规则。对于不同的协议类型,有不同的参数组合。
当参数protocol为IP时,高级ACL的命令格式为
rule [ rule-id ] { deny | permit } ip [ destination { destination-address destination-wildcard | any } | source { source-address source-wildcard | any } | time-range time-name | [ dscp dscp | [ tos tos | precedence precedence ] ] ] 在高级ACL视图下,通过此命令来配置高级ACL的规则。
当参数protocol为TCP时,高级ACL的命令格式为
rule [ rule-id ] { deny | permit } { protocol-number | tcp } [ destination { destination-address destination-wildcard | any } | destination-port { eq port | gt port | lt port | range port-start port-end } | source { source-address source-wildcard | any } | source-port { eq port | gt port | lt port | range port-start port-end } | tcp-flag { ack | fin | syn } * | time-range time-name ] *在高级ACL视图下,通过此命令来配置高级ACL的规则
配置高级ACL的规则
当参数protocol为IP时:
rule [ rule-id ] { deny | permit } ip [ destination { destination-address destination-wildcard | any } | source { source-address source-wildcard | any } | time-range time-name | [ dscp dscp | [ tos tos | precedence precedence ] ] ]
配置思路:
配置步骤:
对于任何网络,用户管理都是最基本的安全管理要求之一。
AAA(Authentication, Authorization, and Accounting)是一种管理框架,它提供了授权部分用户访问指定资源和记录这些用户操作行为的安全机制。因其具有良好的可扩展性,并且容易实现用户信息的集中管理而被广泛使用。AAA可以通过多种协议来实现,在实际应用中,最常使用RADIUS (Remote Authentication Dial-In User Service)协议。

认证(Authentication):验证用户是否可以获得访问权,确定哪些用户可以访问网络。
授权(Authorization):授权用户可以使用哪些服务。
计费(Accounting):记录用户使用网络资源的情况。
网络运营商(ISP)需要验证家庭宽带用户的账号密码之后才允许其上网,并记录用户的上网时长或上网流量等内容,这就是AAA技术最常见的应用场景。=AAA常见架构
AAA常见网络架构中包括用户、NAS(Network Access Server)、AAA服务器(AAA Server)

NAS基于域来对用户进行管理,每个域都可以配置不同的认证、授权和计费方案,用于对该域下的用户进行认证、授权和计费。
每个用户都属于某一个域。用户属于哪个域是由用户名中的域名分隔符@后的字符串决定。例如,如果用户名是user1@domain1,则用户属于domain1域。如果用户名后不带有@,则用户属于系统缺省域。认证(Authentication)
AAA支持的认证方式有:不认证,本地认证,远端认证。

AAA支持三种认证方式:
不认证:完全信任用户,不对用户身份进行合法性检查。鉴于安全考虑,这种认证方式很少被采用。
本地认证:将本地用户信息(包括用户名、密码和各种属性)配置在NAS上,此时NAS就是AAA Server。本地认证的优点是处理速度快、运营成本低;缺点是存储信息量受设备硬件条件限制。这种认证方式常用于对用户登录设备进行管理,如Telnet,FTP用户等。
远端认证:将用户信息(包括用户名、密码和各种属性)配置在认证服务器上。支持通过RADIUS协议或HWTACACS协议进行远端认证。NAS作为客户端,与RADIUS服务器或HWTACACS服务器进行通信。授权(Authorization)
AAA支持的授权方式有:不授权,本地授权,远端授权。
授权信息包括:所属用户组、所属VLAN、ACL编号等。

AAA授权功能赋予用户访问的特定网络或设备的权限。AAA支持以下授权方式:
HWTACACS授权,使用HWTACACS服务器对所有用户授权。
RADIUS授权,只支持对通过RADIUS服务器认证的用户授权。RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。
计费(Accouting)
计费功能用于监控授权用户的网络行为和网络资源的使用情况。
AAA支持的计费方式有:不计费,远端计费。

AAA支持以下两种计费方式:
不计费:为用户提供免费上网服务,不产生相关活动日志。
远端计费:支持通过RADIUS服务器或HWTACACS服务器进行远端计费。AAA实现协议- RADIUS
AAA可以用多种协议来实现,最常用的是RADIUS协议。

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

AAA配置
1.进入AAA视图
[Huawei] aaa从系统视图进入AAA视图进行配置
2.创建认证方案
[Huawei-aaa] authentication-scheme authentication-scheme-name 创建认证方案并进入相应的认证方案视图
[Huawei-aaa-authentication-scheme-name] authentication-mode { hwtacacs | local | radius }配置认证方式,local指定认证方式为本地认证。缺省情况下,认证方式为本地认证
•authorization-scheme authorization-scheme-name命令用来配置域的授权方案。缺省情况下,域下没有绑定授权方案。
authentication-mode { hwtacacs | local | radius }命令用来配置当前认证方案使用的认证方式。缺省情况下,认证模式为本地认证方式。
3.创建domain并绑定认证方案
[Huawei-aaa] domain domain-name创建domain并进入相应的domain视图
[Huawei-aaa-domain-name] authentication-scheme authentication-scheme-name 在相应的domain视图下绑定认证方案
4.创建用户
[Huawei-aaa] local-user user-name password cipher password创建本地用户,并配置本地用户的密码:
5.配置用户接入类型
[Huawei-aaa] local-user user-name service-type { { terminal | telnet | ftp | ssh | snmp | http } | ppp | none }设置本地用户的接入类型。缺省情况下,本地用户关闭所有的接入类型。
6.配置用户级别
[Huawei-aaa] local-user user-name privilege level level指定本地用户的权限级别
在设备R1上配置用户密码和级别,使主机A可以通过配置的用户名和密码远程登录到设备

AAA技术为了提高企业网络的安全性,防止非法用户登录,需要对企业内部员工,外部客户等进行身份的认证,可访问资源的授权和上网为行为的监控。
AAA技术可以本地实现,也可以通过远端服务器实现。
AAA可以用多种协议来实现,最常用的是RADIUS协议。
随着Internet的发展和网络应用的增多,有限的IPv4公有地址已经成为制约网络发展的瓶颈。为解决这个问题,NAT(Network Address Translation,网络地址转换)技术应需而生。
NAT技术主要用于实现内部网络的主机访问外部网络。一方面NAT缓解了IPv4地址短缺的问题,另一方面NAT技术让外网无法直接与使用私有地址的内网进行通信,提升了内网的安全性。
NAT产生背景
随着互联网用户的增多,IPv4的公有地址资源显得越发短缺。
同时IPv4公有地址资源存在地址分配不均的问题,这导致部分地区的IPv4可用公有地址严重不足。
为解决该问题,使用过渡技术解决IPv4公有地址短缺就显得尤为必要。
私网IP地址
公有地址:由专门的机构管理、分配,可以在Internet上直接通信的IP地址。
私有地址:组织和个人可以任意使用,无法在Internet上直接通信,只能在内网使用的IP地址。
A、B、C类地址中各预留了一些地址专门作为私有IP地址:
NAT技术原理
NAT:对IP数据报文中的IP地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备,例如路由器或防火墙上。
NAT的典型应用场景:在私有网络内部(园区、家庭)使用私有地址,出口设备部署NAT,对于“从内到外”的流量,网络设备通过NAT将数据包的源地址进行转换(转换成特定的公有地址),而对于“从外到内的”流量,则对数据包的目的地址进行转换。
通过私有地址的使用结合NAT技术,可以有效节约公网IPv4地址。

静态NAT原理
静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射。
支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址。

静态NAT转换示例

静态NAT配置介绍
1.方式一:接口视图下配置静态NAT
[Huawei-GigabitEthernet0/0/0] nat static global { global-address} inside {host-address } global参数用于配置外部公有地址,inside参数用于配置内部私有地址。
2.方式二:系统视图下配置静态NAT
[Huawei] nat static global { global-address} inside {host-address } 配置命令相同,视图为系统视图,之后在具体的接口下开启静态NAT。
[Huawei-GigabitEthernet0/0/0] nat static enable在接口下使能nat static功能。
静NAT配置示例

在R1上配置静态NAT将内网主机的私有地址一对一映射到公有地址。
[R1]interface GigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1]ip address 122.1.2.1 24
[R1-GigabitEthernet0/0/1]nat static global 122.1.2.1 inside 192.168.1.1
[R1-GigabitEthernet0/0/1]nat static global 122.1.2.2 inside 192.168.1.2
动态NAT:静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或者不发送数据时,与之对应的公有地址也处于使用状态。为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。 当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”

动态NAT转换示例


动态NAT配置介绍
1.创建地址池
[Huawei] nat address-group group-index start-address end-address配置公有地址范围,其中group-index为地址池编号,start-address、end-address分别为地址池起始地址、结束地址
2.配置地址转换的ACL规则
[Huawei] acl number
[Huawei-acl-basic-number ] rule permit source source-address source-wildcard 配置基础ACL,匹配需要进行动态转换的源地址范围。
3.接口视图下配置带地址池的NAT Outbound
[Huawei-GigabitEthernet0/0/0] nat outbound acl-number address-group group-index [ no-pat ]接口下关联ACL与地址池进行动态地址转换,no-pat参数指定不进行端口转换。
动态NAT配置示例

在R1上配置动态NAT将内网主机的私有地址动态映射到公有地址
[R1]nat address-group 1 122.1.2.1 122.1.2.3
[R1]acl 2000
[R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255
NAPT原理
动态NAT选择地址池中的地址进行地址转换时不会转换端口号,即No-PAT(No-Port Address Translation,非端口地址转换),公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。
NAPT(Network Address and Port Translation,网络地址端口转换):从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。

NAPT借助端口可以实现一个公有地址同时对应多个私有地址。该模式同时对IP地址和传输层端口进行转换,实现不同私有地址(不同的私有地址,不同的源端口)映射到同一个公有地址(相同的公有地址,不同的源端口)。
NAPT转换示例


NAPT配置示例

在R1上配置NAPT让内网所有私有地址通过122.1.2.1访问公网。
[R1]nat address-group 1 122.1.2.1 122.1.2.1
[R1]acl 2000
[R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255
Easy IP
Easy IP:实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的公有地址。
Easy IP适用于不具备固定公网IP地址的场景:如通过DHCP、PPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。

DHCP:Dynamic Host Configuration Protocol ,动态主机配置协议
PPPoE:Point-to-Point Protocol over Ethernet ,以太网承载PPP协议Easy IP配置示例

在R1上配置Easy-IP让内网所有私有地址通过122.1.2.1访问公网
[R1]acl 2000
[R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255
[R1-acl-basic-2000]quit
[R1]interface GigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 2000NAT Server使用场景
NAT Server:指定[公有地址:端口]与[私有地址:端口]的一对一映射关系,将内网服务器映射到公网,当私有网络中的服务器需要对公网提供服务时使用。
外网主机主动访问[公有地址:端口]实现对内网服务器的访问。

NAT Server转换示例

NAT Server配置示例

在R1上配置NAT Server将内网服务器192.168.1.10的8080端口映射到公有地址122.1.2.1的80端口。
[R1]interface GigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1]ip address 122.1.2.1 24
[R1-GigabitEthernet0/0/1]nat server protocol tcp global 122.1.2.1 www inside 192.168.1.10 8080在私有网络内使用私有地址,并在网络出口使用NAT技术,可以有效减少网络所需的IPv4公有地址数目,NAT技术有效地缓解了IPv4公有地址短缺的问题。
动态NAT、NAPT、Easy IP为私网主机访问公网提供源地址转换。
NAT Server实现了内网主机对公网提供服务。
静态NAT提供了一对一映射,支持双向互访。
何种NAT转换可以让外部网络主动访问内网服务器?
NAPT相比较于No-PAT有哪些优点?
1.静态NAT、NAT server都可以。静态NAT实现了双向互访,所以自然容许外部网络对内网服务器的访问。NAT Server的场景本身就是让外部网络主动访问内部服务器。
2.NAPT支持多个私有地址转换为一个共同的公有地址,公有地址利用率更高。FTP基本概念

FTP传输过程 -主动模式

FTP传输过程-被动模式

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

配置命令介绍 - 设备作为客户端
1.VRP作为FTP客户端访问FTP服务器端
2.VRP作为FTP客户端的常用命令
配置示例

FTP服务器端配置如下
FTP客户端操作示例
<FTP Client>ftp 10.1.1.1
[FTP Client-ftp]get sslvpn.zip
200 Port command okay.
FTP: 828482 byte(s) received in 2.990 second(s) 277.08Kbyte(s)/sec.TFTP基础
相较于FTP,TFTP的设计就是以传输小文件为目标,协议实现就简单很多:

TFTP传输示例

配置命令介绍 - 设备作为客户端
1.VRP作为TFTP客户端下载文件
<Huawei> tftp TFTP_Server-IP-address get filenameTFTP无需登录,直接输入服务器端IP地址以及操作命令即可
2.VRP作为TFTP客户端上传文件
<Huawei> tftp TFTP_Server-IP-address put filenameTFTP无需登录,直接输入服务器端IP地址以及操作命令即可
目前VRP设备只支持作为TFTP客户端。
Telnet应用场景
为方便通过命令行管理设备,可以使用Telnet协议对设备进行管理。
Telnet协议与使用Console接口管理设备不同,无需专用线缆直连设备的Console接口,只要IP地址可达、能够和设备的TCP 23端口通信即可。
支持通过Telnet协议进行管理的设备被称为Telnet服务器端,而对应的终端则被称为Telnet客户端。很多网络设备同时支持作为Telnet服务器端、Telnet客户端。
虚拟用户界面
当用户使用Console接口、Telnet等方式登录设备的时候,系统会分配一个用户界面(user-interface)来管理、监控设备与用户间的当前会话,每个用户界面视图可以配置一系列参数用于指定用户的认证方式、登录后的权限级别,当用户登录设备后将会受这些参数限制。
Telnet所对应的用户界面类型为VTY(Virtual Type Terminal,虚拟类型终端)

配置命令介绍
1.开启Telnet服务器端功能
[Huawei] telnet server enable使能设备的Telnet服务器端功能。缺省情况下,设备的Telnet服务器端功能处于去使能状态,undo telnet server enable即可重新关闭Telnet服务器端功能
2.进入用户视图
[Huawei] user-interface vty first-ui-number [ last-ui-number ]进入VTY用户界面视图。 不同设备型号的VTY接口可能并不一致
3.配置VTY用户界面支持的协议
[Huawei-ui-vty0-4]] protocol inbound { all | telnet }缺省情况下,VTY用户界面支持的协议是SSH(Secure Shell Protocol ,安全外壳协议)和Telnet
4.配置认证方式以及密码认证方式下的认证密码
[Huawei-ui-vty0-4] authentication-mode {aaa | none | password}
[Huawei-ui-vty0-4] set authentication password cipher缺省情况下,无默认认证方式,需要进行手动配置。 不同VRP版本执行set authentication password cipher命令有差异:某些版本需要回车后输入密码,某些版本可直接在命令后输入密码。
配置示例

Telnet服务器端配置如下
DHCP基本概念
为解决传统的静态手工配置方式的不足,DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)应运而生,其可以实现网络动态合理地分配IP地址给主机使用。
DHCP采用C/S构架,主机无需配置,从服务器端获取地址,可实现接入网络后即插即用。
DHCP工作示意图

DHCP优点

DHCP工作原理

DHCP租期更新

如果在50%租期时客户端未得到原服务器端的回应,则客户端在87.5%租期时会广播发送DHCP Request,任意一台DHCP服务器端都可回应,该过程称为重绑定。
配置命令介绍


DHCP接口地址池配置

DHCP服务器端配置如下
DHCP全局地址池配置

DHCP服务器端配置如下
当我们在浏览器中输入URL(Uniform Resource Locator,统一资源定位符)时,浏览器就可以从某处获取内容,并将页面内容显示在浏览器中。
HTTP(Hypertext Transfer Protocol,超文本传输协议):客户端浏览器或其他程序与Web服务器之间的应用层通信协议。
HTTP是典型的C/S构架应用,作为应用层协议使用TCP进行传输。
DNS查询方式
DNS是一个分布式系统,绝大多数的DNS服务器端的数据库不会拥有所有的域名记录,当客户端向一个DNS服务器端查询域名但该DNS服务器端上却没有该域名的记录时,此时会有两种继续查询的方式:

NTP简介
如果采用管理员手工输入命令修改系统时间来进行时间同步,不但工作量巨大,而且也不能保证适中的精确性。为此可以使用NTP(Network Time Protocol)技术来同步设备的时钟。
网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议。NTP用于在一系列分布式时间服务器与客户端之间同步时钟。NTP的实现基于IP和UDP。NTP报文通过UDP传输,端口号是123。
NTP网络结构
主时间服务器:通过线缆或无线电直接同步到标准参考时钟,标准参考时钟通常是Radio Clock或卫星定位系统等。
二级时间服务器:通过网络中的主时间服务器或者其他二级服务器取得同步。二级时间服务器通过NTP将时间信息传送到局域网内部的其它主机。
层数(stratum):层数是对时钟同步情况的一个分级标准,代表了一个时钟的精确度,取值范围1~15,数值越小,精确度越高。1表示时钟精确度最高,15表示未同步。
什么是WLAN
WLAN即Wireless LAN(无线局域网),是指通过无线技术构建的无线局域网络。WLAN广义上是指以无线电波、激光、红外线等无线信号来代替有线局域网中的部分或全部传输介质所构成的网络。
通过WLAN技术,用户可以方便地接入到无线网络,并在无线网络覆盖区域内自由移动,彻底摆脱有线网络的束缚。

WLAN即Wireless LAN(无线局域网),是指通过无线技术构建的无线局域网络。
无线网络根据应用范围可分为WPAN、WLAN、WMAN、WWAN。
WLAN的优点:
IEEE 802.11、WLAN与Wi-Fi

WLAN设备介绍

华为无线局域网产品形态丰富,覆盖室内室外、家庭企业等各种应用场景,提供高速、安全和可靠的无线网络连接。
家庭WLAN产品:
企业WLAN产品:
基本的WLAN组网架构

WLAN网络架构分有线侧和无线侧两部分,有线侧是指AP上行到Internet的网络使用以太网协议,无线侧是指STA到AP之间的网络使用802.11协议。
无线侧接入的WLAN网络架构为集中式架构。从最初的FAT AP架构,演进为AC+FIT AP架构。
敏捷分布式AP架构

有线侧组网概念:CAPWAP协议

为满足大规模组网的要求,需要对网络中的多个AP进行统一管理,IETF成立了CAPWAP工作组,最终制定CAPWAP协议。该协议定义了AC如何对AP进行管理、业务配置,即AC与AP间首先会建立CAPWAP隧道,然后AC通过CAPWAP隧道来实现对AP的集中管理和控制。
CAPWAP是基于UDP进行传输的应用层协议。
有线侧组网概念:AP-AC组网方式
AP和AC间的组网分为:二层组网和三层组网

AP-AC组网:二层是指AP和AC之间是二层组网,三层是指AC和AP之间是三层组网;二层组网AP可以通过二层广播,或者DHCP过程,即插即用上线;三层网络下,AP无法直接发现AC,需要通过DHCP或DNS方式动态发现,或者配置静态IP。
在实际组网中,一台AC可以连接几十甚至几百台AP,组网一般比较复杂。比如在企业网络中,AP可以布放在办公室,会议室,会客间等场所,而AC可以安放在公司机房。这样,AP和AC之间的网络就是比较复杂的三层网络。因此,在大型组网中一般采用三层组网。
有线侧组网概念:AC连接方式
AC的连接方式分为:直连式组网和旁挂式组网

AC连接方式:直连模式下AC部署在用户的转发路径上,旁挂则相反;直连模式用户流量要经过AC,会消耗AC转发能力,旁挂一般流量不会经过AC。
直连式组网:
旁挂式组网:
无线侧组网概念:无线通信系统
无线通信系统中,信息可以是图像、文字、声音等。信息需要先经过信源编码转换为方便于电路计算和处理的数字信号,再经过信道编码和调制,转换为无线电波发射出去。

无线侧组网概念:无线电磁波
无线电磁波是频率介于3赫兹和约300G赫兹之间的电磁波,也叫作射频电波,或简称射频、射电。无线电技术将声音讯号或其他信号经过转换,利用无线电磁波传播。
WLAN技术就是通过无线电磁波在空间中传输信息。当前我们使用的频段是:

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

WLAN中,AP的工作状态会受到周围环境的影响。例如,当相邻AP的工作信道存在重叠频段时,某个AP的功率过大会对相邻AP造成信号干扰。
通过射频调优功能,动态调整AP的信道和功率,可以使同一AC管理的各AP的信道和功率保持相对平衡,保证AP工作在最佳状态。
无线侧组网概念:BSS/SSID/BSSID

BSS (Basic Service Set):
基本服务集标识符BSSID(Basic Service Set Identifier):
服务集标识符SSID(Service Set Identifier):
无线侧组网概念:VAP

虚拟接入点VAP(Virtual Access Point):
VAP简化了WLAN的部署,但不意味VAP越多越好,要根据实际需求进行规划。一味增加VAP的数量,不仅要让用户花费更多的时间找到SSID,还会增加AP配置的复杂度。而且VAP并不等同于真正的AP,所有的VAP都共享这个AP的软件和硬件资源,所有VAP的用户都共享相同的信道资源,所以AP的容量是不变的,并不会随着VAP数目的增加而成倍的增加。
无线侧组网概念:ESS

ESS (Extend Service Set):
WLAN漫游:
WLAN工作流程概述

AC+FIT AP组网架构中,是通过AC对AP进行统一的管理,因此所有的配置都是在AC上进行的。
WLAN工作流程:步骤1

AP获取IP地址

AP获取IP地址:DHCP方式

CAPWAP隧道建立

CAPWAP隧道可以实现:
AP发现AC阶段:
Step1:AP动态发现AC

DHCP方式:
通过DHCP的四步交互过程,获取AC的IP地址:
Step2:建立CAPWAP隧道

AP接入控制

在收到AP发送的Join Request报文之后,AC会进行AP合法性的认证,认证通过则添加相应的AP设备。
AC上支持三种对AP的认证方式:
AC上添加AP的方式有三种:
AP的版本升级

在AC上给AP升级方式:
CAPWAP隧道维持

数据隧道维持:
控制隧道维持:
为确保AP能够上线,AC需预先配置如下内容

域管理模板:
配置AC的源接口或源地址:
添加AP设备:即配置AP认证模式,AP上线。
WLAN工作流程:步骤2

AP上线后,会主动向AC发送Configuration Status Request报文,该信息中包含了现有AP的配置,为了做AP的现有配置和AC设定配置的匹配检查。当AP的当前配置与AC要求不符合时,AC会通过Configuration Status Response通知AP。
说明:AP上线后,首先会主动向AC获取当前配置,而后统一由AC对AP进行集中管理和业务配置下发。
配置模板
为了方便用户配置和维护WLAN的各个功能,针对WLAN的不同功能和特性设计了各种类型的模板,这些模板统称为WLAN模板

WLAN网络中存在着大量的AP,为了简化AP的配置操作步骤,可以将AP加入到AP组中,在AP组中统一对AP进行同样的配置。但是每个AP也有着不同于其它AP的参数配置,不便于通过AP组来进行统一配置,这类个性化的参数可以直接在每个AP下配置。每个AP在上线时都会加入并且只能加入到一个AP组中。当AP从AC上获取到AP组和AP个性化的配置后,会优先使用AP下的配置。
AP组和AP下都能够引用如下模板:域管理模板、AP系统模板、、射频模板、VAP模板,部分模板例还能继续引用其它模板。
VAP模板

SSID模板:主要用于配置WLAN网络的SSID名称,还可以配置其他功能,主要包括如下功能:
安全模板:配置WLAN安全策略,可以对无线终端进行身份验证,对用户的报文进行加密,保护WLAN网络和用户的安全。
数据转发方式:
业务VLAN:
WLAN工作流程:步骤3

扫描

主动扫描:
被动扫描:
无线接入安全协议

WLAN安全提供了WEP、WPA、WPA2等安全策略机制。每种安全策略体现了一整套安全机制,包括无线链路建立时的链路认证方式,无线用户上线时的用户接入认证方式和无线用户传输数据业务时的数据加密方式。
WEP(Wired Equivalent Privacy)
WPA/WPA2 (Wi-Fi Protected Access)
链路认证

WLAN需要保障用户接入安全,即保障用户接入无线网络的合法性和安全性,STA接入WLAN网络前需要进行终端身份验证,即链路认证。链路认证通常被认为是终端连接AP并访问WLAN的起点。
共享密钥认证:
关联

瘦接入点(FIT AP)架构中关联阶段处理过程:
接入认证

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

用户认证

随着企业网络的应用和发展,病毒、木马、间谍软件、网络攻击等各种信息安全威胁也在不断增加。在传统的企业网络建设思路中,一般认为企业内网是安全的,安全威胁主要来自外界。但是研究证明,80%的网络安全漏洞都存在于网络内部。它们对网络的破坏程度和范围持续扩大,经常引起系统崩溃、网络瘫痪。另外,内部员工在浏览某些网站时,一些间谍软件、木马程序等恶意软件也会不知不觉地被下载到电脑中,并且在企业内网传播,产生严重的安全隐患。
因此,随着安全挑战的不断升级,仅通过传统的安全措施已经远远不够。安全模型需要由被动模式向主动模式转变。从根源(终端)彻底解决网络安全问题,提高整个企业的信息安全水平。
WLAN工作流程:步骤4

数据转发方式

隧道转发方式:
直接转发方式:
WLAN的基础配置命令-配置AP上线

命令:option code [ sub-option sub-code ] { ascii ascii-string | hex hex-string | cipher cipher-string | ip**-address** ip*-address*
命令:regulatory-domain-profile name profile-name
命令:country-code country-code

命令:ap-group name group-name

命令: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 } ]
WLAN的基础配置命令 -配置射频

命令:radio radio-id
•命令:
命令:antenna-gain antenna-gain
antenna-gain:天线增益。整数类型,取值范围:0~30,单位:dB。

命令:eirp eirp
命令:coverage distance distance
命令:frequency { 2.4g | 5g }

命令:radio-2g-profile name profile-name
命令:radio-2g-profile profile-name radio { radio-id | all }
WLAN的基础配置命令 - 配置VAP



命令:ssid ssid

命令:display vap { ap-group ap-group-name | { ap-name ap*-name* | ap-id ap*-id* } [ radio radio-id ] } [ ssid ssid ]
命令:display vap { all | ssid ssid }

业务需求
组网需求
AC组网方式:旁挂二层组网。
DHCP部署方式:
配置思路:
配置AP、AC和周边网络设备之间实现网络互通。
配置AP上线。
配置AP上线
display ap命令输出信息描述:
配置WLAN业务参数
display vap命令输出信息描述:
AP ID:AP ID。
AP name:AP名称。
RfID:射频ID。
WID:VAP的ID。
SSID:SSID的名称。
BSSID:VAP的MAC地址。
Status:VAP当前状态:
ON:VAP服务开启
OFF:VAP服务关闭
Auth type:VAP认证方式。
STA:当前VAP接入的终端数。
随着经济全球化与数字化变革加速,企业规模不断扩大,越来越多的分支机构出现在不同的地域。每个分支的网络被认为一个LAN(Local Area Network,局域网),总部和各分支机构之间通信需要跨越地理位置。因此,企业需要通过WAN(Wide Area Network,广域网)将这些分散在不同地理位置的分支机构连接起来,以便更好地开展业务。
广域网技术的发展,伴随着带宽不断的升级:早期出现的X.25只能提供64 kbit/s的带宽,其后DDN(Digital Data Network,数字数据网)和FR(Frame Relay,帧中继)提供的带宽提高到2 Mbit/s,SDH(Synchronous Digital Hierachy,同步数字结构)和ATM(Asynchronous Transfer Mode,异步传输模式)进一步把带宽提升到10 Gbit/s,最后发展到当前以IP为基础的10 Gbit/s甚至更高带宽的广域网络。
什么是广域网
广域网是连接不同地区局域网的网络,通常所覆盖的范围从几十公里到几千公里。它能连接多个地区、城市和国家,或横跨几个洲提供远距离通信,形成国际性的远程网络

广域网与局域网区别

广域网与局域网的区别主要体现在以下几个方面:
广域网络设备角色介绍
广域网络设备基本角色有三种,CE(Customer Edge,用户边缘设备) 、PE (Provider Edge,服务提供商边缘设备) 和P(Provider ,服务提供商设备) 。具体定义是:

早期广域网技术的应用
早期的广域网技术主要是针对不同的物理链路类型,在数据链路层进行不同的二层封装。在CE与PE之间常用的广域网封装协议有PPP/HDLC/FR等,用于解决用户接入广域网的长距离传输问题。在ISP内部常用的广域网协议主要是ATM,它用于解决骨干网高速转发的问题。

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链路的建立有三个阶段的协商过程,链路层协商、认证协商(可选)和网络层协商。

PPP链路接口状态机
PPP协商由链路两端的接口完成。接口的状态表示了协议的协商阶段。

正常PPP链路建立需要经历链路建立阶段、认证阶段和网络层协商阶段,详细过程如下:
PPP运行过程中,可以随时中断连接,物理链路断开、认证失败、超时定时器时间到、管理员通过配置关闭连接等动作都可能导致链路进入Terminate阶段。
LCP报文格式
PPP报文可由Protocol字段标识不同类型的PPP报文。例如,当Protocol字段为0xC021时,代表是LCP报文。此时又由Code字段标识不同类型LCP报文,如下表所示

PPP帧格式:
Flag字段标识一个物理帧的起始和结束,该字节为二进制序列01111110(0X7E)。
PPP帧的Address字段字节固定为11111111 (0XFF),是一个广播地址。
PPP数据帧的Control字段默认为00000011(0X03),表明为无序号帧。
帧校验序列(FCS)字段是个16 bit的校验和,用于检查PPP帧的完整性。
Protocol字段用来说明PPP所封装的协议报文类型,0XC021代表LCP报文,0XC023代表PAP报文,0XC223代表CHAP报文。
Information字段包含Protocol字段中指定协议的内容,该字段的最大长度被称为最大接收单元MRU,缺省值为1500。
当Protocol字段为0XC021时,Information结构如下:
Identifier字段为1个字节,用来匹配请求和响应。
Length域的值就是该LCP报文的总字节数据。
Data字段则承载各种TLV(Type/Length/Value)参数用于协商配置选项,包括最大接收单元,认证协议等等。
LCP报文携带的一些常见的配置参数有MRU、认证协议和魔术字。
LCP协商过程- 正常协商
LCP协商由不同的LCP报文交互完成。协商由任意一方发送Configure-Request报文发起。如果对端接收此报文且参数匹配,则通过回复Configure-Ack响应协商成功。

R1和R2使用串行链路相连,运行PPP协议。当物理层链路变为可用状态之后,R1和R2使用LCP协商链路参数。
本例中,R1首先发送一个Configure-Request报文,此报文中包含R1上配置的链路层参数。当R2收到此Configure-Request报文之后,如果R2能识别并接受此报文中的所有参数,则向R1回应一个Configure-Ack报文。同样的,R2也需要向R1发送Configure-Request报文,使R1检测R2上的参数是不是可接受的。
R1在没有收到Configure-Ack报文的情况下,会每隔3秒重传一次Configure-Request报文,如果连续10次发送Configure-Request报文仍然没有收到Configure-Ack报文,则认为对端不可用,停止发送Configure-Request报文。
LCP协商过程-参数不匹配
在LCP报文交互中出现LCP参数不匹配时,接收方回复Configure-Nak响应告知对端修改参数然后重新协商

当R2收到R1发送的Configure-Request报文之后,如果R2能识别此报文中携带的所有链路层参数,但是认为部分或全部参数的取值不能接受,即参数的取值协商不成功,则R2需要向R1回应一个Configure-Nak报文。
在这个Configure-Nak报文中,只包含不能接受的链路层参数,并且此报文所包含的链路层参数将被修改为R2上可以接受的取值(或取值范围)。
在收到Configure-Nak报文之后,R1需要根据此报文中的链路层参数重新选择本地配置的其他参数,并重新发送一个Configure-Request。
LCP协商过程 -参数不识别
在LCP报文交互中出现LCP参数不识别时,接收方回复Configure-Reject响应告知对端删除不识别的参数然后重新协商

当R2收到R1发送的Configure-Request报文之后,如果R2不能识别此报文中携带的部分或全部链路层参数,则R2需要向R1回应一个Configure-Reject报文。在此Configure-Reject报文中,只包含不能被识别的链路层参数。
在收到Configure-Reject报文之后,R1需要向R2重新发送一个Configure-Request报文,在新的Configure-Request报文中,不再包含不被对端(R2)识别的参数。
PPP认证模式- PAP
链路协商成功后,进行认证协商(此过程可选)。认证协商有两种模式,PAP和CHAP。
PAP认证双方有两次握手。协商报文以明文的形式在链路上传输。

LCP协商完成后,认证方要求被认证方使用PAP进行认证。
PAP认证协议为两次握手认证协议,密码以明文方式在链路上发送,过程如下:
PPP认证模式 - CHAP
CHAP认证双方有三次握手。协商报文被加密后再在链路上传输

LCP协商完成后,认证方要求被认证方使用CHAP进行认证。
CHAP认证过程需要三次报文的交互。过程如下:
使用CHAP认证方式时,被认证方的密码是被加密后才进行传输的,这样就极大的提高了安全性。
加密算法声明
NCP协商 -静态IP地址协商
PPP认证协商后,双方进入NCP协商阶段,协商在数据链路上所传输的数据包的格式与类型。以常见的IPCP协议为例,它分为静态IP地址协商和动态IP地址协商。
静态IP地址协商需要手动在链路两端配置IP地址。

NCP主要用来建立和配置不同的网络层协议,协商在该数据链路上所传输的数据包的格式与类型。常见的有IPCP等。
静态IP地址协商过程如下:
NCP协商 -动态IP地址协商
动态IP地址协商支持PPP链路一端为对端配置IP地址。

动态协商IP地址的过程如下:
PPP基础配置命令

PAP认证配置命令

CHAP认证配置命令



什么是PPPoE
PPPoE(PPP over Ethernet,以太网承载PPP协议)是一种把PPP帧封装到以太网帧中的链路层协议。PPPoE可以使以太网网络中的多台主机连接到远端的宽带接入服务器。
PPPoE集中了PPP和Ethernet两个技术的优点。既有以太网的组网灵活优势,又可以利用PPP协议实现认证、计费等功能。

运营商希望把一个站点上的多台主机连接到同一台远程接入设备,同时接入设备能够提供与拨号上网类似的访问控制和计费功能。在众多的接入技术中,把多个主机连接到接入设备的比较经济的方法就是以太网,而PPP协议可以提供良好的访问控制和计费功能,于是产生了在以太网上传输PPP报文的技术,即PPPoE。
PPPoE利用以太网将大量主机组成网络,通过一个远端接入设备接入因特网,并运用PPP协议对接入的每个主机进行控制,具有适用范围广、安全性高、计费方便的特点。
PPPoE应用场景
PPPoE实现了在以太网上提供点到点的连接。PPPoE客户端与PPPoE服务器端之间建立PPP会话,封装PPP数据报文,为以太网上的主机提供接入服务,实现用户控制和计费,在企业网络与运营商网络中应用广泛。
PPPoE的常见应用场景有家庭用户拨号上网、企业用户拨号上网等。

PPPoE会话建立
PPPoE的会话建立有三个阶段,PPPoE发现阶段、PPPoE会话阶段和PPPoE终结阶段。

PPPoE报文
PPPoE会话的建立通过不同的PPPoE报文交互实现。PPPoE报文结构及常见的报文类型如下所示:

PPPoE报文封装在Ethernet帧中,Ethernet中各字段解释如下:
DMAC:表示目的设备的MAC地址,通常为以太网单播目的地址或者以太网广播地址(0xFFFFFFFF)。
SMAC:表示源设备的以太网MAC地址。
Eth-Type:表示协议类型字段,当值为0x8863时表示承载的是PPPoE发现阶段的报文。当值为0x8864时表示承载的是PPPoE会话阶段的报文。
PPPoE字段中的各个字段解释如下:
VER:表示PPPoE版本号,值为0x01。
Type:表示类型,值为0x01。
Code:表示PPPoE报文类型,不同取值标识不同的PPPoE报文类型。
PPPoE会话ID,与以太网SMAC和DMAC一起定义了一个PPPoE会话。
Length:表示PPPoE报文的长度。
PPPoE发现阶段
PPPoE协议发现有四个步骤:客户端发送请求、服务端响应请求、客户端确认响应和建立会话

1.PPPoE客户端在本地以太网中广播一个PADI报文,此PADI报文中包含了客户端需要的服务信息。
2.如果服务器端可以提供客户端请求的服务,就会回复一个PADO报文。
3.客户端可能会收到多个PADO报文,此时将选择最先收到的PADO报文对应的PPPoE服务器端,并发送一个PADR报文给这个服务器端。
4.PPPoE服务器端收到PADR报文后,会生成一个唯一的Session ID来标识和PPPoE客户端的会话,并发送PADS报文。
会话建立成功后,PPPoE客户端和服务器端进入PPPoE会话阶段。
PPPoE会话阶段
PPPoE会话阶段会进行PPP协商,分为LCP协商、认证协商、NCP协商三个阶段。

PPPoE会话阶段可分为两部分:PPP协商阶段和PPP报文传输阶段。
PPPoE Session上的PPP协商和普通的PPP协商方式一致,分为LCP、认证、NCP三个阶段。
LCP阶段主要完成建立、配置和检测数据链路连接。
LCP协商成功后,开始进行认证,认证协议类型由LCP协商结果决定。
认证成功后,PPP进入NCP阶段,NCP是一个协议族,用于配置不同的网络层协议,常用的是IP控制协议(IPCP),它负责配置用户的IP地址和DNS服务器地址等。
PPPoE Session的PPP协商成功后,就可以承载PPP数据报文。在这一阶段传输的数据包中必须包含在发现阶段确定的Session ID并保持不变。
PPPoE会话终结阶段
当PPPoE客户端希望关闭连接时,会向PPPoE服务器端发送一个PADT报文,用于关闭连接。
同样,如果PPPoE服务器端希望关闭连接时,也会向PPPoE客户端发送一个PADT报文。

在PADT报文中,目的MAC地址为单播地址,Session ID为希望关闭的连接的Session ID。一旦收到一个PADT报文之后,连接随即关闭
PPPoE基础配置


PPPoE客户端配置包括三个步骤。
第一步配置一个拨号接口。
dialer-rule命令用于进入Dialer-rule视图,在该视图下,可以通过拨号规则来配置发起PPPoE会话的条件。
interface dialer number命令用来创建并进入Dialer接口。
dialer user user-name命令用于配置对端用户名,这个用户名必须与对端服务器上的PPP用户名相同。
dialer-group group-number命令用来将接口置于一个拨号访问组。
dialer bundle number命令用来指定Dialer接口使用的Dialer bundle。设备通过Dialer bundle将物理接口与拨号接口关联起来。
注:必须确保命令dialer-group中的参数group-number和命令dialer-rule中的dialer-rule-number保持一致。
第二步是在接口上将Dialer Bundle和接口绑定:
第三步配置一条缺省静态路由,该路由允许在路由表中没有相应匹配表项的流量都能通过拨号接口发起PPPoE会话。
配置实例 -PPPoE服务器端

PPPoE服务器端配置
配置验证

display interface dialer[ number ]命令用于查看拨号接口的配置,便于定位拨号接口的故障。
LCP opened, IPCP opened表示链路的状态完全正常。
display pppoe-client session summary命令用于查看PPPoE客户端的PPPoE会话状态和统计信息。
ID表示PPPoE会话ID,Bundle ID和Dialer ID的值与拨号参数配置有关。
Intf表示客户端侧协商时的物理接口。
State表示PPPoE会话的状态,包括以下四种:
1.IDLE表示当前会话状态为空闲。
2.PADI表示PPPoE会话处于发现阶段,并已经发送PADI报文。
3.PADR表示PPPoE会话处于发现阶段,并已经发送PADR报文。
4.UP表示PPPoE会话建立成功。
早期广域网常用的数据链路层协议包括PPP、HDLC和ATM等。后期随着全网IP化的演进,基于IP技术的Internet快速普及,但基于最长匹配算法的IP技术必须使用软件查找路由,转发性能低下,因此IP技术的转发性能成为当时限制网络发展的瓶颈。
MPLS(Multiprotocol Label Switching,多协议标记交换)最初是为了提高路由器的转发速度而提出的。与传统IP路由方式相比,它在数据转发时,只在网络边缘解析IP报文头,后续节点只基于标签转发,而不用在每一跳都解析IP报文头,减少软件处理流程节约了处理时间。
随着路由器性能的提升,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。但是MPLS支持多层标签和转发平面面向连接的特性,使其在VPN(Virtual Private Network,虚拟专用网)、TE(Traffic Engineering,流量工程)、QoS(Quality of Service,服务质量)等方面得到广泛应用。
传统IP路由转发
传统的IP转发采用的是逐跳转发。数据报文经过每一台路由器,都要被解封装查看报文网络层信息,然后根据路由最长匹配原则查找路由表指导报文转发。各路由器重复进行解封装查找路由表和再封装的过程,所以转发性能低。

MPLS标签转发

MPLS转发存在的问题

Segment Routing简介
为解决传统IP转发和MPLS转发的问题,业界提出了SR (Segment Routing,分段路由)。SR的转发机制有很大改进,主要体现在以下几个方面:
1.基于现有协议进行扩展:
扩展后的IGP/BGP具有标签分发能力,因此网络中无需其他任何标签分发协议,实现协议简化。
2.引入源路由机制:
基于源路由机制,支持通过控制器进行集中算路。
3.由业务来定义网络:
业务驱动网络,由应用提出需求(时延、带宽、丢包率等),控制器收集网络拓扑、带宽利用率、时延等信息,根据业务需求计算显式路径。
Segment Routing转发原理
SR将网络路径分成一个个的段(Segment),并且为这些段分配SID(Segment ID)。
SID的分配对象有两种,转发节点或者邻接链路。本例中转发节点SID 1600X,X为路由器编号;邻接链路SID 160XX,XX表示链路两端的节点编号

SID用于标识Segment,它的格式取决于具体的技术实现,例如可以使用MPLS标签、MPLS标签空间中的索引、IPv6报文头部。例如使用MPLS标签被称为SR-MPLS,使用IPv6被称为SRv6。
邻接链路和网络节点的SID有序排列形成段序列(Segment List),它代表一条转发路径。SR由源节点将段序列编码在数据包头部,随数据包传输。SR的本质是指令,指引报文去哪里和怎么去。

接收端收到数据包后,对段序列进行解析,如果段序列的顶部段标识是本节点时,则弹出该标识,然后进行下一步处理;如果不是本节点,则使用ECMP(Equal Cost Multiple Path)方式将数据包转发到下一节点。
SR的部署方式
SR部署分为有控制器部署和无控制器部署。控制器配合方式由控制器收集信息,预留路径资源和计算路径,最后将结果下发到头结点,是更为推荐的部署方式。

PCEP:Path Computation Element Communication Protocol,路径计算单元通信协议
NETCONF:Network Configuration Protocol,网络配置协议
Segment Routing的应用
SR可以简易的指定的报文转发路径,在现网中可以为不同业务定义不同的路径。例如本例定义了数据下载、视频和语音三条显式路径,实现了业务驱动网络。设备由控制器纳管,支持路径实时快速发放

网络管理方式

传统网络管理:
基于iMaster NCE的网络管理:
通过CLI或Web进行管理
当网络规模较小时,CLI和Web方式是常见的网络管理方式。
随着网络技术的飞速发展,在网络不断普及地同时也给网络管理带来了一些问题:
基于SNMP的集中式管理
SNMP(Simple Network Management Protocol,简单网络管理协议)是广泛用于TCP/IP网络的网络管理标准协议,提供了一种通过运行网络管理软件的中心计算机,即NMS(Network Management Station,网络管理工作站)来管理网元的方法

SNMP共有三个版本:SNMPv1、SNMPv2c和SNMPv3。
SNMP典型架构

NMS通常是一个独立的设备,运行网络管理应用程序。网络管理应用程序至少能够提供一个人机交互界面,网络管理员通过人机交互界面完成绝大多数网络管理工作。比较常见的人机交互方式为通过Web页面进行交互,即网络管理员通过带显示器的终端,通过HTTP/HTTPS访问NMS提供的Web页面。
SNMP的信息交互

MIB

MIB的定义与具体的网络管理协议无关。设备制造商可以在产品(如路由器)中包含SNMP代理软件,并保证在定义新的MIB项目后该软件仍遵守标准。用户可以使用同一网络管理客户软件来管理具有不同版本MIB的多个路由器。若一台路由器上不支持此MIB,那么就无法提供相应的功能。
MIB可以分为公有MIB和私有MIB两种。
常见MIB节点

MIB节点的最大访问权限表明网管能够通过该MIB节点对设备进行的操作:
设备在生成告警时,不仅会上报当前发生的告警类型,同时会绑定一些变量。比如当发送接口linkDown告警时,需要同时绑定接口索引,接口的当前配置状态等变量。
SNMP管理模型

SNMPv1

SNMPv1定义了5种协议操作:
SNMPv2c

SNMPv2c新增了2种协议操作:
SNMPv3
SNMPv3与SNMPv1和SNMPv2c的工作机制基本一致但添加了报头数据和安全参数。
SNMPv3报文具有身份验证和加密处理的功能。
SNMPv3适用于各种规模的网络,安全性极高。

SNMPv3增加了身份验证和加密处理的功能。
SNMP小结
SNMP的特点如下:
SNMPv1版本适用于小型网络。组网简单、安全性要求不高或网络环境比较安全且比较稳定的网络,比如校园网,小型企业网。
SNMPv2c版本适用于大中型网络。安全性要求不高或者网络环境比较安全,但业务比较繁忙,有可能发生流量拥塞的网络。
SNMPv3版本作为推荐版本,适用于各种规模的网络。尤其是对安全性要求较高,只有合法的管理员才能对网络设备进行管理的网络。
SNMP基本配置



SNMP配置举例(网络设备侧)

华为iMasterNCE
华为iMaster NCE是一款集管理、控制、分析和AI智能功能于一体的网络自动化与智能化平台

iMaster NCE包含四大关键能力:
NETCONF简介
NETCONF(Network Configuration Protocol,网络配置协议),提供一套管理网络设备的机制。用户可以使用这套机制增加、修改、删除网络设备的配置,获取网络设备的配置和状态信息。

NETCONF客户端(Client):Client 利用NETCONF协议对网络设备进行系统管理。一般由网络管理系统(NMS)作为NETCONF Client。Client向Server发送rpc请求,查询或修改一个或多个具体的参数值。Client可以接收Server发送的告警和事件,以获取被管理设备的状态。
NETCONF服务器端(Server):Server用于维护被管理设备的信息数据并响应Client的请求,把管理数据汇报给Client。一般由网络设备(例如交换机、路由器等)作为NETCONF Server。Server收到Client 的请求后会进行数据解析,并在CMF(Configuration Manager Frame,配置管理框架)的帮助下处理请求,然后给Client 返回响应。当设备发生故障或其他事件时,Server利用Notification机制将设备的告警和事件通知给Client,向网络管理系统报告设备的当前状态变化。
Client与Server之间建立基于SSH(Secure Shell,安全外壳)或TLS(Transport Layer Security,传输层安全性协议)等安全传输协议的连接,然后通过Hello报文交换双方支持的能力后建立NETCONF会话,Client即可与Server之间进行交互请求,网络设备必须至少支持一个NETCONF会话。Client从运行的Server上获取的信息包括配置数据和状态数据。
NETCONF的优势

一次典型NETCONF交互

NETCONF使用SSH实现安全传输,使用RPC(Remote Procedure Call,远程过程调用)实现客户端和服务器端的通信。
YANG语言概述
YANG(Yet Another Next Generation)是一种数据建模语言,实现了NETCONF数据内容的标准化。
YANG模型定义了数据的层次化结构,可用于基于NETCONF的操作。建模对象包括配置、状态数据、远程过程调用和通知。它可以对NETCONF客户端和服务器端之间发送的所有数据进行一个完整的描述。
YANG起源于NETCONF,但不仅用于NETCONF。虽然统一了YANG建模语言,但是YANG文件没有统一。
YANG文件可以简单分为三类:
厂家私有YANG文件
IETF标准YANG
OpenConfig YANG
YANG模型的最终呈现是.yang为后缀的文件。
YANG模型的特点:
基于层次化的树状结构建模。
数据模型以模块和子模块呈现。
可以和基于XML的语法的YIN(YANG Independent Notation)模型无损转换。
定义内置的数据类型和允许可扩展类型。
YANG与XML
在NETCONF客户端(例如网管平台/SDN控制器)加载YANG文件。
通过YANG文件将数据转换为XML格式的NETCONF消息发送到设备。

在NETCONF服务器(例如路由器/交换机等)加载YANG文件。
通过YANG文件将接收到的XML格式的NETCONF消息转换为数据并做后续处理

Telemetry基本概述
Telemetry也作Network Telemetry,即网络遥测技术,是一项远程地从物理设备或虚拟设备上高速采集数据的技术。
设备通过推模式(Push Mode)周期性地主动向采集器上送设备的接口流量统计、CPU或内存数据等信息,相对传统拉模式(Pull Mode)的一问一答式交互,提供了更实时更高速的数据采集功能。

业界也有一种看法,将SNMP认为是传统的Telemetry技术,把当前Telemetry叫做Streaming Telemetry或Model-Driven Telemetry。
Telemetry将上送数据打包一起发送,提升传输效率。
20世纪80年代,IETF(Internet Engineering Task Force,因特网工程任务组)发布RFC791,即IPv4协议,标志IPv4正式标准化。在此后的几十年间,IPv4协议成为最主流的协议之一。无数人在IPv4的基础上开发出了各种应用,并且对这个协议做了各种补充和增强,支撑起了今天繁荣的互联网。
然而,随着互联网的规模越来越大,以及5G、物联网等新兴技术的发展,IPv4面临的挑战越来越多。IPv6取代IPv4势在必行。
IPv4现状
2011年2月3日,IANA(Internet Assigned Numbers Authority,因特网地址分配组织)宣布将其最后的468万个IPv4地址平均分配到全球5个RIR(Regional Internet Registry,区域互联网注册管理机构),此后IANA再没有可分配的IPv4地址。

IPv6优势

IPv6基本包头
IPv6包头由一个IPv6基本包头(必须存在)和多个扩展包头(可能不存在)组成。
基本包头提供报文转发的基本信息,会被转发路径上的所有设备解析。

IPv6拓展包头

IPv6报文处理机制

IPv6地址

IPv6地址缩写规范
为了书写方便,IPv6可采用以下规则进行缩写。

IPv6地址分类
根据IPv6地址前缀,可将IPv6地址分为为单播地址、组播地址和任播地址

IPv6单播地址结构
一个IPv6单播地址可以分为如下两部分:
常见的IPv6单播地址如全球单播地址、链路本地地址等,要求网络前缀和接口标识必须为64 bit

IPv6单播地址接口标识
接口标识可通过三种方法生成:
其中EUI-64规范最为常用,此规范将接口的MAC地址转换为IPv6接口标识

IPv6常见单播地址 -GUA

IPv6常见单播地址- ULA

IPv6常见单播地址- LLA

IPv6组播地址

被请求节点组播地址
当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。该地址主要用于邻居发现机制和地址重复检测功能。被请求节点组播地址的有效范围为本地链路范围。

IPv6任播地址
任播地址标识一组网络接口(通常属于不同的节点)。任播地址可以作为IPv6报文的源地址,也可以作为目的地址。

主机和路由器的IPv6地址
一般情况下,主机和路由器的单播IPv6地址以及加入的组播地址如下所示

IPv6单播地址业务流程
一个接口在发送IPv6报文之前要经历地址配置、DAD、地址解析这三个阶段,NDP(Neighbor Discovery Protocol,邻居发现协议)扮演了重要角色。

NDP
RFC2461定义了NDP,该RFC后来被RFC4861替代。
NDP使用ICMPv6报文实现其功能

IPv6动态地址配置

DAD
无论通过何种方式配置了IPv6单播地址,主机或路由器都会:

地址解析
IPv6使用ICMPv6的NS和NA报文来取代ARP在IPv4中的地址解析功能。

IPv6基本配置



网络界的现状:经典IP网络-分布式网络
经典的IP网络是一个分布式的、对等控制的网络。每台网络设备存在独立的数据平台、控制平面和管理平面。设备的控制平面对等的交互路由协议,然后独立的生成数据平面指导报文转发。
经典IP网络的优势在于设备与协议解耦,厂家之间兼容性较好且故障场景下协议保证网络收敛。

以交换机为例介绍转发平面、控制平面和管理平面:
在华为产品具体的实现上,部分系列产品将功能组合区分为数据平面、管理平面和监控平面。
网络界的思考:经典网络面临的问题
网络易拥塞

网络技术太复杂
网络协议多:如果您准备成为一名网络技术专家, 您需要阅读网络设备相关RFC 2500篇。如果一天阅读一篇,需要长达6年时间, 而这只是整个RFC的 1/3,其数量还在持续增加。
网络配置难:如果您准备成为某个设备商设备的百事通,您需要掌握的命令行超过10000条,而其数量还在增加。
网络故障定位、诊断困难

网络业务的部署速度太慢

网络业务部署的愿景是:网络策略实现业务随行,与物理位置无关;新业务实现快速部署;物理网络支持零配置部署,设备即插即用。
SDN的起源
SDN(Software Defined Networking)即软件定义网络。是由斯坦福大学Clean Slate研究组提出的一种新型网络创新架构。 其核心理念通过将网络设备控制平面与数据平面分离,从而实现了网络控制平面的集中控制,为网络应用的创新提供了良好的支撑。
SDN起源提出了三个特征, “转控分离”、“集中控制”和“开放可编程接口”。

OpenFlow基本概念
OpenFlow是控制器与交换机之间的一种南向接口协议。它定义了三种类型的消息,Controller-to-Switch、 Asynchronous 和 Symmetric。每一种消息又包含了更多的子类型

Flow Table简介
OpenFlow交换机基于流表(Flow Table)转发报文。
每个流表项由匹配字段、优先级、计数器、指令、超时、Cookie、Flags这七部分组成。其中关于转发的关键的两个内容是匹配字段和指令。

Match Fields:流表项匹配项(OpenFlow 1.5.1版本支持45个可选匹配项),可以匹配入接口、物理入接口,流表间数据,二层报文头,三层报文头,四层端口号等报文字段等。
Priority:流表项优先级,定义流表项之间的匹配顺序,优先级高的先匹配。
Counters:流表项统计计数,统计有多少个报文和字节匹配到该流表项。
Instructions:流表项动作指令集,定义匹配到该流表项的报文需要进行的处理。当报文匹配流表项时,每个流表项包含的指令集就会执行。这些指令会影响到报文、动作集以及管道流程。
Timeouts:流表项的超时时间,包括了Idle Time和Hard Time。
Cookie:Controller下发的流表项的标识。
Flags:该字段改变流条目的管理方式。
转发方式对比

流表的匹配原则是对于存在的“table0-table255”,优先从table0开始匹配。同一table内部按照优先级匹配,优先级高优先匹配。
当前OpenFlow的主流应用是用于数据中心的软件交换机,例如OVS、CE1800V等,而不是实现硬件交换机的转控分离。
SDN的本质诉求
SDN的本质诉求是让网络更加开放、灵活和简单。它的实现方式是为网络构建一个集中的大脑,通过全局视图集中控制,实现或业务快速部署、或流量调优、或网络业务开放等目标。
SDN的价值是:
SDN是一个更为广泛的概念而不局限于OpenFlow。转控分离是实现SDN的一种方法而不是本质。
SDN网络架构
SDN网络架构分为协同应用层、控制器层和设备层。不同层次之间通过开放接口连接。以控制器层为主要视角,区分面向设备层的南向接口和面向协同应用层的北向接口。OpenFlow属于南向接口协议的一种

协同应用层:主要完成用户意图的各种上层应用,典型的协同层应用包括OSS、OpenStack等。OSS可以负责整网的业务协同,OpenStack云平台一般用于数据中心负责网络、计算、存储的业务协同。还有其他的协同层应用,比如用户希望部署一个安全APP,这个安全APP不关心设备具体部署位置,只是调用了控制器的北向接口,例如Block(Source IP,DestIP),然后控制器会给各网络设备下发指令。这个指令根据南向协议不同而不同。
华为SDN网络架构
华为SDN网络架构支持丰富的南北向接口,包括OpenFlow、OVSDB、NETCONF、PCEP、 RESTful 、SNMP、BGP、JsonRPC、RESTCONF等。

云平台:云数据中心内资源管理平台。云平台包含对网络资源、计算资源和存储资源的管理。OpenStack是最主流的开源云平台。
EMS(Element Management System,网元管理系统)是管理特定类型的一个或多个电信NE(Network Element,网络单元)的系统。
Orchestration(容器编排):容器编排工具也可以包含网络业务编排功能。Kubernetes是主流的工具。
MTOSI/CORBA用于对接BSS/OSS。Kafka/SFTP可用于对接大数据平台。华为SDN解决方案 - 管、控、析构建智简网络

什么是iMaster NCE?
iMaster NCE,自动驾驶网络管理与控制系统,是华为集管理、控制、分析和AI智能功能于一体的网络自动化与智能化平台。

iMaster NCE能做什么?它有效连接了物理网络与商业意图。南向实现全局网络的集中管理、控制和分析。面向商业和业务意图使能资源云化、全生命周期网络自动化,以及数据分析驱动的智能闭环。北向提供开放网络API与IT快速集成。
iMaster NCE用在哪里?可以在企业领域数据中心网络(DCN)、企业园区(Campus)、企业分支互联(SD-WAN)等场景,让企业网络更加简单、智慧、 开放和安全,加速企业的业务转型和创新。
网络功能虚拟化被称为NFV(Network Functions Virtualization),而虚拟化之后的网络功能被称为VNF(Virtualized Network Function)。当我们谈“VNF”时,我们指运营商IMS、CPE这些传统网元在虚拟化之后的实现。在硬件通用化后,传统的网元不再是嵌入式的软硬结合的产品,而是以纯软件的方式安装在通用硬件(即NFVI)上。
NFV(Network Functions Virtualization )是运营商为了解决电信网络硬件繁多、部署运维复杂、业务创新困难等问题而提出的。NFV在重构电信网络的同时,给运营商带来的价值如下:
缩短业务上线时间
降低建网成本
提升网络运维效率
构建开放的生态系统
传统网络运维困境
传统的网络运维工作需要网络工程师手动登录网络设备,人工查看和执行配置命令,肉眼筛选配置结果。这种严重依赖“人”的工作方式操作流程长,效率低下,而且操作过程不易审计。
经典运维场景
在工作中你是否遇到过这样的场景:
1.设备升级:现网有数千台网络设备,你需要周期性、批量性地对设备进行升级。
2.配置审计:企业年度需要对设备进行配置审计。例如要求所有设备开启sTelnet功能,以太网交换机配置生成树安全功能。你需要快速地找出不符合要求的设备。
3.配置变更:因为网络安全要求,需要每三个月修改设备账号和密码。你需要在数千台网络设备上删除原有账号并新建账号。
Python实现设备自动化配置
网络自动化能做什么?最直观的一个网络自动化例子就是自动化配置设备。我们可以把这个过程分为两个步骤:编写配置文件和编写Python代码将配置文件推送到设备上。
首先用命令行方式写配置脚本,然后通过Telnet/SSH将它传到设备上运行。这种方式对于初学网络编程与自动化的网络工程师来说,比较容易理解。本章节主要介绍这种方式实现网络自动化。
Python编码规范
编码规范是使用Python编写代码时应遵守的命名规则、代码缩进、代码和语句分割方式等。良好的编码规范有助于提高代码的可读性,便于代码的维护和修改。
例如分号、圆括号、空行和空格的使用规范建议如下

使用telnetlib登陆设备

配置设备Telnet
Telnet登录操作:
编写Python代码

什么是园区网

园区网络的规模可大可小,小到一个SOHO(Small Office Home Office,家居办公室),大到校园、企业园区、公园、购物中心等。园区的规模是有限的,一般的大型园区,例如高校园区、工业园区,规模依然被限制在几平方公里以内,在这个范围内,我们可以使用局域网技术构建网络。超过这个范围的“园区”通常被视作一个“城域”,需要使用到广域网技术,相应的网络会被视作城域网。
园区网络使用的典型局域网技术包括遵循IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师协会) 802.3 标准的Ethernet 技术(有线)和遵循IEEE 802.11 标准的Wi-Fi 技术(无线)。
园区网络典型架构

小型园区网络典型架构

中型园区网络典型架构

大型园区网络典型架构

园区网络主要协议/技术

网络需求
某公司(规模为200人左右)因业务发展需要,准备搭建一张全新的园区网络,对网络需求如下:
能够满足公司当前的业务需求
网络拓扑简单,维护方便
提供有线接入供员工办公使用,提供WiFi服务供访客使用
做到简单的网络流量管理
保证一定的安全性
园区网络项目生命周期

网络的规划与设计是一个项目的起点,完善细致的规划工作将为后续的项目具体工作打下坚实的基础。
项目实施是工程师交付项目的具体操作环节,系统的管理和高效的流程是确保项目实施顺利完成的基本要素。
要保证网络各项功能正常运行、从而支撑用户业务的顺利开展,需要对网络进行日常的维护工作和故障处理。
用户的业务在不断发展,因此用户对网络功能的需求也会不断变化。当现有网络不能满足业务需求,或网络在运行过程中暴露出了某些隐患时,就需要通过网络优化来解决。小型园区网络设计

组网方案设计

整个网络采用三层架构
接入层接入交换机采用S3700,为员工PC以及打印机等终端提供百兆网络接入。
汇聚层采用S5700设备,作为二层网络的网关。
核心&出口采用AR2240设备,作为整个园区网络的出口。
注:Agg为Aggregation的缩写,表示汇聚层设备。Acc为Access的缩写,表示接入层设备。基础业务设计:VLAN设计
VLAN编号建议连续分配,以保证VLAN资源合理利用。
VLAN划分需要区分业务VLAN、 管理VLAN和互联VLAN。
最常用的划分方式是基于接口的方式。

VLAN规划
预留二层设备的管理VLAN。
根据人员结构划分,分为访客VLAN,研发部VLAN,市场部VLAN,行政部VLAN。
考虑到三层交换机需要通过VLANIF与路由连通,所以需要预留互联VLAN。
AP与AC之间建立CAPWAP隧道所需要的VLAN。

基础业务设计:IP地址设计

IP地址规划
综合考虑接入客户端个数并预留足够的IP地址,为每类业务规划网段及网关地址。
为管理IP划分网段。
为互联IP划分网段。

基础业务设计:IP地址分配方式设计

IP地址分配时可以使用动态IP分配或者静态IP绑定。在中小型园区中, IP地址具体的分配原则如下:
出口网关设备: WAN侧接口的IP地址由运营商进行分配,可以通过静态IP地址、 DHCP、 或者PPPoE方式分配,对于出口网关的IP地址需要提前与运营商沟通获取。
服务器、特殊终端设备(打卡机、打印服务器、 IP视频监控设备等)建议采用静态IP地址绑定方式分配。
用户终端:用户办公用PC、IP电话等设备建议通过在网关设备上部署DHCP Server后,统一通过DHCP方式动态分配。IP地址分配方式规划
出口网关采用PPPoE方式获取IP地址。
所有终端采用DHCP方式获取IP地址,服务器及打印机分配固定的IP地址。
所有网络设备上的IP地址采用手工静态方式配置(AP除外)。

基础业务设计:路由设计

中小型园区网络的路由设计包括园区内部的路由设计及园区出口与Internet/广域设备之间的路由设计。
园区内部的路由设计:主要满足园区内部设备/终端的互通需求,并且可以与外部路由交互。由于中小型园 区的网络规模比较小,网络结构也比较简单。
园区出口的路由设计:出口路由设计主要满足园区内部用户访问Internet和广域网的需求。出口设备与 Internet或者WAN连接时,建议在出口设备上配置静态路由来满足需求。
WLAN设计

除了要规划组网和数据转发方式外,仍需进行:
网络覆盖设计:针对无线网络覆盖的区域设计规划,保证区域覆盖范围内的信号强度能满足用户的要求,并且解决相邻AP间的同频干扰问题。
网络容量设计:根据无线终端的带宽要求、终端数目、并发率、单AP性能等数据来设计部署网络所需的AP数量,确保无线网络性能可以满足所有终端的上网业务需求。
AP布放设计:在网络覆盖设计的基础上,根据实际情况对AP的实际布放位置、布放方式和供电走线原则进行修正确认。
此外还需进行WLAN安全设计、漫游设计等,本课程不再一一列举。WLAN数据规划

可靠性设计

二层环路避免

出口NAT设计

安全设计

运维管理设计

小型园区网络部署与实施
项目的部署与实施需要按照一定流程进行,内容包括:
方案制定
设备安装
网络调试
割接并网
转维培训
项目验收
配置方案
1.网络设备之间物理线路连接,配置链路聚合,同时添加接口描述,详细内容如下

2.基础业务-VLAN配置,采用基于端口的划分方式,详细内容如下






WLAN配置,按照WLAN规划内容进行配置即可。
安全相关配置,详细内容如下

小型园区网络调试

双绞线:当今以太网最常见的传输介质,按照抗电磁干扰能力还可以分为:
STP-屏蔽双绞线
UTP-非屏蔽双绞线
光纤传输,按照功能部件可分为:
光纤:光传输介质,简单的说,就是一根玻璃纤维,用于约束光传输的通道。
光模块:将电信号与光信号互转的器件,产生光信号。
串口电缆在WAN(Wide Area Network,广域网)中大规模使用,根据WAN线路类型不同,串口电缆在设备上连接的接口类型也不同:异/同步串口、ATM接口、POS接口、CE1/PRI接口等。
无线信号的传输可以通过电磁波进行,例如:无线路由器将数据通过调制以电磁波发送出去,移动终端的无线网卡将电磁波解调,得到数据,完成从无线路由器到移动终端的数据传输。假设你正在通过网页浏览器访问华为官网,当你输入完网址,敲下回车后,计算机内部会发生下列事情:
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作为数据链路层协议,故在IPv4模块完成封装之后,会将Packet交由数据链路层的Ethernet模块(例如以太网卡)处理。
7. Ethernet模块在收到IPv4模块传递来的Packet之后,添加上相应的Ethernet头部信息和FCS帧尾,此时的PDU被称为Frame(帧)。
8. 在Ethernet模块封装完毕之后,会将数据传递到物理层。
9. 根据物理介质的不同,物理层负责将数字信号转换成电信号,光信号,电磁波(无线)信号等。
10. 转换完成的信号在网络中开始传递。BIOS Creation Date : Jan 5 2020, 18:00:24
DDR DRAM init : OK
Start Memory Test ? ('t' or 'T' is test):skip
Copying Data : Done
Uncompressing : Done
……
Press Ctrl+B to break auto startup ... 1
Now boot from flash:/AR2220E-V200R007C00SPC600.cc,
……命令行举例:
<Huawei>system-view #用户首先进入用户视图,通过命令进入系统视图
[Huawei]interface GigabitEthernet 0/0/1 #在系统视图进入接口视图
[Huawei-GigabitEthernet0/0/1]ip address 192.168.1.1 24 #配置IP地址
[Huawei-GigabitEthernet0/0/1]quit #退回到上一个视图
[Huawei]ospf 1 #在系统视图进入协议视图
[Huawei-ospf-1]area 0 #在协议视图进入OSPF区域视图
[Huawei-ospf-1-area-0.0.0.0]return #返回用户视图
<Huawei><RTA>pwd
flash:
<RTA>dir
Directory of flash:/
Idx Attr Size(Byte) Date Time(LMT) FileName
0 drw- - Dec 27 2019 02:54:09 dhcp
1 -rw- 121,802 May 26 2014 09:20:58 portalpage.zip
2 -rw- 2,263 Dec 27 2019 02:53:59 statemach.efs
3 -rw- 828,482 May 26 2014 09:20:58 sslvpn.zip
1,090,732 KB total (784,464 KB free)
<RTA>mkdir test
<RTA>dir
Directory of flash:/
Idx Attr Size(Byte) Date Time(LMT) FileName
0 drw- - Dec 27 2019 02:54:39 test
1 drw- - Dec 27 2019 02:54:09 dhcp
2 -rw- 121,802 May 26 2014 09:20:58 portalpage.zip
3 -rw- 2,263 Dec 27 2019 02:53:59 statemach.efs
4 -rw- 828,482 May 26 2014 09:20:58 sslvpn.zip
1,090,732 KB total (784,460 KB free)
<RTA>rmdir test<RTA>rename huawei.txt save.zip
<RTA>dir
Directory of flash:/
Idx Attr Size(Byte) Date Time(LMT) FileName
0 drw- - Mar 04 2020 04:39:52 dhcp
1 -rw- 121,802 May 26 2014 09:20:58 portalpage.zip
2 -rw- 828,482 Mar 04 2020 04:51:45 save.zip
3 -rw- 2,263 Mar 04 2020 04:39:45 statemach.efs
4 -rw- 828,482 May 26 2014 09:20:58 sslvpn.zip
1,090,732 KB total (784,464 KB free)
<RTA>copy save.zip file.txt
<RTA>dir
Directory of flash:/
Idx Attr Size(Byte) Date Time(LMT) FileName
0 drw- - Mar 04 2020 04:39:52 dhcp
1 -rw- 121,802 May 26 2014 09:20:58 portalpage.zip
2 -rw- 828,482 Mar 04 2020 04:51:45 save.zip
3 -rw- 2,263 Mar 04 2020 04:39:45 statemach.efs
4 -rw- 828,482 May 26 2014 09:20:58 sslvpn.zip
5 -rw- 828,482 Mar 04 2020 04:56:05 file.txt
1,090,732 KB total (784,340 KB free)
<RTA>move file.txt flash:/dhcp/
<RTA>cd dhcp
<RTA>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time(LMT) FileName
0 -rw- 98 Dec 27 2019 02:54:09 dhcp-duid.txt
1 -rw- 121,802 Dec 27 2019 03:13:50 file.txt
1,090,732 KB total (784,344 KB free)
<RTA>delete file.txt
<RTA>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time(LMT) FileName
0 -rw- 98 Dec 27 2019 02:54:09 dhcp-duid.txt
1,090,732 KB total (784,340 KB free)
<RTA>undelete file.txt
<RTA>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time(LMT) FileName
0 -rw- 98 Dec 27 2019 02:54:09 dhcp-duid.txt
1 -rw- 121,802 Dec 27 2019 03:13:50 file.txt
1,090,732 KB total (784,340 KB free)配置接口地址
<Huawei>system-view
[Huawei]sysname AR1
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ip address 192.168.1.1 24
[AR1-GigabitEthernet0/0/1]quit
配置用户权限和用户认证
[AR1]user-interface vty 0 4
[AR1-ui-vty0-4]authentication-mode password
Please configure the login password (maximum length 16):huawei123
[AR1-ui-vty0-4]user privilege level 1
[AR1-ui-vty0-4]quit
配置系统下次启动文件
<AR1>save huawei.zip
Are you sure to save the configuration to huawei.zip? (y/n)[n]:y
It will take several minutes to save configuration file, please wait.........
Configuration file had been saved successfully
Note: The configuration file will take effect after being activated
<AR1>startup saved-configuration huawei.zip
<AR1>display startup
MainBoard:
Startup system software: null
Next startup system software: null
Backup system software for next startup: null
Startup saved-configuration file: flash:/vrpcfg.zip
Next startup saved-configuration file: flash:/huawei.zip
Startup license file: null
Next startup license file: null
Startup patch package: null
Next startup patch package: null
Startup voice-files: null
Next startup voice-files: nullIP Packet(IP数据包),其包头主要内容如下:
Version:4 bit,4:表示为IPv4;6:表示为IPv6。
Header Length:4 bit,首部长度,如果不带Option字段,则为20,最长为60。
Type of Service:8 bit,服务类型。只有在有QoS差分服务要求时,这个字段才起作用。
Total Length:16 bit,总长度,整个IP数据包的长度。
Identification:16 bit,标识,分片重组时会用到该字段。
Flags:3 bit,标志位。
Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。
Time to Live:8 bit,生存时间。
Protocol:8 bit,协议:下一层协议。指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。
常见值:
1: ICMP, Internet Control Message;
2: IGMP, Internet Group Management;
6: TCP , Transmission Control Protocol;
17: UDP, User Datagram Protocol。
Header Checksum:16 bit,首部检验和。
Source IP Address:32 bit,源IP地址。
Destination IP Address:32 bit,目的IP地址。
Options:可变,选项字段。
Padding:可变,填充字段,全填0。 网络号用于表示主机所在的网络,类似于“XX省XX市XX区XX小区”的作用。
主机号用于表示网络号所定义的网络范围内某个特定的主机接口,类似于门牌号“XX栋XX号”的作用。
网络寻址:
二层网络寻址:可直接通过IP地址,找到对应的主机接口。
三层网络寻址:利用网关转发来自不同网段之间的数据包。
网关:
报文转发过程中,首先需要确定转发路径以及通往目的网段的接口。如果目的主机与源主机不在同一网段,报文需要先转发到网关,然后通过网关将报文转发到目的网段。
网关是指接收并处理本地网段主机发送的报文并转发到目的网段的设备。为实现此功能,网关必须知道目的网段的路由。网关设备上连接本地网段的接口地址即为该网段的网关地址。为了解决IP地址短缺的问题,提出了私有地址的概念。私有地址是指内部网络或主机地址,这些地址只能用于某个内部网络,不能用于公共网络。
公网IP地址:连接到Internet的网络设备必须具有由ICANN分配的公网IP地址。
私网IP地址:私网IP地址的使用使得网络可以得到更为自由地扩展,因为同一个私网IP地址是可以在不同的私有网络中重复使用的。
私有网络连接到Internet:私有网络由于使用了私网IP地址,是不允许连接到Internet的。后来在实际需求的驱动下,许多私有网络也希望能够连接到Internet上,从而实现私网与Internet之间的通信,以及通过Internet实现私网与私网之间的通信。私网与Internet的互联,必须使用网络地址转换 (NAT)技术实现。
注:
NAT (Network Address Translation),网络地址转换,其基本作用是实现私网IP地址与公网IP地址之间的转换。
IANA (Internet Assigned Numbers Authority),因特网地址分配组织。255.255.255
这个地址称为有限广播地址,它可以作为一个IP报文的目的IP地址使用。
路由器接收到目的IP地址为有限广播地址的IP报文后,会停止对该IP报文的转发。
0.0.0.0
如果把这个地址作为网络地址,它的意思就是“任何网络”的网络地址;如果把这个地址作为主机接口地址,它的意思就是“这个网络上主机接口”的IP地址。
例如:当一个主机接口在启动过程中尚未获得自己的IP地址时,就可以向网络发送目的IP地址为有限广播地址、源IP地址为0.0.0.0的DHCP请求报文,希望DHCP服务器在收到自己的请求后,能够给自己分配一个可用的IP地址。
127.0.0.0/8
这个地址为环回地址,它可以作为一个IP报文的目的IP地址使用。其作用是测试设备自身的软件系统。
一个设备产生的、目的IP地址为环回地址的IP报文是不可能离开这个设备本身的。
169.254.0.0/16
如果一个网络设备获取IP地址的方式被设置成了自动获取方式,但是该设备在网络上又没有找到可用的DHCP服务器,那么该设备就会使用169.254.0.0/16网段的某个地址来进行临时通信。
注:DHCP (Dynamic Host Configuration Protocol),动态主机配置协议,用于动态分配网络配置参数,如IP地址。物理接口:物理接口是指网络设备上实际存在的接口,分为负责承担业务传输的业务接口和负责管理设备的管理接口,例如GE业务接口和MEth管理接口。
逻辑接口:逻辑接口是指能够实现数据交换功能但物理上不存在、需要通过配置建立的接口,需要承担业务传输,例如VLANIF接口、Loopback接口。
Loopback接口:用户需要一个接口状态永远是Up的接口的IP地址时,可以选择Loopback接口的IP地址。
Loopback接口一旦被创建,其物理状态和链路协议状态永远是Up,即使该接口上没有配置IP地址。
Loopback接口配置IP地址后,就可以对外发布。Loopback接口上可以配置32位掩码的IP地址,达到节省地址空间的目的。
Loopback接口不能封装任何链路层协议,数据链路层也就不存在协商问题,其协议状态永远都是Up。
对于目的地址不是本地IP地址,出接口是本地Loopback接口的报文,设备会将其直接丢弃。Destination/Mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。
Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。
Pre(Preference):表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。
Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。
Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。根据路由信息传递的内容、计算路由的算法,可以将动态路由协议分为两大类
距离矢量协议(Distance-Vector Protocol)
RIP
链路状态协议(Link-State Protocol)
OSPF
IS-IS
BGP使用一种基于距离矢量算法修改后的算法,该算法被称为路径矢量(Path Vector)算法。因此在某些场合下,BGP也被称为路径矢量路由协议。
根据工作范围不同,又可以分为
内部网关协议IGP(Interior Gateway Protocol):在一个自治系统内部运行。RIP、OSPF、ISIS为常见的IGP协议。
外部网关协议EGP(Exterior Gateway Protocol):运行于不同自治系统之间。BGP是目前最常用的EGP协议。OSPF是典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一。
目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。如无特殊说明本章后续所指的OSPF均为OSPF Version 2。
运行OSPF路由器之间交互的是LS(Link State,链路状态)信息,而不是直接交互路由。LS信息是OSPF能够正常进行拓扑及路由计算的关键信息。
OSPF路由器将网络中的LS信息收集起来,存储在LSDB中。路由器都清楚区域内的网络拓扑结构,这有助于路由器计算无环路径。
每台OSPF路由器都采用SPF算法计算达到目的地的最短路径。路由器依据这些路径形成路由加载到路由表中。
OSPF支持VLSM(Variable Length Subnet Mask,可变长子网掩码),支持手工路由汇总。
多区域的设计使得OSPF能够支持更大规模的网络。<R1> display ospf peer
OSPF Process 1 with Router ID 1.1.1.1
Neighbors
Area 0.0.0.0 interface 10.1.1.1(GigabitEthernet1/0/0)'s neighbors
Router ID: 2.2.2.2 Address: 10.1.1.2 GR State: Normal
State: Full Mode:Nbr is Master Priority: 1
DR: 10.1.1.1 BDR: 10.1.1.2 MTU: 0
Dead timer due in 35 sec
Retrans timer interval: 5
Neighbor is up for 00:00:05
Authentication Sequence: [ 0 ]<R1> display ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 98 36 8000000B 1
Router 1.1.1.1 1.1.1.1 92 36 80000005 1
Network 10.1.1.2 2.2.2.2 98 32 80000004 0 <R1> display ospf routing
OSPF Process 1 with Router ID 1.1.1.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
1.1.1.1/32 0 stub 1.1.1.1 1.1.1.1 0.0.0.0
10.1.1.0/20 1 Transit 10.1.1.1 1.1.1.1 0.0.0.0
2.2.2.2/32 1 stub 10.1.1.2 2.2.2.2 0.0.0.0
Total Nets: 3
Intra Area: 3 Inter Area: 0 ASE: 0 NSSA: 0邻居状态机从2-way转为Exstart状态后开始主从关系选举:
R1向R2发送的第一个DD报文内容为空,其Seq序列号假设为X。
R2也向R1发出第一个DD报文,其Seq序列号假设为Y。
选举主从关系的规则是比较Router ID,越大越优。R2的Router ID比R1大,因此R2成为真正的主设备。主从关系比较结束后,R1的状态从Exstart转变为Exchange。
R1邻居状态变为Exchange后,R1发送一个新的DD报文,包含自己LSDB的描述信息,其序列号采用主设备R2的序列号。R2收到后邻居状态从Exstart转变为Exchange。
R2向R1发送一个新的DD报文,包含自己LSDB的描述信息,序列号为Y+1。
R1作为从路由器需要对主路由R2发送的每个DD报文进行确认,回复报文的序列号与主路由R2一致。
发送完最后一个DD报文后,R1将邻居状态切换为Loading。如图所示输入display ospf peer命令之后,各项参数含义如下:
OSPF Process 1 with Router ID 1.1.1.1:本地OSPF进程号为1与本端OSPF Router ID为1.1.1.1
Router ID:邻居OSPF路由器ID
Address:邻居接口地址
GR State:使能OSPF GR功能后显示GR的状态(GR为优化功能),默认为Normal
State:邻居状态,正常情况下LSDB同步完成之后,稳定停留状态为Full
Mode:用于标识本台设备在链路状态信息交互过程中的角色是Master还是Slave
Priority:用于标识邻居路由器的优先级(该优先级用于后续DR角色选举)
DR:指定路由器
BDR:备份指定路由器
MTU:邻居接口的MTU值
Retrans timer interval:重传LSA的时间间隔,单位为秒
Authentication Sequence:认证序列号#配置R1的接口
[R1] interface LoopBack 0
[R1-LoopBack0] ip address 1.1.1.1 32
[R1-LoopBack0] interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0] ip address 10.1.12.1 30
#配置R2的接口
[R2] interface GigabitEthernet 0/0/0[R2-GigabitEthernet0/0/0] ip address 10.1.12.2 30[R2-GigabitEthernet0/0/0] interface GigabitEthernet 0/0/1[R2-GigabitEthernet0/0/1] ip address 10.1.23.1 30
#配置R3的接口
[R3] interface LoopBack 0
[R3-LoopBack0] ip address 3.3.3.3 32
[R3-LoopBack0] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] ip address 10.1.23.2 30
配置步骤:
创建并运行OSPF进程
创建并进入OSPF区域
指定运行OSPF的接口
#配置R1 OSPF协议
[R1] ospf 1 router-id 1.1.1.1
[R1-ospf-1] area 0
[R1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0] network 10.1.12.0 0.0.0.3
#配置R2 OSPF协议
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 10.1.12.0 0.0.0.3
[R2-ospf-1-area-0.0.0.0] area 1
[R2-ospf-1-area-0.0.0.1] network 10.1.23.0 0.0.0.3
#配置R3 OSPF协议
[R3] ospf 1 router-id 3.3.3.3
[R3-ospf-1] area 1
[R3-ospf-1-area-0.0.0.1] network 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.1] network 10.1.23.0 0.0.0.3在路由器R2上查看OSPF邻居表
<R2> display ospf peer brief
OSPF Process 1 with Router ID 2.2.2.2
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 1.1.1.1 Full
0.0.0.1 GigabitEthernet0/0/1 3.3.3.3 Full
邻居的状态 结果验证邻居状态为Full,即成功建立邻接关系
在路由器R1上查看路由表,并执行从源1.1.1.1 ping 3.3.3.3
<R1>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
3.3.3.3/32 OSPF 10 2 D 10.1.12.2 GigabitEthernet 0/0/0
10.1.12.0/30 Direct 0 0 D 10.1.12.1 GigabitEthernet 0/0/0
…
<R1>ping -a 1.1.1.1 3.3.3.3
PING 3.3.3.3: 56 data bytes, press CTRL_C to break
Reply from 3.3.3.3: bytes=56 Sequence=1 ttl=254 time=50 ms
从OSPF学习到3.3.3.3/32路由在以太网中,数据通信的基本单位是以太网帧 ( Frame )。以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式,因此协议规定以太网帧的数据格式如图所示。
Ethernet Ⅱ以太帧:
DMAC:6字节,目的MAC地址,6字节,该字段标识帧的接收者。
SMAC:6字节,源MAC地址,6字节,该字段标识帧的发送者。
Type:2字节,协议类型。常见值:
0x0800:Internet Protocol Version 4 (IPv4) ;
0x0806:Address Resolution Protocol (ARP) 。
IEEE 802.3 LLC以太帧:
逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成。
DSAP:1字节,目的服务访问点,若后面类型为IP值设为0x06。服务访问点的功能类似于Ethernet II帧中的Type字段或 TCP/UDP传输协议中的端口号。
SSAP:1字节,源服务访问点,若后面类型为IP值设为0x06。
Ctrl:1字节,该字段值通常设为0x03,表示无连接服务的IEEE 802.2无编号数据格式。 每个以太网设备在出厂时都有一个唯一的MAC地址,那为什么还需要为每台主机再分配一个IP地址呢?或者说每台主机都分配唯一的IP地址了,为什么还要在网络设备 (如:网卡) 生产时内嵌一个唯一的MAC地址呢?
主要原因有:
IP地址是根据网络的拓朴结构分配的,MAC地址是根据制造商分配的,若路由选择建立在设备制造商的基础上,这种方案是不可行的。
当存在两层地址寻址时,设备更灵活,易于移动和维修。
例如,如果一个以太网卡坏了,可以被更换,而无须更换一个新的IP地址;如果一个IP主机从一个网络移到另一个 网络,可以给它一个新的IP地址,而无须换一个新的网卡。
总结:
IP地址的作用是唯一标识网络中的一个节点,可以通过IP地址进行不同网段的数据访问。
MAC地址的作用是唯一标识一个网卡,可以通过MAC地址进行同网段的数据访问。vlan命令用来创建VLAN并进入VLAN视图,如果VLAN已存在,直接进入该VLAN的视图。
undo vlan用来删除指定VLAN。
缺省情况下,将所有接口都加入到一个缺省的VLAN中,该VLAN标识为1。
命令:
vlan vlan-id
vlan-id:指定VLAN ID。整数形式,取值范围是1~4094。
vlan batch { vlan-id1 [ to vlan-id2 ] }
batch:指定批量创建VLAN。
vlan-id1 to vlan-id2:指定批量创建的VLAN ID,其中:
vlan-id1表示第一个VLAN的编号。
vlan-id2表示最后一个VLAN的编号。vlan-id2的取值必须大于等于vlan-id1,它与vlan-id1共同确定一个VLAN范围。
如果不指定to vlan-id2参数,则只创建vlan-id1所指定的VLAN。
vlan-id1和vlan-id2是整数形式,取值范围是1~4094。命令:port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] | all }
vlan-id1 [ to vlan-id2 ]:指定Trunk类型接口加入的VLAN,其中:
vlan-id1表示第一个VLAN的编号。
to vlan-id2表示最后一个VLAN的编号。vlan-id2的取值必须大于等于vlan-id1的取值。
vlan-id1和vlan-id 2为整数形式,取值范围是1~4094。
all:指定Trunk接口加入所有VLAN。
命令:port trunk pvid vlan vlan-id,设置Trunk类型接口的缺省VLAN。
vlan-id:指定Trunk类型接口的缺省VLAN编号。整数形式,取值范围是1~4094。命令:port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
vlan-id1 [ to vlan-id2 ]:指定Hybrid类型接口加入的VLAN,其中:
vlan-id1表示第一个VLAN的编号。
to vlan-id2表示最后一个VLAN的编号。vlan-id2的取值必须大于等于vlan-id1的取值。
vlan-id1和vlan-id 2为整数形式,取值范围是1~4094。
all:指定Hybrid接口加入所有VLAN。
命令:port hybrid tagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
vlan-id1 [ to vlan-id2 ]:指定Hybrid类型接口加入的VLAN,其中:
vlan-id1表示第一个VLAN的编号。
to vlan-id2表示最后一个VLAN的编号。vlan-id2的取值必须大于等于vlan-id1的取值。
vlan-id1和vlan-id 2为整数形式,取值范围是1~4094。
all:指定Hybrid接口加入所有VLAN。
命令:port hybrid pvid vlan vlan-id,设置Hybrid类型接口的缺省VLAN。
vlan-id:指定Hybrid类型接口的缺省VLAN编号。整数形式,取值范围是1~4094。创建VLAN:
SW1] vlan 10
[SW1-vlan10] quit
[SW1] vlan 20
[SW1-vlan20] quit
[SW2] vlan batch 10 20
配置Access接口,并加入对应的VLAN
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-GigabitEthernet0/0/1] port default vlan 10
[SW1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1] vlan 20
[SW1-vlan20] port GigabitEthernet0/0/2
[SW1-vlan20] quit
配置Trunk接口,并创建对应的允许通过列表
[SW1] interface GigabitEthernet 0/0/3
[SW1-GigabitEthernet0/0/3] port link-type trunk
[SW1-GigabitEthernet0/0/3] port trunk pvid vlan 1
[SW1-GigabitEthernet0/0/3] port trunk allow-pass vlan 10 20
验证配置
[SW1]display vlan
The total number of vlans is : 3
-------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
-------------------------------------------------------------------------------
VID Type Ports
-------------------------------------------------------------------------------
1 common UT:GE0/0/3(U) ……
10 common UT:GE0/0/1(U)
TG:GE0/0/3(U)
20 common UT:GE0/0/2(U)
TG:GE0/0/3(U)
命令:display vlan命令用来查看VLAN的相关信息。
输出信息:
Tagged/Untagged Port:手动加入本VLAN的接口,分为Tagged和Untagged方式。
VID或VLAN ID:VLAN编号。
Type或VLAN Type:VLAN类型,common指普通VLAN。
Ports:加入该VLAN的接口。SW1的配置如下:
[SW1] vlan batch 10 20 100
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type hybrid
[SW1-GigabitEthernet0/0/1] port hybrid pvid vlan 10
[SW1-GigabitEthernet0/0/1] port hybrid untagged vlan 10 100
[SW1-GigabitEthernet0/0/1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type hybrid
[SW1-GigabitEthernet0/0/2] port hybrid pvid vlan 20
[SW1-GigabitEthernet0/0/2] port hybrid untagged vlan 20 100
[SW1-GigabitEthernet0/0/2] interface GigabitEthernet 0/0/3
[SW1-GigabitEthernet0/0/3] port link-type hybrid
[SW1-GigabitEthernet0/0/3] port hybrid tagged vlan 10 20 100
SW2的配置如下
[SW2] vlan batch 10 20 100
[SW2] interface GigabitEthernet 0/0/1
[SW2-GigabitEthernet0/0/1] port link-type hybrid
[SW2-GigabitEthernet0/0/1] port hybrid pvid vlan 100
[SW2-GigabitEthernet0/0/1] port hybrid untagged vlan 10 20 100
[SW2-GigabitEthernet0/0/1] interface GigabitEthernet 0/0/3
[SW2-GigabitEthernet0/0/3] port link-type hybrid
[SW2-GigabitEthernet0/0/3] port hybrid tagged vlan 10 20 100
验证配置
[SW1]display vlan
The total number of vlans is : 4
-----------------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
-----------------------------------------------------------------------------------------
VID Type Ports
-----------------------------------------------------------------------------------------
1 common UT:GE0/0/1(U) GE0/0/2(U) GE0/0/3(U) ……
10 common UT:GE0/0/1(U)
TG:GE0/0/3(U)
20 common UT:GE0/0/2(U)
TG:GE0/0/3(U)
100 common UT:GE0/0/1(U) GE0/0/2(U)
TG:GE0/0/3(U)
……创建VLAN
[SW1] vlan 10
[SW1-vlan10] quit
[SW1] vlan 10
[SW1-vlan10] mac-vlan mac-address 001e-10dd-dd01 [SW1-vlan10] mac-vlan mac-address 001e-10dd-dd02 [SW1-vlan10] mac-vlan mac-address 001e-10dd-dd03 [SW1-vlan10] quit
加入VLAN
[SW1] interface gigabitethernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type hybrid
[SW1-GigabitEthernet0/0/1] port hybrid tagged vlan 10
[SW1] interface gigabitethernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type hybrid
[SW1-GigabitEthernet0/0/2] port hybrid untagged vlan 10
使能接口的基于MAC地址划分VLAN功能
[SW1] interface gigabitethernet 0/0/2
[SW1-GigabitEthernet0/0/2] mac-vlan enable
[SW1-GigabitEthernet0/0/2] quit
配置接口为Hybrid接口:在Access接口和Trunk接口上,只有基于MAC划分的VLAN和PVID相同时,才能使用MAC VLAN功能。所以基于MAC地址划分VLAN推荐在Hybrid口上配置。
验证配置
[SW1]display vlan
The total number of vlans is : 2
-----------------------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
-----------------------------------------------------------------------------------------------
VID Type Ports
-----------------------------------------------------------------------------------------------
1 common UT:GE0/0/1(U) GE0/0/2(U) GE0/0/3(U) ……
10 common UT:GE0/0/2(U) GE0/0/3(U) GE0/0/4(U)
TG:GE0/0/1(U)
……
[SW1]display mac-vlan mac-address all
----------------------------------------------------------------------
MAC Address MASK VLAN Priority
----------------------------------------------------------------------
001e-10dd-dd01 ffff-ffff-ffff 10 0
001e-10dd-dd02 ffff-ffff-ffff 10 0
001e-10dd-dd03 ffff-ffff-ffff 10 0
Total MAC VLAN address count: 3SW1的配置如下
[SW1] stp mode stp
[SW1] stp enable
[SW1] stp priority 0
SW2的配置如下
[SW2] stp mode stp
[SW2] stp enable
[SW2] stp priority 4096
SW3的配置如下
[SW3] stp mode stp
[SW3] stp enable
在SW3上查看STP接口状态摘要
<SW3> display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/21 ROOT FORWARDING NONE
0 GigabitEthernet0/0/22 ALTE DISCARDING NONEACL的组成:
ACL编号:在网络设备上配置ACL时,每个ACL都需要分配一个编号,称为ACL编号,用来标识ACL。不同分类的ACL编号范围不同,这个后面具体讲。
规则:前面提到了,一个ACL通常由若干条“permit/deny”语句组成,每条语句就是该ACL的一条规则。
规则编号:每条规则都有一个相应的编号,称为规则编号,用来标识ACL规则。可以自定义,也可以系统自动分配。ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。
动作:每条规则中的permit或deny,就是与这条规则相对应的处理动作。permit指“允许”,deny指“拒绝”,但是ACL一般是结合其他技术使用,不同的场景,处理动作的含义也有所不同。
比如:ACL如果与流量过滤技术结合使用(即流量过滤中调用ACL),permit就是“允许通行”的意思,deny就是“拒绝通行”的意思。
匹配项:ACL定义了极其丰富的匹配项。例子中体现的源地址,ACL还支持很多其他规则匹配项。例如,二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型)、三层报文信息(如目的地址、协议类型)以及四层报文信息(如TCP/UDP端口号)等。1、Router已完成IP地址和路由的相关配置。
2、创建高级ACL 3001并配置ACL规则,拒绝研发部访问市场部的报文:
[Router] acl 3001
[Router-acl-adv-3001] rule deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
[Router-acl-adv-3001] quit
3、创建高级ACL 3002并配置ACL规则,拒绝市场部访问研发部的报文:
[Router] acl 3002
[Router-acl-adv-3002] rule deny ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
[Router-acl-adv-3002] quit
4、由于研发部和市场部互访的流量分别从接口GE0/0/1和GE0/0/2进入Router,所以在接口GE0/0/1和GE0/0/2的入方向配置流量过滤:
[Router] interface GigabitEthernet 0/0/1
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 3001
[Router-GigabitEthernet0/0/1] quit
[Router] interface GigabitEthernet 0/0/2
[Router-GigabitEthernet0/0/2] traffic-filter inbound acl 3002
[Router-GigabitEthernet0/0/2] quit
配置步骤:
由于研发部和市场部互访的流量分别从接口GE0/0/1和GE0/0/2进入Router,所以在接口GE0/0/1和GE0/0/2的入方向配置流量过滤。
注:
traffic-filter命令,用来在接口上配置基于ACL对报文进行过滤。
命令格式:traffic-filter { inbound | outbound } acl { acl-number | name acl-name }
inbound:指定在接口入方向上配置报文过滤。
outbound:指定在接口出方向上配置报文过滤。
acl:指定基于IPv4 ACL对报文进行过滤。[R1]aaa
[R1-aaa]local-user huawei password cipher huawei123
[R1-aaa]local-user huawei service-type telnet
[R1-aaa]local-user huawei privilege level 0
[R1]user-interface vty 0 4
[R1-ui-vty0-4]authentication-mode aaa
配置验证
AAA中,每个域都会与相应的认证授权和计费方案相关联,当前为默认域。
[R1]display domain name default_admin
Domain-name: default_admin
Domain-state: Active
Authentication-scheme-name: default
Accounting-scheme-name: default
Authorization-scheme-name: -
Service-scheme-name: -
RADIUS-server-template: -
HWTACACS-server-template: -
User-group:
display domain [ name domain-name ]命令用来查看域的配置信息。
Domain-state为Active表示激活状态。
如果用户名后不带有@,则用户属于系统缺省域,华为设备支持两种缺省域:
default域为普通用户的缺省域。
default_admin域为管理用户的缺省域。
用户正常登录并且下线之后可以看到用户的记录信息
[R1]display aaa offline-record all
-------------------------------------------------------------------
User name: huawei
Domain name: default_admin
User MAC: 00e0-fc12-3456
User access type: telnet
User IP address: 10.1.1.2
User ID: 1
User login time: 2019/12/28 17:59:10
User offline time: 2019/12/28 18:00:04
User offline reason: user request to offline
display aaa offline-record命令用来查看系统中用户下线的记录<FTP Client>ftp 10.1.1.1
Trying 10.1.1.1 ...
Press CTRL+K to abort
Connected to 10.1.1.1.
220 FTP service ready.
User(10.1.1.1:(none)):ftp
331 Password required for ftp.
Enter password:
230 User logged in.<Huawei> system-view
[Huawei] sysname FTP_Server
[FTP_Server] ftp server enable
[FTP_Server] aaa
[FTP_Server-aaa] local-user admin1234 password irreversible-cipher Helloworld@6789
[FTP_Server-aaa] local-user admin1234 privilege level 15
[FTP_Server-aaa] local-user admin1234 service-type ftp
[FTP_Server-aaa] local-user admin1234 ftp-directory flash:<Huawei> system-view
[Huawei] telnet server enable
[Huawei] aaa
[Huawei-aaa] local-user huawei password irreversible-cipher Huawei@123
[Huawei-aaa] local-user huawei privilege level 15
[Huawei-aaa] local-user huawei service-type telnet
[Huawei-aaa] quit
[Huawei] user-interface vty 0 4
[Huawei-ui-vty0-4] authentication-mode aaa
Telnet 客户端操作
<Host>telnet 10.1.1.2
Login authentication
Username:huawei
Password:
Info: The max number of VTY users is 5, and the number
of current VTY users on line is 1.
The current login time is 2020-01-08 15:37:25.
<Huawei>[Huawei]dhcp enable
[Huawei]interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/0]dhcp select interface
[Huawei-GigabitEthernet0/0/0]dhcp server dns-list 10.1.1.2
[Huawei-GigabitEthernet0/0/0]dhcp server excluded-ip-address 10.1.1.2
[Huawei-GigabitEthernet0/0/0]dhcp server lease day 3
全局使能DHCP服务,进入接口视图下,关联当前接口到DHCP地址池,在接口视图下配置DNS地址、排除地址(将接口自身地址排除在外),同时配置给客户端分配IP地址的租期。[Huawei]dhcp enable
[Huawei]ip pool pool2
Info: It's successful to create an IP address pool.
[Huawei-ip-pool-pool2]network 1.1.1.0 mask 24
[Huawei-ip-pool-pool2]gateway-list 1.1.1.1
[Huawei-ip-pool-pool2]dns-list 1.1.1.1
[Huawei-ip-pool-pool2]lease day 10
[Huawei-ip-pool-pool2]quit
[Huawei]interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/1]dhcp select global
全局使能DHCP服务,配置全局地址池pool2。在pool2中配置地址池范围、网关地址、DNS地址、租期。
最后在具体的接口中配置选择全局地址池。当GE0/0/0收到DHCP请求就会从全局地址池中进行IP地址分配。IEEE 802.11标准聚焦在TCP/IP对等模型的下两层:
数据链路层:主要负责信道接入、寻址、数据帧校验、错误检测、安全机制等内容。
物理层:主要负责在空口(空中接口)中传输比特流,例如规定所使用的频段等。
Wi-Fi联盟成立于1999年,当时的名称叫做Wireless Ethernet Compatibility Alliance(WECA)。在2002年10月,正式改名为Wi-Fi Alliance。
IEEE 802.11第一个版本发表于1997年。此后,更多的基于IEEE 802.11的补充标准逐渐被定义,最为熟知的是影响Wi-Fi代际演进的标准:802.11b、802.11a、802.11g、802.11n、802.11ac等。
在IEEE 802.11ax标准推出之际,Wi-Fi联盟将新Wi-Fi规格的名字简化为Wi-Fi 6,主流的IEEE 802.11ac改称Wi-Fi 5、IEEE 802.11n改称Wi-Fi 4,其他世代以此类推。极低频 (3Hz–30Hz):潜艇通讯或直接转换成声音。
超低频 (30Hz–300Hz) :直接转换成声音或交流输电系统(50-60赫兹)。
特低频 (300Hz–3KHz) :矿场通讯或直接转换成声音。
甚低频 (3KHz–30KHz) :直接转换成声音、超声、地球物理学研究。
低频 (30KHz–300KHz) :国际广播。
中频 (300KHz–3MHz) :调幅(AM)广播、海事及航空通讯。
高频 (3MHz–30MHz) :短波、民用电台。
甚高频 (30MHz–300MHz) :调频(FM)广播、电视广播、航空通讯。
特高频 (300MHz–3GHz) :电视广播、无线电话通讯、无线网络、微波炉。
超高频 (3GHz–30GHz) :无线网络、雷达、人造卫星接收。
极高频 (30GHz–300GHz) :射电天文学、遥感、人体扫描安检仪。
300GHz以上:红外线、可见光、紫外线、射线等。1、S1、S2、AC创建对应VLAN及接口。
S1配置:
[S1] vlan batch 100
[S1] interface gigabitethernet 0/0/1
[S1-GigabitEthernet0/0/1] port link-type trunk
[S1-GigabitEthernet0/0/1] port trunk pvid vlan 100
[S1-GigabitEthernet0/0/1] port trunk allow-pass vlan 100
[S1-GigabitEthernet0/0/1] quit
[S1] interface gigabitethernet 0/0/2
[S1-GigabitEthernet0/0/2] port link-type trunk
[S1-GigabitEthernet0/0/2] port trunk allow-pass vlan 100
[S1-GigabitEthernet0/0/2] quit
S2配置:
[S2] vlan batch 100 101
[S2] interface gigabitethernet 0/0/1
[S2-GigabitEthernet0/0/1] port link-type trunk
[S2-GigabitEthernet0/0/1] port trunk allow-pass vlan 100
[S2-GigabitEthernet0/0/1] quit
[S2] interface gigabitethernet 0/0/2
[S2-GigabitEthernet0/0/2] port link-type trunk
[S2-GigabitEthernet0/0/2] port trunk allow-pass vlan 100 101
[S2-GigabitEthernet0/0/2] quit
[S2] interface gigabitethernet 0/0/3
[S2-GigabitEthernet0/0/3] port link-type trunk
[S2-GigabitEthernet0/0/3] port trunk allow-pass vlan 101
[S2-GigabitEthernet0/0/3] quit
AC配置
[AC] vlan batch 100 101
[AC] interface gigabitethernet 0/0/1
[AC-GigabitEthernet0/0/1] port link-type trunk
[AC-GigabitEthernet0/0/1] port trunk allow-pass vlan 100 101
[AC-GigabitEthernet0/0/1] quit
2、配置DHCP服务器为STA和AP分配IP地址。
# 在AC上配置VLANIF100接口为AP提供IP地址。
[AC] dhcp enable
[AC] interface vlanif 100
[AC-Vlanif100] ip address 10.23.100.1 24
[AC-Vlanif100] dhcp select interface
# 在S2上配置VLANIF101接口为STA提供IP地址,并指定10.23.101.1作为STA的默认网关地址。
[S2] dhcp enable
[S2] interface vlanif 101
[S2-Vlanif101] ip address 10.23.101.1 24
[S2-Vlanif101] dhcp select interface1、创建AP组。
[AC] wlan
[AC-wlan-view] ap-group name ap-group1
[AC-wlan-ap-group-ap-group1] quit
2、创建域管理模板,并配置AC的国家码
AC-wlan-view] regulatory-domain-profile name default
[AC-wlan-regulate-domain-default] country-code cn
[AC-wlan-regulate-domain-default] quit
[AC-wlan-view] ap-group name ap-group1
[AC-wlan-ap-group-ap-group1] regulatory-domain-profile default
Warning: Modifying the country code will clear channel, power and antenna gain configurations of the radio and reset the AP. Continu
e?[Y/N]:y
[AC-wlan-ap-group-ap-group1] quit
[AC-wlan-view] quit
3、配置AC的源接口
[AC] capwap source interface vlanif 100
4、在AC上离线导入AP
[AC] wlan
[AC-wlan-view] ap auth-mode mac-auth
[AC-wlan-view] ap-id 0 ap-mac 60de-4476-e360
[AC-wlan-ap-0] ap-name area_1
Warning: This operation may cause AP reset. Continue? [Y/N]:y
[AC-wlan-ap-0] ap-group ap-group1
Warning: This operation may cause AP reset. If the country code changes, it will clear channel, power and antenna gain configurations of the radio, Whether to continue? [Y/N]:y
[AC-wlan-ap-0] quit
在AC上离线导入AP
将AP加入AP组“ap-group1”中。假设AP的MAC地址为60de-4476-e360,并且根据AP的部署位置为AP配置名称,便于从名称上就能够了解AP的部署位置。例如MAC地址为60de-4476-e360的AP部署在1号区域,命名此AP为area_1。
查看AP上线
将AP上电后,当执行命令display ap all查看到AP的“State”字段为“nor”时,表示AP正常上线。
[AC-wlan-view] display ap all
Total AP information:
nor : normal [1]
Extra information:
P : insufficient power supply
-------------------------------------------------------------------------------------------------------------------------
ID MAC Name Group IP Type State STA Uptime ExtraInfo
-------------------------------------------------------------------------------------------------------------------------
0 60de-4476-e360 area_1 ap-group1 10.23.100.254 AP5030DN nor 0 10S -
-------------------------------------------------------------------------------------------------------------------------
Total: 11、创建名为“wlan-net”的安全模板,并配置安全策略。
[AC-wlan-view] security-profile name wlan-net
[AC-wlan-sec-prof-wlan-net] security wpa-wpa2 psk pass-phrase a1234567 aes
[AC-wlan-sec-prof-wlan-net] quit
2、创建名为“wlan-net”的SSID模板,并配置SSID名称为“wlan-net”。
[AC-wlan-view] ssid-profile name wlan-net
[AC-wlan-ssid-prof-wlan-net] ssid wlan-net
[AC-wlan-ssid-prof-wlan-net] quit
3、创建名为“wlan-net”的VAP模板,配置业务数据转发模式、业务VLAN,并且引用安全模板和SSID模板。
[AC-wlan-view] vap-profile name wlan-net
[AC-wlan-vap-prof-wlan-net] forward-mode tunnel
[AC-wlan-vap-prof-wlan-net] service-vlan vlan-id 101
[AC-wlan-vap-prof-wlan-net] security-profile wlan-net
[AC-wlan-vap-prof-wlan-net] ssid-profile wlan-net
[AC-wlan-vap-prof-wlan-net] quit
4、配置AP组引用VAP模板,AP上射频0和射频1都使用VAP模板“wlan-net”的配置。
[AC-wlan-view] ap-group name ap-group1
[AC-wlan-ap-group-ap-group1] vap-profile wlan-net wlan 1 radio 0
[AC-wlan-ap-group-ap-group1] vap-profile wlan-net wlan 1 radio 1
[AC-wlan-ap-group-ap-group1] quit
查看VAP模板信息
WLAN业务配置会自动下发给AP,配置完成后,通过执行命令display vap ssid wlan-net查看如下信息,当“Status”项显示为“ON”时,表示AP对应的射频上的VAP已创建成功。
[AC-wlan-view] display vap ssid wlan-net
WID : WLAN ID
-----------------------------------------------------------------------------------------------------------------
AP ID AP name RfID WID BSSID Status Auth type STA SSID
-----------------------------------------------------------------------------------------------------------------
0 area_1 0 1 60DE-4476-E360 ON WPA/WPA2-PSK 0 wlan-net
0 area_1 1 1 60DE-4476-E370 ON WPA/WPA2-PSK 0 wlan-net
-----------------------------------------------------------------------------------------------------------------
Total: 2
3.在R2上配置DHCPv6服务器功能,R3接口通过DHCPv6方式获取全球单播地址
[R2]dhcp enable
[R2]dhcpv6 pool pool1
[R2-dhcpv6-pool-pool1]address prefix 2002::/64
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]dhcpv6 server pool1
[R3]dhcp enable
[R3]interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0]ipv6 address auto dhcp
4.在R2使能发布RA报文的功能,R4通过无状态地址配置的方式获取地址
[R2]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]undo ipv6 nd ra halt
[R4]interface GigabitEthernet 0/0/0
[R4-GigabitEthernet0/0/0]ipv6 address auto global
5.在R4上配置静态路由
[R4]ipv6 route-static 2001:: 64 2003::1
[R4]ipv6 route-static 2002:: 64 2003::1
6.在R1上配置聚合后的静态路由
[R1]ipv6 route-static 2002:: 15 2001::2
7.在R3上配置默认路由
[R3]ipv6 route-static :: 0 2002::1 Controller-to-Switch子类型:
Features消息:在SSL/TCP会话建立后,Controller给Switch发送Features请求Switch的相关信息。Switch必须应答自己支持的功能,包括接口名、接口MAC地址、接口支持的速率等等基本信息。
Configuration消息:Controller可以设置或查询Switch的状态。
Modify-State消息:Controller发送该消息给Switch,来管理Switch的状态,即增加/删除、更改流表,并设置Switch的端口属性。
Read-State消息:Controller用该消息收集Switch上的统计信息。
Send-Packet消息:Controller发送该消息到Switch的特定端口。
Asynchronous子类型:
Packet-in消息:当Flow Table中没有匹配的表项或者匹配“send to Controller”,Switch将给Controller发送packet-in消息。
Packet-out消息:从控制器回复的消息。
Flow-Removed消息:当给Switch增加一条表项时,会设定超时周期。当时间超时后,该条目就会被删除。这时Switch就会给Controller发送Flow-Removed消息;当流表中有条目要删除时,Switch也会给Controller发送该消息。
Port-status消息:当数据路径接口被添加、删除、修改的时候,此消息用于通知控制器。
Symmetric子类型:
Hello消息:当一个OpenFlow连接建立时,Controller和Switch都会立刻向对端发送OFPT_HELLO消息,该消息中的version域填充发送方支持的OpenFlow协议最高的版本号;接收方收到该消息后,接收方会计算协议版本号,即在发送方和接收方的版本号中选择一个较小的;如果接收方支持该版本,则继续处理连接,连接成功;否则,接收者回复一个OFPT_ERROR消息,类型域中填充ofp_error_type.OFPET_HELLO_FAILED
Echo消息: Switch和Controller任何一方都可以发起Echo request消息,但收到的一方必须回应Echo reply消息。这个消息可以来测量latency、Controller-Switch之间的连接性,即心跳消息;
Error消息:当交换机需要通知控制器发生问题或错误时,Switch给Controller 发送Error消息。
OpenFlow协议仍在持续更新。更多更全的消息类型请参考ONF最新发布《OpenFlow Switch Specification》标准。配置设备接口地址
[Huawei] interface GE 1/0/0
[Huawei -GE1/0/0] ip add 192.168.10.10 24
[Huawei -GE1/0/0] quit
配置设备Telnet服务
[Huawei] user-interface vty 0 4
[Huawei-ui-vty0-4] authentication-mode password
[Huawei-ui-vty0-4] set authentication password simple Huawei@123
[Huawei-ui-vty0-4] protocol inbound telnet
[Huawei-ui-vty0-4] user privilege level 15
[Huawei-ui-vty0-4] quit
[Huawei] telnet server enable 登录命令 --
回显信息
C:UsersRichard>telnet 192.168.10.10
Login authentication
输入密码 --
回显信息 Password:
Info: The max number of VTY users is 5, and the number of current VTY users on line is 1. The current login time is 2020-01-15 21:12:57.
<Huawei>手动Telnet登录结果:
C:UsersRichard>telnet 192.168.10.10
Login authentication
Password:
Info: The max number of VTY users is 5, and the number of current VTY users on line is 1. The current login time is 2020-01-15 21:12:57.
<Huawei>
Python代码运行结果
#编译器运行Python代码
Info: The max number of VTY users is 5, and the number
of current VTY users on line is 1.
The current login time is 2020-01-15 22:12:57.
<Huawei>园区网络典型层次和区域:
核心层:是园区网骨干,是园区数据交换的核心,联接园区网的各个组成部分,如数据中心、管理中心、园区出口等。
汇聚层:处于园区网的中间层次,完成数据汇聚或交换的功能,可以提供一些关键的网络基本功能,如路由、 QoS、安全等。
接入层:为终端用户提供园区网接入服务,是园区网的边界。
出口区:园区内部网络到外部网络的边界,用于实现内部用户接入到公网,外部用户接入到内部网络。一般会在此区域中部署大量的网络安全设备来抵御外部网络的攻击,如IPS(intrusion prevention system,入侵防御系统)、Anti-DDoS设备、Firewall(防火墙)等。
数据中心区:部署服务器和应用系统的区域,为企业内部和外部用户提供数据和应用服务。
网络管理区:部署网络管理系统的区域,包括SDN控制器,无线控制器,eLOG(日志服务器)等,管理监控整个园区网络。