导图社区 华为HCIA-Datacom认证学习笔记
必看!一张图带你掌握华为HCIA-Datacom V1.0知识体系 包括内容:路由交换原理、WLAN基本原理、网络安全基础知识、网络管理与运维基础知识、以及SDN与编程自动化基础知识等
编辑于2022-07-21 17:50:47HCIA-Datacom
数据通信网络基础
网络类型
按照地理覆盖范围来划分,网络可以分为局域网 (Local Area Network)、城域网 (Metropolitan Area Network) 和广域网 (Wide Area Network)。 局域网(LAN): 在某一地理区域内由计算机、服务器以及各种网络设备组成的网络。局域网的覆盖范围一般是方圆几千米以内。 典型的局域网有:一家公司的办公网络,一个网吧的网络,一个家庭网络等。 城域网(MAN): 在一个城市范围内所建立的计算机通信网络。 典型的城域网有:宽带城域网、教育城域网、市级或省级电子政务专网等。 广域网(WAN): 通常覆盖很大的地理范围,从几十公里到几千公里。它能连接多个城市甚至国家,并能提供远距离通信,形成国际性的大型网络。 典型的广域网有:Internet(因特网)。
网络拓扑
网络工程
围绕着网络进行的一系列的活动,包括:网络规划、设计、实施、调试、排错等。
网络的完整生命周期规划与设计、部署与实施、网络运维、网络优化。
网络参考模型
OSI参考模型
分层优点
各模块之间相互协作,同时每个模块又需要“各司其职”,可以实现产业的标准化
各个层次之间分工、界限明确,有助于各个部件的开发、设计和故障排除
TCP/IP模型
TCP/IP参考模型
OSI和TCP/IP的区别
TCP/IP对等模型
应用层
传输层
TCP和UDP报文格式
TCP报文头部: Source Port:源端口,标识哪个应用程序发送。长度为16比特 Destination Port:目的端口,标识哪个应用程序接收。长度为16比特。 Sequence Number:序号字段。TCP链接中传输的数据流每个字节都编上一个序号。序号字段的值指的是本报文段所发送数据的第一个字节的序号。长度为32比特。 Acknowledgment Number:确认序列号,是期望收到对方下一个报文段数据的第1个字节的序号,即上次已成功接收到的数据段的最后一个字节数据的序号加1。只有Ack置位为1,此字段有效。长度为32比特。 Header Length:头部长度,指出TCP报文头部长度,以32比特(4字节)为计算单位。若无选项内容,则该字段为5,即头部为20字节。 Reserved:保留,必须填0。长度为6比特。 Control bits:控制位,包含FIN、ACK、SYN等标志位,代表不同状态下的TCP数据段。 FIN:请求建立连接 ACK:确认Acknowledgment Number有效 SYN:断开连接 URG:紧急指针 PSH:尽快交付应用层 RST:重建连接,例如:访问的端口关闭,UDP回复的是ICMP的端口不可达报文 Window:窗口TCP的流量控制,这个值表明当前接收端可接受的最大的数据总数(以字节为单位)。窗口最大为65535字节。长度为16比特。 Checksum:校验字段,是一个强制性的字段,由发端计算和存储,并由收端进行验证。在计算检验和时,要包括TCP头部和TCP数据,同时在TCP报文段的前面加上12字节的伪头部。长度为16比特。TCP和UDP都使用了伪首部的校验从而确认了接收方的身份(端口无法确认,还需要IP) Urgent:紧急指针,只有当控制位中的URG标志置1时紧急指针才有效。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。长度为16比特。 Options:选项字段(可选),长度为0-40字节。 选项表结束, 空操作:用于填充 最大报文段长度:MSS 窗口扩大因子 时间戳 MD5签名选项:用于基于TCP的BGP数据传输安全 UDP报文头部: Source Port:源端口,标识哪个应用程序发送。长度为16比特。 Destination Port:目的端口,标识哪个应用程序接收。长度为16比特。 Length:该字段指定UDP报头和数据总共占用的长度。可能的最小长度是8字节,因为UDP报头已经占用了8字节。由于这个字段的存在,UDP报文总长不可能超过65535字节(包括8字节的报头,和65527字节的数据)。 Checksum:覆盖UDP头部和UDP数据的校验和,长度为16比特。
(端口号2的16次方-1=65535) 客户端使用的源端口一般随机分配,目标端口则由服务器的应用指定; 源端口号一般为系统中未使用的,且大于1023;
TCP
FTP 20是数据端口,21是控制端口
22 SSH
23 Telnet
25 SMTP邮件
49 HWTACACS
53 DNS(TCP和UDP都是53)
80 HTTP
443 HTTPS
109 POP
110 POP3
179 BGP
UDP
RIP 520
RIPng 521
TFTP 69
67(DHCP服务器)和68(DHCP客户端)
DHCPv6
客户端侦听的UDP目的端口号是546。
服务器、中继代理侦听的UDP端口号是547。
NTP(网络时间协议) 123
SNMP(网络管理)中使用161作为监听端口,162作为Trap端口
BFD
控制报文
单跳
3784
多跳
3784、4784
Echo报文
3785
CAPWAP ( 无线接入点控制协和配置协议)
管理流量端口为UDP端口5246。 业务数据流量端口为UDP端口5247。
RADIUS
1812
认证
1813
计费
L2TP
1701
UDP和TCP的区别: 1、连接方面区别 TCP面向连接(如打电话要先拨号建立连接)。 UDP是无连接的,即发送数据之前不需要建立连接。IP也是面向无连接的,所以IP依靠的数TCP的可靠性 2、安全方面的区别 TCP提供可靠的服务,通过TCP连接传送的数据,无差错,不丢失,不重复,且有序到达。 UDP尽最大努力交付,即不保证可靠交付。UDP不提供超时重传机制,占用资源小,处理效率高一些时延敏的流量,如语音、视频等,通常使用UDP作为传输层协议 3、传输效率的区别 TCP传输效率相对较低。 UDP传输效率高,适用于对高速传输和实时性有较高的通信或广播通信。 4、连接对象数量的区别 TCP连接只能是点到点、一对一的。 UDP支持一对一,一对多,多对一和多对多的交互通信。
TCP工作原理
TCP/IP三次握手
第一次握手:发送方发送一个SYN置为1的报文,Seq=a 第二次握手:接收方收到SYN置位报文后,回复一个SYN和ACK置为1,Seq=b,Ack=a+1 第三次握手:发送方收到接收方发送的SYN和ACK置位报文后,回复一个ACK置为1的报文,Seq=a+1,Ack=b+1
SYN
ISN
初始化序列号:是一个随机值
安全角度
TCP连接稳定
MSS
最大报文长度
MSS=TCP报文段长度-TCP首部长度
TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以一般MSS值1460
ACK表示的是你的请求消息我已经收到
累计确认
捎带确认
单独确认某一些数据
SYN不能携带数据,ACK可以携带数据,不携带数据时,不占用序号
TCP使用序列号和确认序列号字段实现数据的可靠和有序传输
序列号+载荷长度=下一段数据的第一个字节的序号
Seq标识了发的数据到哪里(不重复和乱序的问题),Ack确认发的数据是否有效(不丢包的问题)
当Ack值不变时,说明确认发的数据为0
任何一个包丢后,都将从当前丢包的地方开始往后都发,因为是有序传输
TCP通过滑动窗口机制来控制数据的传输速率
双方都会通过Window字段告诉对方本端最大能够接受的字节数(也就是缓冲区大小)
TCP/IP四次挥手
关闭连接释放资源
TCP提供了半关闭能力︰连接的一端在结束它的发送后还能接收来自另一端数据。
TCP协议中的三次握手和四次挥手
网络层
数据链路层
在数据链路层要解决数据传输的三个问题: 封装成帧 透明传输 差错检验(确定帧在传输过程中是否保持了完整性):循环冗余检验算法(CRC)生成帧检验序列(FCS)
FCS的计算
数据链路层能发现错误但不能纠正
以太网
以太网是一种广播式数据链路层协议,支持多点接入。 个人电脑的网络接口遵循的就是以太网标准。
MAC地址
MAC地址由48比特(6个字节)长,12位的16进制数字组成
MAC用于在一个IP网段内,寻址找到具体的物理设备。
交换机只有一个MAC地址,路由器每个接口一个MAC地址
MAC地址与IP地址都可以用来定位设备; MAC地址工作于数据链路层,而IP地址工作于网络层; IP地址分为网络号和主机号,对于中途经过的路由器来说,并不关注它的主机号为多少,只关注网络号,根据网络号进行转发。 这就是为什么使用MAC地址这样的二层地址寻址,只适合在局域网范围内实现。
ARP协议
功能
IP——>MAC
维护IP地址与MAC地址的映射关系的缓存,即ARP表项;
实现网段内重复IP地址的检测。
ARP表项
作用
指导数据帧封装
内容
IP
MAC
接口
类型
时间(1200s)
生成方式
静态
动态
报文
ARP报文不能穿越路由器,不能被转发到其他广播域。
工作原理
①查找ARP缓存表
arp -a查看arp缓存 arp -d/<Huawei>reset arp dynamic 清空arp缓存
ARP生存期
静态
永久
主机
2分钟?10分钟?180s?
华为设备
默认20分钟,1200s
[Huawei-GigabitEthernet0/0/0]arp expire-time
②ARP请求
ARP Request是一个广播报文
③ARP响应
ARP Reply报文通过单播发回源设备
请求主机和被请求主机都会记录对方的ARP表项
ARP报文封装在物理帧中传输
分类
ARP
正向ARP
根据IP请求MAC
RARP
反向ARP
根据MAC请求IP
无盘工作站
PXE
inARP
逆向ARP
帧中继(NBMA)
SLARP
串行链路ARP,思科私有
用于HDLC
免费ARP
原理
主机通过发送一个目的IP地址为自己的报文,然后在二层广播
场景
①IP地址冲突检测:当设备接口的协议状态变为Up时,设备主动对外发送免费ARP报文。正常情况下不会收到ARP应答,如果收到,则表明本网络中存在与 自身IP地址重复的地址。如果检测到IP地址冲突,设备会周期性的广播发送免费ARP应答报文,直到冲突解除。
②用于通告一个新的MAC地址:发送方更换了网卡,MAC地址变化了,为了能够在动态ARP表项老化前通告网络中其他设备,发送方可以发送一个免费ARP。
③在VRRP备份组中用来通告主备发生变换:发生主备变换后,MASTER设备会广播发送一个免费ARP报文来通告发生了主备变换。FW主备切换同理。目的都是通知下游交换机更新MAC地址表
ARP代理
路由式代理
应用场景
同网段不同广播域
MA网络只指定出接口
原理
路由器代理主机A去请求主机B的MAC地址,所以ARP报文仍然没有穿过路由器
因为开始主机A认为主机B在同一网络,所以封装方式和不同网段的ARP通信一致
主机B的IP地址在主机A中的ARP表项绑定的是主机A的网关(G0/0/0)的MAC地址(ARP欺骗),所以可以理解为变相的通过代理划分为同一个广播域
只有G0/0/0开启ARP代理时,主机A可以ping通主机B,但主机B无法ping通主机A
注意代理的路由器到主机B必须可达
条件
网关有目的主机的路由条目
VLAN间代理
应用场景
Super VLAN中不同Sub-VLAN之间通信
原理
请求目的主机MAC,网关做欺骗响应
条件
网关有目的主机的ARP条目
VLAN内代理
应用场景
端口隔离
原理
请求目的主机MAC,网关做欺骗响应
条件
网关有目的主机的ARP条目
ARP攻击
泛洪
ARP泛洪
ARP miss
欺骗
ARP欺骗避免方法
防火墙
静态绑定
arp -s
物理层
传输介质
同轴电缆
速度小于10M
双绞线
线序
线序分类
1、568A交叉 绿白,绿,橙白,蓝,蓝白, 橙,棕白,棕。 2、568B(直通常用) 橙白,橙,绿白,蓝,蓝白, 绿,棕白,棕。
不同线序的双绞线
直通线:两端线序一样(一般使用568A) 交叉线:一端568A,一端568B
同交异直 端口自适应
反转线(console线)
双工/半双工
[Huawei-Ethernet0/0/1]duplex full [Huawei-Ethernet0/0/1]duplex half
HUB工作在半双工模式。
全双工从根本上解决了以太网的冲突问题,以太网从此告别CSMA/CD。
速率
100M 两对(1236) 1000M 四对
[Huawei-Ethernet0/0/1]undo negotiation auto 默认全部自动协商,先关闭自动协商,在配置速率 [Huawei-GigabitEthernet0/0/0]speed 100
以太网速率双工自协商在如下标准中定义: 百兆以太网标准:IEEE 802.3u 千兆以太网标准:IEEE 802.3z
10M标准以太网 100M快速以太网:FE 1000M千兆以太网:GE 10000M万兆以太网:XE
分类
按照抗电磁干扰能力还可以分为: STP-屏蔽双绞线 UTP-非屏蔽双绞线
光纤

