admin 管理员组

文章数量: 887021

HCIA笔记

传输介质简介

介质

以太网标准电缆类别最长有效传输距离说明
10BASE5粗同轴电缆500米N型接头,线缆直径9.5mm
10BASE2细同轴电缆185米BNC接头,线缆直径5mm
10BASE-T两对3/4/5类双绞线100米RJ-45
100BASE-TX两对5类双绞线100米1对发,1对收
100BASE-T4四对3类双绞线100米3对传输,1对冲突检测
1000ABSE-T四对5e类双绞线100米-
1000BASE-CX屏蔽双绞线25米-
10BASE-F单模/多模光纤2000米-
100BASE-FX单模/多模光纤2000米-
1000BASE-LX单模/多模光纤316米1300nm单模传输距离为3000米
1000BASE-SX多模光纤316米波长850nm,300-550米传输
-串口V.24-常用RS-232协议,速率1.2Kbit/s-64Kbit/s
-串口V.351200米常用RS-422、RS-485协议,帧中继、ATM网络上使用,速率1.2Kbit/s-2.048Mbit/s

注意:单模光纤只能传输一种模式的光,不存在模间色散,因此适合长距离高速传输。多模光纤允许不同模式的光在一根光纤上传输,由于模间色散较大而导致信号脉冲展宽严重,因此多模光纤主要用于局域网中短距离传输。

常用光纤连接器包括:ST、FC、SC、LC

冲突域

场景:每个主机用同一根同轴电缆通信,这根同轴电缆被称为共享介质,该网络被称为共享式网络,共享式网络中,不同主机同时发送数据,就会产生信号冲突问题,解决方法是采用CSMA/CD,即载波侦听多路访问/冲突检测技术。

CSMA/CD工作过程:
1、不断检测线路空闲状态,不空闲时由退避算法决定等待时间后继续检测,否则就发送数据;
2、两台设备同时发送数据时产生冲突;
3、检测到冲突后,会马上停止发送数据,并发送特殊阻塞信息;
4、再由退避算法等待一段时间发送数据;
总结:先听后发、边发边听、冲突停发、随机延迟后重发;

双工模式

同一物理链路上两台设备双工模式必须一致。

模式类似说明
半双工对讲机模式共享介质的通信必须采用CSMA/CD机制,如10BASE5以太网必须是半双工
全双工电话网络双向通信,不需要CSMA/CD机制,如10BASE-T以太网可以全双工

总结

  • 千兆以太网必须使用超5类标准以上双绞线,或千兆及更高等级的光纤;
  • 冲突域是通过共享介质进行双向传输的所有节点的集合。冲突域中的主机发送数据时,到达目的地之前可能会发生冲突。
  • CSMA/CD是一种在共享式网络上检测并避免冲突的机制;

以太网帧结构

网络通信协议

各大通信协议:IBM公司的SNA协议、Novell公司的IPX/SPX协议、国际标准化组织ISO的OSI模型、TCP/IP模型。
以太网之外,还有用于管理物理数据在广域网中传输的标准,如PPP点对点协议,HDLC高级数据链路控制协议。

分层模型-OSI

名称用途相关协议
7应用层为应用程序提供网络服务HTTP、FTP、SMTP、TELNET、POP3 NNTP、IMAP4、SOCKS、QQ、BT、DNS等
6表示层数据格式化,加密、解密,确保应用层发送的数据能被另一个系统应用层识别LPP、NBSSN、XDP等
5会话层负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用层程序之间的服务请求和响应组成安全套接字SSL、TLS、DAP、LDAP、远程过程调用协议RPC等
4传输层提供面向连接或非面向连接的数据传递以及进行重传前的差错检测TCP传输控制协议、UDP用户数据报协议
3网络层IP寻址和路由选择IP、RIP2、EIGRP、OSPF、VRRP、EGP、互联网控制信息协议ICMP等
2数据链路层将比特合成字节,再将字节组合成帧,使用链路层地址MAC来访问介质,并进行差错检测VLAN 802.1Q、STP、ISL、VTP VLAN等
1物理层在设备之间传输比特流,规定了电平、速度和电缆针脚1000BASE-LX、1000BASE-T等

分层模型-TCP/IP

名称说明
4应用层对应OSI的:应用层、表示层、会话层
3传输层数据段Segment(TCP报头),对应OSI的:传输层
2网络层数据包Packet(IP报头),对应OSI的:网络层
1网络接口层比特Bit->帧Frame,对应OSI的:数据链路层、物理层

帧格式

根据IEEE 802.3标准管理和控制数据帧,封装包含头部尾部信息,封装信息决定数据如何传输。以太网上传输的数据帧有两种格式,由网络层决定使用哪种,用Length/Type的字段值判断两种帧格式属于哪种,小于等于1500为802.3帧,大于等于1536时为EthernetII帧,以太网大多数的数据帧使用EthernetII帧

  • EthernetII帧格式(DIX v2格式):
D.MACS.MACTypeDataFCS
6字节6字节2字节46-1500字节4字节
目的MAC地址源MAC地址类型字段,值为0x0800时为IP协议帧,值为0x0806时代表ARP协议帧网络层数据循环冗余校验字段

Length/Type >= 1536(0x0600),数据帧长度在64-1518字节之间。

  • IEEE802.3帧格式:
D.MACS.MACLengthLLCSNAPDataFCS
6字节6字节2字节3字节5字节38-1492字节4字节
目的MAC地址源MAC地址定义了Data字段包含的字节数逻辑链路控制子层,由目的服务访问点D.SAP(1B)、原服务访问点S.SAP(1B)、Control(1B)组成,DSAP、SSAP都为0xff时,为Netware-ETHERNET帧,承载NetWare类型数据,都为0xaa时,为ETHERNET_SNAP帧,用于传输多种协议由机构代码Org Code(3B,都为0)和类型Type(2B,与EthernetII字段含义相同)组成LLCSNAP字段的存储占用8个Data字节循环冗余校验字段

Length/Type <= 1500(0x05DC),将EthernetII的type域改为了Length域。

以太网的MAC地址

MAC地址24bits24bits
含义供应商代码OUI由IEEE分配,如Huawei为0x00e0fc,Cisco为0x00000c,3Com为00-60-08序列号,由厂商自己分配
  • 单播:目的MAC地址第8位为0,从单一的源端发送到单一的目的端,所有主机都能收到源主机发送的单播帧,目的地址不是本机的会被丢弃,目的地址是本机就会接收。

  • 广播:目的MAC地址为FF:FF:FF:FF:FF:FF,从单一的源端发送到所有主机,产生大量流量,当需要所有主机收到相同信息并处理的情况下使用。

  • 组播:目的MAC地址第8位为1,选择性的广播,当需要网络上的一组主机而不是全部主机接收相同信息时使用。

数据帧的发送和接收

  • 数据的处理:当主机接收到属于自己的帧时,检查帧校验序列FCS与本机计算的校验值对比,不同时会丢弃,相同时会根据Type字段确定所要发往的上层协议,把以太网的封装剥掉后Data送往上层协议,如Type0x0800时,会将Data发送到IP协议上处理。

  • 数据头的处理:在数据帧发送的过程中,路由器转发时MAC地址会发生变化,如网络结构如下:
    A——(B1,B2)——(C1,C2)——E
    A->B:由A发送给路由器B,B经过重新封装之后,源IP地址和目的IP地址是不变的,源MAC地址变成B2的MAC地址,目的MAC地址变成C1的MAC地址,封装之后发送给路由器C;
    B->C:路由器C收到数据包之后,源IP地址和目的IP地址保持不变,源MAC地址变成C2的MAC地址,目的MAC地址变成主机E的MAC地址,然后发送给主机E。

  • 数据头的处理:在数据帧发送的过程中,只经过二层网络的数据包不会修改源、目的MAC地址,即使两台主机不在同一交换机上。

总结

  • 数据帧中Type字段的含义;
  • 数据帧的发送和接收过程;

IP编址

IP协议属于网络层,网络层提供IP路由功能。

IP报文头部

版本号IP头长度服务类型IP数据报总长度
4位4位8位16位
IPV4以32位双字为单位,一般20-60字节,最大1111B(15D)时即为2字*15=30字=60字节对网络带宽、延时的要求,用于支持QoS中的查分服务模型以字节为单位,大约64K字节(2^16-1)
标识符标志片偏移量
16位1位15位
记录何节点的何数据,防止不同节点不同文件数据报乱序为0表示最后一个分片,为1表示其他分片,收到标志0的分片时开始重组报文说明数据在数据报中的位置,第一个分片片偏移为0,第二片片偏移=第一片报文比特数+1
生存周期协议头部校验和
8位8位16位
即TTL,过一次路由减一次生命值,发出时共2^7=128次生命值,减至0时丢弃。同时,丢弃报文的设备会向源IP发送ICMP错误消息目的端网络层根据协议字段决定下一步处理报文的协议,类似帧格式的Type字段。用于把传输层数据向下打包或将物理层数据向上打包,传输层的TCP、UDP协议、网络层额ICMP协议在这里表示检验数据头完整性
源IP地址
目的IP地址
(32位,至此共20字节)
选项+填充(用于控制与测试,选项长度不够32位时,用填充数字来补充其余部分)
数据区…
  • IP包分片:报头信息用于指导网络设备对报文进行路由和分片。分片用于将超过了数据链路所支持的最大长度数据包分成不同片段传输,接收端根据分片报文中的标识符、标志、片偏移量字段对报文进行重组。
  • 同一网段内数据转发通过链路层即可实现,跨网段数据转发需要使用网络设备的路由功能。

IP编址

类型网络主机位范围备注
A类首位0,8bit网络位0.0.0.0-127.255.255.255126个网络,每个网络支持16777216-2个主机
B类首位10,16bit网络位128.0.0.0-191.255.255.25516383个网络,每个网络支持65536-2个主机
C类首位110,24bit网络位192.0.0.0-223.255.255.2552097152个网络,每个网络支持256-2个主机
D类首位1110224.0.0.0-239.255.255.255组播地址,无网络与主机地址,用于广播
E类首位1111240.0.0.0-255.255.255.255保留地址
  • 私有地址范围
    10.0.0.0-10.255.255.255
    172.16.0.0-172.31.255.255
    192.168.0.0-192.168.255.255

  • 特殊地址
    127.0.0.0-127.255.255.255:回环地址
    0.0.0.0:计算机自己
    255.255.255.255:有限广播地址
    A类0开头:网络含义叫本,0.1.2.3是指这台机器
    主机部分全0:表示该网络
    主机部分全1:表示广播

网络通信

  • 源主机向目的主机发送报文之前,若目标IP与源IP属于同一网段,则报文将被下发到底层协议进行以太网封装处理。若不同网段,则主机主机需要获取下一跳路由器的IP地址,然后将报文下发到底层协议处理。
  • 在设计网络中,有类IP地址会造成地址的浪费,采用变长子网掩码(LVSM)。
  • 无类域间路由(CIDR):由RFC1817定义。将路由表中的若干条路由汇聚为一条路由,减少了路由表的规模,提高了路由器的可扩展性
ip route-static 10.24.0.0 24
ip route-static 10.24.1.0 24
ip route-static 10.24.2.0 24
ip route-static 10.24.3.0 24
汇聚后如下
ip route-static 10.24.0.0 22

总结

  • 子网掩码用于区分IP地址中的网络号和主机号;
  • IP报头TTL字段限定了IP报文的生存时间,保证无法到达目的地是报文最终被丢弃;
  • 网关用来转发本地网段报文到目的网段的设备;

ICMP协议

Internet控制消息协议ICMP(Internet Control Message Protocol)是网络层的一个重要协议。用来在网络设备间传递各种差错和控制信息,并对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。控制消息并不传输用户数据。

  • ICMP重定向ICMP Redirect消息用于支持路由功能,网关检查到报文有更优路径,会向主机发送Redircet消息通知主机向另一个网关发送报文。

  • ICMP差错检测(Ping命令),ICMP Echo Request用来查询,ICMP Echo Reply用来响应某些信息,进行差错检测。

  • ICMP错误报告,当网络设备无法访问目标网络时,会自动发送ICMP目的不可达报文到发送端设备。

ICMP数据包格式

EthernetII HeaderIP HeaderICMPFCS
--Type(8位)、Code(8位)、Checksum(16位)-
--ICMP的报文内容,不同类型和代码 标识不同的内容-

ICMP封装在IP报文中,消息格式取决于Type和Code字段,Type字段为消息类型,Code字段为消息具体参数,Checksum用于检查消息是否完整。消息中包含32位可变参数,通常为0,在ICMP Redirect重新导向消息中,这个字段用于指定网关IP地址,在Echo请求中,这个字段包含标识符和序号,源端根据这两个参数与本端发送的Echo请求关联,用于多个源端请求一一对应回复。

  • ICMP消息类型与编码:
类型代码类型描述类型代码类型描述
0响应Echo Reply,编码012数据报参数错误
3目标不可达,编码0网络不可达,编码1主机不可达,编码2协议不可达,编码3端口不可达13时间戳请求
4源抑制14时间戳应答
5重定向ICMP Redirect,编码015信息请求
8查询Echo Request,编码016信息应答
9路由器通告17地址掩码请求
10路由器恳求18地址掩码应答
11超时--

使用场景:Ping命令、Tracert命令

Tracert是基于报文头中的TTL值逐跳跟踪报文的转发路径,源端首先给目的地址发送TTL为1的UDP报文,等待第一个节点响应的ICMP超时报文,即可获得第一个节点地址,再发送TTL为2的UDP报文,获得第二个节点地址。以此类推,直到发送到目的地址的大于30000的端口上,目的地址检测到没有程序处理该请求,即会向源地址发送ICMP目标端口不可达报文,源端收到不可达报文后,即可判断UDP报文已到达目的端,停止Tracert,并得到经历的路径。

总结

  • Ping命令使用了ICMP的响应Echo Reply和请求Echo Request消息;
  • 当网络设备收到TTL值为0的报文时,会丢弃该数据包,并向源地址发送ICMP超时的消息;

ARP协议

ARP协议工作在网络层,网络设备发送数据时,必须要知道目的IP地址,也需要获取到目的MAC地址,否则无法进行数据帧封装。通过目的IP来获取目的MAC的过程,就是ARP协议实现的内容。
ARP数据包格式和IP数据包格式不一样,由帧格式的Type字段判断是哪种包。
APR报文不能穿透路由器,不能被转发到其他广播域
需要三层通信的报文,数据包的源MAC地址和目标MAC地址会发生变换。

ARP报文

EthernetII HeaderARPFCS
帧头部ARP数据包校验和

ARP报文格式:

硬件地址类型协议类型
16位16位
一般为EthernetII格式一般为IP
硬件长度协议长度报文类型代码
8位8位16位
MAC地址长度,单位字节IP地址长度,单位字节包括ARP Request和ARP Reply
源MAC地址
源IP地址
目标MAC地址
目标IP地址
32位

ARP工作过程

  • ARP请求:自身ARP缓存表中无目标MAC时,广播ARP报文,帧头只含源MAC地址,目标MAC为全FF,Type为0x0806。ARP数据部分报文类型为request(0x0001)源MAC、IP、目标IP齐全,目标MAC为全00或全FF(具体和设备厂家有关);
  • ARP响应:收到广播数据包的主机检查目的IP与自身IP是否一致,一致则将源IP与MAC加入自身ARP缓存表并回应源主机,不一致就不回应。回应数据包帧头收发MAC地址齐全,Type为0x0806。ARP数据部分报文类型为reply(0x0002)源MAC、IP,目标MAC、IP齐全。源主机收到回应后将其加入自身ARP缓存;
  • 免费ARP:主机刚接入网络或设置IP地址时会广播免费ARP报文,帧头只含源MAC地址,目标MAC为全FF。ARP数据部分报文类型为request(0x0001)源MAC、IP、目标IP都为自身,目标MAC为全00或全FF(具体和设备厂家有关),若收到其他主机Reply的ARP报文则说明IP地址冲突;
  • ARP代理:路由器端口开启ARP代理后就可以接受ARP的广播包,会将同一网段、不同物理网络上的计算机实现通信;
  • ARP缓存表:一般20分钟失效,需要重新请求目标主机MAC地址;

总结

  • ARP请求
  • 免费ARP

传输层协议

传输层定义了主机应用程序之间端到端的连通性,传输层最常见的两个协议:传输控制协议TCP(Transmission Control Protocol)、用户数据包协议UDP(User Datagram Protocol)。

TCP协议

一种可靠的、面向连接的端到端协议。主机运行多个应用进程访问网络时,一般使用自己的动态端口号访问目标的知名端口号,这样的一对端口号、源和目标IP地址的组合就会形成一个唯一的会话。知名端口范围0-1023,动态端口范围:1024-65535,知名端口不可自定义分配。

TCP数据通常使用IP数据包的DATA字段:

IP HeaderTCP HeaderData
-一般长度20字节,最多60字节-

TCP协议头部:

源端口目的端口
16位16位
一般为1024-65535一般为0-1023
序列号
发送端提供自己发送数据的序列号,用于数据排序
32位
确认序列号
接收端向发端的数据序列号加1,确认收到成功
32位
头部长度保留URGACKPSHRSTSYNFIN窗口大小
4位6位1位1位1位1位1位1位16位
TCP头部长度,20-60字节不使用紧急指针有效确认序号有效提示接收端应用程序立即提取TCP缓冲区数据重新建立连接请求建立连接通知对端本端将关闭连接用于流量控制,告诉发端自己期望单次确认收到的大小,最大65535字节
校验和紧急指针
16位16位
校验整个TCP报文段,发端记录接收端验证一个正偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号

至此已达到20字节

选项与填充
32位
数据部分…

TCP工作过程

  • TCP三次握手连接
主机A服务器A
①发送SYN,sequence=a-
-②发送SYN,ACK,sequence=b,acknowledge=a+1
③发送ACK,sequence=a+1,acknowledge=b+1-
  • TCP传输过程
主机A服务器A
数据段1,sequence=499-
数据段2,sequence=999-
数据段3,sequence=1499-
-ACK,acknowledge=1500,表示确认收到并给序列号加1
数据段4,sequence=1999,若此处开始发送失败-
数据段5,sequence=2499-
数据段6,sequence=2999-
-ACK,acknowledge=1500,则发送1500表示之后的几个数据段未收到
数据段4,sequence=1999,将重新发送数据段4、5、6-
数据段5,sequence=2499-
数据段6,sequence=2999-
  • TCP流量控制

通过改变窗口大小window字段告诉发端自己期望单次确认收到的大小,最大65535字节。

主机A服务器A
数据段1,length=1024,window=3072-
数据段2,length=1024,window=3072-
数据段3,length=1024,window=3072-
-acknowledge=2049,window=2048,表示发送端设置窗口较大,服务端只能一次收到2048字节,缓存区满数据段3被丢弃
数据段3,length=1024,window=2048,此处修改窗口大小,重新发送数据段3-
数据段4,length=1024,window=2048-
-acknowledge=4097,window=2048
  • TCP关闭连接
主机A服务器A
①发送FIN,ACK,sequence=a,acknowledge=b-
-②发送ACK,sequence=b,acknowledge=a+1
-③发送FIN,ACK,sequence=b,acknowledge=b+1
④发送ACK,sequence=a+1,acknowledge=b+1-

UDP协议

一种不可靠的、面向无连接的传输层协议。用于对可靠性要求不高,对传输速度和延迟要求较高时使用UDP协议,如视频、音频等流媒体传输。无需事先建立连接来发送数据,没有滑动窗口机制,也无法避免接收到重复数据的情况,不提供重传机制。

UDP数据通常使用IP数据包的DATA字段:

IP HeaderUDP HeaderData
-一般长度8字节,传输数据时没有确认机制和滑动窗口-

TCP协议头部:

源端口目的端口
16位16位
数据长度校验和
16位16位
整个UDP报文的长度,最小值为8字节可选

UDP工作过程

UDP传输数据时,由应用程序自行提供报文到达、排序、流量控制等功能。一般情况下,UDP采用实时传输机制和时间戳来传输语音和视频数据。

总结

  • TCP头部确认标识位ACK用于目的端对已收到数据的确认。
  • TCP头部参与三次握手的标识位:SYN、ACK,请求建立连接和确认建立连接。

数据转发过程

只有深入了解数据在各种不同设备上的转发过程,才能对网络进行正确的分析和检测。

过程概述

  • 主机对待发送数据加密压缩等,之后进行传输层TCP报文封装(TCP头长度20-60字节):源端口(随机)、目的端口、初始序列号、确认序列号、标识位、窗口、校验和、应用层数据等
  • 传输层封装完成后,分片进行网络层封装(IP头长度20-60字节,IP数据报总长度在64K字节内):IP源地址、IP目的地址、生存时间TTL、协议等
  • 查找路由:在发送数据之前要检测是否能到达目的端,通过检查路由来实现
  • ARP请求:ARP缓存表中检查下一跳MAC地址是否存在,不存在就会广播ARP请求
  • 数据链路层封装:通常使用EthernetII标准(帧头长度12字节,FCS尾4字节,帧总长度在64-1518字节之间),填充源MAC、目的MAC、Type类型、数据、校验和
  • 数据帧转发过程:主机工作在半双工状态下,使用CSMA/CD检测链路是否空闲。如空闲会将前导码(7字节交替1、0)、帧首界定符附(1字节10101011)加到帧头进行传输。所有网络设备收到该帧,先检查FCS校验,再进行目的MAC比对。通过比对后进行帧头帧尾剥除,根据帧Type类型交给相应网络层处理。
  • 数据包转发过程:先检查FCS校验,再检查路由表能否将数据包发送到目的端。通过后再进行帧头帧尾封装(源MAC、目标MAC更新,源MAC会改为本路由器发出端接口MAC,目标MAC改为下一跳MAC)、TTL减1,再根据MTU(最大传输单元)值确定是否需要分片,在不知道目标MAC前,也会进行ARP请求
  • 目标端收到数据帧后:检查帧FCS校验,进行目的MAC比对,IP数据报校验,IP地址比对,将分片的IP报文重新组合,通过后除去IP报头将数据送往传输层,传输层确认源、目标端口号后将TCP头剥除,将数据送往对应端口的应用层。

VRP基础

交换机隔离冲突域、路由器隔离广播域,VRP(Versatile Routing Platform)是华为通信设备通用操作系统平台

交换机的应用

  • 集线器:物理层设备,共享式以太网,同时只允许单台设备发包,冲突严重、广播泛滥、安全性差;
  • 交换机:数据链路层设备,交换式以太网,一个端口就是一个冲突域;
  • 路由器:网络层设备,分割广播域,隔离广播帧,存储转发、路由选择、拥塞控制;
  • VRP系统:5个版本(VRP1/2/3/5/8),目前大多数设备使用VRP5版本。AR系列路由器提供路由、交换、无线、语音、安全等功能,主要用于企业根路由(内网、公网之间);X7系列交换机主要用于企业接入层、汇聚层、核心层;少数NE系列使用VRP8版本;
  • Console口:采用RS232串口协议;
  • Mini USB接口:可以与PC相连实现调试,与Console互斥,只能同时连接一个;

命令行视图

  • 用户视图、系统视图、接口视图、协议视图;

  • sysname:配置设备名称,例:sysname RTA

  • clock timezone:设置所在时区,例:clock timezone BJ add 08:00:00

  • clock datetime:设置当前时间和日期,例:clock datetime 10:20:29 2016-04-11

  • clock daylight-saveing-time:设置采用夏时制

  • header login:配置在用户登录前显示的标题消息,例:header login information "welcome to huawei certification!"

  • header shell:配置在用户登录后显示的标题消息,例:sheader shell information "Please don't reboot the device!"

  • idle-timeout:设置超时时间,例:idle-timeout 1 30,1分30秒超时

  • screen-length:设置指定终端屏幕的临时显示行数,例:screen-length 512

  • history-command max-size:设置历史命令缓冲区的大小,例:history-command max-size 256

  • user privilege:配置指定用户界面下的用户级别,例:user privilege level 15

  • set authentication password:配置本地认证密码,例:set authentication password cipher 123

  • 命令等级、用户界面详见网络技术入门笔记H3C & Huawei部分。

文件系统基础

  • pwd:查看当前目录
  • dir:显示当前目录下的文件信息,dir /all可以查看到已删除的文件,带方括号显示
  • more:查看文本文件的具体内容
  • cd:修改当前用户的工作目录
  • mkdir:创建新的目录
  • rmdir:删除目录
  • copy:复制文件
  • move:移动文件
  • rename:重命名文件
  • delete /unreserved:永久删除文件
  • undelete:恢复删除的文件
  • reset recycle-bin:删除回收站文件
  • display current-configuration:查看当前生效的配置,可以使用管道符筛选,查看以不同参数或表达式开头、包含的配置:display current-configuration | include [string]display current-configuration | begin [string]
  • display saved-configuration:查看启动时生效的配置,使用time参数可以看到系统启动后最近一次配置保存时间
  • save:保存当前配置
  • display startup:查看开机启动调用的配置文件名
  • startup saved-configuration:配置系统下次启动时使用的配置文件
  • compare configuration:比较当前配置文件与下次启动的配置
  • reset saved-configuration:清除下次启动时加载的配置文件
  • fixdisk flash::存储设备异常时,用以修复,修复sd1:fixdisk sd1
  • format flash::格式化存储设备

VRP系统管理

FTP使用TCP连接,TFTP使用UDP连接,ARG3系列路由器能做FTP服务端与客户端,只能作为TFTP客户端。

  • ftp X.X.X.X:登录ftp服务器,可使用getput的ftp命令读写数据
  • startup system-software:指定下次启动时加载的ARP
  • reboot:重启设备

交换网络基础

交换机解决了早期以太网冲突问题,交换机转发行为:泛洪、转发、丢弃,根据交换机里存放的MAC地址与交换机端口映射关系,MAC地址表也成为CAM(Content Addressable Memory)表,初始状态下,交换机MAC地址表为空,通过源主机ARP的request信息获得源主机MAC地址,通过目标主机ARP的reply信息获得目标MAC,逐渐建立MAC地址表,缺省情况下,X7系列交换机MAC地址表项老化时间为300秒

  • 泛洪:交换机找不到目标MAC地址时,对除发送端接口进行广播,收到泛洪信息的主机反馈自己的MAC地址,交换机就会记录到自己的MAC地址表里,所有的交换机相互学习MAC地址;

  • 转发:把一端口进来的帧通过另一个端口转发出去;

  • 丢弃:把从某一端口进来的帧直接丢弃;

  • negotiation auto:设置以太网端口自协商功能,若有一方不支持自协商,则另一方要取消自协商功能,之后修改端口速率与对方一致

  • duplex:设置以太网端口的双工模式,工作速率为1000Mbit/s时,自动全双工,不需要协商全双工模式

  • speed:设置端口工作速率,需要先配置端口为非自协商模式

  • display interface GigabitEthernet 0/0/1:验证当前配置

总结

  • 当一台主机更换交换机端口时,交换机检测到物理链路Down,会清除该主机MAC地址表项,检测到某一端口UP,主机通过该端口发送或反馈报文时,交换机会更新该主机MAC地址表项。

STP原理与配置

对于冗余链路与环路造成的网络风暴及MAC地址不稳定等问题,生成树协议STP(Spanning Tree Protocol)可以在提高可靠性的同时避免环路带来的问题。工作在数据链路层

  • 广播风暴:交换机中的环路会将广播帧无限转发,网络中会充斥着重复的数据帧;
  • MAC地址表震荡:交换机某个端口中的帧被环路通过另外一个端口发送回来,交换机会误以为该端口的主机更换了端口;
  • STP的作用:消除环路、链路备份;

STP的操作

交换机之间使用BPDU来交互STP信息,默认2秒一次,使用组播地址01-80-C2-00-00-00发送BPDU,交换机启动后自动开始进行生成树收敛计算,默认自己是根桥,所有端口都为指定端口,这样BPDU报文就可以通过所有端口转发,当收到BID更高的BPDU时,会修改自己的BPDU的BID字段,自己不再是根桥,宣告新的根桥。

  • BPDU报文:
PIDPVIBPDU TypeFlagsRoot IDRPCBridge IDPort IDMessage AgeMax AgeHello TimeFwd Delay
16位8位8位8位64位32位64位16位16位16位16位16位
协议IDSTP版本消息类型Bit7:TCA,Bit0:TC中间6位未使用根桥ID根路径开销指定桥ID指定端口ID当前消息年龄最大消息年龄问候时间状态转换时间

PVI:STP版本,0传统生成树STP(802.1D)、2快速生成树RSTP(802.1W)、3多生成树MSTP(802.1S);
BPDU Type:消息类型分为配置BPDU(0x00,含桥ID、路径开销和端口ID等参数,每个桥在初始化过程中主动发送,拓扑稳定后只有根桥主动发送,其他桥收到上游配置BPDU后,才发送自己的配置BPDU)、TCN BPDU(0x80,下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知)、RST BPDU(0x02,快速生成树协议);
Flags:只定义了TC拓扑变化标志、TCA拓扑变化确认标志,其他字段保留;
Root ID:根桥ID由根桥的优先级和MAC地址组成,每个STP网络中只有一个根桥;
RPC:根路径开销为到根桥的最短路径开销;
Bridge ID:指定桥ID由指定桥的优先级和MAC地址组成;
Port ID:指定端口ID由指定端口的优先级和端口号组成;
Message Age:当前消息年龄配置BPDU在网络传播的生存期,STP每经过一台交换机,该字段+1,从根桥发送到当前交换机接收到BPDU的总时间;
Max Age:最大消息年龄能在设备中保存的最大生存周期默认20秒,Message Age大于Max Age非根桥会丢弃该配置BPDU,说明根桥故障,非根桥相互发送配置BPDU报文,重新选举根桥,根桥故障会导致50秒左右恢复时间(等于Max Age加上两倍Forward Delay收敛时间20+15×2);
Hello Time:问候时间根桥通过不断发送STP维持自己的地位,这里表示发送时间间隔,默认Hello Time 2秒
Fwd Delay:端口转换时间为端口的迁移延时,端口从listening->learning或learning->forwarding的状态转换需要时间;

  • 生成树算法:选举根网桥,选举根端口,选举指定端口,只有指定端口和根端口可以转发数据,其他端口为备用端口(被阻塞),不能转发数据,只能接受BPDU报文。
选举类型说明选举方式
根网桥依据BID选举,所有环路交换机选一台,其所有接口都会有用order by 网桥优先级, vlan1 MAC地址
根端口每个非根网桥都要选举一个根端口,为距离根桥最近的端口order by 路径开销, 对端BID, 对端PID, 本端PID
指定端口每个网段上都应该有一个指定端口,抑制其他端口发送BPDU报文order by 路径开销, 对端BID, 对端PID, 本端PID

名词解释:

名词说明对应解决的特殊情况
端口开销(Port Cost)带宽越大路径成本越小-
路径开销某一端口到达根桥所有路径成本之和,路径上所有接收BPDU端口(入方向)的端口开销总和(BPDU报文中路径字段开销值,加本端口开销),非根网桥选出到达根网桥的最短路径,称为RPC(Root Path Cost,根路径开销),根网桥路径开销值为0,X7系列交换机有3种路径开销计算标准,默认使用IEEE802.1t标准多条链路可以到达根网桥时,需要根据路径开销判断
BID(Bridge ID)由网桥优先级(Bridge Priority,16位默认32768,可配置0-65535,必须为4096的倍数)和48位MAC地址构成如四个交换机呈正方形的回路,路径开销一致,需要根据BID判断
对端PID(Port ID)PID即端口ID,由该端口优先级(默认128,优先级取值范围0-240,必须为16的倍数)和端口号构成如两台交换机双线回路或单台交换机用一根线回路是需要根据对端PID判断
本端PID同上一台交换机连接HUB,另一台交换机双线连接该HUB时,需要根据本端PID判断

端口状态转换

状态名称说明对应业务
Disable禁用状态端口既不处理和转发BPDU报文,也不转发用户流量-
Blocking阻塞状态只能接收BPDU报文,不能转发BPDU报文,也不转发用户流量备用端口状态
Listening侦听状态端口可以转发BPDU报文,但不转发用户流量-
Learning学习状态根据收到的用户流量构建MAC地址表,不转发用户流量防止临时环路,Listening->Learning需要15秒
Forwarding转发状态既可以转发BPDU报文,也可以转发用户流量根端口、指定端口状态,Learning->Forwarding需要15秒