LC
小方头
SC
大方头 路由器交换机(光模块)上用的最多
FC
圆形螺口 配线架上用的最多
ST
圆形卡口
分类
光纤波长一般是800到1600nm 光纤中波长是850nm、1300nm和1550nm的光纤损耗较小 玻璃光纤的损耗主要来自两方面:吸收损耗和散射损耗 多模光纤适用于850nm和1300nm的波长 单模光纤适用于1550nm和1310nm的波长 波长1300nm和1310nm的区别仅在于习惯叫法不同 激光和发光二极管也用于光纤中的光传播。激光长于用波长1310nm或1550nm的单模设备,而发光二极管用于波长850nm或1300nm的多模设备
光模块:将电信号与光信号互转的器件
串口电缆
串口电缆在WAN(Wide Area Network,广域网)中大规模使用,根据WAN线路类型不同,串口电缆在设备上连接的接口类型也不同:异/同步串口、ATM接口、POS接口、CE1/PRI接口等。
无线电磁波
数据通信过程
传输到路由器或者交换机时,数据链路层和网络层要重新解封装和封装再发送
二层(源目MAC)一直在变,三层不变
封装时上层协议是下层协议的数据部分
了解数据封装和解封装的过程
华为VRP操作系统
文件系统
存储设备
设备初始化过程
设备上电后,先运行BootROM软件,初始化硬件并显示设备的硬件参数,然后运行系统软件。
<Ctrl+B>进入BootROM主系统菜单
设备管理
Web网管
HTTP
HTTPS
HTTP协议本身不能对Web服务器的身份进行验证,无法提供安全性保证。所以当通过HTTP方式登录设备时,存在很大的安全隐患。为了解决这一问题,在通过HTTP方式登录的过程中,传输的用户名和密码也必须使用HTTPS安全协议,所以都需要加载SSL证书,用于登录设备时的身份验证。
命令行方式
Console口
Mini USB
Telnet
采用TCP协议进行明文传输
SSH
不支持密码验证 依靠AAA的机密机制
用户界面
Console用户界面
只能有一个用户登录console口
物理属性
默认:9600 8 无 1 无
可以通过命令修改参考产品文档
VTY用户界面
设备一般最多支持15个用户同时通过VTY方式访问
user-interface maximum-vty 15
用户可以通过访问控制列表(ACL),实现对通过VTY用户界面的登录进行限制。
TTY用户界面
实体类型终端(True Type Terminal),用来管理和监控通过TTY方式登录的用户。TTY方式是指异步串口的登录方式。
配置用户界面(Console、VTY)的基本属性
终端属性
超时时间
idle-timeout minutes [ seconds ]
默认10分钟
历史命令缓冲区
history-command max-size 0-256
默认10条
display history-command
设置终端屏幕每屏显示的行数
screen-length 0
取消分屏显示
默认24行
设置终端屏幕显示的列数
screen-width 100
默认80列
用户级别
console口默认用户级别15级,命令级别3级
VTY默认0级
如果用户界面下配置的命令级别访问权限与用户名本身对应的操作权限冲突,以用户名本身对应的级别为准(local-user admin privilege level > user privilege level)
登录密码设置
密码验证
user-interface con 0(user-interface vty 0 4) authentication-mode password # 这一条后需要设置密码就不需要第二条 set authentication password cipher 123456 # 修改密码 user privilege level 3 protocol inbound telnet #远程登录需要设置,默认telnet telnet server enable # 全局开启远程登录的协议
AAA验证
①user-interface con 0(user-interface vty 0 4) authentication-mode aaa protocol inbound ssh(telnet) ②aaa local-user wf password cipher(irreversible-cipher) 123456 local-user wf service-type terminal(telnet、ssh) local-user wf privilege level 3 ③stelnet(telnet) server enable ssh authentication-type default password 命令用来配置SSH用户缺省采用密码认证(交换机需要)
VRP用户级别
命令级别按0~3级,用户级别0~15级
命令等级修改
command-privilege level命令用来设置指定视图内的命令的级别。
command-privilege level rearrange用来批量提升命令级别。
用户切换高等级
设置super等级密码
super password level 3 cipher 123456
用户切换等级命令
super 3
命令行视图
用户视图——>系统视图
命令行错误信息
删除命令
[Huawei]clear configuration interface GigabitEthernet 0/0/1
清空某一端口的配置 清空后接口处于shutdown状态
<Huawei>reset saved-configuration
清除所有配置
清除后重启reboot
快捷键
<Ctrl+A> 将光标移动到当前行的开头
<Ctrl+B> 将光标向左移动一个字符
<Ctrl+C> 停止当前正在执行的功能
<Ctrl+D> 删除当前光标所在位置的字符
<Ctrl+E> 将光标移动到最后一行的末尾
<Ctrl+F> 将光标向右移动一个字符
<Ctrl+H> 删除光标左侧的一个字符
<Ctrl+K> 在连接建立阶段终止呼出的连接
<Ctrl+N>或↓光标 显示历史命令缓冲区中的后一条命令
<Ctrl+P>或↑光标 显示历史命令缓冲区中的前一条命令
<Ctrl+T> 输入问号“?”
<Ctrl+W> 删除光标左侧的一个字符串(字)
<Ctrl+X> 删除光标左侧所有的字符
<Ctrl+Y> 删除光标所在位置及其右侧所有的字符
<Ctrl+Z> 返回到用户视图
<Ctrl+]> 终止当前连接或切换连接
<Esc+B> 将光标向左移动一个字符串(字)
<Esc+D> 删除光标右侧的一个字符串(字)
<Esc+F> 将光标向右移动一个字符串(字)
自定义快捷键
自定义快捷键:共有4个,<Ctrl+G>、<Ctrl+L>、<Ctrl+O>和<Ctrl+U>。 用户可以根据自己的需要将这4个快捷键与任意命 令进行关联,当使用快捷键时,系统自动执行它 所对应的命令。
[Huawei]hotkey CTRL_G "display ip routing-table "
命令行配置
中文模式
<Huawei>language-mode Chinese
登录标题
[Huawei]header shell information "Welcome!" [Huawei]header login information "Password:123456"
login
输密码的提示信息
shell
登录成功的提示信息
配置文件
set save-configuration [ interval interval | cpu-limit cpu-usage | delay delay-interval ] *,配置系统定时保存配置。
<huawei>compare configuration
比较当前配置与下次启动的配置,同时可以指定文件
reset saved-configuration命令会清空设备下次启动使用的配置文件信息
文件必须以“.zip”或“.cfg”作为扩展名。而且系统启动配置文件必须存放在存储设备的根目录下
关闭信息显示
undo terminal debugging
调试信息
默认关闭
undo terminal logging
日志信息
undo terminal trapping
Trap信息
undo terminal alarm
告警信息
默认开启
undo terminal monitor 都关闭
undo info-center enable
日志信息都不再向终端或远端服务器发送
文件管理
升级系统
<Huawei>startup system-software
存储设备修复
<Huawei>fixdisk flash:
存储设备格式化
<huawei>format flash:
设备
设备温度 <HUAWEI> display temperature
告警信息 <HUAWEI> display alarm urgent
CPU状态 <HUAWEI> display cpu-usage
内存占用率 <HUAWEI> display memory-usage
批量配置
port-group
interface range
查看配置
d th
当前视图下配置
d cu
所有配置
d cu co XXXX
指定模块的配置
d cu | include XXXX
匹配的行
网络层协议及IP编址
IPv4报文格式
IP Packet(IP数据包),其包头主要内容如下: Version:4 bit,4(0100):表示为IPv4;6(0110):表示为IPv6。 Header Length:4 bit,首部长度(以4字节为单位),如果不带Option字段,则为20,最长为60(4比特最大值15,15*4=60)。 Type of Service:8 bit,服务类型。只有在有QoS差分服务要求时,这个字段才起作用。 Total Length:16 bit,总长度,整个IP数据包的长度,总长度 - 首部长度 = 数据部分长度。总长度必须不超过最大传输单元MTU,所以一般达不到65535。 Identification:16 bit,标识,分片重组时会用到该字段。 Flags:3 bit,标志位,只用了其中两位(DF、MF)。 Fragment Offset:12 bit,片偏移,分片重组时会用到该字段,每一个包分片第一个字节在原始数据中的排序,然后除以8得到片偏移。 Time to Live:8 bit,生存时间。可以根据TTL看出设备之间的大概距离 Protocol:8 bit,协议:上层协议。指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。 Header Checksum:16 bit,首部检验和,为0表示没有出错 Source IP Address:32 bit,源IP地址。 Destination IP Address:32 bit,目的IP地址。 Options:可变,选项字段。,用于网络测试、测试、控制,包括:数据包经过的路由、时间、源端必须经过的路由、Path MTU Padding:可变,填充字段,全填0。
数据包分片
分片是因为数据链路层的数据传输大小有限制,例如:Ethernet II最大MTU1500
identification:同一个包的标志
flags: DF(Don't Fragment),能否分片位,0表示可以分片,1表示不能分片。如果不允许分片,超过MTU直接丢弃 MF(More Fragment),表示是否该报文为最后一片,0表示最后一片,1代表后面还有。
fragment offset(片偏移):数据包分片后,某片在原分组中的相对位置。以8个字节为偏移单位(每一个数据包的分片的第一个字节在原始数据包中的排序都是8的倍数) 以MTU为1500字节为例,可以传输的最大数据是1500-固定长度(20)= 1480
分片缺点
浪费带宽(所有的分片数据>原始数据)
丢失性增加
分片重组
目的主机根据片偏移量和MF位判断是否是一个分片 (MF=0,片偏移=0也表示不是一个分片报文,除此之外都是分片报文)
中间网络设备不会重组,但是可能会二次分片(超过MTU)只有到目的主机才会重组 避免二次分片--Path MTU(用整条链路上的最小MTU发送)
某一个分片丢失(超时),数据全部丢弃
TTL(Time to Live):生命周期字段,报文每经过一台三层设备,TTL值减1,当报文中的TTL降为0时,报文会被丢弃。具有防环的作用
可选项
报文
选项
记录路由选项
记录经过的路由器IP地址
最多9个(4*9<可选项长度40)
源路由选项
指定转发的路径
分类
严格源路由
松散源路由
时间戳
记录路由器收到报文的时间
同时记录IP和时间戳最多4组
协议号 (Protocol)
IP头中的协议号用来说明IP报文中承载的是哪种协议(一般是传输层协议,比如6 TCP,17 UDP;但也可能是网络层协议,比如1 ICMP;也可能是应用层协议,比如89 OSPF)。
IP
1 ICMP
2 IGMP
6 TCP
8 EGP
9 IGP
17 UDP
47 GRE
50 ESP
51 AH
89 OSPF
103 PIMv2
112 VRRP
115 L2TP
IPv6
58 ICMPv6
IP地址
IP地址分类
有类编址
私网IP地址
A类:10.0.0.0/8
10.0.0.0~10.255.255.255
B类:172.16.0.0/12
172.16.0.0~172.31.255.255
C类:192.168.0.0/16
192.168.0.0~192.168.255.255
特殊IP地址
单播
组播
224.0.0.1
IGMPv1/2的普遍组查询和报告报文
224.0.0.2
LDP本地会话发送Hello
IGMPv2的离开报文
224.0.0.5
OSPF-所有路由器
224.0.0.6
OSPF-DR
224.0.0.9
RIPv2更新
224.0.0.13
PIMv2组播地址
224.0.0.18
VRRP
224.0.0.22
IGMPv3的成员报告报文
224.0.0.184
BFD
广播
255.255.255.255
全网广播
X.255.255.255
子网广播
子网划分
IP地址规划原则
唯一性、连续性、扩展性、结构化、业务相关性
判断是否在同一网段与运算的特殊应用
PC1能通PC2,PC2不能通PC1
与运算
IP地址和子网掩码相与得到网段
用自己的掩码分别和自己的IP、对方的IP进行与运算,得到的网段对比
2^n(主机位)-2(网络地址+广播地址)≥人数*设备数(台式机、笔记本、手机、平板等等)+其他(打印机、会议终端等等)+预留地址+1(网关) 32-n得到掩码,借位的地方为每一个子网 分配地址时先从人数多的部门先分配,后边的部门从前边部门剩下的网段中划分,最后得出一个公司需要的地址范围
路由汇总:掩码变短 子网划分:掩码变长
VLSM(可变长子网掩码)CIDR(无类别域间路由)
ICMP协议
报文
作用
传递各种差错和控制信息,收集各种网络信息、诊断和排除网络故障,是IP协议的辅助协议
ICMP重定向
当路由器检测到一台机器使用非最优路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。
ICMP差错检测
ICMP Echo消息常用于诊断源和目的地之间的网络连通性
ping
ping的工作原理
ping 1.1.1.1 -t
一直ping
ping 1.1.1.1 -c/n 10
指定ping的次数
ping 1.1.1.1 -l/s 1501
指定ping的数据包大小
ping -a/S 1.1.1.1 2.2.2.2
指定源地址
ICMP错误报告
TTL超时可能存在环路
tracet工作原理
通过改变TTL值探测每一个节点,TTL从1开始,每探测一个节点+1
每一个节点默认发送三次报文,原因是可能存在多条转发路径
主机侧发送的是ICMP报文,路由器侧发送的是UDP报文,并且通过五元组中的目的端口号区分不同的数据包,目的端口号很大,因为一般没有服务开启,所以端口不可达
指定探测的节点数
tracert -q 5 127.0.0.1
接口
Loopback口
Loopback接口不能封装任何链路层协议,数据链路层也就不存在协商问题,其协议状态永远都是Up。 对于目的地址不是本地IP地址,出接口是本地Loopback接口的报文,设备会将其直接丢弃。
路由器的接口不能同一网段
interface GigabitEthernet0/0/0 ip address 10.1.1.1 255.255.255.0 ip address 20.1.1.1 255.255.255.0 sub
从IP地址配置 一个接口可以配置多个从IP地址,从地址必须有主地址为前提
二层接口不能配置IP也不具备MAC地址
IP路由基础
路由概述
什么是路由?
路
网络
由
方向
路由表项
作用
指导三层数据转发
内容
目的网段
下一跳
出接口
cost
优先级
协议
路由生成方式
直连:设备自动生成
产生条件
配置IP
物理状态UP
协议状态
数据链路层协议必须协商成功
网络层协议???
MA
要互相访问必须同网段
因为需要请求对方的MAC地址
P2P
合法IP不冲突即可互相访问
通过数据链路层的协商IP,无需封装对端MAC
产生的路由条目
①该接口的32位主机路由和广播路由下一跳指向127.0.0.1
②该网段的路由下一跳指向该接口
③对于P2P网络还会有对端的32位主机路由指向对端的IP
静态:手动配置
动态:协议生成
无论静态还是动态,都是为了构建路由表
路由器处理数据
1.网关及中间节点根据MAC解封装
2.根据D.IP查找RIB
没有查找到或者匹配到黑洞路由都会丢弃报文
3.根据最长掩码匹配规则,匹配路由表
4.根据出接口(S.MAC),下一跳(D.MAC)封装发送数据 当匹配中直连路由进行转发时,转发的动作不是交给下一跳,而是查询ARP表项,根据ARP表项封装报文,将报文发送到目的IP,此时该路由器为路由转发的最后一跳路由器,最后一跳路由器二层寻址将报文转发给目的主机。
路由表
路由表(Routing Table)等价于转发数据库; 路由表中的“路由条目”等价于转发数据的路径。 真正指导数据转发的是FIB表 主机:route print
优先级
优先级的数值为一个正整数,范围是0~255,它用于指定路由协议的优先级; 不同厂家默认的路由优先级也有所不同。0只能是直连路由,所以可以修改的优先级范围是1-255,直连路由的路由优先级和度量值都是不可修改的
路由选择
路由器选择最优路由的顺序: 1.根据路由的优先级选择哪一类路由协议; 默认优先级: Direct 0 OSPF 10 ISIS 15 Static 60 RIP 100 O-ASE 150 BGP 255 华为存在内部和外部优先级,先比外部再比内部,除了IS-IS和BGP内外优先级不一样,其它都一样 2.如果优先级相等,再比较度量值(metric),决定哪些路由放入路由表; RIP是采用跳数(Hop) OSPF采用开销(Cost)开销跟带宽有关系,带宽越大,开销越小,。带宽可以通过端口速率计算得出,一般端口速率越大,开销越小 3.如果以上所有都相同,就是负载均衡链路(等价路由)
inactive参数可以看到未优选的路由
路由查询
1、最长掩码匹配原则
2、递归查询(放入路由表的时候自动进行)
下一跳查询出接口(Flag:R--Relay)
路由协议分类
路由协议
工作区域
依据:AS:在一个实体管辖下的拥有相同选路策略(同一路由协议)的IP网络
内部网关协议IGP,在AS内部使用的协议,常用的有OSPF、ISIS、RIP、EIGRP
外部网关协议EGP,在AS之间使用的协议,常用的有BGP
工作机制及算法
基于距离矢量协议的有:RIP,EIGRP,BGP
传递的是路由条目 方向+距离(路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的方向在哪里,距离有多远)
基于链路状态协议的有:OSPF,IS-IS(中间系统到中间系统)
传递路由信息和拓扑信息(地图碎片),可以通过LSA推导全网拓扑 交互LSA(Link State Advertisement,链路状态通告):LSA描述了路由器接口的状态信息,例如接口的开销、连接的对象等
链路状态路由协议建立过程
1、建立相邻路由器之间的邻居关系
2、邻居之间交互链路状态信息和同步LSDB
3、进行优选路径计算。
OSPF:SPF计算
4、根据最短路径树生成路由表项加载到路由表。
区别
运行距离矢量型路由协议的路由器只拥有自己周围这几台路由器分享的距离和矢量信息; 运行链路状态型路由协议的路由器则像是在每个路口为远足者提供一张完整的区域地图。
掩码
依据:从路由协议在发送路由更新信息时是否会携带掩码
有类路由协议(Classful Routing Protocol,不带掩码,不支持VLSM ):RIPv1
无类路由协议(Classless Routing Protocol,带掩码,支持VLSM) :RIPv2、OSPF、IS-IS
被路由协议( Routed Protocol )是数据包的运输工具,携带用户流量。例如IP、IPX。
静态路由
优缺点
优点:手动配置,配置方便,对系统要求低(无需交换协议报文) 适用于拓扑结构简单并且稳定的小型网络 缺点:不能自动适应网络拓扑的变化,需要人工干预 无法适应规模较大的网络
配置
可以同时指定出接口和下一跳 对于点到点接口(如串口),必须指定出接口。 对于广播接口(如以太网接口)和VT(Virtual-template)接口,必须指定下一跳。(通过交换机连接多个路由器:ARP代理可以解决)
直连通信

静态路由分类
默认路由(缺省路由) 掩码长度为全0的静态路由称为默认路由; 通常用于目标网络地址不明的路由配置 常见的的例子是,在企业网络的网关路由器上,管理员用一条默认路由指向运营商网络 配置默认路由时,管理员不能在相邻的两端路由器向对端互指默认路由,否则这条链路上就会形成环路。
黑洞路由:指向null接口的路由,null是一个虚拟接口,无法被配置IP,转发到该接口的数据包都会被丢弃掉,主要作用消除路由环路防止某些网络攻击。 ip route-static 192.168.0.0 24 null0 黑洞路由是出现故障情况下的备用路由
主机路由 ip route-static 10.0.84.1 32 192.168.2.2
路由迭代(递归)
递归路由在路由表中的flags为RD
使用路由迭代时静态路由的下一跳可以不可达或者不存在
静态路由有下一跳的直连路由才会加入路由表,如果没有,通过路由递归查找到有下一跳的直连路由也加入路由表
迭代后的路由在FIB表中是一条计算后的完整路由
ip route-static 0.0.0.0 0 1.1.1.1 permanent
增加permanent即使下一跳不可达,也会出现在路由表中
等价路由
负载分担的作用
浮动路由
链路的冗余备份
静态路由环路
双向指

汇总环路
 外网到内网做路由汇总,当R1收到在汇总路由中的路由,但明细路由没有的路由时会出现路由环路(汇总不精确) 解决办法:精确汇总或者增加一条汇总路由指向NULL0的路由
RIP
RIP缺点
收敛慢(每台路由器都从相邻的路由器学习到路由)
使用距离矢量算法,道听途说的路由协议,不知道全网拓扑(环路隐患)
开销不合理(根据跳数可能优选带宽较低的链路)
支持的网络规模有限(最大16跳)
没有网络延迟和链路成本的概念(广播占用大量带宽,跳数形成次优)
RIP版本
RIPv1和RIPv2. RIPv1 的主要区别: 1.RIPv1是有类路由协议,RIPv2是无类路由协议。 2.RIPv1不能支持VLSM,RIPv2可以支持VLSM。 3.RIPv1在主网络边界不能关闭自动汇总(没有手工汇总的功能),RIPv2可以在关闭自动汇总的前提下,进行手工汇总(v1不支持主网络被分割,v2支持主网络被分割)。 4.RIPv1没有认证的功能,RIPv2可以支持认证,并且有明文和MD5两种认证。 5.RIPv1是广播(255.255.255.255)更新,RIPv2是组播(224.0.0.9)更新。 6.RIPv1对路由没有标记的功能,RIPv2可以对路由打标记(tag),用于过滤和做策略。 7.RIPv1发送的updata包里面没有next-hop属性,RIPv2有next-hop属性,可以用与路由更新的重定。 RIP协议(无论RIPv1还是RIPv2)是基于UDP的应用层协议,RIP对应的端口号是UDP 520; RIP协议的度量值为跳数,最大度量值为16跳,16跳为不可达;
报文
RIP协议的计时器: 更新计时器(Update Timer):30S; 老化计时器(Age Timer):180S; 垃圾收集计时器(Garbage Collect Timer):120S。
RIP的环路避免机制
水平分割: 水平分割(Split Horizon)引入的规则是,禁止路由器将从一个接口学习到的路由,再从同一个接口通告出去。
毒性反转: 毒性反转的做法是,当路由器从一个接口学习到一条去往某个网络路由时,它就会通过这个接口通告一条该网络不可达的路由。
路由毒化与触发更新: 路由毒化(Route Poisoning)是指路由器会将自己路由表中已经失效的路由作为一条不可达路由主动通告出去; 触发更新(Triggered Update)顾名思义,是指路由器在网络发生变化时,不等待更新计时器到时,就主动发送更新。
RIP的自动汇总
华为路由器默认自动启用路由自动汇总功能; 将同一主类子网明细路由汇总成一条主类网络的汇总路由; 优点:减小路由条目,降低传输RIP协议消息的数量。 华为对RIPv2的自动汇总进行了优化:只有当接口上禁用了水平分割特性后,RIPv2才会执行自动汇总。华为路由器默认接口的水平分割特性是启用的,因此在RIPv2发出的报文中并没有自动汇总的路由条目,而只有明细路由条目。
[Huawei-rip-1]summary //协议视图下,默认启用 [Huawei-GigabitEthernet0/0/1]rip summary-address 172.17.16.0 255.255.252.0 //接口视图下
RIP配置
[AR1]rip [AR1-rip-1]version 2 [AR1-rip-1]silent-interface all //使路由器本地的所有接口不向外发送广播或组播RIP消息,但这条命令并不禁止路由器发送单播RIP消息 [AR1-rip-1]peer 10.8.0.1 //启用了本地属于10.8.0.0/24子网的接口发送RIP单播更新的功能。 [AR1]rip [AR1-rip-1]silent-interface g0/0/0 //静默接口不发送更新报文,可以接收报文 [AR1]interface g0/0/0 [AR1-g0/0/0]undo rip output //禁止该接口以任何形式(广播、组播、单播)向外发送RIP更新 [AR1-g0/0/0]undo rip input //不接收RIP更新
OSPF基础
OSPF
OSPF(Open Shortest Path First,开放式最短路径优先)
三张表
邻居表
display ospf peer
LSDB表(链路状态数据库)
display ospf lsdb
每个路由器通过接收每个邻居发来的LSA(l链路状态通告)组成自己的LSDB(链路状态数据库) LSA是LSDB的最小组成单位,也就是说LSDB由一条条LSA构成的。 同一个区域LSDB是一样的
OSPF路由表
display ospf routing
Type
Inter-area:区域间路由
Intra-area:区域内路由
Stub:router-lsa发布的路由,对应非广播网络、非NBMA网络的直连路由。
Transit:network-lsa发布的路由。
五种报文
Hello报文:周期性发送,用于发现、建立和维护邻居关系
Hello间隔(Hello Interval):邻居关系的建立需要hello间隔时间相同 默认情况下,P2P和Broadcast的hello时间间隔10秒 NBMA和P2MP的hello时间间隔30秒 路由器失效时间(Router Dead Interval):默认hello时间的4倍
路由器侦听组播地址224.0.0.5判断对方有没有开启OSPF协议
DD(Database Description Packets 数据库描述)报文:协商主从关系后,描述LSDB中的LSA头部数据(摘要信息)
LSR(Link-state Request 链路状态请求)报文:请求向对方请求所需的LSA
LSU(Link-state Update 链路状态更新)报文:回应LSR的请求,向对方发送其所需要的完整LSA信息
LSAck(Link-state Acknowledgement 链路状态确认)报文:用来对收到的LSA进行确认,确保可靠性
七种状态
七种状态
Down → Attempt(只有NBMA类型的网络中才会出现Attempt状态) → Init → Two-way → Exstart → Exchange → Loading → Full
邻居关系、协商主/从、交互LSDB信息,同步LSDB 1.发送Hello报文建立2-WAY的邻居关系 2.通过DD报文协商主从关系,并且描述各自LSDB的摘要信息 3.LSR请求缺少的LSA,LSU携带完整LSA回复 4.LSAck确认收到的LSA,LSDB同步后进入FULL状态 5.执行SPF算法,计选择最优路径
Hello
Down
未收到其它路由器的Hello消息
Attempt
只适于NBMA网络,在NBMA网络中邻居是手动指定的,当一台设备试图通过hello报文去联系自己的邻居,但是没有收到回应报文时,就将它的邻居关系设置为Attempt状态。
Init
收到对端的Hello,但不包含本端R-ID,单向邻居(我知道你,但你不知道我)
2-way
收到对端的Hello,并且包含本端R-ID,双向邻居
Hello阶段完成了DR和BDR的选举 三次握手(三个hello报文)形成2-way关系
邻居关系建立
DD
ExStart(主从关系)
进入ExStart状态后,两边路由器发送第一个空的DD报文(主设备序列号X)来协商主/从关系,Router ID大的设备会成为Master路由器,Slave设备进入Exchange状态回复一个序列号为X的报文(此报文携带摘要信息)确认,Master设备收到后直接进入Exchange
Exchange(摘要信息)
Master发送DD报文(序列号X+1)描述自己的LSA,Slave收到后回复一个序列号同Master设备序列号的DD报文确认收到对方的DD报文,同时携带自己的LSA,发完最后一个DD报文后,邻居状态切换为Loading
DD序列号确保DD报文传输的可靠性(隐式确认机制) DD序列号只能由Master路由器来决定 DD报文中包含LSA的头部(摘要信息)
LSR\LSU\LSAck
Loading(交互LSA)
路由器会把从邻居那里接收到的LSA头部与自己的LSDB进行比较,如果自己缺少了某些LSA,路由器就会向邻居发送LSR来请求它所缺少的LSA的完整数据; 邻居则会使用LSU进行回应,只有LSU报文里才包含有LSA的完整信息; 收到LSU报文后,路由器需要发送LSAck对其中的LSA进行确认。
显式确认机制
链路状态通告(LSA)会被封装在链路状态更新消息(LSU)中
Full(同步)
表示路由器的链路状态数据库已经实现了同步
Slave设备先进入Exchange/Loading/Full状态
邻接关系建立
稳定状态
Down状态、2-Way状态和Full状态
两种选举
Router-ID选举
概述
每一个OSPF路由器身份的标识,每一台OSPF路由器只有一个Router-ID,Router-ID使用点分十进制的形式来表示,不同区域的R-ID可以相同
选举
1 .手工指定协议的Router-ID。
协议Router-ID优于全局Router-ID
不能配置0.0.0.0
2、使用全局router id
①手工配置的全局router id
②自动选举的router id
如果没有手动配置Router ID,则路由器使用Loopback接口中最大的IP地址作为Router ID;
如果没有配置Loopback接口,则路由器使用物理接口中最大的IP地址作为Router ID(不考虑接口的UP/DOWN状态)
(实际是开启OSPF的接口中第一个IP地址的接口,因为第一个配置的接口IP自动成为全局router id)
对于全局router id,当且仅当被选为Router ID的接口IP地址被删除/修改,才触发重新选择过程
Router-ID无抢占性,即使手动更改了协议Router-ID,也必须重启OSPF进程才能让自己设置的Router-ID生效。
DR和BDR选举
作用
减少邻接关系,从而减少泛洪的OSPF报文流量,实质减少了1类LSA描述信息的条数
选举网络类型
BMA和NBMA网络中的Hello报文选举DR/BDR,P2P和P2MP不选举DR/BDR
接口UP后,发送Hello报文,同时进入到Waiting状态。在Waiting状态下会有一个WaitingTimer,该计时器的长度与DeadTimer是一样的。默认值为40秒,用户不可自行调整。 在WaitingTimer触发前,发送的Hello报文是没有DR和BDR字段的。在Waiting阶段,如果收到Hello报文中有DR和BDR,那么直接承认网络中的DR和BDR,而不会触发选举。直接离开Waiting状态,开始邻居同步。 假设网络中已经存在一个DR和一个BDR,这时新加入网络中的路由器,不论它的Router ID或者DR优先级有多大,都会承认现网中已有的DR和BDR。 当DR因为故障Down掉之后,BDR会继承DR的位置,剩下的优先级大于0的路由器会竞争成为新的BDR。 只有当不同Router ID,或者配置不同DR优先级的路由器同时起来,在同一时刻进行DR选举才会应用DR选举规则产生DR。
选举(基于接口)
1.接口优先级
选举优先级最高的成为DR,优先级数字越大,表示优先级越高,被选为DR的几率就越大,次优先级的为BDR,优先级范围是0-255,默认为1,优先级为0表示不参与选举DR和BDR。
2.Route-ID大小
如果在优先级都相同的情况下,Route-ID 最大的成为DR,其次是BDR。
3.没选上的就是DRother
DR与BDR的特点
身份不抢占;
在位不选举;
先比优先级;
再比路由器ID。
一个多路访问网段,只能有一个DR和BDR
DR失效后,BDR优先成为DR,其它再去选举BDR 优先级大的不一定是DR/BDR(非抢占模式)
邻居关系和LSA
所有路由器都能与DR和BDR互换LSA,所以所有路由器都与DR和BDR是邻接(Adjacency)关系,而Drother与Drother之间无法互换LSA,所以Drother与Drother之间只是邻居关系。
邻居之间只交换Hello包,而邻接之间不仅交换Hello包,还要交换LSA。
R-ID和DR都不能抢占,所以更改或者重新选举Router-ID、DR/BDR都需要重启OSPF进程
<Huawei>reset ospf process
OSPF开销计算
开销值的计算公式: OSPF:到达目的网段的所有出接口开销之和(路由学习的入方向的累加和) OSPF根据接口的带宽自动计算其开销值。计算公式为:接口开销=带宽参考值/接口带宽。带宽参考值是可以配置的(至少大于48)。缺省值为100Mbit/s ≈10^8b,结果小于1时,取1。
T1
带宽1.544Mbps,Cost=64
E1
带宽2.048Mbps,Cost=48
修改开销
[Huawei-GE1/0/1] ospf cost cost
影响某一接口
[Huawei-ospf-1] bandwidth-reference value
影响所有接口
该进程中所有路由器都要修改,确保选路一致性
OSPF网络类型 (根据接口的数据链路层封装自动设置)
MA网络
广播型多路访问网络(BMA)
即Broadcast型网络,网络本身支持广播功能。 当链路层协议是Ethernet、FDDI时,OSPF缺省认为网络类型是广播型。以太网是典型的BMA网络。 DRother只需使用组播地址224.0.0.6将其LSA发送给DR和BDR(DR/BDR接收224.0.0.6的报文) DR使用组播地址224.0.0.5将LSA 转发给其它所有路由器
非广播型多路访问网络(NBMA)
(Non-BroadcastMultipleAccess)型网络,虽然从一个接口可以到达多个目的节点,但是网络本身不支持广播功能,当链路层协议是帧中继、ATM或X.25时,OSPF缺省认为网络类型是NBMA。此时OSPF的邻居需要管理员手工指定。
点到点
点到点网络(P2P)
即Point-to-point型网络,是指一段链路上只能连接两台路由器。 当链路层协议是PPP或HDLC时,OSPF缺省认为网络类型是P2P。
P2P网络因为不需要选举DR,所以可以加快建立邻居的关系
点到多点网络(P2MP)
即Point-to-multipoint型网络,是指该接口通过点到多点的网络与多台路由器相连,P都能通MP,MP之间都不通(MUX VLAN) P2MP型网络比较特殊,没有一种链路层协议会被缺省地认为是点到多点类型。点到多点必须是由其他网络类型强制更改而来。常用做法是将NBMA改为点到多点的网络。

虚连接中Hello单播发送
BMA网络中没有选出DR之前使用的组播地址都是224.0.0.5
配置
运行OSPF
ospf 1 router-id 1.1.1.1
配置区域
OSPF的区域ID按点分十进制的形式(与IPv4地址的格式一样)呈现
network 地址 反掩码
RFC定义
network 地址 掩码
华为优化
network 0.0.0.0 255.255.255.255 network 0.0.0.0 0.0.0.0
宣告所有接口
本质:network匹配的接口开启OSPF
ospf enable 1 area 0.0.0.0
接口下开启OSPF必须创建相应的进程和区域
ospf enable命令用来在接口上使能OSPF,优先级高于network命令
指定Router-ID
router id 1.1.1.1
全局router-id
display router id
ospf router-id 1.1.1.1
指定所有进程的Router-ID
display ospf peer
ospf 1 router-id 1.1.1.1
指定单进程的router-id
修改DR优先级
[Huawei-GigabitEthernet0/0/0]ospf dr-priority 100
默认1
接口
[R1-GigabitEthernet1/0/0] ospf network-type ?
修改接口类型
静默接口
禁止收发hello报文 阻止接口向外发送任何OSPF消息也不接收OSPF消息; 不会影响其他路由器学习到去往静默接口所连子网的路由信息。
接口在激活OSPF后,通告的是该接口的实际网络掩码(loopback除外),Loopback、串口和POS口(封装PPP协议或HDLC协议时)默认P2P类型
缺省情况下,OSPF以32位主机路由的方式对外发布Loopback接口的IP地址,与Loopback接口上配置的掩码长度无关。如果要发布Loopback接口的实际网段,需要在接口下配置网络类型为NBMA或广播型。
查看OSPF信息
display ospf interface
查看开启OSPF的接口、网络类型、DR状态、开销、优先级
display ospf interface all / GigabitEthernet 0/0/0
查看开启OSPF的接口、网络类型、DR状态、开销、优先级、MTU、时间
display ospf peer brief 显示OSPF邻居或显示邻居摘要信息、接口状态
display ospf brief 显示OSPF运行摘要信息
display ospf lsdb 显示OSPF的LSDB
dis cu con os查看ospf配置信息
以太网交换机基础
冲突域广播域
冲突域
共享式网络:通过同轴电缆联在一起的网络 帧从主机的物理接口发送出来后,通过传输介质传输到目的端。共享网络中,这个帧可能到达多个主机。主机检查帧头中的目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是本机侦听的组播或广播MAC地址,则主机会丢弃收到的帧。
在传统总线拓扑以太网局域网上使用载波侦听多路访问/冲突检测(CSMA/CD)
在无线局域网上使用载波侦听多路访问/冲突避免(CSMA/CA)
无线局域网(使用 CSMA/CA) 传统总线拓扑以太网局域网(使用 CSMA/CD) 使用集线器的传统以太网局域网(使用 CSMA/CD) 这些网络在半双工模式下运行
以太网避免冲突域产生的机制: CSMA/CD即载波侦听多路访问/冲突检测 先听后发·边听边发·冲突停发·随机延迟后重发 发送前先监听信道是否空闲,若空闲则立即发送数据 在发送时,边发边继续监听 若监听到冲突,则立即停止发送 等待一段随机时间(称为退避)以后,再重新尝试
区分冲突域广播域
1、第一层不能隔离冲突域和广播域。例如集线器或者直接连PC 2、第二层可以隔离冲突域,但不能隔离广播域。例如,二层交换机每一个接口就是一个冲突域 3、第三层可以隔离广播域,默认隔离冲突域,例如,路由器的每一个接口就是一个广播域 路由器和交换机之间也是有冲突域的。也就是说,冲突域来源有(交换机连接的pc和集线器+路由器连接的交换机) 集线器(Hub) 所有设备在同一冲突域/广播域 所有设备共享相同的带宽 交换机可以通过VLAN划分不同的广播域
以太网帧
帧格式
区分范围
Length/Type >= 1536 (0x0600) Ethernet_II Length/Type <= 1500 (0x05DC) IEEE802.3
大部分使用Ethernet_II,需要控制的协议使用IEEE 802.3,例如STP、ISIS
Type
通过了FCS校验,主机会根据帧头部中的Type字段来确定将帧发送给上层哪个协议处理
MAC地址
MAC地址由48比特(6个字节)长,12位的16进制数字组成
单播,广播,组播
判断单播组播
单偶组奇 记组播: 13579+BFD(第二个十六进制位)
广播是组播的一个特例 组播MAC地址不能作为源地址,只能作为目的地址
广播(Broadcast):一对多 单播(Unicast):点对点 组播(Multicast):多组一对多 直播、会议…… 任播(Anycast):IPv6中(最近节点)
特殊组播MAC地址
0180-c200-0000
STP发送BPDU
0180-c200-0014
L1 LAN IIH
0180-c200-0015
L2 LAN IIH
子主题
子主题
局域网设备区别
中继器
一层设备,转发Bit流,不能识别帧
集线器
一层设备,冲突域,总线型架构,共享半双工,识别以太帧
网桥
二层设备,分割冲突域
交换机(二层)
二层设备,分割冲突域,独享全双工,背板带宽高,线速透传,根据MAC表项转发,不能修改二层头部
路由器
三层设备,分割广播域,读取二层和三层头部,根据路由表转发三层报文,改写二层头部
交换机
交换机原理
基于源MAC地址的学习 基于目的MAC地址的转发
MAC地址表项
作用
指导二层数据转发
内容
MAC
接口
类型
vlan
时间(300s)
生成方式
动态
根据数据帧的源MAC学习
静态
普通
黑洞MAC表项
收到数据帧源/目的MAC为黑洞MAC的丢弃
数据帧处理行为
二层交换
交换机查找MAC地址表结果对帧的转发操作行为一共有三种: 泛洪(Flooding):未知单播帧:交换机没有在自己的MAC地址表中找到这个数据帧的目的MAC地址; 广播帧:如果接收的是广播帧,交换机不会去查MAC地址表,直接对该广播帧执行泛洪操作(在所属VLAN内除接收接口外的所有接口转发该报文)。 转发(Forwarding):交换机的MAC地址表中拥有这个数据帧的目的MAC地址,且其对应的接口并不是接收到这个数据帧的接口; 丢弃(Discarding):交换机的MAC地址表中拥有这个数据帧的目的MAC地址,且其对应的接口正是接收到这个数据帧的接口。
丢弃的其它类型
出入接口相同
FCS(CRC)不通过
VLAN不允许
黑洞MAC
过滤
BUM:Broadcast、Unknown unicast、Multicast,广播,未知单播、组播
判断是二层交换还是进行三层交换 (目的MAC地址+VID以及三层转发标志位)
如果目的MAC地址+VID匹配自己的MAC表且三层转发标志置位,则进行三层交换,会根据报文的目的IP地址查找三层转发表项,如果没有找到会将报文上送CPU,由CPU查找路由表实现三层转发。
如果目的MAC地址+VID匹配自己的MAC表但三层转发标志未置位,则进行二层交换,会直接将报文根据MAC表的出接口发出去。
如果目的MAC地址+VID没有匹配自己的MAC表,则进行二层交换,此时会向所有允许VID通过的接口广播该报文,以获取目的主机的MAC地址。
三层交换
单播
检查目的MAC是否是交换机的MAC地址
是
根据携带VID交给指定的端口,解封装后,查找IP路由表
根据最长掩码匹配原则查找路由封装转发
没有查找到路由
上送CPU再次查路由表
匹配转发
不匹配丢弃
否
查找MAC地址表项
有查找到表项
是否是接收到的端口MAC地址
否
转发
是
丢弃
没有查找到表项
未知单播帧泛洪
组播
协议组播
上交CPU处理
数据组播
是否启用IGMP Snooping
否
广播
是
查找组播转发表
查找到表项根据表项转发
没有查找到表项丢弃
广播
泛洪
MAC地址表
查看mac地址表
display mac-address
dis mac-address aging-time
删除mac地址表
[Huawei]undo mac-address
华为S系列交换机MAC地址表默认老化时间300秒(5分钟) 交换机MAC地址表的静态创建: 不受老化时间的影响,会一直保存在交换机的MAC地址表中。 [Huawei]mac-address static E0-D4-E8-34-B3-4A
工业路由器和三层交换机的区别
外观
路由器接口少 交换机接口多
网络类型
交换机用于局域网内的互联 路由器一般用于连接广域网
用途
路由器主要用于连接设备 交换机主要用于接入终端
三层转发方式
三层交换机一次路由多次二层交换(硬件转发) 路由器一次路由一次三层转发(软件转发) 所以三层交换机比路由器转发速度快
功能
路由器支持VPN,串口等等
VLAN原理与配置
VLAN数据帧
如何识别带VLAN标签的数据帧:数据帧的Length/Type = 0x8100
主机发出都是Untagged的数据帧,并且不能识别Tagged的数据帧 交换机内部的数据帧都是Tagged数据帧,交换机只能接收带Tagged的数据帧
以太网 MAC 帧的最大帧长从原来的 1518 字节变为 1522字节。
VLAN的划分方式
基于匹配策略划分VLAN->基于MAC地址划分VLAN或基于子网划分VLAN->基于协议划分VLAN->基于接口划分VLAN。
除了端口,其它都是华为私有
以太网二层接口类型
Access接口
接收
是否携带VLAN标签
Untagged
打上接口的PVID发送
Tagged
判断VLAN ID是否和PVID相同
相同
接收
不相同
丢弃
发送
判断VLAN ID是否和PVID相同
相同
脱标签进行发送
不相同
丢弃
仅允许VLANID与接口PVID相同的数据帧通过。
Access特殊应用
Trunk接口
接收
是否携带VLAN标签
Untagged
打上接口PVID并判断该PVID是否在允许通过的VLAN列表里
在 接收
不在 丢弃
Tagged
判断该PVID是否在允许通过的VLAN列表里
在 接收
不在 丢弃
发送
判断VLAN ID是否和PVID相同
相同
判断该PVID是否在允许通过的VLAN列表里
在 脱标签进行发送
不在 丢弃
不相同
判断该PVID是否在允许通过的VLAN列表里
在 带标签发送
不在 丢弃
Trunk接口仅允许VLANID在允许通过列表中的数据帧通过。 Trunk接口可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
Hybrid接口
接收
同Trunk
打上PVID并判断是否在Tagged或者Untagged列表中
发送
判断该PVID是否在允许通过的VLAN列表里
在 发送
设置携带Tag则保留Tag发送
设置不携带Tag则剥离Tag发送
不在 丢弃
Hybrid接口仅允许VLANID在允许通过列表中的数据帧通过。 Hybrid接口可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag、某些VLAN的帧不带Tag。 与Trunk最主要的区别就是,能够支持多个VLAN的数据帧不带标签通过。
Hybrid=Access,当 Hybrid端口配置中的 Untagged VLAN ID列表中有且只有PVID,并且 Tagged VLAN ID列表为空时。
port link-type access port default vlan 10
port link-type hybrid port hybrid pvid vlan 10 undo port hybrid untagged vlan 1 port hybrid untagged vlan 10
Hybrid=Trunk,当 Hybrid端口配置中的 Untagged VLAN ID列表中有且只有PVID时。
port link-type trunk port trunk pvid vlan 10 undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 10 20
port link-type hybrid port hybrid pvid vlan 10 undo port hybrid untagged vlan 1 port hybrid untagged vlan 10 port hybrid tagged vlan 20
hybrid特殊应用(二层VLAN间互访)
本质:将不同的VLAN放在相同的VLAN中,广播域的扩展
Access接口和Trunk接口 简易 配置正确的情况下
Access接口
接收
加标签
发送
脱标签
Trunk接口
接收
不带Tag,加PVID
带Tag直接转发
发送
和PVID一样,脱标签发送
和PVID不一样,带标签发送
接收看是否携带VLAN标签,发送看VID和PVID是否相同
配置
display port vlan active
查看接口的类型和vlan列表
dislay vlan
查看是否携带标签
基于MAC地址划分的VLAN
关联MAC地址与VLAN
[Huawei-vlan10] mac-vlan mac-address
使能MAC地址与VLAN
[Huawei-GigabitEthernet0/0/1] mac-vlan enable
接口配置VLAN
Access、Trunk、Hybrid
GVRP协议
GARP(Generic Attribute Registration Protocol),全称是通用属性注册协议,它为处于同一个交换网内的交换机之间提供了一种分发、传播、注册某种信息(VLAN属性、组播地址等)的手段,把一个GARP成员(交换机等设备)上配置的属性信息,快速且准确地传播到整个交换网络中; GARP本身仅仅是一种协议规范,并不作为一个实体在交换机中存在。 遵循 GARP协议的应用实体称为GARP应用,目前主要的GARP应用为GVRP和GMRP。 GVRP:交换机使用GVRP来实现VLAN管理; GMRP:交换机使用GMRP来实现组播地址管理。
生成树
设备可靠性
可能环路
二层环路影响
广播风暴(主机收到重复帧)
MAC地址震荡(漂移)
多条路径造成一个MAC地址对应多个接口,但是一个MAC地址只能对应一个接口,所以某一个MAC地址对应的接口在不断改变
影响
子主题
环路避免
二层
SmartLink
设置主从链路(从链路阻塞)
缺点类似静态路由
生成树(STP、RSTP、MSTP)
中型网络
堆叠
大型网络
三层
路由协议有一定的防环能力
IP报文头部中的TTL字段
STP
功能
链路备份
消除环路
基本概念
定义
802.1 D STP 802.1 W RSTP 802.1 S MSTP
修改模式
stp mode ?
默认MSTP
开启关闭STP
[SW]stp enable [SW-GigabitEthernet0/0/1]stp enable
默认全局和接口都开启
[Huawei]undo stp enable/stp disable [Huawei-GigabitEthernet0/0/1]undo stp enable/stp disable
可以是某些接口不参与STP的计算,加快收敛,例如:交换机连接路由器的端口
根桥
根桥的角色是可抢占性的
桥ID(Bridge ID,BID)
BID桥优先级占据高16bit(实际只用到了高四位),其余的低48bit是桥MAC地址
1.优先级:默认为32768;修改时必须为4096的倍数,范围0~61440(不是65535,因为4096最小的倍数是61440) 2.MAC地址
修改优先级
[Huawei]stp instance 0 priority
命令stp root primary,这条命令的作用是指定这台本地交换机为根网桥,设备优先级数值自动为0,并且不能更改设备优先级。 命令stp root secondary,这条命令可以将本地交换机指定为备份根网桥,设备优先级数值自动为4096,并且不能更改设备优先级。
开销(Cost)
缺省Cost与其速率(100M、1000M)、工作模式(全半双工)、交换机使用的STP Cost计算方法有关
带宽越高,开销越小
Cost计算方法
分类
dot1d-1998:指定路径开销值的计算方法是IEEE 802.1d-1998标准方法。使用IEEE 802.1d-1998标准方法时取值范围是1~65535。
dot1t:指定路径开销值的计算方法是IEEE 802.1t标准方法。使用IEEE 802.1t标准方法时取值范围是1~200,000,000。
默认
legacy:指定路径开销值的计算方法是华为计算方法。使用华为计算方法时取值范围是1~200,000。
修改计算方法
stp pathcost-standard { dot1d-1998 | dot1t | legacy }
全双工默认计算方法
100M
199999
200000半双工
1000M
20000
修改接口开销
[Huawei-GigabitEthernet0/0/1] stp instance 0 cost
根路径开销(Root Path Cost)
从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost累加 所有接收BPDU端口的端口开销总和(即BPDU的入方向端口)
所有RP端口
计算开销时RP不能经过链路的另一边的端口
根桥的根路径开销是0
接口ID(Port ID,PID)
接口ID由两部分构成的,高4 bit是接口优先级,低12 bit是接口编号。
优先级的取值范围是0~240, 默认值为128(修改时为16倍数)
修改接口优先级
[Huawei-GigabitEthernet0/0/1] stp instance 0 port priority
BPDU(Bridge Protocol Data Unit,网桥协议数据单元)
类型
配置BPDU(Configuration BPDU)
配置BPDU来选举根交换机,以及确定每个交换机端口的角色和状态。在初始化过程中,都认为自己是根桥,互相发送配置BPDU进行STP运算。在网络拓扑稳定以后,只有根桥主动发送配置BPDU,非根交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU到下游设备。
TCN BPDU(Topology Change Notification BPDU)
TCN BPDU是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知。
报文格式
使用组播发送BPDU,组播地址为:01-80-c2-00-00-00
配置BPDU报文每经过一个交换机, Message Age都加1如果 Message Age大于 Max Age,非根桥会丢弃该配置BPDU
stp timer forward-delay修改转发延迟时间,默认15秒。 stp timer hello来修改默认的Hello时间,默认2秒。 stp timer max-age来修改默认的保存BPDU时间,默认20秒。
老化时间=7*2(层数)+3*2(冗余)
修改层数:stp bridge-diameter 6 ---默认7层
STP影响端口状态和端口收敛有的3个参数:Hello Time、Forward Delay、Max Age
选举
根网桥的选举
根网桥的选举规则: 1.比优先级,优先级小者优先; 2.比MAC地址,MAC地址小者优先。
选举根端口(RP)
根端口接收根桥最优的BPDU
选举的范围是每台非根交换机上所有启用的端口 根端口的选举原则: 1.选择RPC最小的端口; 2.选择对端BID最小的端口; 3.选择对端PID最小的端口; 4.选择本地PID最小的端口。
比较最后一条的例子,或者自环
因为是从对端发送给我的BPDU
选举指定端口(DP)
指定端口发送最优BPDU
选举范围为每条链路 指定端口的选举原则:根桥上的端口均为DP(注意自环有BP端口) 1.选择RPC最小的端口; 2.选择链路两端交换机BID最小的端口; 3选择链路两端PID最小的端口。
预备端口(AP)
未选上的就是预备端口,预备端口被阻塞
大体的顺序就是 RID RPC BID PID 都是越小越优
接口状态
交换机开机至少需要30s才能转发数据,交换机连接终端的链路进入转发需要经过30s
display stp brief
查看端口角色
拓扑变化
TCN BPDU
TCN BPDU有两个产生条件: 网桥上有端口转变为Forwarding状态,且该网桥至少包含一个指定端口。 网桥上有端口从Forwarding状态或Learning状态转变为Blocking状态。 以上述两个条件之一满足时,说明网络拓扑发生了变化,网桥需要使用TCN BPDU通知根桥。
配置BPDU由根桥的指定端口发出,其它交换机的根端口接收 TCN BPDU由非根网桥的根端口发出,其它交换机的指定端口接收
故障
根桥故障
根桥故障: ▫ 在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报文。 ▫ 如果根桥发生了故障,停止发送BPDU,下游交换机就无法收到来自根桥的BPDU报文。 ▫ 如果下游交换机一直收不到BPDU报文,Max Age计时器(缺省: 20s)就会超时,从 而导致已经收到的BPDU报文失效,此时,非根桥会互相发送配置BPDU,重新选举新的根桥。 端口状态: ▫ SW3的预备端口,20s后会从Blocking状态进入到Listening状态,再进入Learning状 态,最终进入到Forwarding状态,进行用户流量的转发。 收敛时间: ▫ 根桥故障会导致50s左右的恢复时间,等于Max Age加上2倍的Forward Delay收敛时 间。
直连链路故障
直连链路故障: ▫ 当两台交换机间用两条链路互连时,其中一条是主用链路,另一条为备用链路。 ▫ 当网络稳定时,交换机SWB检测到根端口的链路发生故障,则其备用端口会进入用户 流量转发状态。 端口状态: ▫ 备用端口会从Blocking状态,迁移到Listening-Learning-Forwarding状态。 收敛时间: ▫ 直连链路故障,备用端口会经过30s后恢复转发状态。
非直连链路故障
发生非直连故障时,处于阻塞状态的端口无法收到BPDU,它默认会等待20秒,也就是等待MaxAge计时器超时,才会触发交换机重新计算STP 。
非直连故障 ▫ 在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报文。 ▫ 若SW1与SW2之间的链路发生了某种故障(非物理故障),因此SW2一直收不到来自 根桥SW1的BPDU报文 ▫ 此时,非根桥SW2会认为根桥失效,并且认为自己是根桥,从而发送自己的配置BPDU给SW3,通知SW3自己是新的根桥。 ▫ SW3的被阻塞端口将收到上述配置BPDU,但该BPDU并不比当前端口所缓存的配置BPDU更优,因此SW3忽略该配置BPDU。 ▫ 当Max Age计时器超时后,SW3端口上缓存的配置BPDU老化,SW3开始向SW2发送配置BPDU,该配置BPDU由根桥SW1发送的配置BPDU触发,其中的根桥ID字段值为SW1的桥ID。 ▫ SW2收到上述配置BPDU后,解析该报文并认定SW1为根桥,于是将其连接SW3的端口切换为指定端口。 端口状态: ▫ SW3预备端口20s后会从Blocking状态进入到Listening状态,再进入Learning状态, 最终进入到Forwarding状态,进行用户流量的转发。 收敛时间: ▫ 非直连故障会导致50s左右的恢复时间,等于Max Age加上2倍的Forward Delay收敛 时间。
拓扑变更机制
端口UP、Down
拓扑改变导致MAC地址表错误,导致流量转发丢包
拓扑变更以及MAC地址表项更新的具体过程如下: SW3感知到网络拓扑发生变化后,会不间断地向SW2发送TCN BPDU报文。 SW2收到SW3发来的TCN BPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SW3,告知SW3停止发送TCN BPDU报文。 SW2向上游转发TCN BPDU报文,直到根桥。 SW1把配置BPDU报文中的Flags的TC位设置为1后发送(持续发送35s),通知下游设备把MAC地址表项的老化时间由默认的300 s修改为Forward Delay的时间(默认为15 s)。
接口发生变更后,下游设备会不间断地向上游设备发送TCN BPDU报文。 上游设备收到下游设备发来的TCN BPDU报文后,只有指定端口处理TCN BPDU报文。其它端口也有可能收到TCN BPDU报文,但不会处理。 上游设备会把配置BPDU报文中的Flags的TCA位置1,然后发送给下游设备,告知下游设备停止发送TCN BPDU报文。 上游设备复制一份TCN BPDU报文,向根桥方向发送。 重复步骤1、2、3、4,直到根桥收到TCN BPDU报文。 根桥把配置BPDU报文中Flags的TC位和TCA位同时置1后发送,TC位置1是为了通知下游设备直接删除桥MAC地址表项,TCA位置1是为了通知下游设备停止发送TCN BPDU报文。 TCN BPDU报文主要用来向上游设备乃至根桥通知拓扑变化。 置位的TCA标记的配置BPDU报文主要是上游设备用来告知下游设备已经知道拓扑变化,通知下游设备停止发送TCN BPDU报文。 置位的TC标记的配置BPDU报文主要是上游设备用来告知下游设备拓扑发生变化,请下游设备直接删除桥MAC地址表项,从而达到快速收敛的目的。
新增交换机
如果网络中新增一台交换机,导致工作拓扑发生了变化,则位于变化点的交换机可以通过端口状态直接感知到这种变化,但是其他的交换机是无法直接感知到的。 位于变化点的交换机会以Hello Time(缺省2s)为周期通过其根端口不断向上游发送TCN BPDU,直到接收到从上游交换机发来的、TCA位置1的配置BPDU。TCA位置1是为了通知下游设备停止发送TCN BPDU报文。 上游交换机收到TCN BPDU后,一方面会通过其指定端口回复TCA位置1的配置BPDU,另一方面会以Hello Time为周期通过其根端口不断向它的上游发送TCN BPDU。 这个过程一直重复,直到根桥收到TCN BPDU。 根桥收到TCN BPDU后,会发送TC位置1的配置BPDU,通告所有交换机网络拓扑发生了变化,通知下游设备直接删除桥MAC地址表项和部分ARP表项。
RSTP
端口状态、端口角色
RSTP根据端口是否转发用户流量和学习MAC地址合并了STP的3种端口状态,利用STP的Flag字段新增加了2种端口角色,还有EP
STP的端口角色: 根端口(Root Port,RP) ; 指定端口(Designated Port,DP) ; 阻塞端口(Blocked,Port,BP) RSTP的端口角色: 根端口(Root Port,RP) ; 指定端口(Designated Port,DP) ; 预备端口(Alternate Port,AP) ; 备份端口(Backup Port,BP); 边缘端口(Edge Port,EP)
AP、BP
从配置BPDU报文发送角度来看: Alternate端口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口。 Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口。 从用户流量角度来看: Alternate端口提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。 Backup端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。 预备端口(AP)和备份端口(BP)在拓扑完成收敛后都会被RSTP阻塞;
不是B就是A
MSTP
背景
STP/RSTP的缺陷:所有的VLAN共享一棵生成树
部分VLAN路径不通
流量无法实现负载分担
被阻塞接口所连接的链路将不承载流量,造成链路带宽资源的浪费
负载条件
同域,不同实例
二层次优路径
解决方法
VBST:基于VLAN的生成树
每一个VLAN一个生成树
VBST报文基于STP/RSTP报文,但相对STP/RSTP报文,VBST报文在源MAC地址字段和协议长度字段之间加入了四字节的802.1Q Tag
影响
报文交互频繁,链路负载大,生成树计算将耗费交换机大量的资源
MSTP:多生成树
实现VLAN间通信
多臂路由(使用路由器物理接口)
接口数量有限
交换机到路由器不携带标签
单臂路由(使用路由器子接口)
带宽有限
交换机到路由器携带标签
路由器处理带标签的数据帧使用VLAN终结
收到报文剥除标签进行三层转发,发送报文加标签发回去
配置
dot1q termination vid
接收报文时,剥掉报文中携带的Tag后进行三层转发。
arp broadcast enable
如果终结子接口上未使能ARP广播功能,系统不会主动发送和转发ARP广播报文来学习ARP表项,该IP报文将会被直接丢弃,从而不能对该IP报文进行转发。 如果终结子接口上已使能ARP广播功能,系统将会构造带Tag的ARP广播报文,然后再从该终结子接口发出。
三层交换机VLANIF接口
VLANIF接口是一种三层的逻辑接口,支持VLAN Tag的剥离和添加
VLANIF接口编号必须和VLAN ID相同
三层通信过程解析
以太网链路聚合与交换机堆叠、集群
网络可靠性
单板可靠性-框式设备
链路可靠性-Eth-Trunk
设备可靠性
以太网链路聚合
链路聚合(Link Aggregation,LAG)
802.3ad定义
优点
•在不进行硬件升级的条件下,达到增加链路带宽
•提高可靠性
•负载分担
基本概念
一个聚合组内要求成员接口以下参数相同: ▫ 接口速率 ▫ 双工模式 ▫ VLAN配置:接口类型都是Trunk或者Access,如果为Access接口的default VLAN需要 一致,如果为Trunk接口,接口放通的VLAN、缺省VLAN需要一致。
不支持跨设备的链路聚合,跨设备通过堆叠实现
活动接口又叫选中(Selected)接口 非活动接口和非活动链路:又叫非选中(Unselected)接口
Eth-Trunk位于MAC与LLC子层之间,属于数据链路层
模式
手工模式
应用
设备不支持LACP模式
不同厂商的设备
缺点
不能感知对端设备的状况,需要人工确认
只能检测到同一聚合组内的成员链路有断路等有限故障,但是无法检测到链路故障、链路错连等故障。
LACP模式
LACPDU
LACP模式:采用LACP协议的一种链路聚合模式。设备间通过链路聚合控制协议数据单元(Link Aggregation Control Protocol Data Unit,LACPDU)进行交互。 LACPDU报文中包含设备优先级、MAC地址、接口优先级、接口号等。
注意点
配置时需要保证本端和对端的聚合模式一致
两端设备所选择的活动接口数目必须保持一致
两个选举
主动端选举
系统LACP优先级默认32768,越小越优。 主动端和选择根网桥的规则一样 根网桥的选举规则: 1.比优先级,值越小优先级越高; 2.比MAC地址,MAC地址越小越优。
活动链路选举
成员接口数目超过最大活动接口数目时,在主动端通过比较端口ID,优先级数值小,端口号小的优选
活动接口数
LACP通过LACPDU中的三个flags来标识该端口的状态,如果是活跃端口如下三个flags的值将会是1: Synchronization Collecting Distributing 如果是非活跃端口,该三个flags字段的值将为0。
lacp selected { priority | speed }
配置LACP模式Eth-Trunk接口选择活动接口的方式
默认优先级
最大最小活动接口数
当活动链路中出现链路故障时,可以从非活动链路中找出一条优先级最高(接口优先级、接口编号比较)的链路替换故障链路,实现总体带宽不发生变化、业务的不间断转发。(M:N备份机制)
活动接口数下限阈值:设置活动接口数下限阈值是为了保证最小带宽,当前活动链路数目小于下限阈值时,Eth-Trunk接口的状态转为Down。
活动接口数上限阈值:设置活动接口数上限阈值的目的是在保证带宽的情况下提高网络的可靠性。当前活动链路数目达到上限阈值时,再向Eth-Trunk中添加成员接口,不会增加Eth-Trunk活动接口的数目,超过上限阈值的链路状态将被置为Down。
负载分担
基于包的负载分担
有可能导致报文乱序
基于流的负载分担
常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源目MAC
为了使流量平均的分配到每条活动链路上,应该选择频繁变化的参数才是合理的负载分担算法
把数据帧中的地址通过HASH算法生成HASH-KEY值,然后根据这个数值在Eth-Trunk转发表中寻找对应的出接口,不同的MAC或IP地址HASH得出的HASH-KEY值不同,从而出接口也就不同
配置
修改模式
[Huawei-Eth-Trunk1] mode {lacp | manual load-balance }
默认手工模式
当有接口在 Eth-Trunk中时不能更改它的模式
允许不同速率端口加入同一Eth-Trunk接口的功能
[Huawei-Eth-Trunk1] mixed-rate link enable
默认不允许
修改系统LACP优先级
[Huawei] lacp priority priority
默认32768
修改接口优先级
[Huawei-GigabitEthernet0/0/1] lacp priority priority
默认32768
配置最大活动接口数
[Huawei-Eth-Trunk1] max active-linknumber {number}
不同产品的上限阈值不一样
设置的数值只在本段有意义,但是会进行端口的协商,所以主动端或者被动端配置都能生效
配置最小活动接口数
[Huawei-Eth-Trunk1] least active-linknumber {number}
默认1
抢占模式
LACP支持抢占模式,默认关闭 开启后,缺省情况下,LACP抢占等待时间为30秒,范围10--180s
[Huawei-Eth-Trunk1]lacp preempt enable
[Huawei-Eth-Trunk1]lacp preempt delay
三层聚合
二层聚合
正常配置
三层交换机将聚合口加入到VLAN,VLANIF配置IP
三层聚合
路由器必须配置
undo portswitch
以太网接口从二层模式切换到三层模式
缺省情况,以太网接口工作在二层模式。
切换模式时需要清空聚合口中的所有配置,但是不需要删除加入聚合口中的端口
修改负载分担模式
[Huawei-Eth-Trunk1]load-balance
默认二层src-dst-mac,三层src-dst-ip
堆叠、集群
集群最多支持2台设备,CSS(集群)用于框式交换机,iStack(堆叠)用于盒式交换机
优点
跨设备的链路聚合,物理上的无环网络,无需再部署STP、VRRP 链路聚合中的链路全部有效使用,链路利用率100% 扩展端口数量
简化网络管理、提高网络可靠性、能够充分利用网络链路带宽、使用跨设备的Eth-Trunk可以构建逻辑上无环的网络。
ACL原理与配置
基本概念
主要根据五元组进行匹配
ACL规则编号
范围
0到2的32次方-2
隐含规则
rule 4294967294 deny
步长
默认步长5,第一个编号5
[Huawei-acl-basic-2000]step 2
通配符
通配符中的1或者0是可以不连续的,即可以匹配任意一位,掩码/反掩码必须连续
计算反掩码
0表示必须匹配
看二进制,不固定的位相加
特殊通配符
精确匹配
192.168.1.1 0.0.0.0 = 192.168.1.1 0
匹配所有
任意IP 255.255.255 = any
匹配同一规则的ACL在配置上是唯一的
匹配0-255所有奇偶路由
254
某一段奇偶,看二进制
ACL分类
匹配顺序
分类
自动排序(auto模式)
按照精确度从高到低
配置顺序(config模式)
按照编号从小到大
修改匹配模式
[Huawei] acl 2000 [ match-order config/auto ]
默认匹配顺序
排序从小到大
先匹配再看Permit还是Deny
一旦命中即停止匹配
匹配机制
参考ACL应用模块的ACL默认动作和处理机制
匹配位置
ACL匹配的位置最好考虑通信的双向性和流量问题决定入站还是出站,还需要注意数据来源可能有多个方向 根据是否关心去往的目的地,一般基本ACL应用在靠近目的网络的位置(只匹配源,不知道目的是哪里),高级ACL引用在靠近源网络的位置(目的应用浪费带宽)
一个接口的一个方向只能调用一个ACL,一个ACL可以调用在多个接口上(交换机可以承载多个三层接口)
配置
基本ACL
基本ACL只能匹配源
高级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 ] ] ]
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 ] *
单向ping通
匹配ICMP协议的request或者reply报文
查看ACL状态和命中次数
display acl all
AAA原理与配置
AAA基本概念
Authentication(认证)、Authorization(授权)和Accounting(计费)
网络架构
用户
NAS
NAS基于域来对用户进行管理,不同的域可以关联不同的AAA方案
用户属于哪个域是由用户名中的域名分隔符@后的字符串决定。如果用户名后不带有@,则用户属于系统缺省域,华为设备支持两种缺省域:两个默认域都使用默认的认证授权那和计费方案 default域为普通用户的缺省域。 default_admin域为管理用户的缺省域。
AAA服务器
认证
不认证
本地认证
将用户信息配置在NAS上,此时NAS就是AAA Server。常用于用户登录设备管理
优缺点
处理速度快 存储限制
缺省本地认证
远端认证
用户信息配置在AAA服务器上,通过RADIUS协议或HWTACACS协议进行远端认证,NAS作为客户端
授权
不认证
本地授权
远端授权
HWTACACS授权,使用HWTACACS服务器对所有用户授权。 RADIUS授权,只支持对通过RADIUS服务器认证的用户授权。RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。 当采用远端授权时,用户可以同时从授权服务器和NAS获取授权信息。NAS配置的授权信息优先级比授权服务器下发的授权信息低。
计费
不计费
远端计费
通过RADIUS服务器或HWTACACS服务器进行远端计费
AAA实现协议
RADIUS
RADIUS使用UDP传输,并规定UDP端口1812、1813分别作为默认的认证、计费端口。
HWTACACS
HWTACACS是一种集中式的、客户端/服务器(B/S)结构的信息交互协议,使用TCP协议传输,TCP端口号为49。
HWTACACS协议主要用于采用点对点协议PPP(Point-to-Point Protocol)或虚拟私有拨号网络VPDN(Virtual Private Dial-up Network)方式接入Internet的接入用户以及对设备进行操作的管理用户的认证、授权和计费。
网络地址转换
NAT原理
NAT目的
解决公网IPv4地址不足
内访外
源IP转换,目的IP不变
内访外
目的IP转换,源IP不变
NAT缺点
地址转换将增加交换延迟; 导致无法进行端到端IP追踪; 导致有些应用程序无法正常运行(IPSec)。
SNAT
NAT
静态NAT
一对一转换,不转换端口
配置
接口视图
Huawei-GigabitEthernet0/0/0] nat static global { global-address} inside {host-address }
系统视图
[Huawei] nat static global { global-address} inside {host-address } Huawei-GigabitEthernet0/0/0] nat static enable
注意是在外网的接口配置
验证配置
display nat static
缺点
没有解决IP地址数量的问题
静态NAT实现了双向互访
外部网络可以直接访问公网地址,不安全
动态NAT
实质还是一对一的转换,不转换端口
配置
地址池
[Huawei]nat address-group 1 200.1.1.5 200.1.1.10
ACL匹配源
[Huawei-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
接口引用地址池和ACL
[Huawei-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
PAT
NAPT
一对多(IP+端口号),进行端口的转换
请求包转换S.IP和S.PORT,响应包转换D.IP和D.PORT
配置
动态NAT的no-pat去掉
Easy IP
实现原理和NAPT相同,区别在于Easy IP没有地址池的概念,使出接口地址作为NAT转换的公有地址。
Easy IPIP 适用于网络出接口地址动态场景,例如:DHCP、PPPoE
配置
ACL匹配源
[Huawei-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
接口引用地址池和ACL
[Huawei-GigabitEthernet0/0/1]nat outbound 2000
DNAT
NAT Server
使内网服务器能够对外网提供服务,如果只是总公司和分部建议VPN
配置
nat server protocol tcp global 200.1.1.200/current-interface 8080 inside 192.168.1.2 www
访问公网IP http://200.1.1.200:8080
current-interface
表示使用出接口转换,使用出接口IP时不能写出接口的IP
验证配置
display nat server
静态NAT也可以用来做NAT Server
NAT ALG
外网用户无法正常访问FTP服务器,是因为网关路由器GW-AR1上缺少ALG配置。 NAT只会针对数据包头部的IP地址和端口号执行转换,而不会关注数据包载荷部分的内容。而有一些应用协议也会在数据包的载荷中携带地址和端口信息,如果执行NAT转换的网关路由器不对载荷中的地址和端口信息进行任何处理的话,通信就会失败。 ALG(Application Level Gateway):应用程序网关,对一些特殊的协议数据包文的载荷中也含有IP地址信息的,在做NAT时,需要做特殊的处理,不仅包头的IP地址信息进行转换,载荷中的IP地址信息也得进行转换,方能使应用正常访问。 ALG地址转换改变了IP数据包头的IP地址信息,如果数据报文的载荷中含有地址信息,地址转换就要特殊处理,除了改变IP包头的地址信息还得改变数据报文中载荷中的地址信息。比较典型的应用就是FTP; 类似的协议还有L2TP、PPTP、CMC、H.323、SMTP和DNS等。
[Huawei]nat alg ftp enable
FTP主动模式没有影响,被动模式需要开启ALG
防火墙被动模式没有问题,主动模式有问题
配置NAT注意的问题
NAT注意两边的网络到私网出口路由器公网接口的连通性!!!公网上只能有公网路由
不要忘记回程的路由!!!
如果申请的公网IP和出接口不在同一网段,PE设备需要单独写静态路由,并在公网IGP路由引入静态
没做NAT时,请求包都能到目的网络,但是回复包在公网上没有私网路由,所以做NAT在出口转换为公网地址去访问
公网或者私网转换地址的请求包和回复包的源目IP都要对应
查看NAT会话表
display nat session all
网络服务与应用
FTP
FTP(File Transfer Protocol,文件传输协议)以及TFTP(Trivial File Transfer Protocol,简单文件传输协议)
传输数据的两种模式
ASCII
文本文件(TXT、LOG、CFG )
Binary
非文本文件(cc、BIN、EXE、PNG)
传输过程
主动模式
客户端开放端口,服务器端发起数据连接
被动模式
服务器开放端口,客户端发起数据连接
无论是主动模式还是被动模式,控制连接建立都是一样的,区别只有数据连接的建立方式不同,只有主动模式使用到20端口
默认是主动模式
配置
[Huawei]ftp [ ipv6 ] server enable [Huawei]aaa [Huawei]local-user user-name password irreversible-cipher password [Huawei]local-user user-name privilege level level [Huawei]local-user user-name service-type ftp [Huawei]local-user user-name ftp-directory directory
TFTP
相较于FTP,TFTP的设计就是以传输小文件为目标,协议实现就简单很多: ▫ 使用UDP进行传输(端口号69) ▫ 无需认证 ▫ 只能直接向服务器端请求某个文件或者上传某个文件,无法查看服务器端的文件目录。
VRP设备只支持作为TFTP客户端。
下载和上传
<Huawei> tftp TFTP_Server-IP-address get/put filename
Telnet
DHCP
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
使用UDP作为其传输层协议,采用67(DHCP服务器到客户端)和68(DHCP客户端到服务器)两个端口号。
工作原理
DHCP服务器给客户端分配网络参数的工作原理
DHCP服务器给首次接入网络的客户端分配网络参数的工作原理
广播的Request报文让网络中其他DHCP服务器端得知客户端已选择了某个服务器端分配的IP地址,保证其他服务器端可以释放通过单播Offer分配给该客户端的IP地址。
Offer报文的目的地址是主机的MAC地址,因为此时还没有IP地址
DHCP客户端用曾经使用过的地址的工作原理
DHCP客户端更新租期的工作原理
当租期达到50%时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算)。 当租期达到87.5%时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期(重绑定)。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算)。
缺省情况下,IP地址的租期为1天。
报文
IP地址的状态
Used:表示此IP地址已使用。 Idle:表示此IP地址处于空闲状态。 Static-bind:表示此IP地址已绑定MAC地址且未使用。 Static-bind used:表示此IP地址与MAC地址绑定且已使用。 Disable:表示此IP地址无法使用。 通过命令dhcp server excluded-ip-address(接口地址池)或excluded-ip-address(全局地址池)排除的IP地址是Disable状态。 Expired:表示此IP地址租期已过,处于空闲状态。 地址池中IP地址到期后是Expired状态。地址池内保留Expired状态IP地址的分配记录,目的是当用户重新关联请求IP地址时,分配原来使用过的IP地址给用户,保持用户IP地址的稳定性。 当地址池中Idle状态的IP地址耗尽时,地址池会自动回收Expired状态的IP地址,然后分配给新用户,无需手动清理。 Conflict:表示此IP地址与网络上其他地址冲突。 地址池中出现Conflict状态的IP地址,说明提前避免了网络中出现IP地址冲突
路由器提供DHCP服务器功能的两种配置方式
基于接口方式的地址池:在DHCP服务器与客户端相连的接口上配置IP地址,地址池是跟此接口地址所属同一网段的IP地址,且地址池中地址只能分配给此接口下的客户端。这种配置方式简单,仅适用于DHCP服务器与客户端在同一个网段的场景。
基于全局方式的地址池:在系统视图下创建指定网段的地址池,且地址池中地址可以分配给设备所有接口下的客户端。当DHCP服务器与客户端不在同一个网段时,需要部署DHCP中继。
接口地址池优先级高于全局地址池
配置
display dhcp statistics
查看报文情况
display ip pool interface vlanif11 display ip pool name pool1
查看DHCP地址使用情况
reset ip pool name pool1 all
释放IP地址
[Router-GigabitEthernet0/0/1] ip address dhcp-alloc
配置DHCP客户端
注意路由问题
HTTP
HTTP(Hypertext Transfer Protocol,超文本传输协议)
WWW组成:HTML、HTTP、URL
DNS
DNS(Domain Name System,域名解析系统)
域名的表示方法为:主机名.次顶级域名.顶级域名.根域,根域为“.”,一般最后的根域不表示。
DNS的查询方式
递归查询
我请求的服务器帮我去找
迭代查询
我请求的服务器告诉我自己去找另一个服务器
1、114.114.114.114 114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用,干净无广告,解析成功率相对来说更高,国内用户使用的比较多,而且速度相对快、稳定,是国内用户上网常用的DNS 2、8.8.8.8 8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用
NTP
网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议。NTP的实现基于IP和UDP。NTP报文通过UDP传输,端口号是123。
网络结构
主时间服务器:通过线缆或无线电直接同步到标准参考时钟,标准参考时钟通常是Radio Clock或卫星定位系统等。 二级时间服务器:通过网络中的主时间服务器或者其他二级服务器取得同步。二级时间服务器通过NTP将时间信息传送到局域网内部的其它主机。 层数(stratum):层数是对时钟同步情况的一个分级标准,代表了一个时钟的精确度,取值范围1~15,数值越小,精确度越高。1表示时钟精确度最高,15表示未同步。
WLAN概述
见WLAN
广域网技术
概述
广域网技术
HDLC和PPP区别
串行接口和并行接口的区别是:
并行接口是指数据的各位同时进行传送,其特点是传输速度快,但当传输距离较远、位数又多时,导致了通信线路复杂且成本提高;局域网(帧检验序列(FCS)) 串行接口是指数据一位位(比特)地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,并可以利用电话线,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢;广域网(循环冗余检验算法(CRC))
HDLC和PPP的区别
相同点
都是数据链路层协议
不同点
HDLC
面向比特
可靠传输
多点寻址
只支持同步传输
广播口封装HDLC
PPP
面向字节
不可靠传输 但随着技术的发展,在数据链路层出现差错的概率不大,因此现在全世界使用得最多的数据链路层协议是PPP协议
点到点
支持 同步和异步传输
支持多种协议、协商IP地址、认证
认证
PAP
CHAP
串口封装PPP
HDLC协议是一种通用的协议,工作在数据链路层。数据报文加上头开销和尾开销后封装成HDLC帧,只支持在点到点的同步链路上的数据传输,不支持IP地址协商与认证,过于追求高可靠性,导致数据帧开销较大,传输效率较低。 PPP协议工作在数据链路层,主要用在支持全双工的同、异步链路上,进行点到点之间的数据传输。由于它能够提供用户认证,易于扩充,并且支持同、异步通信,因而获得广泛应用。 帧中继是一种工业标准的、交换式的数据链路协议,通过使用无差错校验机制,加快了数据转发速度 ¤ATM是建立在电路交换和分组交换基础上的一种面向连接的交换技术,ATM传送信息的基本载体是53Byte固定长度ATM信元。
广域网络设备角色
广域网络设备基本角色有三种: CE(Customer Edge,用户边缘设备):用户端连接服务提供商的边缘设备。CE连接一个或多个PE,实现用户接入。 PE(Provider Edge,服务提供商边缘设备):服务提供商连接CE的边缘设备。PE同时连接CE和P设备,是重要的网络节点。 P (Provider ,服务提供商设备):服务提供商不连接任何CE的设备。
PPP
概述
PPP(Point-to-Point Protocol,点到点协议)是一种常见的广域网数据链路层协议,主要用于在全双工的链路上进行点到点 的数据传输封装。 PPP提供了安全认证协议族PAP(Password Authentication Protocol,密码验证协议)和CHAP(Challenge Handshake Authentication Protocol,挑战握手认证协议)。 PPP协议具有良好的扩展性,例如,当需要在以太网链路上承载PPP协议时,PPP可以扩展为PPPoE。 PPP协议提供LCP(Link Control Protocol,链路控制协议),用于各种链路层参数的协商,例如最大接收单元,认证模式等。 PPP协议提供各种NCP(Network Control Protocol,网络控制协议),如IPCP(IP Control Protocol ,IP控制协议),用于 各网络层参数的协商,更好地支持了网络层协议。
PPP链路建立过程
PPP链路的建立有三个阶段的协商过程,链路层协商、认证协商(可选)和网络层协商。 ▫ 链路层协商:通过LCP报文进行链路参数协商,建立链路层连接。 ▫ 认证协商(可选):通过链路建立阶段协商的认证方式进行链路认证。 ▫ 网络层协商 :通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。 如果链路终止,还需要链路层协商的Teminate报文协商
LCP
协商通信双方的ID、MRU(Maximum Receive Unit,最大接收单元)、认证方式和魔术字(Magic Number)等选项。协商成功后进入Opened状态,表示底层链路已建立。
Authenticate
认证方式有两种:PAP和CHAP
NCP
最常见的NCP协议是IPCP,用来协商IP参数
物理链路断开、认证失败、超时定时器时间到、管理员通过配置关闭连接等动作都可能导致链路进入Terminate阶段
LCP
LCP报文
Flag字段标识一个物理帧的起始和结束,固定0x7E
Address字段字节固定为11111111 (0XFF),是一个广播地址
Information字段包含Protocol字段中指定协议的内容,该字段的最大长度被称为最大接收单元MRU,缺省值为1500。
LCP使用魔术字来检测二层环路。魔术字是随机产生的一个数字,两端产生的随机数相同的可能性几乎为0。
LCP协商
建立
正常协商
两端都要协商对方的参数
在没有收到Ack报文的情况下,3S重传一次,连续10次认为对方不可用
Configure-Request和Configure-Ack报文中只有报文类型的字段(Request?Ack?)不同
参数不匹配
MRU:只要你发的数据在我的接收范围内就能协商成功,并不是使两端的数据发送的大小一致,只有你发的数据超过了我接收的范围才会发送Nak报文
Nak报文将参数不匹配的选项带回,修改参数后,重新发送Request进行协商
参数不识别
Reject将不识别的选项带回,删除不能识别的选项后,重新发送Request进行协商
维护
Echo-Request
Echo-Reply
拆除
Terminate-Request
Terminate-Ack
认证模式
PAP(明文密码验证协议)
PAP认证双方有两次握手。协商报文以明文的形式在链路上传输。
被认证方发起认证,认证用户名和明文密码
缺点
明文传输密钥泄漏
重放攻击:认证方无法区分客户
CHAP(挑战握手认证协议)
CHAP认证双方有三次握手。协商报文被加密后再在链路上传输。
多的一次为认证方发起的挑战报文,然后被认证方发送用户名和Hash结果
哈希
同一条内容的Hash值是固定不变的,只是不可逆
任意长度的内容经过哈希算法后得到的长度都是128Bit,32位的16进制位
HASH计算内容
认证方
挑战报文携带用户名的情况并且被认证方没有配置密码 被认证方会根据携带的用户名在我本地的AAA数据库中查询密码,然后将得到的Hash(密码)和配置的CHAP用户名发送到认证方查找AAA数据库认证
被认证方
注意点
???
NCP协商
静态IP 地址协商
静态IP地址协商需要手动在链路两端配置IP地址。
静态协商过程
每一端都要发送Configure-Request报文,在此报文中包含本地配置的IP地址;
每一端接收到此Configure-Request报文之后,检查其中的IP地址,如果IP地址是一个合法的单播IP地址,而且和本地配置的IP地址不同(没有IP冲突),则认为对端可以使用该地址,回应一个Configure-Ack报文。
无论静态还是动态双方都要协商对方的IP地址是否是合法的单播地址且没有IP冲突
PPP链路两端的IP地址可以不在同一网段
配置IP地址时尽量选择掩码是31的网段,否则可能产生环路,因为PPP链路无需请求下一跳MAC地址,只有出接口指导数据转发
地址互推
当收到对端ipcp互推的地址时,默认会以32位的主机路由加载进路由表
问题:当链路的两端在同一网段,会存在很多32位的“垃圾”路由
解决方法:[Huawei-Serial0/0/0]ppp peer hostroute-suppress
动态IP 地址协商
动态IP地址协商支持PPP链路一端为对端配置IP地址。
配置
协议配置
[Huawei-Serial1/0/0]link-protocol hdlc
默认PPP
两边的协议不一致无法UP
认证
认证方
AAA建立用户数据库
[Huawei-aaa]local-user wf password cipher 123456 [Huawei-aaa]local-user wf service-type ppp //不写所有都可以用
接口设置PPP认证模式
[Huawei-Serial1/0/0]ppp authentication-mode pap/chap
被认证方
PAP
[Huawei-Serial1/0/0]ppp pap local-user wf password simple 123456
CHAP
[Huawei-Serial1/0/0]ppp chap user wf [Huawei-Serial1/0/0]ppp chap password simple 123456
认证方也配置时起双向认证的作用,自己做认证时只会看AAA中的用户名和密码
动态地址协商
认证方
[Huawei-Serial1/0/0]remote address IP/pool
被认证方
[Huawei-Serial1/0/0]ip address ppp-negotiate
[Huawei-Serial1/0/0]ppp ipcp default-route
下发默认路由
MP-Group
多个PPP就接口捆绑成一个逻辑接口(类似Eth-Trunk)
PPPoE
概述
PPPoE(PPP over Ethernet,以太网承载PPP协议)是一种把PPP帧封装到以太网帧中的链路层协议。 PPPoE可 以使以太网网络中的多台主机连接到同一远端的宽带接入服务器。PPP每一个用户需要一条链路 PPPoE集中了PPP和Ethernet两个技术的优点。既有以太网的组网灵活优势,又可以利用PPP协议实现认证、计费等功能。
报文
Eth-Type:表示协议类型字段, 当值为0x8863时表示承载的是PPPoE发现阶段的报文。 当值为0x8864时表示承载的是PPPoE会话阶段的报文。
只有PADI报文是广播发送的
PPPoE会话建立
PPPoE发现阶段
作用:封装源目MAC地址、出接口,与pppoe server建立连接,形成Session ID
查看绑定信息:display pppoe-client session summary display pppoe-server session all
PPPoE会话阶段
PPPoE会话阶段会进行PPP协商,分为LCP协商、认证协商、NCP协商三个阶段。
整个会话阶段,使用发现阶段服务器给客户端分配的Session ID来标识每一个PPPoE客户端的会话
PPPoE会话终结阶段
当任意一方希望关闭连接时会发送PADT报文,PADT报文中携带Session ID标识需要关闭的会话
配置
客户端
创建Dialer接口并配置PPP认证信息
interface Dialer1 ppp chap user wf ppp chap password simple 123456 ip address ppp-negotiate dialer user Cisco //设置拨号用户名,用户名随意(不用于认证) dialer bundle 2 //绑定物理接口的编号
拨号接口绑定出接口
[Huawei-GigabitEthernet0/0/0]pppoe-client dial-bundle-number 2
dialer-rule rule-number { ip { deny | permit } | acl acl-number }
限制拨号用户(可选)
dialer-group group-number
配置接口的Dialer Group
必须确保命令dialer-rule中的参数rule-number和命令dialer-group中的参数group-number保持一致。
服务器端
AAA创建用户
[Huawei-aaa]local-user wf password cipher 123456 [Huawei-aaa]local-user wf service-type ppp
创建虚拟模板接口并配置PPP认证信息
interface Virtual-Template1 ppp authentication-mode pap/chap remote address 200.1.1.2/地址池 ip address 200.1.1.1 255.255.255.0
.将物理接口与虚拟模板绑定
[Huawei-GigabitEthernet0/0/0]pppoe-server bind virtual-template 1
验证配置
display interface Dialer 1
LCP opened, IPCP opened表示链路的状态完全正常
display pppoe-client session summary
State表示PPPoE会话的状态,包括以下四种: IDLE表示当前会话状态为空闲。 PADI表示PPPoE会话处于发现阶段,并已经发送PADI报文。 PADR表示PPPoE会话处于发现阶段,并已经发送PADR报文。 UP表示PPPoE会话建立成功。
注意点
配置静态路由时指向虚拟接口
配置NAT时在虚拟接口下配置
MPLS
MPLS(Multiprotocol Label Switching,多协议标记交换)利用标签(label)代替ip的数据转发,目的是提高路由器的转发速度
传统IP路由转发的特点: 所有路由器需要知道全网的路由。 传统IP转发是面向无连接的,无法提供较好的端到端QoS保证。 MPLS是一种IP骨干网技术。 MPLS是一种隧道技术,在IP路由和控制协议的基 础上,向网络层提供面向连接的交换。能够提供 较好的QoS保证。 MPLS标签指导报文转发的过程中,使用本地标签 查找替代传统IP转发的路由查找,大大提高转发 效率。 MPLS转发过程中使用的标签,既可以通过手工静 态配置,又可以通过动态标签分发协议分配。
Segment Routing
为解决传统IP转发和MPLS转发的问题,业界提出了SR (Segment Routing,分段路由)。SR的转发机制有很大改进,主要体现在以下几个方面: 1.基于现有协议进行扩展: 扩展后的IGP/BGP具有标签分发能力,因此网络中无需其他任何标签分发协议,实现协议简化。 2.引入源路由机制: 基于源路由机制,支持通过控制器进行集中算路。 3.由业务来定义网络: 业务驱动网络,由应用提出需求(时延、带宽、丢包率等),控制器收集网络拓扑、带宽利用率、时延等信息,根据业务需求计算显式路径。
SR的本质是指令,指引报文去哪里和怎么去
网络管理与运维
网络管理的基本功能
配置管理,性能管理,故障管理,安全管理,计费管理
网络管理方式
传统
CLI命令行
Web网管
SNMP集中管理
iMaster NCE
SNMP
SNMP(Simple Network Management Protocol,简单网络管理协议)
采用UDP,161端口接收NMS的信息请求,162向NMS发送告警信息
架构
3种角色
网络管理站(Network Management Station,NMS)
向被管理设备发送各种查询报文,以及接收被管理设备发送的告警
被管理设备(Devices)
也就是网络中的各种接受网管的设备
代理(Agent)
驻留在被管理设备上的一个进程
作用
接收、解析来自网管站的查询报文
根据报文类型对管理变量进行Read或Write操作,并生成响应报文,返回给网管站
根据各协议模块对告警触发条件的定义,当发生某个事件(如端口UP/DOWN,STP拓扑变更、OSPF邻居关系DOWN掉等)的时候,主动触发一个告警,向网管站报告该事件
2种数据组织
MIB
MIB(Management Information Base )是一个数据库,指明了被管理设备所维护的变量(即能够被Agent查询和设置的信息)。MIB在数据库中定义了被管理设备的一系列属性:对象的名称、对象的状态、对象的访问权限和对象的数据类型等。
OID
OID(Object IDentifier):MIB是以树状结构进行存储的,树的节点表示管理对象Object,对象可以用从根Root开始的一条路径来唯一的识别,这就是OID也即对象标示符
版本
SNMPv1
SNMPv1基于团体名认证,安全性较差,且返回报文的错误码也较少。
SNMPv1定义了5种协议操作: Get-Request:NMS从被管理设备的代理进程的MIB中提取一个或多个参数值。 Get-Next-Request:NMS从代理进程的MIB中按照字典式排序提取下一个参数值。 Set-Request:NMS设置代理进程MIB中的一个或多个参数值。 Response:代理进程返回一个或多个参数值。它是前三种操作的响应操作。 Trap:代理进程主动向NMS发送报文,告知设备上发生的紧急或重要事件。
SNMPv2
SNMPv2c中引入了GetBulk和Inform操作,支持更多的标准错误码信息,支持更多的数据类型(Counter64、Counter32)。
SNMPv2c新增了2种协议操作: GetBulk:相当于连续执行多次GetNext操作。 Inform:被管理设备向NMS主动发送告警。
SNMPv3
SNMPv3提供了基于USM(User-Based Security Model,用户安全模块)的认证加密和VACM(View-based Access Control Model,基于视图的访问控制模型)功能。
SNMPv3增加了身份验证和加密处理的功能。
配置
iMaster NCE
简介
管理、控制、分析和AI智能功能于一体的网络自动化与智能化平台
四大关键能力:全生命周期自动化、基于大数据和AI的智能闭环、开放可编程使能场景化APP生态、超大容量全云化平台。
在管理与控制方面,iMaster NCE支持: CLI和SNMP等传统技术实现传统设备的管理和控制。 NETCONF(基于YANG模型)、RESTCONF等协议实现对支持SDN的网络的管理和控制。 iMaster NCE通过SNMP、Telemetry等协议采集网络数据,结合AI算法进行大数据智能分析,通过Dashboard、报表等方式多维度呈现设备及网络状态、帮助运维人员快速发现设备及网络异常情况并处理,保障设备和网络的正常运作。
NETCONF
NETCONF(Network Configuration Protocol,网络配置协议)
基于YANG模型,使用SSH传输
NETCONF规定客户端与服务器端之间的消息通信必须采用XML编码
YANG语言
YANG(Yet Another Next Generation)是一种数据建模语言,实现了NETCONF数据内容的标准化。
YANG文件可以简单分为三类: 厂家私有YANG文件 IETF标准YANG OpenConfig YANG
YANG模型的最终呈现是.yang为后缀的文件。
通过YANG文件可以将数据转换为XML文件(下发配置),也可以通过YANG文件将XML文件转换为数据(获取配置)
Telemetry
设备通过推模式(Push Mode)周期性地主动向采集器上送设备的接口流量统计、CPU或内存数据等信息,相对传统拉模式(Pull Mode)的一问一答式交互,提供了更实时更高速的数据采集功能。
Telemetry可达亚秒级的数据采集精度!
IPv6基础
IPv4现状:最大问题地址枯竭
缓解技术
NAT
CIDR
DHCP
根本解决方法
IPv6
地址空间增大2^96倍
IPv6优势
报文
IPv6报文由IPv6基本报头(必须存在)、IPv6扩展报头(可能不存在)以及上层协议数据单元三部分组成。
基本包头
基本包头提供报文转发的基本信息,会被转发路径上的所有设备解析
IPv6基本包头字段解释如下: Version:版本号,长度为4 bit。对于IPv6,该值为6。 Traffic Class:流类别,长度为8 bit。等同于IPv4中的ToS字段,表示IPv6数据包的类或优先级,主要应用于QoS。 Flow Label:流标签,长度为20 bit。IPv6中的新增字段,用于区分实时流量,不同的流标签+源地址可以唯一确定一条数据流,中间网络设备可以根据这些信息更加高效率的区分数据流。 Payload Length:有效载荷长度,长度为16 bit。有效载荷是指紧跟IPv6包头的数据包的其他部分(即扩展包头和上层协议数据单元)。 Next Header:下一个包头,长度为8 bit。该字段定义紧跟在IPv6包头后面的第一个扩展包头(如果存在)的类型,或者上层协议数据单元中的协议类型(类似于IPv4的Protocol字段)。 Hop Limit:跳数限制,长度为8 bit。该字段类似于IPv4中的Time to Live字段,它定义了IP数据包所能经过的最大跳数。每经过一个路由器,该数值减去1,当该字段的值为0时,数据包将被丢弃。 Source Address:源地址,长度为128 bit。表示发送方的地址。 Destination Address:目的地址,长度为128 bit。表示接收方的地址。
拓展包头
拓展包头相当于IPv4的可选项。 一个IPv6报文可以包含0个、1个或多个扩展包头,仅当需要路由器或目的节点做某些特殊处理时,才由发送方添加一个或多个扩展头。扩展包头总是8 Byte长度的整数倍。 当使用多个扩展包头时,前面包头的Next Header字段指明下一个扩展包头的类型,这样就形成了链状的包头列表。 当超过一种扩展包头被用在同一个IPv6报文里时,包头必须按照下列顺序出现: 1.逐跳选项包头:主要用于为在传送路径上的每跳转发指定发送参数,传送路径上的每台中间节点都要读取并处理该字段。 2.目的选项包头:携带了一些只有目的节点才会处理的信息。 3.路由包头:IPv6源节点用来强制数据包经过特定的设备。 4.分段包头:当报文长度超过MTU(Maximum Transmission Unit,最大传输单元)时就需要将报文分段发送,而在IPv6中,分段发送使5.用的是分段包头。 6.认证包头(AH):该包头由IPsec使用,提供认证、数据完整性以及重放保护。 7.封装安全净载包头(ESP):该包头由IPsec使用,提供认证、数据完整性以及重放保护和IPv6数据包的保密。 一个IIPv6报文,目的选项报文可重复,其它选项只能出现一次
报文处理机制
术业有专攻:例如:中间路由器只需要处理基本包头和逐条包头,终点路由器处理全部包头
IPv6地址
地址概况
IPv4协议具有32位(4字节)地址长度; 地址总数2^32≈43亿 IPv6协议具有128位(16字节)地址长度 地址总数2^128
用8段的16进制位表示
大小写不敏感
地址缩写
前导0省略,中间16位全0只用一个0,拖尾0不能省略
一个或多个连续的16 bit字符为0时,可用“::”表示,但只允许有一个“::”
地址分类
地址分类
单播地址(Unicast Address):标识一个接口,目的地址为单播地址的报文会被送到被标识的接口。在IPv6中,一个接口拥有多个IPv6地址是非常常见的现象。除了全球单播地址、唯一本地地址、链路本地地址这三种地址之外,IPv6还有一些特殊单播地址的存在: 未指定地址:0:0:0:0:0:0:0:0/128 或者::/128(0.0.0.0)。该地址作为某些报文的源地址,比如作为重复地址检测时发送的邻居请求报文(NS)的源地址,或者DHCPv6初始化过程中客户端所发送的请求报文的源地址。 环回地址:0:0:0:0:0:0:0:1/128 或者::1/128,与IPv4中的127.0.0.1作用相同,用于本地回环,发往::/1的数据包实际上就是发给本地,可用于本地协议栈环回测试。 组播地址(Multicast Address):标识多个接口,目的地址为组播地址的报文会被送到被标识的所有接口。只有加入相应组播组的设备接口才会侦听发往该组播地址的报文。 任播地址(Anycast Address):任播地址标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包将发送给其中路由意义上最近的一个网络接口。 IPv6没有定义广播地址(Broadcast Address)。在IPv6网络中,所有广播的应用层场景将会被IPv6组播所取代。
单播
单播地址结构
一个IPv6单播地址可以分为如下两部分: 网络前缀(Network Prefix):n bit,相当于IPv4地址中的网络ID。 接口标识(Interface Identify):(128-n)bit ,相当于IPv4地址中的主机ID。 常见的IPv6单播地址如全球单播地址、链路本地地址等,要求网络前缀和接口标识必须为64 bit。 全球单播地址中,高位前3 bit为000的地址可以采用非64 bit的网络前缀
单播地址接口标识
接口标识可通过三种方法生成: 手工配置 系统软件自动生成 通过IEEE EUI-64规范生成
IEEE EUI-64规范
1.将MAC地址从16进制转换成2进制; 2.在中间插入FFFE; 3.将第7个bit的值从0改成1; 4.将2进制数值,转换成16进制.
这种由MAC地址产生IPv6地址接口标识的方法可以减少配置的工作量,尤其是当采用无状态地址自动配置时,只需要获取一个IPv6前缀就可以与接口标识形成IPv6地址。 使用这种方式最大的缺点就是某些恶意者可以通过二层MAC推算出三层IPv6地址。
单播地址分类
GUA(Global Unicast Address,全球单播地址)
ULA(Unique Local Address,唯一本地地址)
LLA(Link-Local Address,链路本地地址)
3、8、10
特殊单播地址
::/128
::1/128
组播
组播地址
IPv6组播地址各字段值对应的组播组类型和范围: Flags: 0000表示永久分配或众所周知 ; 0001表示 临时的。 Scope: 0:预留; 1:节点本地范围;单个接口有效,仅用于Loopback通讯。 2:链路本地范围;例如FF02::1。 5:站点本地范围; 8:组织本地范围; E:全球范围; F:预留。
组播 FF FF02::1=224.0.0.1----链路范围内所有的设备 FF02::2=224.0.0.2----链路范围内所有的路由器
被请求节点组播地址
在IPv6中,ARP及广播都被取消,当设备需要请求某个IPv6地址对应的MAC地址时,设备依然需要发送请求报文,但是该报文是一个组播报文,其目的IPv6地址是目标IPv6单播地址对应的被请求节点组播地址,由于只有目标节点才会侦听这个被请求节点组播地址,所以该组播报文可以被目标节点所接收,同时不会占用其他非目标节点的网络性能。
任播
任播过程涉及一个任播报文发起方和一个或多个响应方。 任播报文的发起方通常为请求某一服务(例如,Web服务)的主机。 任播地址与单播地址在格式上无任何差异,唯一的区别是一台设备可以给多台具有相同地址的设备发送报文。
优点
业务冗余
提供优质的服务(请求最近的节点)
IPv6单播地址业务流程
数据转发过程
NDP
地址配置
无状态地址自动配置 1.同RS/RA消息获取网络前缀 2.根据EUI-64规范生成接口ID 2.1在mac的前24和后24中间添加FF FE 2.2将第7个bi位取反 3.DAD检查,检查地址是否冲突
IPv6支持地址有状态(stateful)和无状态(stateless)两种自动配置方式,通过ICMPv6 RA报文中的M标记(Managed Address Configuration Flag)和O标记(Other Stateful Configuration Flag)来控制终端自动获取地址的方式。 有状态地址配置(DHCPv6 ),M=1,O=1: 采用DHCPv6协议,IPv6客户端将从DHCPv6服务器端获取完整的128 bit IPv6地址,同时包括DNS、SNTP服务器等地址参数。 此外,DHCPv6服务器端将会记录该地址的分配情况(这也是为什么被称为有状态)。 此方法配置较为复杂,且对DHCPv6服务器端的性能要求较高。 有状态地址配置多用于公司内部有线终端的地址分配,便于对地址进行管理。 无状态地址配置,M=0,O=0: 采用ICMPv6协议 ①使能了ICMPv6 RA功能的路由器会周期性的通告该链路上的IPv6地址前缀。 ②另一种情况,主机发送路由器查询(ICMPv6 RS)报文,路由器回复RA报文告知该链路IPv6地址前缀。 主机根据路由器回应的RA报文,获得IPv6地址前缀信息,使用该地址前缀,加上本地产生的接口标识,形成单播IPv6地址。 若主机还想获得其他配置信息,可以通过DHCPv6来获得除地址外的其他信息。当使用这种方式时,M=0,O=1。 无状态地址配置的关键在于路由器完全不关心主机的状态如何,是否在线等,所以称为无状态。 无状态地址配置多用于物联网等终端较多,且终端不需要除地址外其他参数的场景。 DNS(Domain Name System,域名系统):一种将用户容易记忆的域名映射为网络设备能够识别的IPv6地址的机制。 NIS(Network Information System,网络信息服务):用来管理电脑网络中所有与电脑系统管理相关配置文件的系统。 SNTP(Simple Network Time Protocol,简单网络时钟协议 ):由 NTP 改编而来,主要用来同步因特网中计算机的时钟。
DAD
DAD的NA报文的源地址是::,目的地址是所有节点的组播地址(FF02::1)
地址解析
IPv6使用ICMPv6的NS和NA报文来取代ARP在IPv4中的地址解析功能。
IPv6的地址解析不再使用ARP,也不再使用广播方式,而采用和DAD相同的NS和NA报文解析数据链路层地址。
DAD和地址解析的NS报文中的源地址都是此IP地址对应的被请求节点组播地址
IPv4和IPv6对比
SDN与NFV概述
SDN主要影响网络架构,NFV主要影响网元的部署形态
SDN
经典IP网络 - 分布式网络
经典的IP网络是一个分布式的、对等控制的网络。每台网络设备存在独立的数据平台、控制平面和管理平面。
经典网络面临的问题
网络易拥塞
基于带宽固定选路的问题
基于固定顺序建立隧道的问题
网络技术复杂
网络协议多(RFC多)
网络配置难(命令多)
运维太困难
故障发现难
故障定位难
业务部署太慢
网络策略变更复杂、不灵活: 网络策略无法细化到用户。策略变更复杂,无法灵活调整。
新业务部署周期长: 新业务部署涉及端到端设备配置修改。
物理网络部署效率低: 物理网络无零配置部署能力
网络业务部署的愿景是:网络策略实现业务随行,与物理位置无关;新业务实现快速部署;物理网络支持零配置部署,设备即插即用。
SDN 起源
SDN起源提出了三个特征, “转控分离”、“集中控制”和“开放可编程接口”。
OpenFlow基本概念
OpenFlow是控制器与交换机之间的一种南向接口协议。它定义了三种类型的消息,Controller-to-Switch、 Asynchronous 和 Symmetric。
ONF定义
Flow Table简介
OpenFlow交换机基于流表(Flow Table)转发报文。 每个流表项由匹配字段、优先级、计数器、指令、超时、Cookie、Flags这七部分组成。其中关于转发的关键的两个内容是匹配字段和指令。 匹配字段是匹配规则,支持自定义。 指令是用来描述匹配后的处理方式。
SDN的本质
SDN的本质诉求是让网络更加开放、灵活和简单。SDN是一个更为广泛的概念而不局限于OpenFlow。转控分离是实现SDN的一种方法而不是本质。
SDN的价值是: 集中管理,简化网络管理与运维; 屏蔽技术细节,降低网络复杂度,降低运维成本; 自动化调优,提高网络利用率; 快速业务部署,缩短业务上线时间; 网络开放,支撑开放可编程的第三方应用。
SDN网络架构
SDN网络架构分为协同应用层、控制器层和设备层。以控制器层为主要视角,区分面向设备层的南向接口和面向协同应用层的北向接口。
控制器层:控制器层的实体就是SDN控制器,是SDN网络架构下最核心的部分。控制层是SDN系统的大脑,其核心功能是实现网络业务编排。 NBI北向接口:北向接口为控制器对接协同应用层的接口,主要为RESTful。 SBI南向接口:南向接口为控制器与设备交互的协议,包括NETCONF、SNMP、OpenFlow、OVSDB等。
注意南北向接口有哪些
iMaster NCE
iMaster NCE应用
具体内容看数据中心和企业园区的应用
NFV
NFV的价值
NFV(Network Functions Virtualization )是运营商为了解决电信网络硬件繁多、部署运维复杂、业务创新困难等问题而提出的。NFV在重构电信网络的同时,给运营商带来的价值如下: 缩短业务上线时间 降低建网成本 提升网络运维效率 构建开放的生态系统
关键技术
NFV的道路上,虚拟化是基础,云化是关键。
虚拟化
虚拟化具有分区、隔离、封装和相对于硬件独立的特征,能够很好匹配NFV的需求
云化
云计算服务特征: 按需自助服务(On-demand Self-service):云计算实现了IT资源的按需自助服务,不需要IT管理员的介入即可申请和释放资源。 广泛网络接入(Broad Network Access):有网络即可随时、随地的使用。 资源池化(Resource Pooling):资源池中的资源包括网络、服务器、存储等资源,提供给用户使用。 快速弹性伸缩(Rapid Elasticity):资源能够快速的供应和释放。申请即可使用,释放立即回收资源。 可计量服务(Measured Service):计费功能。计费依据就是所使用的资源可计量。例如按使用小时为时间单位,以服务器CPU个数、占用存储的空间、网络的带宽等综合计费。
NFV架构
ETSI定义了NFV标准架构,由NFVI (Network Functions Virtualization Infrastructure,基础设施层)、VNF( Virtualized Network Function,虚拟化网络功能层)以MANO(Management and Orchestration,管理编排域)主要组件组成。NFVI包括通用的硬件设施及其虚拟化,VNF使用软件实现虚拟化网络功能,MANO实现NFV架构的管理和编排。
NFVI包含硬件层和虚拟化层,业界也有说法称作COTS和CloudOS: COTS(commercial off-the-shelf,商用现货),即通用硬件,强调了易获得性和通用性。例如Huawei FusionServer系列硬件服务器。 CloudOS:设备云化的平台软件,可以理解为电信业的操作系统。CloudOS提供了硬件设备的虚拟化能力,将物理的计算/存储/网络资源变成虚拟资源供上层的软件使用。例如华为的云操作系统FusionSphere。 VNF:VNF可以理解为各种不同网络功能的APP,是运营商传统网元(IMS,EPC,BRAS,CPE…)的软件实现。 MANO:MANO的引入是要解决NFV多CT/IT厂家环境下的网络业务的发放问题,包括:分配物理/虚拟资源,垂直打通管理各层,快速适配对接新厂家新网元。MANO包括NFVO(Network Functions Virtualization Orchestrator,负责网络服务的生命周期的管理)、VNFM(Virtualized Network Function Manager, 负责VNF的生命周期管理)、VIM(Virtualized Infrastructure Manager,负责NFVI的资源管理)三部分。
网络编程与自动化
传统网络运维困境
设备升级:现网有数千台网络设备,你需要周期性、批量性地对设备进行升级。
配置审计:企业年度需要对设备进行配置审计。例如要求所有设备开启sTelnet功能,以太网交换机配置生成树安全功能。你需要快速地找出不符合要求的设备。
配置变更:因为网络安全要求,需要每三个月修改设备账号和密码。你需要在数千台网络设备上删除原有账号并新建账号。
网络自动化
网管工具
自动化工具
Ansible、SaltStack、Puppet、Chef
自动化脚本
Python
Shell
编程语言
语言分类
机器语言
由0和1组成的指令构成,可以直接被机器识别
汇编语言
将机器语言的0和1进行简单封装,便于识别和记忆
高级语言
高级语言编写的程序不能直接被计算机识别,必须经过转换成机器语言才能被执行。
计算机技术栈
高级编程语言
编译型语言
编译型语言编译的时候直接编译成机器可以执行的格式(例如.exe .dll .ocx)。编译和执行是分开的,不能跨平台执行
编译成机器可识别的二进制文件
典型的如C/C++/Go语言
解释型语言
解释型语言的程序不需要在运行前编译,在运行程序的时候才逐行翻译,源代码由编译器生成字节码,然后再由虚拟机(JVM/PVM)解释执行。虚拟机将不同CPU指令集的差异屏蔽,因此解释型语言的可移植性相对较好
编译成字节码文件由解释器执行
典型的如Java/Python语言
Python
优缺点
优点
动态类型语言:指在程序运行的过程中自动决定对象的类型,不需要声明变量的类型。 Python同时支持面向过程和面向对象的编程。 Python拥有丰富的第三方库。 Python可以调用其他语言所写的代码,又被称为胶水语言。
缺点
运行速度慢
运行方式
交互式
Python解释器
脚本式
IDLE、Atom、Visual Studio、Pycharm和Anaconda等
编码规范
基本规范
命名规则、代码缩进、代码和语句分割方式
Python程序允许在行尾添加分号,但是不建议使用分号隔离语句。
不同函数或语句块之间可以使用空格来分隔
圆括号可用于长语句的续行
标识符
Python标识符用于表示常量、变量、函数以及其他对象的名称。 标识符通常由字母、数字和下划线组成,但不能以数字开头。标识符大小写敏感,不允许重名。如果标识符不符合规则,编译器运行代码时会输出SyntaxError语法错误
代码缩进
代码缩进代表代码块的作用域。如果一个代码块包含两个或更多的语句,则这些语句必须具有相同的缩进量。对于Python而言代码缩进是一种语法规则,它使用代码缩进和冒号来区分代码之间的层次。 使用了错误的缩进,则会在运行中发出IndentationError错误信息。
注释
#
'''…'''或者"""…"""
源码文件结构
一个完整的Python源码文件一般包含几个组成部分:解释器和编码格式声明、文档字符串、模块导入和运行代码。 如果会在程序中调用标准库或其他第三方库的类时,需要先使用import或from… import语句导入相关的模块。导入语句始终在文件的顶部。在模块注释或文档字符串(docstring)之后。
解释器声明的作用是指定运行本文件的编译器的路径(非默认路径安装编译器或有多个Python编译器)。Windows操作系统上可以省略本例中第一行解释器声明。
函数与模块
函数使用关键字 def 定义。模块(Module)是一个保存好的Python文件。模块可以由函数或者类组成。模块和常规Python程序之间的唯一区别是用途不同:模块用于被其他程序调用。因此,模块通常没有main函数。
类与方法
类的定义使用关键字 class。 被实例化的类的”函数”被称作方法(Method)。类定义方法时候必须携带 self 关键字,它表示类的实例本身
园区网络典型架构
三层架构的功能
接入层:接入层利用光纤、双绞线、同轴电缆、无线接入技术等传输介质,实现与用户连接,并进行业务和带宽的分配。接入层目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性。
为终端用户提供园区网接入服务,是园区网的边界。
汇聚层:汇聚层为接入层提供基于策略的连接,如地址合并,协议过滤,路由服务,认证管理等。通过网段划分实现与网络隔离,可以防止网络故障蔓延和影响到核心层。汇聚层同时也可以提供接入层虚拟网之间的互连,控制和限制接入层对核心层的访问,保证核心层的安全和稳定。
处于园区网的中间层次,完成数据汇聚或交换的功能,可以提供一些关键的网络基本功能,如路由、 QoS、安全等。
核心层:核心层的功能主要是实现骨干网络之间的优化传输,核心层任务的重点通常是冗余能力、可靠性和高速的传输。
是园区网骨干,是园区数据交换的核心,联接园区网的各个组成部分,如数据中心、管理中心、园区出口等。
出口区:园区内部网络到外部网络的边界,用于实现内部用户接入到公网,外部用户接入到内部网络。一般会在此区域中部署大量的网络安全设备来抵御外部网络的攻击,如IPS(intrusion prevention system,入侵防御系统)、Anti-DDoS设备、Firewall(防火墙)等。
数据中心区:部署服务器和应用系统的区域,为企业内部和外部用户提供数据和应用服务。
网络管理区:部署网络管理系统的区域,包括SDN控制器,无线控制器,eLOG(日志服务器)等,管理监控整个园区网络。
架构图