故障与恢复

  • 根桥故障:Message Age大于Max Age(默认20秒)非根桥会丢弃该配置BPDU,说明根桥故障,非根桥相互发送配置BPDU报文,重新选举根桥,根桥故障会导致50秒左右恢复时间(等于Max Age加上两倍Forward Delay收敛时间20+15×2);
  • 直连链路故障:会将备用端口转换为根端口,会在30秒后恢复到转发状态,从Blocking->Listening->Learning(15s)->Forwarding(15s),经过两倍Forward Delay后恢复到转发状态;
  • 非直连链路故障:备用端口恢复到转发状态大约需要50秒(等于Max Age加上两倍Forward Delay收敛时间20+15×2);
  • 拓扑改变导致MAC地址表错误:MAC地址表老化时间300秒
  • 拓扑改变导致MAC地址表变化:故障桥发送TCN BPDU报文到上游,上游将配置BPDU的Flag的TCA置1(拓扑变化确认)后告诉下游停止发送TCN BPDU,并再向自身的上级发送TCN BPDU报文,以此类推。根桥收到后会发送Flag的TC置1的配置BPDU报文(拓扑变化)给下级,这样下游设备的MAC地址表项老化时间就会变为15秒(华为设备0秒);

STP配置

1、STP模式选择(默认工作在MSTP模式):

[switch]stp mode ?
  mstp  Multiple Spanning Tree Protocol (MSTP) mode
  rstp  Rapid Spanning Tree Protocol (RSTP) mode
  stp   Spanning Tree Protocol (STP) mode

2、配置交换机优先级(优先级取0到61440,步长为4096,默认32768):

[switch]stp priority ?
  INTEGER<0-61440>  Bridge priority, in steps of 4096

3、指定根桥:

[switch]stp root primary

4、配置路径开销(默认路径开销标准为IEEE802.1t,802.1d的cost在:1-65535,802.1t的cost在:1-200000000,华为私有标准的cost在:1-200000):

[switch]stp pathcost-standard ?
  dot1d-1998  IEEE 802.1D-1998
  dot1t       IEEE 802.1T
  legacy      Legacy
[switch-GigabitEthernet0/0/1]stp cost ?
  INTEGER<1-200000000>  Port path cost

5、查看配置(CIST Bridge标识当前桥ID,Bridge Times标识Hello定时器、Forward Delay定时器、Max Age定时器的值,CIST Root/ERPC标识根桥ID以及此交换机到根桥的路径开销,CIST RegRoot/IRPC标识指定桥ID,为MSTP范畴的区域的根桥):

[switch]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge         :32768.4c1f-cc0e-3c5e
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC      :32768.4c1f-cc0e-3c5e / 0
CIST RegRoot/IRPC   :32768.4c1f-cc0e-3c5e / 0
CIST RootPortId     :0.0
BPDU-Protection     :Disabled
TC or TCN received  :0
TC count per hello  :0
STP Converge Mode   :Normal 
Time since last TC  :0 days 0h:0m:0s
Number of TC        :0
----[Port1(GigabitEthernet0/0/1)][DOWN]----
 Port Protocol       :Enabled
 Port Role           :Disabled Port
 Port Priority       :128
 Port Cost(Dot1T )   :Config=auto / Active=200000000
 Designated Bridge/Port   :32768.4c1f-cc0e-3c5e / 128.1
 Port Edged          :Config=default / Active=disabled
 Point-to-point      :Config=auto / Active=false
 Transit Limit       :147 packets/hello-time
 Protection Type     :None
 Port STP Mode       :MSTP 
  ---- More ----

总结

  • 根桥故障,其他交换机被选举为根桥,原根桥恢复后,则网络会根据BID在重新选举根桥;
  • 路径开销是到根桥的路径总开销,端口开销是交换机某个端口的开销;

RSTP原理与配置

快速生成树协议,改进了STP收敛时间慢、拓扑频繁变化反问题,使用了P/A机制(Proposal/Agreement)实现了网络拓扑快速收敛。

RSTP端口角色

RSTP除了根端口、指定端口还新增了3种端口:

  • 备用端口Backup:指定端口的备份,提供了另一条根桥到非根桥的备份链路,例如交换机多条线路连接同一HUB的其中一个;
  • 预备端口Alternate:根端口的备份,提供指定桥到根桥的另一条备份路径,例如交换机间的非指定端口;
  • 边缘端口Edge Port:如同端口禁用STP一样,不接收与处置配置BPDU,不参与RSTP运算。一般与用户终端设备直接连接,不与任何交换设备连接,可以由Disabled直接转换到Forwarding状态,不经历延迟。一旦边缘端口收到BPDU报文,就变成普通STP端口;

RSTP端口状态

RSTP把原来STP的5种端口状态化简为3种。

状态名称说明对应业务
Discarding废弃状态不转发用户流量也不学习MAC地址对应STP的Disabled、Blocking、Listening状态,Backup、Alternate端口为Discarding状态
Learning学习状态不转发用户流量,但学习MAC地址根端口,指定端口
Forwarding转发状态既转发用户流量,又学习MAC地址根端口,指定端口

RST BPDU

STP的配置BPDU报文中Flag字段中间6位在RSTP中得到了应用:

Bit7Bit6Bit5Bit4Bit3-Bit2Bit1Bit0
TCAAgreementForwardingLearningPort RoleProposalTC
拓扑变化确认收敛协商完成,下游回复上游使用转发学习端口角色收敛协商使用拓扑变化

Port Role:端口角色00为未知,01为Alternate/Backup Port备份端口,10为Root Port根端口,11为Designated Port指定端口。

  • 非根桥无论是否收到根桥配置BPDU报文都会以hello time的时间间隔自行发送配置BPDU报文。

收敛过程 - P/A机制

1、每台交换机认为自己是根桥并发送RST BPDU,所有端口得为指定端口处于Discarding状态
2、交换机互相发送Proposal置位的RST BPDU来协商指定网段的端口状态,当收到RST BPDU报文时,若本地RST BPDU报文优先级较高,则端口丢弃接收到的RST BPDU,并发送Proposal置位的RST BPDU报文来回复对端设备;
3、对端收到更优的RST BPDU,则停止发送RST BPDU并将其他下游指定端口设为Discarding状态,确认指定端口迁移到Discarding后本设备发送RST BPDU回复上游,其中Flags字段里设置Agreement标记和根端口角色,上游交换机将连接该下游交换机的指定端口迁移到Forwarding状态,然后下游网段开始使用同样的P/A机制协商端口角色;

故障与恢复

  • 链路故障/根桥失效:交换机不需要等待Max Age时间确认故障,交换机端口等待连续3次Hello Timer规定的时间通信失败,则重新计算RSTP收敛;
  • RSTP拓扑变化处理:故障链路两端交换机对应的端口MAC地址表将被清除,非根交换机选举出新根端口进入Forwarding状态,并通过根端口发送TC置位的BPDU报文,上游其他交换机收到该报文后,会清除除收到TC报文的其他RSTP端口的MAC地址表,并向其他邻居发送TC报文;
  • STP兼容:RSTP兼容STP协议,RSTP交换机在某端口上收到STP BPDU时,会等待2个Hello Time时间,把自己转换到STP工作模式,实现兼容;

RSTP配置

1、STP模式选择(默认工作在MSTP模式):

[switch]stp mode rstp

2、配置边缘端口(默认非边缘端口):

[switch-GigabitEthernet0/0/1]stp edged-port enable

配置交换机所有端口为边缘端口

[switch]stp edged-port default

3、根保护,在指定端口上配置维持指定端口角色,确保根桥指定端口不会因为一些网络问题改变端口角色,收到更高优先级的BPDU时该端口进入Listening,一段时间没收到则恢复原状态)

[switch-GigabitEthernet0/0/1]stp root-protection

4、BPDU保护(边缘端口收到BPDU报文会立即关闭,默认自动变为非边缘开始拓扑计算,可配置自动恢复或管理员手动恢复)

[switch]stp bpdu-protection

5、环路保护,在根端口或预备端口上配置(主要用于光纤链路,双根纤断了一根,根端口长时间收不到上游BPDU,则进入Discarding状态,避免环路,根端口会被阻塞,阻塞端口仍然保持阻塞状态)

[switch-GigabitEthernet0/0/1]stp loop-protection

总结

  • P/A机制中同步的作用是RSTP网络中一种拓扑收敛机制,避免临时环路产生。

IP路由基础

自治系统

自治系统AS由同一个管理机构管理、使用统一路由策略的路由器集合。通常由多个不同局域网组成,由路由器负责为数据包选择一条最优路径,并进行转发。

路由优先级

路由优先级:order by 协议优先级,路由度量,最长掩码匹配原则

  • 最长匹配原则:报文中的目的地址与子网掩码"与"运算后,将匹配得到的多条路由(若存在)选择一个子网掩码最长的匹配项;
  • 协议优先级:有多个匹配目的网络的路由条目,则会选择子网掩码最长的条目
路由类型Direct(直连路由)OSPFStaticRIP
优先级01060100
  • 路由度量metric:根据协议不同度量值算法不同,通常由:跳数(到达目的的路由器数)、带宽、延迟、代价、负载、可靠性等参数计算。
路由类型度量原则
RIP依靠跳数作为度量值选择最佳路由(目标网络到当前路由器方向的出接口数),不考虑带宽等其他因素
EIGRPK = 256 × (K1 × (10^7/带宽) + K2 × (10^7/带宽) / (256-负载) + K3 × 延迟 + K5 / (可靠性+K4)) 默认K1、K3为1,其他K为0,整条路径的K之和为FD,FD最小即最优路径记录在路由表里(所有出接口K相加)
OSPF度量值cost = 100^8 / 带宽 = 100M / 带宽,所有度量值最小的路径(所有出接口cost相加)作为最优路径记录在路由表里

总结

  • 路由选择最优路由顺序:先判断协议优先级,再比较度量值,将最终路由表选定出来,最后查路由表时,根据最长子网掩码匹配原则选择路由表项;
  • preference字段代表路由优先级,设备厂商决定不同路由协议的优先级;

静态路由

由管理员手动配置和维护的路由,一般适用于简单的网络,另外可以实现负载均衡路由备份

  • 负载分担:使用两条线路连接两台路由器时(两条线IP范围不同),每台路由器可以配置两条目的地址相同,下一跳不同的静态路由将数据进行负载分担;
  • 路由备份(浮动静态路由):在静态路由配置命令末尾加上preference <num>来定义这条路由的优先级,主路由失效时浮动静态路由承担转发业务;
  • 缺省路由:即目的地址和子网掩码都为0的路由,缺省路由会在最后被匹配;

链路状态路由协议-OSPF

是一种基于链路状态的内部网关路由协议,除此之外还有距离矢量算法路由协议,如RIP;

  • IGP内部网关路由协议:OSPF、RIP、IS-IS、静态路由协议;

  • EGP外部路由协议:BGP;

  • OSPF特点:无环路、收敛快、扩展性好、支持认证;

  • 原理:每台OSPF路由器都了解整个网络的链路状态信息,由链路状态公告LSA泛洪开始,建立自己的链路状态数据库LSDB,使用SPF算法计算到达每个网络的最短路径树,加入到IP路由表中。

  • OSPF报文

IP HeaderOSPF Protocol Packet
IP报头OSPF协议包
  • OSPF为网络层协议,使用IP数据包协议号为89,报文类型有5种
报文类型说明
Hello用于发现、维护邻居关系。并在广播和NBMA类型的网络中用于选举DR和BDR
DD(Database Description)进行LSDB数据库同步使用,内容包括LSDB中每一条LSA头部(唯一标识,减少协议报文流量)
LSR(Link State Request)DD同步后,路由器请求缺少的LSDB数据条目,LSR也只包含所需的LSA头部
LSU(Link State Update)用来向对端发送所需的LSA
LSACK(Link State Acknowledgment)用来对接收到的LSU确认
  • OSPF报文头部,五种报文头部内容一致:
VersionPacket TypePacket Length
8位8位16位
OSPF协议版本报文五种类型包长度,指整个报文
Router ID
32位
报文发送的源路由器ID,格式默认为IP地址格式,选择本机最大逻辑接口IP(如loopback IP),若无则选择最大物理地址接口IP,建议手动指定Router ID
Area ID
32位
发送报文的路由器OSPF区域号
ChecksumAuType
16位16位
报文的校验和(不包含Authentication字段)认证类型字段,0不认证,1简单认证,2为MD5方式认证
Authentication
32位
认证字段,不认证位空,简单认证为认证密码,MD5认证为认证摘要信息
  • Hello类型报文数据:

Network Mask
32位
子网掩码
Hello IntervalOptionsRouter Priority
16位8位8位
发送Hello报文时间间隔(默认10秒)可选项,E:允许泛洪AS-external-LAS;MC:允许转发IP组皤报文;N/P:允许处理Type 7 LSA; DC:允许处理按需链路发送报文的优先级,用于选举DR和BDR,默认为1,0为弃权,最大的为DR,次大的为BDR
Router Dead Interval
32位
失效时间(默认40秒),通常为4倍Hello Interval,在此时间未收到邻居Hello报文,则认为邻居失效
Designated Router
32位
发送端选举的DR的IP地址,0.0.0.0表示未选举DR
Backup Designated Router
32位
发送段选举的BDR的IP地址,0.0.0.0表示未选举BDR
Neighbor
32位
邻居的Router ID列表,表示路由器目前已经从这些邻居收到了合法的Hello报文

Hello报文合法性依据:①子网掩码字段与本端一致、②Hello报文间隔时间与本端一致、③失效时间与本端一致、④Options字段的E-bit必须与相关区域配置一致。

  • 邻居状态机

状态描述
Down初始状态,没有在失效间隔内收到邻居Hello包
Attempt只在NBMA网络出现,已经周期性发送Hello报文丹未收到邻居信息,在失效时间过后转为Down
Init收到Hello报文,且发现自己不在对端邻居列表中
2-Way双向通信已经建立,邻居关系已建立,未建立邻接关系
ExStart开始向邻居发送DD报文,决定DD报文初始序列号,形成主从关系,DD报文不含链路状态描述
Exchange互相发送含链路状态信息摘要的DD报文
Loading互相发送LSR请求LSA,发送LSU推送LSA
Full双方LSBD已经同步,邻接关系已建立
  • OSPF邻居建立过程与数据库同步
RTA(1.1.1.1)RTB(2.2.2.2)邻居状态
发送Hello,neighbor=null-Init
-发送Hello,neighbor=nullInit
-发送Hello,neighbor=1.1.1.12-way
发送Hello,neighbor=2.2.2.2-2-way
发送DD(主),sequence=X,I,M,MS-ExStart
-发送DD(主),sequence=Y,I,M,MSExStart
发送DD(从),sequence=Y-Exchange
-发送DD(主),sequence=Y+1,MSExchange
发送DD(从),sequence=Y+1-Exchange
发送LSR-Loading
-发送LSULoading
发送LSACK-Full
  • DR、BDR选举

在区域中指定路由器DR和备份指定路由器BDR避免重复通告浪费网络资源,每个网段都会选举DR、BDR(只有点到点网络不需要选举DR、BDR),先通过指定的路由器优先级Router Priority指定DR和BDR,优先级一致则Router ID最大的路由器作为DR,次大的作为BDR。

DR和BDR可以减少邻接关系数量,减少链路状态信息与路由信息交换次数节省带宽,普通路由器只与DR和BDR形成邻接关系,没有DR的广播网络上,邻接关系有n(n-1)/2个,n代表参与OSPF的路由器接口数量。

DR和BDR其中一个故障时,会重新选举DR或BDR。新添加进网络的路由器在网络稳定时不会成为DR和BDR,无论优先级Router Priority是否最大。

  • OSPF区域

每个区域都维护一个独立LSDB,Area 0是骨干区域,其他区域必须与此区域相连,在与0区域和其他区域间的路由器叫做区域边界路由器ABR(Area Boundary Router),包含所有连接区域的LSDB,不与区域0连接的其他区域间路由器不能称为ABR自治系统边界路由器叫ASBR(Autonomous System Boundary Router)指和其他AS中路由器交换路由信息的路由器,它会向整个AS通告AS外部的路由信息。

  • OSPF开销

度量值 = 100^8 / 带宽 = 100M / 带宽,100M为带宽参考值,由于接口带宽日益增大,该公式计算的度量值将越不准确,需要使用命令bandwidth-reference调整带宽参考值。注意:1、一条链路上的累计度量值为到达目标网络所有路由器出方向的度量值之和;2、带宽参考值需要在整个OSPF网络中进行统一调整,还可以使用ospf cost命令手动为一个接口调整开销(1-65535之间,默认1)

  • OSPF支持的网络类型

四种类型:点到点(只有两台路由器,PPP、HDLC网络)、广播型多路访问网络BMA(两台以上路由器)、非广播型多路访问网络NBMA(默认为帧中继、ATM网络)、点到多点P2MP;

NBMA:OSPF模拟在非广播型网络上的操作,每个路由器邻居需要手动配置,要求所有路由器成全连接;

点到多点P2MP:将整个网络看成一组点到点网络,不能组成全连接的网络使用,如只使用PVC的不完全连接的帧中继网络;

  • OSPF配置

进入OSPF进程并同时指定Router ID(可只输入ospf命令不指定),定义区域0,宣告路由器上存在192.168.1.0网段,子网掩码为反码

[Route]ospf router-id 1.1.1.1
[Route-ospf-1]area 0
[Route-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255

查看邻居相关属性:

[Route]display ospf peer

OSPF认证,支持区域认证和接口认证(其中md5后的1为key-id,必须要与对端一致):

[Route]interface GigabitEthernet0/0/0
[Route-GigabitEthernet0/0/0]ospf authentication-mode md5 1 <passworld>

认证开启后,调试查看:

<Route>terminal debugging
<Route>debugging ospf packet

总结

  • Router Dead Interval字段表示路由器失效时间,超过该时间认为邻居失效,默认40秒;
  • DR和BDR都使用组播地址224.0.0.6来接受其他路由器链路状态更新报文,使用224.0.0.5地址来发送链路状态更新报文给其他路由器

IP业务基础介绍

DHCP原理与配置

  • DHCP报文类型
报文类型说明
DHCP DISCOVER客户端寻找DHCP服务器使用
DHCP OFFERDHCP服务器用来响应DHCP DISCOVER报文,此报文携带分配给客户端的IP地址和其他配置信息
DHCP REQUEST客户端请求配置确认(包含请求的IP地址),或者续借租期。另外在获得IP地址时重启后,也会发送DHCP REQUEST报文确认分配的IP地址信息。在IP地址租期快到时(剩余50%、12.5%时)也会发送DHCP REQUEST报文来申请延长IP地址租期
DHCP ACK服务器对REQUEST报文的确认响应,客户端收到DHCP ACK报文后,会将获取的IP地址进行配置和使用
DHCP NAK服务器对REQUEST报文的拒绝响应
DHCP RELEASE客户端要释放地址时用来通知服务器
  • DHCP工作过程
主机ADHCP服务器备注
DHCP DISCOVER(广播)--
-DHCP OFFER(广播/单播)若存在多个DHCP服务器,则每个服务器都会响应
DHCP REQUEST(广播)-客户端选择收到的第一个DHCP提供报文,然后发送DHCP REQUEST报文,包含请求的IP地址
-DHCP ACK(广播/单播)提供该IP地址的服务器收到请求报文信息后,会向客户端发送一个DHCP确认报文(包含IP地址和其他配置信息)
免费ARP报文-ARP数据部分报文类型为request(0x0001)源MAC、IP、目标IP都为自身,目标MAC为全00或全FF(具体和设备厂家有关),若收到其他主机Reply的ARP报文则说明IP地址冲突,DHCP客户端会向DHCP服务器发送DHCP拒绝报文,通知该IP地址已被占用,然后重新申请IP地址

租期更新:

主机ADHCP服务器备注
DHCP REQUEST(单播)-DHCP租期更新,客户端中保存三个定时器(租期更新-剩50%、租期重绑定-剩12.5%、租期失效),租期默认1天,可由服务器修改默认值
-DHCP ACK(单播)服务器在租期剩12.5%之前回复

重绑定:

主机ADHCP服务器备注
DHCP REQUEST(广播)-服务器在租期剩12.5%之前未回复,客户端认为DHCP服务器不可用,广播DHCP REQUEST报文
-DHCP ACK/NAK(单播)网络上任何DHCP服务器都可以应答DHCP确认或非确认报文,若客户端收到确认报文,则重新进入绑定状态,若收到非确认报文,则客户端立即停止使用所有IP地址,重新申请IP地址

地址释放

主机ADHCP服务器备注
DHCP RELEASE-租约到期前都没有收到服务器响应,客户端停止使用此IP地址
DHCP DISCOVER(广播)-重新发送DHCP DISCOVER报文,申请IP地址
  • 地址池
地址池类型说明
接口地址池在接口模式下设置,接口模式的地址池优先级高于全局地址池,X7系列交换机上只能在VLANIF逻辑接口上配置接口地址池
全局地址池为所有连接到DHCP服务器的终端分配IP地址
  • DHCP接口地址池配置(dhcp server excluded-ip-address用来指定不参与分配IP地址的范围)
[Route]dhcp enable
[Route]interface GigabitEthernet0/0/0
[Route-GigabitEthernet0/0/0]dhcp select interface
[Route-GigabitEthernet0/0/0]dhcp server dns-list 10.1.1.2
[Route-GigabitEthernet0/0/0]dhcp server excluded-ip-address 10.1.1.2
[Route-GigabitEthernet0/0/0]dhcp server lease day 3
[Route-GigabitEthernet0/0/0]quit
[Route]display ip pool

注意:由于路由器接口或VLAN接口已经配置了IP与子网掩码,所以地址池按照其网络地址,默认网关按照其接口地址自动分配给客户端。

  • DHCP全局地址池配置
[Route]dhcp enable
[Route]ip pool pool2
[Route-ip-pool-pool2]network 1.1.1.0 mask 24
[Route-ip-pool-pool2]gateway-list 1.1.1.1
[Route-ip-pool-pool2]lease day 10
[Route-ip-pool-pool2]quit
[Route]interface GigabitEthernet0/0/1
[Route-GigabitEthernet0/0/1]dhcp select global

总结

  • 地址池中的DNS服务器、DHCP服务器接口的IP地址等应该被保留不参与分配IP地址的范围,避免IP冲突;
  • DHCP服务器IP地址默认租期为1天,即86400秒;

FTP原理与配置

FTP传输文件时,使用两个TCP连接:

  • 控制连接:服务器开启TCP21号端口等待FTP客户端发送连接请求,客户端为随机端口,控制连接用于在两者之间传输控制命令;
  • 数据连接:服务器使用TCP20号端口与客户端建立数据连接,一般情况下,服务器主动建立或中断数据连接;

FTP传输模式

传输模式定义了数据在客户端和服务器之间传输时的格式:

  • ASCII模式:用于传输文本,发送端字符在发送前被转换成ASCII码格式后传输;
  • 二进制模式:用于发送图片和程序文件,发送端在发送这些文件时无需转换格式;

FTP配置

开启FTP服务,设置默认工作目录:

[Route]ftp server enable
[Route]set default ftp-directory flash:/

定义服务端FTP登录用户及相关配置:

[Route]aaa
[Route-aaa]local-user huawei password cipher huawei123
[Route-aaa]local-user huawei service-type ftp
[Route-aaa]local-user huawei ftp-directory flash:/
[Route-aaa]local-user huawei access-limit 200
[Route-aaa]local-user huawei idle-timeout 0 0
[Route-aaa]local-user huawei privilege level 15

Telnet原理与配置

Telnet基于TCP协议,服务器默认端口号23,Telnet支持AAA模式和Password模式登录。

Telnet配置

  • 使用AAA模式用户名密码登录:
[Route]telnet server enable
[Route]user-interface vty 0 4
[Route-ui-vty0-4]authentication-mode aaa
[Route-ui-vty0-4]protocol inbound all
[Route-ui-vty0-4]quit
[Route]aaa
[Route-aaa]local-user admin password cipher 123
[Route-aaa]local-user admin service-type telnet
[Route-aaa]local-user admin privilege level 15
  • 使用密码模式登录:
[Route]telnet server enable
[Route]user-interface vty 0 4
[Route-ui-vty0-4]authentication-mode ?
  aaa       AAA authentication
  password  Authentication through the password of a user terminal interface
[Route-ui-vty0-4]authentication-mode password
[Route-ui-vty0-4]set authentication password cipher 123
[Route-ui-vty0-4]user privilege level 15

交换技术进阶

链路聚合

链路聚合Eth-Trunk可在不进行硬件升级情况下,通过多个物理接口捆绑为一个逻辑接口,来达到增强链路带宽的目的。在增大带宽目的的同时,采用链路备份机制,可有效提高设备间链路的可靠性。ARG3系列路由器和X7系列交换机最多默认8条成员链路聚合。在一个聚合口中,链路两端的物理接口所有参数必须一致(数量、速率、双工模式、流量控制模式等),成员口可以使二层或三层接口。

链路聚合模式

模式说明
手工负载分担模式所有成员端口都处于转发状态,平均分担流量,某条活动链路故障,自动在剩余的活动链路中平均分担流量
LACP模式支持链路备份,链路聚合控制协议,链路两段互相发送LACP报文,协商聚合参数,协商活动和非活动接口。LACP模式也叫M:N模式,一条活动链路故障时,一条优先级最高的备份链路转变为活动状态
  • 数据流在聚合链路上传输,数据顺序必须保持不变。为了避免第一个帧通过一条物理链路传输,第二个帧通过另一个物理链路传输而造成的数据帧到达先后顺序不同,Eth-Trunk采用逐流负载分担机制,将数据帧中的地址通过HASH算法生成HASH-KEY值,根据这个值在转发表中对应一个出接口,保证同一数据流的帧在同一物理链路转发。逐流负载分担机制能保证包的顺序,但不能保证带宽的利用率

链路聚合配置

  • 创建二层手工负载分担模式Eth-Trunk口,trunk-id取值0-63之间:
[Switch]interface Eth-Trunk 1
[Switch-Eth-Trunk1]interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1]eth-trunk 1
[Switch-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[Switch-GigabitEthernet0/0/2]eth-trunk 1
[Switch-GigabitEthernet0/0/2]quit
[Switch]display interface eth-trunk 1

注意:删除Eth-Trunk口时,需要先删除改口下的所有成员口,加入Eth-Trunk口的必须是hybrid接口,一个物理接口只能加入一个Eth-Trunk口,Eth-Trunk口学习MAC地址,成员口不再学习。也可以在Eth-Trunk接口模式下,执行trunkport GigabitEthernet 0/0/1直接将接口加入聚合成员。另一台设备也需要同样的Eth-Trunk接口即可通信,下方例子同理

  • 创建二层LACP模式Eth-Trunk口主动方
[Switch]interface Eth-Trunk 2
[Switch-Eth-Trunk2]mode lacp-static
[Switch-Eth-Trunk2]trunkport GigabitEthernet 0/0/1
[Switch-Eth-Trunk2]trunkport GigabitEthernet 0/0/2
[Switch-Eth-Trunk2]trunkport GigabitEthernet 0/0/3
[Switch-Eth-Trunk2]max active-linknumber 2
[Switch-Eth-Trunk2]quit
[Switch]lacp priority 100

注意:LACP模式需要一个主动方,LACP优先级默认32768,越小优先级越高,被动方不需要设置最大活动链接端口数量。

  • 创建三层Eth-Trunk口:
[Route]interface eth-trunk 1
[Route-Eth-Trunk1]undo portswitch
[Route-Eth-Trunk1]ip address 100.1.1.1 24
[Route-Eth-Trunk1]quit
[Route]interface GigabitEthernet 0/0/1
[Route-GigabitEthernet0/0/1]eth-trunk 1
[Route-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[Route-GigabitEthernet0/0/2]eth-trunk 1
[Route-GigabitEthernet0/0/2]quit
[Route]display interface eth-trunk 1

注意:需要在Eth-Trunk逻辑口上执行undo portswitch把聚合链路从二层转换为三层链路,再为接口分配IP地址。

总结

  • 百兆口和千兆口不能加入同一个Eth-Trunk,因为接口类型不一致;
  • LACP模式支持备份成员链路;

VLAN原理和配置

即虚拟局域网,将一个物理局域网划分为多个广播域的技术,解决冲突严重、广播泛滥、安全性无法保证等问题。

  • VLAN帧格式
D.MACS.MACTagTypeDataFCS
6字节6字节4字节2字节46-1500字节4字节
目的MAC地址源MAC地址下方说明类型字段,值为0x0800时为IP协议帧,值为0x0806时代表ARP协议帧网络层数据循环冗余校验字段

在以太网帧头中添加Tag字段,遵循IEEE801.1Q协议,Tag说明如下:

TPIDPRICFIVLAN ID
2字节3位1位12位
0x8100表明位802.1Q标签的帧优先级,0-7越大则越高,交换机阻塞会优先发送高优先级的帧MAC地址经典格式,以太网帧为0,FDDI、令牌环帧为1取值0-4095,0和4095不可用
  • PVID

PVID表示端口在缺省情况下所属的VLAN ID,默认PVID都是1,Access端口PVID和VLAN ID只有一个是一致的。交换机必须给端口收到的Untagged数据帧添加上Tag,使其变为tagged数据帧。Trunk端口可以属于多个vlan,但是有一个PVID缺省为1。

  • 链路类型

接入链路Access Link:主机与交换机连接使用,只能允许唯一的VLAN ID通过,Access口在发送数据前会移除VLAN Tag,Access端口收到数据后会添加VLAN Tag,VLAN ID与端口PVID相同(将默认PVID 1修改后,将是修改后的值);
干道链路Trunk Link:连接交换机之间使用,允许发送列表中对应的VLAN ID通过,Trunk口在发送数据时,若帧VLAN ID与缺省PVID(即1)相同时则剥离Tag发送,若不同则直接发送(前提是该VLAN ID在允许通过的列表中),Trunk口在接收数据时,若帧不含Tag,则会添加缺省PVID,若包含Tag,则不改变;

  • 端口类型-Hybrid

Hybrid端口既可以连接主机,又可以连接交换机,Hybrid端口可以以Tagged或Untagged方式加入VLAN。Hybrid端口允许多个VLAN的帧通过,并可以在出端口方向将某些VLAN帧的Tag剥掉,华为设备默认的端口类型是Hybrid

以下的接收和发送规则,前提是该VLAN ID在允许通过的列表中,不在则丢弃
Hybrid端口发送数据帧:会根据命令配置,判断发送时是否携带Tag。配置port hybrid tagged vlan <vlan-id>命令后,发送该vlan-id数据帧时,不剥离tag直接发送,一般该命令配置在与交换机连接的端口上,配置port hybrid untagged vlan <vlan-id>命令后,发送该vlan-id的数据帧时,会将tag剥离再发送,一般该命令配置在主机的端口上;
Hybrid端口接收数据帧:该帧不带Tag时,会添加端口的PVID,帧带Tag,会接收报文。

  • VLAN的划分方法基于5种:基于端口划分、基于MAC地址划分、基于IP子网划分、基于协议划分、基于策略划分。基于端口的划分目前最为常见;

  • VLAN配置

一般的Access口和Trunk口配置命令如下:

[Switch]vlan 2
[Switch-vlan2]quit
[Switch]interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1]port link-type ?
  access  Access link-type
  hybrid  Hybrid VLAN link-type
  trunk   VLAN trunk link-type
[Switch-GigabitEthernet0/0/1]port link-type access
[Switch-GigabitEthernet0/0/1]port default vlan 2
[Switch-GigabitEthernet0/0/1]undo shutdown
[Switch-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[Switch-GigabitEthernet0/0/2]port link-type trunk
[Switch-GigabitEthernet0/0/2]port trunk allow-pass vlan ?
  INTEGER<1-4094>  VLAN ID
  all              All the VLANs
[Switch-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[Switch-GigabitEthernet0/0/2]undo shutdown

查看VLAN中的流量统计信息:display vlan vlan-id statistics
查看VLAN的汇总信息:display vlan summary
配置端口类型:port link-type <access/trunk>,修改端口类型时,必须先恢复端口的默认VLAN配置,使端口属于缺省的VLAN 1
添加端口到VLAN:port default vlan <vlan-id>
配置Trunk口允许通过的VLAN:port trunk allow-pass vlan <vlan-id> <vlan-id> <vlan-id>...,默认所有端口允许VLAN1通过,如有需要可手动禁止
修改Trunk口PVID:port trunk pvid vlan <vlan-id>

配置Hybrid口,允许主机AB访问服务器,不允许主机AB相互访问:

[SwitchA-GigabitEthernet0/0/1]port link-type hybrid
[SwitchA-GigabitEthernet0/0/1]port hybrid tagged vlan 2 3 100
[SwitchA-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[SwitchA-GigabitEthernet0/0/2]port hybrid pvid vlan 2
[SwitchA-GigabitEthernet0/0/2]port hybrid untagged vlan 2 100
[SwitchA-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/3
[SwitchA-GigabitEthernet0/0/3]port hybrid pvid vlan 3
[SwitchA-GigabitEthernet0/0/3]port hybrid untagged vlan 3 100
[SwitchB-GigabitEthernet0/0/1]port link-type hybrid
[SwitchB-GigabitEthernet0/0/1]port hybrid tagged vlan 2 3 100
[SwitchB-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[SwitchB-GigabitEthernet0/0/2]port hybrid pvid vlan 100
[SwitchB-GigabitEthernet0/0/2]port hybrid untagged vlan 2 3 100

注意:port hybrid pvid vlan <vlan-id>主要是接收时打标签用,主机端不发送tag帧所以要设置。交换机端连接只需设置允许通过的列表即可,且都要带上tag标签;

  • Voice VLAN应用

Voice VLAN可以区分语音流量(VoIP)和业务流量,使语音流量优于业务流量。
目前TCP/IP网络可以融合:高速上网HSI、VoIP、IPTV业务。

  • 配置Voice VLAN

定义vlan2位VoIP业务,从交换机端口G0/0/1通过,VoIP设备Mac地址为0011-2200-0000

[Switch]vlan 2
[Switch]interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1]voice-vlan 2 enable
[Switch-GigabitEthernet0/0/1]voice-vlan mode auto
[Switch-GigabitEthernet0/0/1]quit
[Switch]voice-vlan mac-address 0011-2200-0000 mask ffff-ff00-0000
[Switch]display voice-vlan status

总结

  • 如果一个Trunk链路PVID是5,且端口允许vlan 2 3通过,则VLAN的流量可以通过Trunk口的为vlan 1 2 3;
  • PVID为2的Access口收到一个不带标签的帧,会为数据帧打上VLAN 2的标签;

VLAN间路由

使用路由器的情况下:可以为每个VLAN分配一个路由器接口,也可以使用一个路由器接口划分多个子接口以独臂路由的方式实现VLAN间路由;
不使用交换机的情况下:使用三层交换机自动实现VLAN间路由;

  • 配置单臂路由

交换机配置,交换机的Access vlan 2 3分别为G0/0/2、G0/0/3口交换机Trunk口G0/0/1连接路由器的G0/0/1口时:

[Switch]interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1]port link-type trunk
[Switch-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3
[Switch-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[Switch-GigabitEthernet0/0/2]port link-type access
[Switch-GigabitEthernet0/0/2]port defaule vlan 2
[Switch-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/3
[Switch-GigabitEthernet0/0/3]port link-type access
[Switch-GigabitEthernet0/0/3]port defaule vlan 3
[Route]interface GigabitEthernet 0/0/1.1
[Route-GigabitEthernet0/0/1.1]dot1q termination vid 2
[Route-GigabitEthernet0/0/1.1]ip address 192.168.2.254 24
[Route-GigabitEthernet0/0/1.1]arp broadcast enable
[Route-GigabitEthernet0/0/1.1]interface GigabitEthernet 0/0/1.2
[Route-GigabitEthernet0/0/1.2]dot1q termination vid 3
[Route-GigabitEthernet0/0/1.2]ip address 192.168.3.254 24
[Route-GigabitEthernet0/0/1.2]arp broadcast enable

注意:主机默认网关设置对应VLAN的路由器子接口IP地址,不建议交换机Trunk口配置vlan all通过,arp broadcast enable命令使能子接口的ARP广播功能必须配置

  • 配置三层交换

三层交换机配置好VLAN和对应端口后,只需要为每个VLAN配置IP地址,主机默认网关设置对应VLAN的IP地址即可。

[Switch]interface vlanif 2
[Switch-Vlanif2]address 192.168.2.254 24
[Switch-Vlanif2]interface vlanif 3
[Switch-Vlanif3]address 192.168.3.254 24

总结

  • dot1q termination vid <vlan-id>功能一为删除VLAN标签,功能二为三层转发时将相应的VLAN信息添加到报文中再发送;
  • 配置单臂路由时,交换机必须把连接路由器的接口配置为Trunk口,并允许相应VLAN通过;

广域网技术介绍

HDLC&PPP原理与配置

广域网中经常会使用串行链路来提供远距离数据传输,高级数据链路控制HDLC(High-Level Data Link Control)和点对点协议PPP(Point to Point Protocol)是两种典型的串口封装协议,工作在数据链路层

  • 串行链路异步传输方式:以字节为单位传输,需采用额外起始位(0B)和停止位(1B),这种传输模式开始和停止位占据发送数据的相当大的比例;
  • 串行链路同步传输方式:以为单位传输数据,通信时需要使用时钟来同步本端和对端的设备通信,DCE设备提供同步使用信号,DTE设备使用DCE产生的时钟信号

HDLC协议

同步数据控制协议HDLC传送的信息单位为帧,特点:不依赖任何字符编码集、数据报文可透明传输(0比特插入法)、全双工、所有帧采用CRC校验并编号、传输控制功能和处理功能分离;

  • HDLC帧结构
FlagAddressControlInformationFCSFlag
1字节1字节1字节长度由FCS或通信节点缓冲量决定,一般在1000-2000比特2字节1字节
01111110B标志地址,全1表示广播控制用于构成三种帧类型:I信息帧、S监控帧、U无编号帧信息帧校验序列01111110B标志
  • Control字段格式
类型说明格式与内容
信息帧(I帧)传送有效信息或数据0B起始1位,发送序列号3位,轮询位命令帧/最终位响应帧1位、接收序列号3位
监控帧(S帧)用于差错控制可流量控制01B起始2位,监督职能2位,轮询位命令帧/最终位响应帧1位,接收序列号3位
无编号帧(U帧)提供对链路的建立、拆除、多种控制01B起始2位,修改功能2位,轮询位命令帧/最终位响应帧1位,修改功能3位
  • HDLC基本配置
[Route]interface Serial 4/0/0
[Route-Serial4/0/0]link-protocol hdlc 
Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N]
:y
[Route-Serial4/0/0]ip address 10.0.1.1 30

注意:必须在串行链路两端的端口上配置相同的协议才能通信,华为设备串口默认运行PPP协议。

  • HDLC接口地址借用
[Route]interface LoopBack 0
[Route-LoopBack0]ip address 10.1.1.1 32
[Route-LoopBack0]interface Serial 4/0/0
[Route-Serial4/0/0]ip address unnumbered interface LoopBack 0
[Route-Serial4/0/0]quit
[Route]ip route-static 10.1.1.0 24 Serial 4/0/0
[Route]display ip interface brief

注意:HDLC接口允许地址借用,避免一个接口独占IP地址,节省IP地址资源,一般借用loopback接口地址,因为它总处于活跃(active)状态,还需配置静态路由使数据能够转发到10.1.1.0/24网络。

PPP协议

一种点到点链路层协议,用于在全双工的同异步链路上进行点到点的数据传输。特点:支持同步与异步传输、扩展性好(可扩展为PPPoE)、提供LCP协议用于各种链路层参数协商、提供了各种NCP协议用于各网络层参数协商、提供了认证协议CHAP和PAP保证安全性、无重传机制开销小速度快。

  • PPP组件
名称作用
链路控制协议LCP(Link Control Protocol)用来建立、拆除、监控PPP数据链路,自动检测链路环境,协商链路参数,提供认证功能
网络层控制协议NCP(Network Control Protocol)用于对不同的网络层协议进行连接建立和参数协商,PPP定义了一组网络层控制协议NCP,每一个NCP对应了一种网络层协议,用于协商网络层地址等参数,如IPCP用于协商控制IP协议,IPXCP用于协商控制IPX协议等
  • PPP链路建立过程

Dead:不可用阶段,双方检测到物理线路激活时,就会迁移至Establish阶段;
Establish:建立阶段,PPP链路进行LCP参数协商,最大接收单元MRU、认证方式、魔术字等选项;成功后进入Opened状态;
Authenticate:认证阶段,认证后才能进入到网络层协议阶段,如果在这个阶段再次收到了Configure-Request报文,则又会回到建立阶段;
Network:PPP链路进行NCP协商,只有相应网络层协议协商后,该网络层协议才可通过这条PPP链路发送报文,如果在这个阶段再次收到了Configure-Request报文,则又会回到建立阶段;
Terminate:终止阶段,PPP运行过程中,随时可中断连接,物理链路断开、认证失败、超时定时器、管理员配置关闭连接等。所有资源都被释放,通信双方将回到Dead阶段,直到重新建立PPP连接;

  • PPP帧格式

FlagAddressControlProtocolInformationFCSFlag
1字节1字节1字节2字节长度由FCS或通信节点缓冲量决定,一般在0-1500字节2字节1字节
01111110B标志地址固定为全1广播默认为无序号帧(00000011B)PPP封装报文的协议类型:0XC021代表LCP报文,0XC023代表PAP报文(用于认证,明文),0XC223代表CHAP报文(用于认证)信息包含协议字段中指定的数据包,默认最大接收单元MRU1500字节帧校验序列01111110B标志
  • LCP报文封装格式(Information字段)
CodeIdentifierLengthData
1字节1字节2字节-
标识LCP数据报文的类型,0X01配置信息报文、0X02配置成功信息报文、0X05终止请求报文用来匹配请求和响应该LCP报文总字节数据承载各种TLV参数用于协商配置选项,最大接收单元、认证协议等等
  • LCP报文配置参数的封装格式(Data字段,LCP的Data总共可以包含最多8个配置选项,每个选项有三个字段组成,即Type、Length、Data的LCP协商元素)
TypeLengthDataTypeLengthData
1字节1字节-1字节1字节-
类型长度内容类型长度内容

Type=0x01: Maximum-Receive-Unit,MRU单元
Type=0x02: Async-Control-Character-Map,异步控制字符映射
Type=0x03: Authentication-Protocol,认证选项
Type=0x04: Quality-Protocol,质量协议
Type=0x05: Magic-Number,魔术字
Type=0x06: RESERVED,预订的
Type=0x07: Protocol-Field-Compression,协议字段压缩
Type=0x08: Address-and-Control-Field-Compression,地址和控制字段压缩

  • LCP协商参数
参数作用缺省值
最大接收单元MRUPPP数据帧中Information字段和Padding字段的总长度1500字节
认证协议认证对端使用的认证协议,PAP(明文)和CHAP,两端可以使用不同协议认证对端,但被认证方必须支持该协议并配置正确的用户名和密码不认证
魔术字随机数,用于检测环路,如果收到LCP报文中的魔术字和本端产生的相同,则认为有环路启用
  • LCP报文类型
报文类型作用
Configure-Request包含发送者试图与对端建立连接时使用的参数列表,开始协商的第一个报文,双方都发送该报文,每3秒重传一次,连续10次未收到Ack报文则停止发送
Configure-Ack表示完全接受对端发送的Configure-Request的参数取值
Configure-Nak表示对端发送的Configure-Request中的某些参数取值在本端不被认可,并携带本端可接受的配置参数(只包含不能接受的链路层参数),对端收到Nak后重新发送支持配置参数的Request
Configure-Reject表示对端发送的Configure-Request中的某些参数本端不能识别,并携带那些本端不能识别的配置参数,对端收到Reject后重新发送不含对端不识别参数的Request
  • PPP基本配置

华为路由器在串口上默认使能PPP协议

[Route]interface Serial 1/0/0
[Route-Serial1/0/0]link-protocol ppp
[Route-Serial1/0/0]ip address 10.1.1.1 30

PPP认证模式-PAP(二次交互:LCP协商完成后,被认证方明文发送用户名、密码,认证方回复Authenticate-Ack/Nak)

[RouteA]aaa
[RouteA-aaa]local-user huawei password cipher huawei123
[RouteA-aaa]local-user huawei service-type ppp
[RouteA-aaa]interface Serial 1/0/0
[RouteA-Serial1/0/0]link-protocol ppp
[RouteA-Serial1/0/0]ppp authentication pap
[RouteA-Serial1/0/0]ip address 10.1.1.1 30
[RouteB]interface Serial 1/0/0
[RouteB-Serial1/0/0]link-protocol ppp
[RouteB-Serial1/0/0]ppp pap local-user huawei password cipher huawei123
[RouteB-Serial1/0/0]ip address 10.1.1.2 30
[RouteB-Serial1/0/0]quit
[RouteB]quit
<RouteB>debugging ppp pap all

PPP认证模式-CHAP(三次交互:认证方发送使用Challenge加密的密码信息=MD5{Identifier+密码+128位随机Challenge},被认证方使用Challenge加密的密码反馈加密信息,认证方回复成功/失败)

[RouteA]aaa
[RouteA-aaa]local-user huawei password cipher huawei123
[RouteA-aaa]local-user huawei service-type ppp
[RouteA-aaa]interface Serial 1/0/0
[RouteA-Serial1/0/0]link-protocol ppp
[RouteA-Serial1/0/0]ppp authentication chap
[RouteA-Serial1/0/0]ip address 10.1.1.1 30
[RouteB]interface Serial 1/0/0
[RouteB-Serial1/0/0]link-protocol ppp
[RouteB-Serial1/0/0]ppp chap user huawei
[RouteB-Serial1/0/0]ppp chap password cipher huawei123
[RouteB-Serial1/0/0]ip address 10.1.1.2 30
[RouteB-Serial1/0/0]quit
[RouteB]quit
<RouteB>debugging ppp chap all

IPCP静态地址协商(四次交互:两端都发送含本地配置IP地址的Configure-Request报文,都检查收到的IP是否合法且无冲突,都反馈Configure-Ack/Nak报文)
注意:在PPP中,同一链路的双方可以在不同的网段,双方IP地址不同,依然会通过协商。因为在NCP报文协商的时候,会产生对方接口地址的路由条目。

IPCP动态地址协商(六次交互:B方发送全0的IP地址请求报文,A方回复新合法IP,B方配置该IP并发送含新IP报文的请求,A方回复Ack,A方发送含本端IP的请求报文,B放回复ACK)

[RouteA-Serial1/0/0]ip address 10.1.1.1 30
[RouteA-Serial1/0/0]remote address 10.1.1.2
[RouteA-Serial1/0/0]ppp ipcp remote-address forced
[RouteB-Serial1/0/0]ip address ppp-negotiate
[RouteB-Serial1/0/0]display ip interface brief

总结

  • 发送端(双方)发送Configure-Request之后,需收到对端发送的Configure-Ack报文后,才表示链路建立过程成功;
  • CHAP认证方式为三次握手认证协议;

PPPoE原理与配置

数字用户线路DSL(Digital Subscriber Line)是以电话线为传输介质的传输技术,通过现有电话线连接用户线路接入复用器(DSLAM)和用户调制解调器,然后DSLAM通过高速ATM网络或以太网将用户数据转发给宽带远程接入服务器(BRAS,位于骨干网的边缘层)。所有的DSL技术统称为xDSL,x代表不同种类的数字用户线路技术。目前主流的为非对称DSL技术,即ADSL,其使用的是PPPoE(PPP over Ethernet)协议,通过在以太网上提供点到点的连接建立PPP会话,使主机能连接到宽带接入服务器上。特点:适用范围广、安全性高、计费方便等。

  • PPPoE报文

DMACSMACTypePPPoEFCS
6字节6字节2字节46-1500字节4字节
目的MAC源MAC协议类型,0X8863为PPPoE发现阶段报文,0X8864为PPPoE会话阶段报文PPPoE内容字段帧检验序列

PPPoE内容字段

VerTypeCodeSession IDLengthPayLoad
4位4位1字节2字节2字节最大2+1492字节
PPPoE版本0X01PPPoE类型0X01报文类型与以太网SMAC和DMAC一起定义了一个PPPoE会话表示PayLoad长度有效载荷,包含一个2字节PPP协议类型和网络层数据
  • PPPoE协议报文
类型描述备注
PADI发现初始报文PPPoE Active Discovery Initiation:用户发起的服务器探测报文,目的MAC为广播地址,Code为0X09,Session ID为0X0000
PADO发现提供报文PPPoE Active Discovery Offer:收到PAID报文后的回应报文,目的MAC为客户端地址,Code为0X07,Session ID为0X0000
PADR发现请求报文PPPoE Active Discovery Request:客户端单播发起请求报文,目的地址为客户端选定的PPPoE服务器(可能存在多个),Code为0X19,Session ID为0X0000
PADS发现会话确认报文PPPoE Active Discovery Session Configure:服务器分配唯一的会话进程ID发给客户机,Code为0X65,Session ID为PPPoE服务器产生
PADT发现终止报文PPPoE Active Discovery Terminate:当客户端或服务器终止会话时发送,单播MAC地址,Code为0X09,Session ID为0X0000

PADS报文发送后,客户端和服务器进入PPPoE会话阶段:PPP协商、PPP报文传输阶段
PPP协商:和普通PPP协商方式一致,分为LCP、认证、NCP三个阶段;
PPP报文传输阶段:PPP协商成功后,就可以承载PPP数据报文,传输的数据包中必须包含在发现阶段确定的Seeion ID并保持不变

  • PPPoE会话建立过程

PPPoE会话类似于DHCP工作过程,分为发现阶段(获取对方MAC地址及唯一PPPoE会话,广播)、会话阶段(PPP协商、PPP报文传输阶段)、会话终结阶段(会话中任意时刻发送报文结束PPPoE会话)。

  • PPPoE配置

PPPoE客户端:进入Dialer-rule视图,创建dialer-rule 1并允许IP报文转发,命令dialer user enterprise该用户名不用于认证,是标识作用以及和dialer绑定,加入拨号访问组1,定义拨号程序包1,输入用户名密码后,将IP地址设为PPP协商,再进入物理接口,将拨号程序包1与物理接口关联起来并启用会话工作在按需拨号模式,最后配置缺省路由,网关为拨号接口1。

[RouteA]dialer-rule
[RouteA-dialer-rule]dialer-rule 1 ip permit
[RouteA-dialer-rule]quit
[RouteA]interface Dialer 1
[RouteA-Dialer1]dialer user enterprise
[RouteA-Dialer1]dialer-group 1
[RouteA-Dialer1]dialer bundle 1
[RouteA-Dialer1]ppp chap user huawei
[RouteA-Dialer1]ppp chap password cipher huawei123
[RouteA-Dialer1]ip address ppp-negotiate
[RouteA-Dialer1]quit
[RouteA]interface GigabitEthernet 0/0/0
[RouteA-GigabitEthernet0/0/0]pppoe-client dial-bundle-number 1 on-demand
[RouteA-GigabitEthernet0/0/0]quit
[RouteA]ip route-static 0.0.0.0 0 Dialer 1
[RouteA]display interface Dialer 1
[RouteA]display pppoe-client session summary
PPPoE Client Session:
ID   Bundle  Dialer  Intf             Client-MAC    Server-MAC    State
1    1       1       GE0/0/0          00e0fc040b5e  00e0fc8f4384  UP  

PPPoE服务端:利用华为路由器做的临时服务器,设置全局用户用于PPP认证,配置地址池用于分发地址,配置虚拟模板和,接口与虚拟模板关联。

[routeB]aaa
[routeB-aaa]local-user huawei password cipher huawei123
[routeB-aaa]local-user huawei service-type ppp
[routeB-aaa]quit
[routeB]ip pool PPPoE1
[routeB-ip-pool-PPPoE1]network 10.1.1.0 mask 24
[routeB-ip-pool-PPPoE2]excluded-ip-address 10.1.1.254
[routeB-ip-pool-PPPoE1]dns-list 223.5.5.5
[routeB-ip-pool-PPPoE1]quit
[routeB]interface Virtual-Template 1
[routeB-Virtual-Template1]ppp authentication-mode chap 
[routeB-Virtual-Template1]remote address pool PPPoE1
[routeB-Virtual-Template1]ip address 10.1.1.254 24
[routeB-Virtual-Template1]quit
[routeB]interface GigabitEthernet 0/0/0
[routeB-GigabitEthernet0/0/0]pppoe-server bind virtual-template 1

总结

  • PPPoE帧要将MTU(最大传输单元)降为1492字节的原因是:以太网帧长最大1518字节,PPPoE帧头尾长度为DMAC+SMAC+Type+Ver+Type+Code+Session ID+Length+FCS=6+6+2+0.5+0.5+1+2+2+4=24字节,PPP协议类型长度2字节,所以MTU=1518-24-2=1492;
  • dialer bundle命令用来指定接口使用的拨号程序包编号,设备通过这个编号与物理接口关联起来;

访问控制介绍

NAT网络地址转换

IPv6应用前的过渡技术,用来解决IPv4地址枯竭,NAT的局限性:
1、NAT违反了网络分层结构模型的设计原则,第N层不能够修改第N+1层的报头内容,违反了各层独立的原则;
2、NAT违反IP地址结构模型的设计原则,IP地址结构模型的基础是每个IP均标识一个网络,而NAT使得多个主机都在使用同一个地址;
3、NAT影响了高层协议及其安全性,不能实质解决地址枯竭问题,反而推迟了IPv6的进展;
4、NAT使得IP协议从面向无连接变成了面向连接,TCP/IP协议体系中,若某一路由器故障,不会影响整个网络传输,发送进程可以进入超时重传处理。而NAT必须维护专用IP地址与公网IP地址及端口号的映射关系,Internet可能变得非常脆弱;
5、FTP协议与IP电话协议H.323等协议中,有些应用是将IP地址插入到正文的内容中的,NAT与这类协议一起工作时,NAT必须及时做出反应与修改;另外,由于P2P的文件共享与语音共享建立在IP协议基础上,NAT的出现使得P2P应用实现变得困难

  • 静态NAT:在路由器的出端口上直接配置一对一静态转换命令,一个公网IP只会分配给唯一且固定的内网主机;
  • 动态NAT:基于地址池来实现私有地址和公有地址的转换,每台主机都会分配到共有地址池中的一个,当不需要此连接时,对应的地址映射将会被删除公网地址恢复到地址池备用,动态NAT公网地址用尽后,只能等待被占用的公网IP被释放后,其他主机才能使用它访问公网
  • NAPT:网络地址端口转换,允许多个内部地址映射到同一个公有地址的不同端口,首先复用地址池中选择的地址,端口达到能力极限后,再选择另一个地址完成转换,可大大减少地址池中公有地址的数目;
  • Easy IP:允许将多个内部地址映射到网关出接口地址上的不同端口,NAPT不能映射像拨号这种不固定IP的获取IP地址的上网方式,所以出现了easy IP,一种特殊的NAPT,和NAPT区别是只能映射一个IP;
  • NAT服务器:公网主机访问私网主机的需求,需要配置服务器私网IP地址和端口号转换为公网IP地址端口号并发布出去;

NAT配置

  • 静态NAT配置

创建方式:在路由器的出端口上配置NAT的一对一静态转换命令。global参数用于配置外部公网地址,inside参数用于配置内部私有地址。

[route]interface GigabitEthernet 0/0/1
[route-GigabitEthernet0/0/1]ip address 192.168.1.254 24
[route-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[route-GigabitEthernet0/0/2]ip address 1.80.1.254 24
[route-GigabitEthernet0/0/2]nat static global 1.80.1.1 inside 172.16.51.1
[route-GigabitEthernet0/0/2]nat static global 1.80.1.2 inside 172.16.51.2
[route-GigabitEthernet0/0/2]display nat static
  • 动态NAT配置(多对多)

创建方式:建立NAT地址池,定义访问控制列表,在路由器的出端口上配置NAT的访问控制列表对应的NAT地址池。no-pat表示只转换数据报文的IP地址而不转换端口,一般用于需要上网的私网用户量少,公网IP地址数量与同时上网的最大私网用户数量基本相同,属于NAT No-Pat转换

[route]nat address-group 0 1.80.1.10 1.80.1.20
[route]acl 2000
[route-acl-basic-2000]rule 0 permit source 172.0.0.0 0.255.255.255
[route-acl-basic-2000]interface GigabitEthernet 0/0/2
[route-GigabitEthernet0/0/2]ip address 1.80.1.1 24
[route-GigabitEthernet0/0/2]nat outbound 2000 address-group 0 no-pat
[route-GigabitEthernet0/0/2]display nat address-group 1
[route-GigabitEthernet0/0/2]display nat outbound
  • Easy IP配置(多对一)

创建方式:不需要地址池,在路由器的出端口上配置NAT的访问控制列表,直接使用GigabitEthernet0/0/2接口的IP地址作为NAT转换后的地址(可能是运营商给的动态地址,所以不能配置固定IP),注意没有no-pat命令,表示同时转换报文的IP地址和端口,一般用于需要上网的私网用户数量大,公网地址较少,属于NAPT转换

[route]acl 2000
[route-acl-basic-2000]rule 0 permit source 172.0.0.0 0.255.255.255
[route-acl-basic-2000]interface GigabitEthernet 0/0/2
[route-GigabitEthernet0/0/2]nat outbound 2000
[route-GigabitEthernet0/0/2]display nat outbound
  • NAT服务器配置
[route]interface GigabitEthernet 0/0/1
[route-GigabitEthernet0/0/1]ip address 192.168.1.254 24
[route-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[route-GigabitEthernet0/0/2]ip address 200.10.10.2 24
[route-GigabitEthernet0/0/2]nat server protocol tcp global 202.10.10.1 www inside 192.168.1.1 8080
[route-GigabitEthernet0/0/2]display nat server

总结

  • 静态NAT转换允许服务器被外网主机通过公有地址访问,允许被内网主机通过私网地址访问;
  • NAPT是基于端口的转换,而不是基于IP地址的转换,是多个内部地址映射到同一个公有地址的不同端口;

访问控制列表

ACL是一系列规则组成的集合,设备可以通过这些规则对数据吧进行分类,并对不同类型的报文进行不同的处理。

  • ACL分类
分类编号范围参数
基本ACL2000-2999源IP地址等
高级ACL3000-3999源/目的IP地址、源/目的端口、协议类型、IP流量分类、TCP标记值(SYN,ACK,FIN)等
二层ACL4000-4999源MAC地址、目的MAC地址、以太网帧协议等
  • ACL规则

1、一个ACL由多条语句组成,设备基于优先级(rule-id越小越优先)逐条匹配,不匹配则匹配下一条,匹配则执行规则中定义的动作并不再继续与之后的规则匹配,若找不到匹配的规则便不对报文进行处理正常转发。即规则默认允许所有,手动添加拒绝的规则(与思科设备相反,思科默认拒绝所有),生效范围越大的规则需要优先级越低,生效范围越小的规则需要优先级越高;
2、rule-id用来配置顺序,默认步长为5,ACL内语句规则编号默认按5、10、15…这样自动分配,通过设置优先级如rule 2 deny source x.x.x.x 0.0.0.255可在规则步长之间的空间插入新的规则;
3、若自动排序则使用深度优先的原则。“深度优先”规则是把指定数据包范围最小的语句排在最前面。这一点可以通过比较地址的通配符来实现,通配符越小,则指定的主机的范围就越小;

  • 基本ACL配置

deny用来拒绝符合条件的数据包,permit用来允许符合条件的数据包,source用来指定源地址信息,any表示任意源地址;

[route]acl 2000
[route-acl-basic-2000]rule deny source 192.168.1.0 0.0.0.255
[route-acl-basic-2000]interface GigabitEthernet0/0/0
[route-GigabitEthernet0/0/0]traffic-filter ?
  inbound   Apply ACL to the inbound direction of the interface
  outbound  Apply ACL to the outbound direction of the interface
[route-GigabitEthernet0/0/0]traffic-filter outbound acl 2000
[route-GigabitEthernet0/0/0]display acl 2000
[route-GigabitEthernet0/0/0]display traffic-filter applied-record
  • 高级ACL配置

rule permit ip表示允许其他所有数据通过,操作符说明:eq等于端口号,gt大于端口号,lt小于端口号,range指定范围。

[route]acl 3000
[route-acl-adv-3000]rule deny tcp source 192.168.1.0 0.0.0.255 destination 172.16.10.1 0.0.0.0 destination-port eq 21
[route-acl-adv-3000]rule deny tcp source 192.168.2.0 0.0.0.255 destination 172.16.10.2 0.0.0.0
[route-acl-adv-3000]rule permit ip
[route-acl-adv-3000]interface GigabitEthernet 0/0/0
[route-GigabitEthernet0/0/0]traffic-filter outbound acl 3000
  • ACL应用-NAT

私网192.168.1.0/24使用地址池220.110.10.8-15,192.168.2.0/24使用地址池202.115.60.1-30。

[route]nat address-group 1 202.110.10.8 202.110.10.15
[route]nat address-group 2 202.115.60.1 202.115.60.30
[route]acl 2000
[route-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[route-acl-basic-2000]acl 2001
[route-acl-basic-2001]rule permit source 192.168.2.0 0.0.0.255
[route-acl-basic-2001]interface GigabitEthernet 0/0/0
[route-GigabitEthernet0/0/0]nat outbound 2000 address-group 1
[route-GigabitEthernet0/0/0]nat outbound 2001 address-group 2

总结

  • 高级ACL可基于源/目的IP地址、源/目的端口、协议类型、IP流量分类、TCP标记值(SYN,ACK,FIN)等参数来定义规则;

AAA原理与配置

AAA是Authentication认证、Authorization授权、Accounting计费的简称,华为基于RADIUS协议或HWTACACS协议来实现AAA。目前ARG3系列路由器只支持配置认证和授权。

三种认证方式,根据配置顺序生效(远端认证无响应将会转本地认证方式):

  • 不认证;
  • 本地认证:将本地用户信息配置在NAS上,速度快、成本低,但存储信息量受硬件限制;
  • 源端认证:将用户信息配置在认证服务器上,AAA支持RADIUS、HWTACACS协议进行远端认证;

三种授权方式,根据配置顺序生效:

  • 不授权;
  • 本地授权:根据NAS配置的本地用户账户的相关属性进行授权;
  • 远端授权:TWTACACS授权使用TACACS服务器对用户授权。RADIUS授权使用RADIUS服务器对用户授权,RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权;

二种计费方式,用于监控授权用户的网络行为和网络资源使用情况:

  • 不计费;
  • 远端计费:通过RADIUS服务器或HWTACACS服务器进行远端计费;

AAA域,AAA可以通过域来对用户进行管理,不同的域可以关联不同的认证、授权、计费方案。**用户属于哪个域由用户名中的域名分隔符@后的字符串决定,如user@huawei用户属于huawei域,默认用户缺省域为default。**default为普通用户缺省域,default_admin为管理用户缺省域;

  • AAA配置

authentication-scheme配置域的认证方案,authentication-mode用来配置认证方式为本地认证。
authorization-scheme用来配置域的授权方案,authorization-mode用来配置授权方案为本地授权。
domain用来创建域,并进入AAA域视图。

[route]aaa
[route-aaa]authentication-scheme auth1
[route-aaa-authen-auth1]authentication-mode local
[route-aaa-authen-auth1]quit
[route-aaa]authorization-scheme auth2
[route-aaa-author-auth2]authorization-mode local
[route-aaa-author-auth2]quit
[route-aaa]domain huawei
[route-aaa-domain-huawei]authentication-scheme auth1
[route-aaa-domain-huawei]authorization-scheme auth2
[route-aaa-domain-huawei]display domain name huawei

创建本地用户,域名分隔符@前为用户名,后面为域名,再定义用户优先级及用户接口登录方式为AAA。

[route]aaa
[route-aaa]local-user huawei@huawei password cipher huawei123
[route-aaa]local-user huawei@huawei service-type telnet
[route-aaa]local-user huawei@huawei privilege level 15
[route-aaa]user-interface vty 0 4
[route-ui-vty0-4]authentication-mode aaa
[]display domian name huawei

总结

  • ARG3路由器支持配置认证方案和授权方案,计费方案需要配置在HWTACACS或RADIUS服务器上;
  • 创建用户未指定域,则会自动关联缺省域default;

IPSec VPN原理与配置

Internet Protocol Security作为一种开放标准的安全框架结构,可以用来保证IP数据报文在网络上传输的机密性、完整性、防重放。

  • IPSec VPN应用场景:IPSec是IETF定义的一个协议组,通信双方在IP层:加密、完整性校验、认证,保证数据传输的:机密性、完整性、防重放(恶意用户将捕获的数据包重复发送给目的端);
  • IPSec架构:不是一个单独的协议,通过AH和ESP两个安全协议来实现IP数据报文的安全传送,通过IKE协议密钥协商(也可手动模式协商),建立和维护安全联盟SA等服务
  • AH协议:主要提供数据源验证、数据完整性校验、防报文重放,支持MD5、SHA-1认证算法;
  • ESP协议:提供AH协议的所有功能,但不包括IP头完整性校验,可对IP报文加密,支持MD5、SHA-1认证算法,支持DES、3DES、AES加密算法;
  • IKE协议:用于自动协商AH和ESP所使用的密码算法;
  • 安全联盟SA:定义了IPSec通信对等体间使用的数据封装模式、认证加密算法、秘钥等参数,两个对等体间至少需要两个SA,若对等体间希望同时使用AH和ESP来通信,则两种协议需要协商两对AS。SA由一个三元组来唯一标识(安全参数索引SPI、目的IP、安全协议AH/ESP)。SA可通过手工方式、IKE动态协商方式建立,前者用于小型静态网,后者需要对等体间配置好IKE协商参数,用于中大型网络;
  • IPSec传输方式 - 传输模式:AH或ESP报头位于IP报头和传输层报头之间,主要对上层协议数据提供保护;

  • IPSec传输方式 - 隧道模式:IPSec会另生成一个新的IP报头,完全对原始IP数据报进行认证和加密,可以使用对等体IP隐藏客户机IP地址;

  • IPSec VPN配置步骤:配置网络可达、配置ACL识别兴趣流、创建安全提议AH/ESP、创建安全策略、应用安全策略
  • IPSec VPN配置示例,如图:

1、新建一个IPSec名ipsec1,其默认为隧道模式传输(Tunnel)认证方式为ESP(MD5-HMAC-96、DES);
2、配置高级ACL源网段和目标网段acl 3000
3、配置IPSce的策略名huawei、序列号10、手动模式,设置策略所保护的数据流acl 3000,设置策略所使用的IPSec对象ipsec1,设置策略的安全联盟(安全协议AH/ESP收发秘钥、收发加密字符串、隧道源目的IP);
4、最后进入物理地址应用;

路由器AR1主要配置:

[AR1]ipsec proposal ipsec1
[AR1-ipsec-proposal-ipsec1]display ipsec proposal name ipsec1
IPSec proposal name: ipsec1
 Encapsulation mode: Tunnel
 Transform         : esp-new
 ESP protocol      : Authentication MD5-HMAC-96
                     Encryption     DES
[AR1-ipsec-proposal-ipsec1]acl 3000
[AR1-acl-adv-3000]rule permit ip source 172.16.1.0 0.0.0.255 destination 172.16.2.0 0.0.0.255
[AR1-acl-adv-3000]ipsec policy huawei 10 manual
[AR1-ipsec-policy-manual-huawei-10]security acl 3000
[AR1-ipsec-policy-manual-huawei-10]proposal ipsec1
[AR1-ipsec-policy-manual-huawei-10]sa spi inbound esp 12345
[AR1-ipsec-policy-manual-huawei-10]sa spi outbound esp 54321
[AR1-ipsec-policy-manual-huawei-10]sa string-key inbound esp cipher huawei
[AR1-ipsec-policy-manual-huawei-10]sa string-key outbound esp cipher huawei
[AR1-ipsec-policy-manual-huawei-10]tunnel local 1.1.1.1
[AR1-ipsec-policy-manual-huawei-10]tunnel remote 2.2.2.2
[AR1-ipsec-policy-manual-huawei-10]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ipsec policy huawei

对端AR3路由器主要配置:

[AR3]ipsec proposal ipsec1
[AR3-ipsec-proposal-ipsec1]acl 3000
[AR3-acl-adv-3000]rule permit ip source 172.16.2.0 0.0.0.255 destination 172.16.1.0 0.0.0.255
[AR3-acl-adv-3000]ipsec policy huawei 10 manual
[AR3-ipsec-policy-manual-huawei-10]security acl 3000
[AR3-ipsec-policy-manual-huawei-10]proposal ipsec1
[AR3-ipsec-policy-manual-huawei-10]sa spi outbound esp 12345
[AR3-ipsec-policy-manual-huawei-10]sa spi inbound esp 54321
[AR3-ipsec-policy-manual-huawei-10]sa string-key outbound esp cipher huawei
[AR3-ipsec-policy-manual-huawei-10]sa string-key inbound esp cipher huawei
[AR3-ipsec-policy-manual-huawei-10]tunnel local 2.2.2.2
[AR3-ipsec-policy-manual-huawei-10]tunnel remote 1.1.1.1
[AR3-ipsec-policy-manual-huawei-10]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]ipsec policy huawei

LSW1配置文件:

#
sysname LSW1
#
interface Vlanif1
 ip address 172.16.1.254 255.255.255.0
#
ip route-static 0.0.0.0 0.0.0.0 172.16.1.253
#
return

AR1配置文件:

#
 sysname AR1
#
acl number 3000  
 rule 5 permit ip source 172.16.1.0 0.0.0.255 destination 172.16.2.0 0.0.0.255 
#
ipsec proposal ipsec1
#
ipsec policy huawei 10 manual
 security acl 3000
 proposal ipsec1
 tunnel local 1.1.1.1
 tunnel remote 2.2.2.2
 sa spi inbound esp 12345
 sa string-key inbound esp cipher huawei
 sa spi outbound esp 54321
 sa string-key outbound esp cipher huawei
#
interface GigabitEthernet0/0/0
 ip address 172.16.1.253 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 1.1.1.1 255.255.255.0 
 ipsec policy huawei
#
ip route-static 1.1.1.0 255.255.255.0 1.1.1.2
ip route-static 2.2.2.0 255.255.255.0 1.1.1.2
ip route-static 172.16.1.0 255.255.255.0 172.16.1.254
ip route-static 172.16.2.0 255.255.255.0 1.1.1.2
#
return

AR2配置文件:

#
 sysname AR2
#
interface GigabitEthernet0/0/0
 ip address 2.2.2.1 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 1.1.1.2 255.255.255.0
#
ip route-static 1.1.1.0 255.255.255.0 1.1.1.1
ip route-static 2.2.2.0 255.255.255.0 2.2.2.2
ip route-static 172.16.1.0 255.255.255.0 1.1.1.1
ip route-static 172.16.2.0 255.255.255.0 2.2.2.2
#
return

AR3配置文件:

#
 sysname AR3
#
acl number 3000  
 rule 5 permit ip source 172.16.2.0 0.0.0.255 destination 172.16.1.0 0.0.0.255 
#
ipsec proposal ipsec1
#
ipsec policy huawei 10 manual
 security acl 3000
 proposal ipsec1
 tunnel local 2.2.2.2
 tunnel remote 1.1.1.1
 sa spi inbound esp 54321
 sa string-key inbound esp cipher huawei
 sa spi outbound esp 12345
 sa string-key outbound esp cipher huawei
#
interface GigabitEthernet0/0/0
 ip address 2.2.2.2 255.255.255.0 
 ipsec policy huawei
#
interface GigabitEthernet0/0/1
 ip address 172.16.2.253 255.255.255.0
#
ip route-static 1.1.1.0 255.255.255.0 2.2.2.1
ip route-static 2.2.2.0 255.255.255.0 2.2.2.1
ip route-static 172.16.1.0 255.255.255.0 2.2.2.1
ip route-static 172.16.2.0 255.255.255.0 172.16.2.254
#
return

LSW2配置文件:

#
sysname LSW2
#
interface Vlanif1
 ip address 172.16.2.254 255.255.255.0
#
ip route-static 0.0.0.0 0.0.0.0 172.16.2.253
#
return

注意:本例不含NAT转换功能,NAT转换需要配置IPSec NAT穿越功能,本例适合企业内部路由间指定网段通信数据加密使用

总结

  • 安全联盟定义了IPSec通信对等体间使用的数据封装模式、认证加密算法、秘钥等参数;
  • 经过IPSec过滤后的感兴趣数据流会通过SA协商的各种参数进行处理封装,最后通过IPSec隧道转发;

GRE原理与配置

IPSec VPN提供两端安全通信,但不能加密组播(语音、视频、动态路由协议等)流量,GRE(Generic Routing Encapsulation)提供了将一种协议封装在另一种协议报文的机制(非加密),并可以与IPSec结合使用保证组播业务安全。同时,GRE可以解决异种网络的传输问题(如将IPX封装在IP协议中传输),实现私网互联。
注意:不能在GRE隧道两个端点之间运行动态路由协议,但可以在两端运行动态路由协议,隐藏跳数。

  • GRE报文结构

报文封装前叫净荷,封装前协议叫乘客协议,GRE为封装协议,也叫运载协议

EthernetIPGREIP/IPXPayLoad
--12字节--
以太网头新IP报头,协议类型值47GRE头部内部IP报头有效载荷

GRE头部内容:

C0K00RecursionFlagsVersionProtocol Type
1位1位1位1位1位3位5位3位16位
1校验,0不校验无Checksum字段0关键字,0表示无Key字段00报文封装层数,最大3,超过丢弃,每GRE封装一次加1预留,全0版本,全0,1表示RFC2637的PPTP乘客协议的类型
Checksum(optional)0
16位16位
对GRE头及负载校验和字段16位0
Key(optional)
32位
关键字,隧道接收端用于对接收报文验证,隧道两端设置的关键字一致才能通过验证,否则丢弃报文
  • Keepalive检测:用于检测隧道两端是否可达,默认为关闭状态需手动开启,开启后默认每3秒一次检测,5次重传次数。

  • GRE配置

AR1路由器:

[AR1]interface Tunnel 0/0/1
[AR1-Tunnel0/0/1]ip address 40.1.1.1 24
[AR1-Tunnel0/0/1]tunnel-protocol gre
[AR1-Tunnel0/0/1]source 1.1.1.1
[AR1-Tunnel0/0/1]destination 2.2.2.2
[AR1-Tunnel0/0/1]gre key 123
[AR1-Tunnel0/0/1]keepalive 
[AR1-Tunnel0/0/1]quit
[AR1]ip route-static 172.16.2.0 24 Tunnel 0/0/1
[AR1]display interface Tunnel 0/0/1

AR3路由器:

[AR3]interface Tunnel 0/0/1
[AR3-Tunnel0/0/1]ip address 40.1.1.2 24
[AR3-Tunnel0/0/1]tunnel-protocol gre
[AR3-Tunnel0/0/1]source 2.2.2.2
[AR3-Tunnel0/0/1]destination 1.1.1.1
[AR1-Tunnel0/0/1]gre key 123
[AR3-Tunnel0/0/1]keepalive
[AR3-Tunnel0/0/1]quit
[AR3]ip route-static 172.16.1.0 24 Tunnel 0/0/1

注意:先取消掉三个路由器正常的到达172.16.X.0网段的静态路由才可有效实验。(原始静态路由看IPSec VPN例子的配置文件)

总结

  • GRE可以解决异种网络传输问题,扩展跳数受限的路由协议工作范围,支持企业灵活设计网络拓扑,可与IPSec结合实现加密组播数据传输;
  • display interface Tunnel命令中的Internet Address代表隧道虚拟地址,Tunnel Source代表真实物理接口地址;

网络管理介绍

SNMP原理与配置

简单网络管理协议SNMP可以实现对不同种类、不同厂商的设备统一管理,提升管理效率,使用NMS服务器通过SNMP协议管理设备(发送配置信息、获取资源信息、接收上报警告信息)。

  • SNMP架构

NMS:运行网络管理软件NMS(Network Management System)的网络管理工作站;
Agent:被管设备里的一个代理进程,负责收集状态信息、实现NMS对设备的远程操作、向NMS发送告警信息;
MIB:被管设备里的管理信息库,一个虚拟数据库,存放设备状态信息集;

  • SNMP版本
版本描述
SNMPv1实现方便,安全性弱
SNMPv2c有一定安全性,现在应用最广泛
SNMPv3定义了一种管理框架,为用户提供安全访问机制

SNMPv1消息类型说明
Get-RequestNMS从代理进程的MIB中提取一个或多个参数值
Get-Next-RequestNMS充代理服务进程的MIB中按照字典式排序提取下一个参数值
Set-RequestNMS设置代理进程MIB中的一个或多个参数值
Response代理进程返回一个或多个参数值
Trap代理进程主动向NMS发送报文,告知紧急事件

SNMPv2c消息类型说明
GetBulk相当于连续执行多次GetNext操作,在NMS上可以设置一次GetBulk执行GetNext的操作次数
Inform被管设备主动发送告警,与Trap告警的区别在于需要NMS进行接收确认,未收到确认将会重复发送直到最大重传次数

SNMPv3实现原理和v1/v2c基本一致,区别在于增加了身份验证和加密功能,NMS发送带安全参数的Get请求,Agent也会响应带安全参数的反馈值;

  • SNMP配置

使能SNMP代理,再指定协议版本,允许发送Trap消息,最后指定发送告警通告的接口。

[Route]snmp-agent
[Route]snmp-agent sys-info version v2c
[Route]snmp-agent trap enable
[Route]snmp-agent trap source GigabitEthernet 0/0/1
[Route]display snmp-agent sys-info

总结

  • 华为ARG3系列路由器默认使能SNMP所有版本;
  • 代理进程使用UDP协议向NMS发送Trap告警信息,目的端口号为162;

IPv6介绍

IPv6基础介绍

IPv4先后出现CIDR和NAT等临时解决方案应对地址空间耗尽,但IPv6几乎无线的地址空间和全新报文格式才能根本性解决IPv4面临的问题。IPv4长32位,IPv6长128位。

IPv6报文

  • 基本报头

VersionTraffic ClassFlow Lable
4位8位20位
版本号,值为6流类别,表示报文类别或优先级,主要用于QoS流标签,用于区分实时流量,与源/目的地址一起为特定流量指定网络转发路径
PayLoad LengthNext HeaderHop Limit
16位8位8位
有效载荷长度下一个报头,定义扩展报头(若存在,可选)跳数限制
Source Address
128位
源地址
Destination Address
128位
目的地址
  • 扩展报头

IPv6报头去除了IHL、Identifier、Flags、Fragment Offset、Header、Checksum、Options、Padding域,新增了流标签域,且提出扩展报头的概念,它跟在IPv6基本报头后面,扩展报头可以有0个或多个,每一个扩展报头都含有下一个报头字段,目的选项扩展报头在一个报文中最多只能出现两次(路由扩展报头前、上层协议报头前),其他扩展报头在一个报文中只能出现一次,且这些报头必须按照以下顺序出现

Next Header字段值报头类型描述
0逐跳选项报头用于为每跳转发指定发送参数,用于:巨型载荷、路由器提示、资源预留
60目的选项报头携带了只有目的节点处理的信息,目前主要用于移动IPv6
43路由报头能够被IPv6源节点用来强制数据包经过特定的路由器
44分片报头由于MTU限制,报文分段发送使用的分段报头
51认证报头由IPSec使用,提供认证、数据完整性及重放保护,它还对IPv6基本报头中的一些字段进行保护
50封装安全净载报头由IPSec使用,提供认证、数据完整性级重放保护和IPv6数据报的保密,类似于认证报头
  • IPv6地址格式

1、IPv6长度为128位,每16位划分为一段共分8段。一个IPv6地址由IPv6地址前缀接口ID组成,前缀用来表示IPv6网络,接口ID用来标识接口;
2、地址压缩格式:8段中每一组前导0可以省略,地址中包含的连续为全0的组,可用双冒号::代替,但只能使用一次双冒号;

  • IPv6地址分类
地址范围描述
2000::/3全球单播地址,任播地址存在于单播地址之中,没有专门的区分
FC00::/7唯一本地地址,只可在本地私有局域网中通讯,互联网边界路由不转发此类IP包,类似IPv4的192.168.0.0/16
FE80::/10链路本地地址,仅用于在网段,或广播域中的主机相互通信使用,是设备处于未获得IP地址的但连接网络的情况,类似IPv4的169.254.0.0/16
FF00::/8组播地址
::/128未指定地址,没有给一个接口分配IP地址时改接口的地址为::/128
::1/128环回地址
  • 单播地址:一个单播地址对应一个接口,发往单播地址的数据包会被对应的接口接收。全球单播地址为带固定前缀001的48位全球路由前缀 + 16位子网标识 + 64位接口标识,类似于IPv4公网IP,链路本地单播地址为前缀FE80::/10 + 54位0 + 64位接口标识

  • 组播地址:一个组播地址对应一组接口,发往组播地址的数据包会被这组的所有接口接收,IPv6组播地址也支持路由协议,IPv6没有广播地址,ARP寻址使用NTP邻居发现协议寻址,可以确保报文只发送给特定的组播而不是任意终端。
    组播地址为前缀FF00::/8 + 4位标致 + 4位范围 + 112位组播组ID
    特殊组播地址:FF02::1为链路本地范围所有节点,FF02::2为链路本地范围所有路由器。

  • 任播地址:一个任播地址对应一组接口,可以给多个主机配置相同任播地址,发往任播地址的数据包会被这组接口的其中一个接收,被哪个接口接收由具体的路由协议确定。任播地址可以用于提供业务冗余。

  • IPv6无状态地址自动配置

IPv6支持无状态地址自动分配,无需使用DHCP之类的辅助协议,使用ICMP协议通过以下两种报文实现:
RA报文(Type字段为134):路由器定期组播FF02::1发送带网络配置参数的RA报文;
RS报文(Type字段为133):主机主动组播FF02::2发送RS报文给路由器请求单播RA报文,获得地址前缀信息,并采用EUI-64规范获得IPv6地址;

EUI-64规范:配置IPv6接口ID的方式有网络管理员手动配置、系统软件生成、采用扩展唯一标识符EUI-64生成,目前EUI-64是生成接口ID的最常用方式,它采用前24MAC地址(第7高位,置1) + 0XFFFE + 后24位MAC地址生成64位接口ID,注意第7高位是一个U/L位,为0表示MAC地址全局唯一,为1表示MAC地址本地唯一。接口ID和接口前缀共同组成接口地址。

  • IPv6无状态地址DAD检查

DAD用来检查将要使用的IPv6地址是否唯一,DAD检测类似IPv4中的免费ARP,未为通过检测之前该地址称试验地址,主机任会在在两个组播组ALL-nodeSolicited-node使用ICMP协议在Solicited-node组播组发送NS报文(Type字段为135)携带试验地址,如果某个其他节点回应邻居通告NA报文(Type字段为136),就证明该地址已被占用,网络管理员需要手动为该节点配置另一个地址。
Solicited-node组播组:由单播或任播的FF02:0:0:0:0:1:FF00::/104 + 试验地址后24位组成,例如IPv6地址为2000::1,其Solicited-node组播地址为FF02::1:FF00:1

总结

  • 2001:0DB8:0000:0000:0000:0000:032A:2D70地址压缩到最短为:2001:DB8::32A:2D70
  • IPv6无状态地址自动配置的过程为:主机首先通过路由器发现功能获取地址前缀,之后使用EUI-64规范生成64位接口ID,在新生成的IPv6使用前会通过DAD检测来确定地址是否唯一;

IPv6路由基础

IETF组织针对IPv6制定了路由协议OSPFv3,其组播地址为FF02::5,使用链路本地地址单播OSPF报文,相同链路上的路由器相互学习其他路由器的链路本地地址,并将这些地址当做下一跳信息使用。

  • DR & BDR:Router ID在OSPFv3中必须手动配置,如果没有手动配置将无法正常运行,在MBMA和广播型网络中,OSPFv3选举DR和BDR的过程与OSPFv2类似,使用组播地址FF02::6表示AllDRouters(其他路由器用来发送DD、LSR、LSU报文给DR/BDR的地址,DR/BDR给其他路由器发送使用FF02::5表示AllSPFRouters);

  • 基于链路运行:OSPFv2是基于网段运行的,OSPFv3是基于链路运行的,不需要考虑路由器是否配置在同一网段,不需要配置IPv6全局地址而直接建立联系;

  • OSPFv3认证:OSPFv3不提供认证功能,而使用IPv6的扩展头部(AH和ESP)来实现安全处理;

  • OSPFv3配置

先使能IPv6,创建OSPFv3进程,指定Router ID,进入物理接口使能接口能收发IPv6报文,最后使本地GigabitEthernet0/0/0和LoopBack0都启用OSPFv3进程。

[Route]ipv6
[Route]ospfv3 1
[Route-ospfv3-1]router-id 1.1.1.1
[Route-ospfv3-1]interface GigabitEthernet 0/0/0
[Route-GigabitEthernet0/0/0]ipv6 enable
[Route-GigabitEthernet0/0/0]ipv6 address fe80::1 link-local
[Route-GigabitEthernet0/0/0]ospfv3 1 area 0.0.0.0
[Route-GigabitEthernet0/0/0]interface LoopBack 0
[Route-LoopBack0]ipv6 enable
[Route-LoopBack0]ipv6 address 2001:1::1/64
[Route-LoopBack0]ospfv3 1 area 0.0.0.0
[Route-LoopBack0]display ospfv3

总结

  • OSPFv3用来唯一标识一台路由器的参数是Router ID;

DHCPv6原理与配置

IPv6动态主机配置协议DHCPv6采用C/S通信模式,是针对IPv6地址设计的有状态地址自动配置方案,为主机分配IPv6地址和其他网络配置参数的协议。

  • 基本概念

1、无状态地址路由器并不记录主机地址信息,可管理性差,主机也无法获取DNS服务器等网络配置信息,可用性上存在缺陷;
2、DHCPv6服务器与主机间采用UDP协议交互DHCPv6报文,主机使用链路本地地址发送组播地址为FF02::1:2到服务器UDP端口号547,主机UDP端口号546;
3、DHCPv6中继:C/S不在一个链路、无法单播的情况下,才需要中继参与;
4、DUID:标识一台DHCPv6服务器或客户端,可基于链路层地址生成(LL),和基于链路层地址与时间组合生成(LLT);
5、路由通告RA报文中的地址配置标记M有状态配置标记O:一般情况下路由器既是DHCPv6服务器,路由器发送的RA报文中M/O参数用来告知主机使用有/无状态地址配置方式,和是否获得网络配置参数。

MO地址网络配置参数
11有状态地址获得
01无状态地址获得
01无状态地址不获得
  • DHCPv6有状态自动分配

过程类似IPv4的DHCP地址分配过程,主机若收到多个服务器回复的Advertise报文,会根据报文中的服务器优先级选择一台服务器,并向所有服务器发送Request组播报文,被选定的DHCPv6服务器回复Reply报文携带IPv6地址和网络配置参数;

  • DHCPv6无状态自动分配

主机组播发送携带Option Request选项的Information-Request报文,服务器只单播发送携带网络配置参数的Reply报文,主机根据参数完成无状态配置;

  • DHCPv6服务器配置

先使能DHCP服务,定义DUID-LL格式,定义地址池、地址池前缀、不参与分配的址、DNS服务器地址,然后需要将这个地址池分配在路由器接口上。默认生存周期为2天。

[Router]dhcp enable
[Router]dhcpv6 duid ll
[Router]dhcpv6 pool huawei	
[Router-dhcpv6-pool-huawei]address prefix 3000::/64
[Router-dhcpv6-pool-huawei]excluded-address 3000::1
[Router-dhcpv6-pool-huawei]dns-server 4000::1
[Router-dhcpv6-pool-huawei]dns-domain-name huawei
[Router-dhcpv6-pool-huawei]quit
[Router]ipv6
[Router]interface GigabitEthernet 0/0/0
[Router-GigabitEthernet0/0/0]ipv6 enable
[Router-GigabitEthernet0/0/0]ipv6 address 3000::1/64
[Router-GigabitEthernet0/0/0]ipv6 nd autoconfig managed-address-flag
[Router-GigabitEthernet0/0/0]ipv6 nd autoconfig other-flag
[Router-GigabitEthernet0/0/0]dhcpv6 server huawei
[Router-GigabitEthernet0/0/0]display dhcpv6 pool

总结

  • ARG3路由器支持DUID-LL和DUID-LLT格式生成DUID;
  • 当收到携带M/O都为1的RA报文时,主机将主动发现DHCPv6服务器用于有状态地址配置和获取网络配置信息,如DNS服务器等;
  • DHCP服务器支持:自动分配方式、动态分配方式、手工分配方式;
  • DHCP定义的多种报文采用UDP封装;
  • DHCP租期更新定时器为总租期的50%,重绑定定时器为总租期的87.5%;

MPLS/SR基本原理

MPLS基本原理

MPLS(Multiprotocol Label Switching)位于数据链路层和网络层之间,用于向IP层提供连接服务,同时又从链路层得到服务。MPLS以标签交换代替IP转发。它是一种隧道技术,支持多种协议与业务,在一定程度上保证信息传输安全。

传统IP转发基于IP地址的下一跳转发,ATM信元转发基于端口和虚路径/虚通道转发。MPLS基于标签转发,结合IP与ATM的优点产生的技术。

  • MPLS网络模型

LER:标签边缘路由器
LSR:标签交换路由器
LSP:标签交换路径

  • 帧模式MPLS

MPLS报文头部:

LABELEXPSTTL
20位3位1位8位
标签,用于报文转发承载IP报文中的优先级标识栈底,为1表示为最后一个MPLS标签生存周期,防止环路
  • MPLS标签嵌套

标签嵌套应用:MPLS VPNMPLS TE

  • 标签分发协议LDP:实现对FEC的分类、标签的分配、LSP的建立和维护等操作;

  • FEC与NHLFE:FEC转发等价类,根据地址、业务类型、QoS等要素划分的共性数据流集合,在LSR标签交换路由器中以相同方式处理。NHLFE下一跳标签转发表项,包含一些基本信息(报文下一跳、如何进行标签操作、其他信息等);

  • MPLS转发过程:

在NHLFE的Label Operation项中,存在Push、Pop、Swap操作,分别对应进入MPLS域时、标签交换路由器转发时、出MPLS域时进行控制标签操作。在转发的过程中会根据标LSR签交换路由器标签转发表,将新的标签交换给MPLS标签字段。

总结

  • MPLS产生背景
  • MPLS基本概念
  • MPLS报文格式
  • MPLS转发原理

SR基本原理

SR(Segment Routing)段路由作为SDN的关键技术,也是对IP网络倡导的极简协议的关键技术。
SDN(Software-Defined Networking):软件定义网络,是Emulex网络一种新型网络创新架构,核心技术OpenFlow通过将网络设备控制面和数据面分离开来,从而实现了网络流量的灵活控制。

  • SR产生背景

标签分发协议LDP面临的问题:1、带宽要求不断增长、网络规模爆炸式增长、MPLS技术需要每条LSP分配标签、资源占用大、状态维护协议报文占据大量带宽、需要与IGP内部网关路由协议同步、部署维护复杂、可扩展性差、OPEX(OPerating EXpense)运营开支随着规模线性增长。2、LDP只支持IGP最短路径进行路径计算,不支持TE(Traffic Engineering流量工程);

资源预留协议RSVP面临的问题:1、RSPV依据CSPF算路结果逐跳形成端到端的LSP、途径节点需要维护Tunnel状态信息、PSVP TE配置复杂、ECMP实现复杂、8中RSVP协议报文占据网络带宽和CPU处理。2、RSVP在负载分担方面实现复杂,需要配置多条Tunnel实现,工作量巨大;

  • SR技术的诞生

SR是一种只在源节点给报文增加一些列的段标识,便可指导报文转发的技术方案,其基本理念是把网络分成不同的段,然后拼接起来,几个关键字:

SR域:SR节点的集合;
Segment:节点对入口报文执行的指令;
SID:Segment标识,Segment Routing将网络中的目的地址前缀/节点和邻接定义为一个个段形成段ID;
SRGB:为全局Segment预留的本地标签集合,从本地标签资源隔离出来一段区间,专用于SR,使SR的全局标签和传统MPLS本地共存(各设备商实现不同SRGB范围、与MPLS共存时设备商空余标签控件不能保证一样),在起始值的基础上对节点SID索引值进行偏移得出本地标签;
标签栈:是目的地址前缀SID/节点SID和邻接SID有序列表的排序集合,用于标识一条完整的标签交换路径LSP,封装在报文投不中指导转发

标签段生成方式作用示例
Adjacency Segment邻接段源节点通过协议动态分配1、标识网络中某节点的某个邻接;2、由源节点IGP分配只在本地有效;3、通过IGP扩展到其他网元本地有效;4、SID标识
Prefix Segment前缀段手工配置1、标识网络中某个目的地址前缀;2、通过IGP扩散到其他网元全局有效;3、Prefix SID是源端发布的SRGB范围内的偏移量,接收端会根据自己的SRGB计算实际标签用于生成MPLS转发表项
Node Segment节点段手工配置Node Segment是特殊的Prefix Segment,用于标识特定节点Node,在节点的Loopback接口下配置IP地址作为前缀,这个节点的Prefix SID实际就是Node SID
  • SR原理

SR是对现有IGP协议进行扩展,基于MPLS协议,采用源路由技术而设计的在网络上转发数据报的一种协议,通过邻接段、前缀或节点段进行有序排列得到一条转发路径,当网络节点收到数据包后,如果段序列标识是Node SID,则根据SPF计算的最短路径转发到该节点,如果是Adjacency SID邻接ID,则根据邻接ID转发到下一节点,直到数据报文达到目的节点

  • SR-BE(Best Effort)最短路径隧道:基于Prefix Segment由IGP使用SPF算法计算最短路径,称为SR-BE;

PE1到PE2的LSP控制平面:
1、PE2的环回地址为X.X.X.X/X,分配的SID为100,将该信息泛洪到整个IS-IS域;
2、所有节点收到PE2的Node SID,生成转发表:入标签(本地SRGB+偏移量)、出标签(下一跳SRGB+偏移量)、出接口下一跳(IGP计算的最短路径);
3、PE1进行IS-IS计算,得到到PE2的两条最短路径;

PE1到PE2的LSP转发平面:
1、PE1节点接收到业务报文:根据目的地址、标签转发表和ECMP分流算法封装下一跳分配的出标签,依据目的前缀SID和标签转发表从对应的接口转发出去;
2、经过节点:依据外层标签级标签转发表,交换出标签为下一跳分配的SR出标签,并从对应的接口转发出去;
3、出口节点:发现外层标签是自己,弹出外层标签,依据外层地址业务报文转发给CE设备;

  • SR-TE(Traffic Engineering流量工程)严格显示路径隧道:基于Adjacency Segment头结点指定严格显式路径,集中进行路径调整和流量调优,可以更好的配合实现SDN;

PE1到PE2的LSP控制平面:

1、标签、标签转发表和拓扑信息生成(各节点,通过IS-IS泛洪);
2、标签和拓扑信息上报(通过BGP-LS上报控制器);
3、路径计算(控制器采用PCEP完成标签转发路径计算);
4、路径下发(控制器通过PCEP下发隧道信息、通过Netconf下发隧道属性给隧道首节点,隧道首节点通过PCEP上报隧道状态给控制器);
5、隧道创建(隧道首节点根据控制器下发的标签栈创建SR-TE隧道);

PE1到PE2的LSP转发平面:

1、PE1收到业务报文:依据配置的路由策略或隧道策略确定SR-TE Tunnel并封装到对应栈,判断栈顶标签为邻接SID,Pop弹出该栈顶标签,并转发到对应接口;
2、经过节点:判断栈顶标签为邻接SID,Pop弹出该栈顶标签,并转发到对应接口;
3、出口节点:依据外层地址业务报文转发给CE设备;

  • SR-TE(Loose Explicit Path)松散显示路径隧道:基于Adjacency Segment和Node Segment显示路径与最短路径相结合,称作松散路径Loose Explicit,主要用于SR-TE;

PE1到PE2的LSP转发平面:

1、PE1收到业务报文:依据业务配置的路由策略或隧道策略确定SR-TE Tunnle并封装到对应栈,判断栈顶标签为邻接SID,并转发到对应接口(注意,这里没有Pop出栈顶标签是因为邻接SID不等于栈顶标签);
2、经过节点P2:依据外层标签1004和标签转发表,交换外层标签为下一跳的出标签1004,转发到对应接口;
3、经过节点P4:发现外层标签是自己,弹出外层标签1004,判断下一层标签403为邻接SID,也将其弹出,并转发出去;
4、出口节点:判断标签306为邻接SID,将其弹出,并转发出去;
5、PE2节点:依据外层地址业务报文转发给CE设备;

总结

  • SR产生背景
  • SR基本概念
  • SR技术架构
  • SR工作原理

到这里关于HCIA的学习笔记完成,如有错误还请多多指教,接下来就能开始学习HCIP了。

本文标签: 笔记 HCIA