介质
华为设备初始密码:默认账户:admin 默认密码:admin@huawei.com
华为密码改成AAA:
au
authentication-mode aaa
authentication-mode aaa
通信介质 :同轴电缆,双绞线,光纤
同轴电缆:粗500米,细185米(传输距离)
双绞线:五类、超五类、六类 。100米(传输速率:10BASE-T = 10M/秒)
光纤:单模/多模 (单模SM/多模MM) 单模只能传输或者接收
单模 、单模/多模 传输距离一般为几十公里,单模距离更远
一般黄色的是单模 红色的是多模 光模块一般通用
TX:发送
RX:接收
串口电缆:6米传输速率低
POE:power over ethernet (网线供电)
AP:无线接入点(wifi)(使用poe网线接口供电)介质:RF,Wifi6
Hub:集线器,物理设备
冲突域:共享式网络中可能会出现信号冲突现象
CSNA/CD:载波监听多路访问技术
原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发
交换式局域网:交换机每个接口是一个冲突域,独享带宽。
双工模式:单工,半双工,全双工
单工:只支持数据在一个方向传输(有线电视)
半双工(Half Duplex):能传输接收数据,但不能同时进行(对讲机)
全双工(duplex):能够同一时间收发数据。(手机)
auto :自动协商
(在局域网内,交换机与交换机之间连接建议使用全双工,交换机与pc连接建议使用auto。
OSI参考模型和TCPIP工业模型
(除了物理层之外,一般不会按照设备来划分层次,以协议来划分层 次)
OSI参考模型 单位 内容/作用
物理层 bit(比特位) 电气化信号/物理规律等内容 ,如HUB、线缆 比特流传输
数据链路层 Frame(帧) ppp、以太(ethernet协议),控制网络层与物理层通信
网络层 packet(包) 路由(route)或者结构化编址(IP协议),IP寻址和路由选择
传输层 segment(段) TCP和UDP,形成会话和表示应用 建立维护管理端到端的连接
会话层 建立、维护、管理会话链接
表示层 数据格式化、加密解密 此三层统称为高层协议
应用层 为应用程序提供网络服务
网络通信协议:不同协议栈用于定义和管理不同网络数据的转发规则
每个层次相对独立,但是又有关联性
数据链路层控制数据在物理链路上传输。
TCP/IP工业模型
应用层
传输层(“端口” 表明上层是什么应用)
网络层(互联网层 internet protocol,“协议”字段 表明上层协议)
网络接口层(以太帧中的“类型/长度”字段 表明上层以及网络层协议)
数据封装:
数据沿着协议栈向下传输时,每一层都添加一个报头,并将封装后的内容作为数据传递给下一层,直到达物理层,数据被转换为比特,通过介质进行传输
网络设备管理概述
一个设备的几个层面:控制层面(协议)、数据转发层面(传送报文)、管理层面
常见的管理方式:
面对面的管理:Console(primary interface)(串口线连接,装驱动、通过终端管理软件)
远程管理:Telnet/SSH(既有业务流量也有管理流量:带内管理!)
专有的管理接口/网络:mgmt(带外管理!)
WEB管理方式(非专业人事方式)
终端管理软件:SecuetCRT、Xshell、Putty、超级终端
认证(密码)
如何使用CRT连接ENSP?
单击右键选择断开(disconnetc)
在选择会话选项(session options)勾选单次只输出一行选项
会话的3个基本要素:
- IP:127.0.0.1(本地环回接口)
- 端口(2000然后累加)
- 协议:选择telnet协议
数据封装/解封装
数据封装:
数据沿着协议栈向下传输时,每一层都添加一个报头,并将封装后的内容作为数据传递给下一层,直到达物理层,数据被转换为比特,通过介质进行传输
抓包(wireshark)
用QQ发送数据
DATA(数据)→
程序的头部(OICQ)|DATA(数据)→
UDP头部(程序使用的协议)|程序的头部(OICQ)|DATA(数据)→
IP头部(UDP的底层)|UDP头部(程序使用的协议)|程序的头部(OICQ)|DATA(数据)→
以太的头部|IP头部(UDP的底层)|UDP头部(程序使用的协议)|程序的头部(OICQ)|DATA(数据)→
物理层→
转换为比特→
介质→
目的地。
当我们报文到达目的地将会有一个解封装的操作。(相反)
EVPN、VXLAN (封包软件)
MAC地址表
交换机(路由器上大部分没有,但如果增加了以太模块)上一种转发决策表
原则:一个MAC地址在同一个时刻只能从一个接口学习到
MAC地址表得到的是帧当中的源MAC
一个接口在同一时刻可以学习到多个终端的MAC。
MAC地址表的震荡:一个设备的MAC地址不停的在两个端口之间来回变化
如果不能形成正确的MAC地址表,那么终端之间是无法通信的
要注意区分MAC地址表、ARP和路由表
IP基础(3层)
网络层位于数据链路层与传输层之间。网络层中包含了许多协议,其中最为重要的协议就是IP协议。网络层提供了IP路由功能。理解IP路由除了要熟悉IP协议的工作机制之外, 还必须理解IP编制以及如何合理地使用IP地址来设计网络。
上层协议类型:
以太网帧中的Type字段值为0×0800,表示该帧的网络层协议为IP协议
IP编址
网络位 主机位
192.168.1 .1
11000000.10101000.00000001 .00000001
IP地址分为网络和主机部分。
IP地址由32个二进制组成,通常用点分十进制形式表示。
MASK(掩码):0和1组成,1就代表网络部分,0就代表了主机部分,常规要求:0和1是连续(非常规要求:Windows上修改注册表可以让掩码不连续)
255-11111111(换算二进制)
/24-11111111,11111111,11111111,00000000
(丁克路由)主机路由:1.1.1.1/32(网络里只有自己,loopback)
IP地址的分类
Ipv4分类:
0.0.0.0~127.255.255.255 (默认掩码/8)
A类:0 网络位(8bit) 主机位(24bit)
128.0.0.0~191.255.255.255(默认掩码/16)
B类:10 网络位(16bit) 主机位(16bit)
192.0.0.0~223.255.255.255 (默认掩码/24)
C类:110 网络位(24bit) 主机位(8bit)
224.0.0.0~239.255.255.255
D类:1110 组播
IP地址类型
私有地址范围:(RFC)
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 ~全局广播地址
在一个网络中,有两个地址(最大地址和最小地址)不可以分配给主机设备使用
10.1.10.225/24 定向广播地址:主机位全部为1(255=11111111二进制)
10.1.10.0/24 网络地址:主机位全部位0(0-00000000十进制)
帧格式
1.以太帧:
两种以太帧的封装格式:
以太2(用户的业务流):DMAC+SMAC+type+数据
Ethernet_ll D.MAC ︱ S.MAC ︱Type︱ Data ︱FCS
目的MAC 源MAC 类型 数据 帧校验和
Ethernet_II 帧格式
6B 6B 2B 46-1500B 4B
- MAC ︱S.MAC ︱ Type ︱ Data ︱FCS
0X0800 -IP 0X0800(2048)
0X0806 -ARP 0X0806 (2054)
0800-IP
0806-ARP(协议控制帧)
1500字节-MTU(最大传输单元)
Ethernet_II帧类型值大于等于1536(0X0600),以太网数据帧的长度在64-1518字节之间
IEEE802.3帧格式(协议控制帧):
6B 6B 2B 3B 5B 38-1492B 4B
E.MCA ︱ S.MAC ︱Length︱LLC︱ SNAP ︱ Data ︱FSC
1B 1B 1B 3B 2B
D.SAP︱S.SAP︱Control︱ ︱Org Code︱Type
IEEE802.3帧格式类似于Ethernet_II帧的Type域被802.3帧的Legth域取代,并且占用了Data字段的8个字节作为LLC和SNAP字段。
Length字段定义了data字段包含的字节数。
逻辑链路控制LLC(logical link control)由目的服务访问点DSAP、源服务访问点SSAP和control字段组成。
SNAP由机构代码(Org Code)和类型(type)字段组成。Org Code三个字节都为0。Type字段含义与Ethernet_II帧中的type字段相同。
IEEE802.3帧根据DSAP和SSAP字段的取值又可分为以下几类:
- 当DASP和SSAP都取特定值0xff时,802.3帧就变成了Netware-ETHERNET帧,用来承担NetWare类型的数据
- 当DASP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET_SNAP帧,ETHERNET_SNAP帧就可以用于传输多种协议。
- DSAP和SSAP其他的取值均为纯IEEE802.3帧
数据帧传输
数据链路层基于MAC地址进行帧的传输。
MAC物理地址,表示一个网卡/接口。 (48bits)
MAC地址由两部分组成,分别是供应商代码和序列号。其中前24位代表该供应商代码(OUI),由IEEE管理分配。剩下的24位序列号厂商自己分配。
单播,1对1(第八位是0)
00=00000000
组播,1对N(第八位是1)(用于协议。STP、中间系统到中间系统等)
01(16)=00000001
广播:1对ALL(所有全为1)
全F(16进制)即全1(2进制)
Anycast:一种服务!任意波网关。
当主机接收到数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉然后送往上层协议。
HCIAv2.5
- IP子网(非重点)
2个特殊地址:
0.0.0.0/0~默认路由
网络(网段):主机部分全部为0(二进制的0)
定向广播地址:主机部分全部为1(二进制的1)
如何区分主机部门和网络部分?
掩码:A类/8位,B类/16,C类/24,D类没有掩码(组播)
B类地址,172.16.0.1/16
主机位多少位?16位(32-16),可以容纳主机的数目=2的16次方=65536台终端
应用场景:
10个人,需要设计多大的网络?
35个人,需要设计多大的网络?
172.16.1.11/24-->子网掩码(subnet mask),子网!
多少个主机位?32-24个主机为=8,2的8次方=256台终端
/16-->/24网络变小
10.4.10.20/25 10.4.10.20 255.255.255.128
科学算法:
20-0001.0100(20转换为二进制=10100,补全八位)
128-1000.0000
请问这个网络他的第一个有效IP是多少? 10.4.10.1/25
网络是多少?10.4.10.0/25
广播地址是多少? 10.4.10.127
最后一个可用地址是多少?10.4.10.126
下一个网络是多少?10.4.10.127/25
网络冲突!路由/多层交换机端口的IP(所处的网络)必须是唯一的
路由器的每个端口是一个广播域(网络/网段)
VLAN(数字)与VLANIF(IP)的区别:VLAN是二层和三层相结合的概念,VLANIF是个三层概念。
下一个例子:
195.26.78.46 /29
46-00101110(二进制,补全八位)
29-11111000 (32-29 后三位变成0)
网络是多少?
00101000-195.26.78.40(主机位全部为0,在转换10进制)
广播地址是多少?
00101111-195.26.78.47(主机位全部为1,在转换10进制)
主机路由 /32的路由(所有主机位全部占满)
[r1]interface LoopBack 0 (环回接口)
VLSM可变长子网掩码
Block分块
IP报文头部(重点)
以太2的帧结构:
DMAC+SMAC+TYPE+DATA
MUT-1500(微型帧和巨型帧~9000+)
请问IP是否是2层以上的数据/内容? 是
主机A-----R(路由器)-------主机B | |||||
Version(版本4/6) | Header Length 头部长度 20/60字节 | DS Field 差分服务字段 | Total Length 总长度 IP头部+头部以上的数据大小 | ||
Identification | Flahs | Fragment Offset | |||
Time to Live | Protocol | Header Checksum | |||
Source IP Address | |||||
Destination IP Adderss | |||||
IP Options(可选头部) |
当我们的数据大小(IP头部+IP数据超过1500)→分片(只有IP能分片)
切记只有IP可以分片(只有设置了字段,才具备某种功能)
ID(Identification)用于表明是同一个报文(的分片)
标记位(Flahs):1更多分片,2不允许分片-f(web)PPPOE,能ping通外网地址,但是web打不开页面,考虑MTU或者MMS(最大尺寸)
片偏移(Total Length)
TTL生存时间(Time to live):IP报文头部中的防环字段,8位。最大值255,如果取值=0就会丢弃报文。
协议(Protocol):上层是什么?ICMP(1),ARP(二层和三层之间)
如果上层是TCP(6),UDP(17)
源IP(Source IP Address):来自于哪
目的IP(Destination IP Adderss):发往哪
IP选项(IP Options):如果IP协议有选项,那么IP报文头部将变成60字节
IP协议栈(IP),TCP(6),UDP(17号协议栈)
分片
当我们的数据大小(IP头部+IP数据超过1500)→分片(只有IP能分片)
[r1]ping -s 1500 202.100.1.2 (为什么<R1>是1500还是会被分片)
-s指的是IP承载数据的大小。(不包括IP的头部)
<r1>ping -s 1472 202.100.1.2 (此时没有分片)
PING 202.100.1.2: 1472 data bytes, press CTRL_C to break
我们需要将IP承载的大小(1500)-IP头部(20)-ICMP协议的大小(8)
1500-20-8=1472
TCP不能分
只有IP头部才有fargment (才能分片)
二层如何防止环路:生成树协议STP
ICMP(IP的1号协议)
Internet控制消息协议ICMP,是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,并对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。使用基于ICMP的应用时,需要对ICMP的工作原理非常熟悉。
ICMP重定向报文:寻路报文。优化数据转发的报文
ICMP差错检测:ICMP echo request和ICMP echo reply分别用来查询和响应某些信息,进行差错检测。
ICMP差错报告:当网络设备无发访问目标网络时,会自动发送ICMP目的不可达报文发送端设备。
ICMP数据包格式:Type表示ICMP类型,Code表示同意消息类型中别的不同信息。
ICMP消息类型和编码类型:
类型 | 编码 | 描述 |
0 | 0 | Echo reply |
3 | 0 | 网络不可达 |
3 | 1 | 主机不可达 |
3 | 2 | 协议不可达 |
3 | 3 | 端口不可达 |
5 | 0 | 重定向 |
8 | 0 | Echo request |
无类域间路由(汇总/聚合,支持路由汇总的方式)
路由条目数过多,影响查找速度。
路由汇总:
网关(gateway):
终端会把发往其他网段的数据发送给网关,由网关来转发。
对路由器而言也需要网关,它的默认网关就是默认路由
ARP地址解析协议(2.5层)
当网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送段还必须获取目的MAC地址。通过目的IP地址来获取目的MAC地址的过程是由ARP协议来实现的
ARP地址解析协议:2.5层,以太网中完成2层封装,目的IP所对应的MAC
MAC地址表是否存在于终端PC上呢?不是,交换机
ARP表:可以存在于终端PC上、路由器上、交换机上(存在IP)
切记点到点链路没有MAC,也没有ARP
ARP通过广播方式得到目标地址对应的MAC
是否是免费ARP?它用于检测地址池冲突
ARP:数据链路层在进行数据封装时,需要目的MAC地址
ARP报文不能穿越路由器,不能被转发到其他广播域(也就是网段)
代理ARP(proxy arp)。
传输层协议
传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和用户数据包协议UDP(User Datagram Protocol)
TCP:TCP是一种面向连接传输层协议,可提供可靠的传输服务。
TCP为何可靠:序列号、确认号,每个包都有号码。每完成一个动作需要“确认”。
帧-类型
IP-协议
传输层-端口(应用)
TCP端口号:
协议 | 端口号 |
FTP | 21、20 |
HTTP | 80 |
Tenlnet | 23 |
SMTP | 25 |
https | 443 |
BGP | 179 |
SSH | 22 |
Telnet | 23 |
DNS | 53 |
TFTP(ISO) | 69 |
SNMP | 161 |
端口号用来区分不同的网络服务。
小于1024端口:well know put
SSH(secure shell / stelnet)22
SSH配置
步骤1:创建用户名密码
[r1-aaa][r1]aaa
进入aaa模式,即认证、授权、审计、该模式用于创建用户名和密码
[r1-aaa]local-user render password cipher 123
创建本地用户“ender”,密码为“123”
[r1-aaa]local-user render privilege level 15
该用户的级别为最高的15级
[r1-aaa]local-user render service-type ssh
该用户用于SSH登录
[r1-aaa]q
退出当前
步骤2:开启SSH
[r1]stelnet server enable
Info: Succeeded in starting the STELNET server.
开启stelnet服务,默认是关闭的。
[r1]ssh user render authentication-type password
Ssh用户render的认证方式是密码认证
[r1]rsa local-key-pair create (由于我们做的是password认证,所以忽略)
在设备上创建rsa的kay,用于ssh使用
步骤3:在VTY下应用
[r1]user-interface vty 0 4
进入vty通道 (0 4 :指的是一个可以支持四个端口控制,随机选择)
[r1-ui-vty0-4]protocol inbound ssh
VTY允许ssh登录
[r1-ui-vty0-4]authentication-mode aaa
Vty的认证模式使用刚刚创建的aaa认证用户名和密码。
步骤4:进行连接测试
<r2>sy
进入r2的系统视图
[r2]stelnet 202.100.1.1
输入服务进入目标地址
[r2]stelnet 202.100.1.1
Please input the username:render
输入用户名:render(我们自己设置的aaa认证的)
Trying 202.100.1.1 ...
Press CTRL+K to abort
Connected to 202.100.1.1 ...
Error: Failed to verify the server's public key.
Please run the command "ssh client first-time enable"to enable the first-time ac
cess function and try again.
此时会出先一个报错,验证公钥失败,请输入ssh client first-time enable命令。(ssh的客户端第一次登录)
[r2]ssh client first-time enable
我们需要先输入:ssh的客户端第一次登录命令
[r2]stelnet 202.100.1.1
Please input the username:render
再进行登录,输入用户名
Trying 202.100.1.1 ...
Press CTRL+K to abort
Connected to 202.100.1.1 ...
The server is not authenticated. Continue to access it? (y/n)[n]:y
该服务器没有经过认证,请问要继续吗?:我们填y继续
[r2]
Save the server's public key? (y/n)[n]:y
是否要保存服务器的公钥:我们选保存y,n不保存
Enter password:123
这时我们输入之前所设的aaa密码:123(不可见)
<r1>成功进入
[r1]display users
User-Intf Delay Type Network Address AuthenStatus AuthorcmdFlag
+ 130 VTY 1 00:00:00 SSH 202.100.1.2 pass
Username : render
此时我们查看用户,可以看见用户:render,当前用户远程登录,通过vty方式, 在202.100.1.2通过ssh服务登录
TCP头部
TCP header(20字节,无可选头部,固定大小) | |||||||||
0 15 31 | |||||||||
Source port (源端口)(端口数0-15.即为2的16次方=65536) | Destination port(目的端口) | ||||||||
Sequence number(序列号) | |||||||||
Acknowledge number(确认号) | |||||||||
Header Length 20字节 | Resv: 比特位 | URG | ACK | PSH | RST | SYN | FIN | Window 窗口大小 滑动窗口 限速 8192 | |
Checksum | Urgent pointer | ||||||||
Options(syn mss)可选项 | Padding 垫片(补全大小) |
URG:紧急报文,优先读取
ACK:ACK=1才有确认号,
PSH:把数据推送给应用的客户端
RST:重置TCP会话
SYN:请求建立连接(三次握手~ 3个报文的交互)正常情况下只有SYN:这个包没有ACK
FIN:结束会话
MSS:最大报文长度
3次握手
SYN(MSS1460=1500-20-20)
SYN+ACK
ACK
TCP通过三次握手建立可靠连接。
TCP传输过程,如果少了一个报文,会要求重传,(只重传丢失包)
TCP流量控制:接收端缓存区满,接收不了太多数据,会告诉发送端减慢发送速度。如果没有减慢,缓存区满后的数据段将被丢弃。
TCP关闭连接:四次断开、主机在关闭连接之前,要确认收到来自对方的ACK。并且是需要来回两次发送报文(四次断开),如果单发一次,则叫半开连接,是一种攻击手段。
数据流(会话。五元组):源IP、目的IP、源端口(较大的随机端口)、目的端口(众所周知的端口)、协议
FTP(文件传输协议)应用在华为VRP升级实现
FTP(简单文件传输协议)
FTP(简单文件传输协议)
华为VRP系统可以作为FTP的服务器端和客户端
FTP(file transfer protocol)是TCP/IP协议族中的一种应用层协议,成为文件传输协议。FTP的主要功能是向用户提供本地和远程主机之间的文件传输。在华为。H3C设备上进行版本升级,日志下载和配置保存等业务操作时,会广泛的使用到FTP。
FTP采用两个TCP连接:控制连接和数据连接。其中控制连接用于连接控制端口,传输控制命令;数据连接用于连接数据端口。传输数据。
FTP数据连接的建立有两种:主动模式和被动模式,两者的区别在于数据连接是由服务器发起还是客户端发起。
控制连接使用TCP端口号:21;数据连接使用端口号:20
FTP有两个模式:主动模式(PCRT)和被动模式(PASY)
主动模式:客户端主动和服务器21端口,经过三次握手建立链接后,客户端发送一个报文告诉服务器正在监听该端口。服务器的20端口反过来去连接客户端监听的端口(不安全)
被动模式:客户端在控制层面21端口建立连接后,服务器会告诉客户端是被动模式并且侦听任意某个端口,让客户端通过这个端口连接服务器
TFTP简单文件传输协议
TFTP也就是采用客户机/服务器模式的文件传输
TFTP适用于客户端和服务器之间不需要复杂交互的环境
TFTP承载在UDP之上,端口号69
TFTP仅提供简单的文件传输功能(上传、下载)
TFTP没有存取授权与认证机制,不提供目录列表功能
TFTP协议传输是由客户端发起的
华为和华三设备只能作为TFTP客户端,从服务器获取文件
网络操作系统基础
思科网络操作系统名为IOS(Internet operating system)
华为网络炒作系统名为vpr (versatile routing)
华三网络操作系统名为Comware
几乎所有的网络操作系统都使用linux内核,所以文件操作也非常类似。
华为和华三设备命令视图
用户试图
:设备启动后的却省视图,可查看启动后基本运行状态和统计信息
系统视图
:配置系统全局通用参数的视图
路由协议视图(ospf)
:配置路由协议的视图
接口视图(int)
:配置接口参数的视图
用户界面视图(user-interface console 0)
:配置登录设备的各个用户属性的视图
常用信息查看命令
华为华三查看版本信息
:display version
查看当前配置(排错)
:display current-configuration或者ctrl+G(show running)
快速定位我们所需要查看的内容
(思科show | 管道符shift+回车上面那个键)
:display current-configuration configuration ?
显示接口信息
:display interface
显示接口ip状态与配置信息
:display ip interface brief
显示系统运行统计信息
:display diagnostic-information (慎用,信息过多)
查看历史命令记(不能全部显示,有缓冲区)CRT里可以记所有会话(file logsession)保存
: display history-command
显示结果
:system-view
翻阅和调出历史记录中的某一条命令
用键盘的上下箭头
华为华三调整历史记录缓冲命令区的大小(默认10条)
:[Huawei-ui-console0]history-command max-size ?
临时调整:termainal history size
临时显示多少条信息:screen-length?(需进入console)
CRTY+T(HW代表键入?这个特殊字符)
不是帮助命令,密码为sb?123,需要使用键入?
文件系统的操作
基本查询命令
查看当前目录:pwd
显示当前目录下的文件信息:dir
查看文本文件的内容:more
退出到上级目录:cd ..
创建新的工作目录:mkdir
删除目录:rmdir
复制文件:copy
移动文件:move
重命名文件:rename
思科清空配置:write erase (要重启reload)
华为清空配置:<Huawei>reset saved-configuration (重启reboot)
在特定的时间重启:<Huawei>schedule reboot at
交换基础
交换机“知识”工作在数据链路层,它有效的隔离了以太网中的冲突域,极大的提升了以太网的性能。
交换机的数据帧通过mac地址表转发
交换机的三种转发行为
泛洪(Folding):行为、例如收到广播帧(或者没有mac地址表),就会转发到处收到设备的所有设备处,顺便学习mac地址表。
当数据帧的目的MAC地址不在mac地址表中,或者mac地址为广播地址时,交换机会泛洪该帧
转发(forwarding):端到端的转发。(有地址)
丢弃(discarding):没有地址或者没有满足策略的情况下丢弃报文。
VLAN实施
VLAN即虚拟局域网,是将一个物理局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户进行二层访问,而且不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能提升网络的安全性。
VLAN可以隔离广播域
二层隔离,三层通信
Vlan的本质是什么:交换机上有很多冲突域,默认情况下所有端口都在一个广播域,为了更好地隔离2层,实现2层、3层通信,隔离多个广播域。
VLAN的数目:2的12次方,1到4094-->VXLAN虚拟扩展局域网(16兆)
交换机内部通过TGA 识别不同VLAN的流量(帧)~部门!
原始帧无法识别哪个VLAN--增加标记(TGA)
PVID(端口VLAN ID):帧进入交换机时被增加的ID-->接入模式端口有关
TAG :内部的识别
HW交换机上有四种链路类型:接入、干道、混杂(hybrid)、QinQ
用户主机和交换机之间的链路常见为接入链路,交换机与交换机之间的链路常见为干道链路。
如何判断应该使用何种类型呢?如何处理数据帧(独享、共享、交叉)
- Acces (接入模式)
工作原理:以太帧出入(交换机)的方向都是唯一的一个VLAN ID
入:增加PVID 。 出:拿掉TAG
[Huawei-GigabitEthernet0/0/4]port link-type access
将端口访问类型设置为链接(acces)
[Huawei-GigabitEthernet0/0/4]port default vlan 10
将当前端口划分为vlan10
Access端口在收到数据之后会添加pvid,
Access端口在转发数据前会移除vlan tag
- Trunk(干道模式)
工作原理:以太帧出入(交换机)方向多个一个VLAN ID(共享
一个链路上可以承载多个vlan的帧
HW设备的trunk默认只允许在vlan1中通信(可修改)
[sw1-GigabitEthernet0/0/2]port trunk allow-pass vlan all
将该段口允许通过的trunk模式允许通过的vlan设置为all(所有)
DOT1Q(802.1Q)trunk的封装标准。
2.1Trunk上的PVID VLAN
当trunk端口收到帧时,如果该帧不包含tag,将添加上端口的PVID;如果该帧包含tag,则不改变。
当Trunk端口发送帧时,该帧的VLAN ID在trunk的允许列表中:若与端口的PVID相同时,则剥离TAG发送,若与端口的PVID不同时,则直接发送。
Trunk类似高速公路:高速公路上多车道共享
修改trunk上的PVID VLAN可以实现不同vlan间的互访
解决方案:
1:被动方案:把PVID VLAN设置为一个没有业务流量的VLAN(黑洞vlan),且不要用vlan1。
2:主动方案:如果依旧保留所有vlan的tag就不会出现问题,(混杂端口)
收发多个vlan的帧而且不做改变;但是有一种特殊情况(trunk上的PVID)
- Hybrid
工作原理:混合模式
可以像access典型连接终端,也可以像trunk典型的连接交换机,最明显的特点是连接终端是可以拿掉多个vlan的tag。(灵活的变换vlan id)
Vlan list:端口允许哪些vlan(一个)以及是什么方式(拿掉tag)通过。
混杂端口的几种应用场景:
[sw3-GigabitEthernet0/0/3]port hybrid ?
pvid Specify current port's PVID VLAN characteristics(入方向,给端口打上标记)
tagged Tagged (互联链路,继承标记)
untagged Untagged (出方向,拿掉标记)
vlan Virtual LAN
STP原理与配置(生成树协议)链路级别
为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树协议可以在提高可靠性的同时又能避免环路带来的各种问题。
冗余链路:备份链路(会给网络带给环路风险)
STP是解决链路记冗余带来的环路问题
堆叠式解决设备级冗余问题
生成树会默认开启
生成树的危害:
- 广播风暴 2)MAC地址表的震荡flapping 3)重复拷贝帧
广播风暴:环路会引起广播风暴
MAC地址表的震荡:交换机会提示从多个端口学到终端的mac地址。
重复帧拷贝:网络中的主机会收到重复数据帧
(STP)生成树的工作原理
STP的作用:
STP通过阻塞端口来消除环路,并能够实现链路备份的目的。
生成树如何工作?
找到被剩下的某个端口(AP,处于阻塞状态-不转发数据的端口-discarding)
STP操作
- 选举一个根桥(root)
- 每个非跟交换机选举一个根端口(RP)
- 每个网段选举一个指定端口(DP)转发数据
- 阻塞非根、非指定端口(AP)
3个有且只有一个:
- 有且只有一个根交换机 ROOT-皇帝
- 有且只有一个跟端口 ROOT port(RP)太守~非根桥(非皇城)3)有且只有一个指定端口 design port (DP)-钦差~每个链路
- 其他(N个)都是备份端口 AP 平民(Alternative Port)
生成树协议
STP生成树协议 (802.1D)--所有vlan在一个生成树里,不能负载均衡,比较慢(依赖时间)
RSTP快速生成树(802.1w)--速度比较快,依旧不能决解负载均衡
MSTP多实例生成树(802.1s)--数量降低,同时收敛速度也提高了
如何让思科设备和华为设备对接,华为设备上有个协议:VBST
VBST(vlan-based spanning tree)是华为公司提出的一种生成树解决方案。配置VNST后,每个VLAN形成自己的独立生成树,进而实现不同VLAN内流量的负载分担,提高链路利用率。
大二层(利用3层来承载2层)不用STP
数据中心网络,尽量不要使用生成树协议。
生成树的一系列选举
- 一系列选举
1.1选举STP的根设备
BPDU(桥接信息单元)是维护STP的报文(2s)
ROOT:桥ID(bridge ID)=先比较优先级(默认32768)+再比较背板MAC
优先级:越小越优先,且只能是4096的倍数,不可以随便调整。
背板MAC:交换机的母MAC,不可改变的。和接口没有关系,数值越小越优先。
根桥选举:每一台交换机启动STP后,都认为自己是根桥
STP的五种状态:
Disabled-Blocking/Discarding - LISTEN - Learning - Forwarding
1(disabled):端口初始化或使能,未开启STP
2(blocking):端口被选为跟端口或指定端口
3(listening)端口不再是根端口或者指定端口
4(learning):forward delay计时器超时
5(forwarding):端口禁用或链路失效
1.2选举STP的跟端口(转发RP)
非跟设备上
非跟交换机在选举跟端口时分别依据改端口的根路径开销、对端的BID、对端的PID和本端PID
- RPC-root path cost (path cost:路径开销)
- (对端设备的)桥ID
- (对端设备的)端口ID
(端口ID)Port ID =端口优先级(默认128)+序号(序号不可改变~端口号)
- (本端设备的)端口ID
先比较优先级再比较序号
链路聚合:把多个接口捆绑成一个接口,那么在生成树里多个接口继续工作
根设备上端口发出来的开销值永远都是0
1.3STP指定端口选举(DP)
根桥的接口应该是DP
每个链路上有且只有一个
- RPC (到根的开销值)
- 本端的桥ID (优先级加MAC)
- 本端的端口ID (自己的端口ID)
剩下的所有端口都是AP接口,无数个。
STP的五种状态
端口状态转换:(在标准STP的状态变化需要时间)
Disable (端口初始化,或者未开启STP)
Discarding (端口被选为根端口或者指定端口)
Lister (端口不再是根端口或指定端口)
Learn (开始学习MAC地址)
Forwarding (可以转发用户数据)
在标准STP的状态变化需要时间:
2秒发送BPDU
15秒的转发时延
20秒的最大生存时间(max Age)
BPDU每经过一个交换机,message Age都加1.
如果Message Age大于max Age,非根桥辉对其该配置BPDU。
STP的拓扑变化
根桥故障:非根桥会在PBDU老化之后开始根桥的重新选举(20秒)
直连链路故障:非根交换机会把预备端口转化为根端口,新的根端口会在30秒后恢复到转发状态。(DP-RP)
非直连链路故障:非跟交换机2的预备端口恢复到转发大概需要50秒。(AP-DP)
RSTP原理与配置(快速生成树802.1w)
RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛
STP的拓扑如果哦发生变化,会通知所有设备,RSTP则是通知局部来发生改变。
STP收敛时间(30-50秒)
RSTP端口角色
Backup:Backup端口作为指定端口的备份,提供了另一条从根桥到非根桥
Alternate:Alternate端口作为根端口的备份端口,提供了从指定桥到根桥的另一条备份路径
场景:树的数量没有发生变化,最显著的收敛熟读极快,BPDU发生了变化
改进:
- AP-->RP马上到转发状态(FRD)
- 新的DP,改进是PA机制(防止临时环路)
- 边缘端口(adge prot,也可以在标准生成树中运行)直接到转发状态(点到点链路,不能在共享链路实施,否则会引发临时环路)
- 端口状态由五个变成了三个(discarding\lrn、frd)
- BPDU->RST BPDU
RSTP相比STP的改进
RSTP BPDU:非根桥设备无论是否接收到根桥发送的配置BPDU,都会按照Hello Timer规定时间间隔发送配置BPDU.
RSTP收敛过程:
1.每一台交换机启动后,都认为自己是“根桥”,并且发送RSTP BPDU。素偶有端口都为指定端口,处于Discarding状态。
2.交换机互相发送Proposal置位的RSTP BPDU。比较更优先级的RST BPDU,淘汰一方发送的RST BPDU将被忽略。
3.交换机收到了更优的RST BPDU,于是停止发送RST BPDU,并开始执行同步。(他会把所有除了置于边缘端口情况下的所有端口都置于Discarding状态)
4.阻塞所有非边缘端口之后,SWB将会发送一个Agreement置位的RSTP BPDU。
5.P/A进程继续向下游传递,其他的交换机会继续收敛。
P/A机制是RSTP网络中的一种拓扑收敛机制,P/A机制中的同步作用是避免临时环路的产生。快速的完成指定端口的收敛。
SRP与RSTP的端口状态
STP | RSTP | 端口角色 |
Disabled | Discarding | Disable |
Blocking | Discarding | Alternate端口,Backup端口 |
Listening | Discarding | 根端口,指定端口 |
Learning | Learning | 根端口,指定端口 |
Forwarding | Forwarding | 根端口,指定端口 |
RSTP边缘端口
边缘端口不接收处理配置PBDU,不参与RSTP运算,(一般是连接终端的设备)
配置RSTP: stp mode rstp (执行命令后所有的端口都执行RSTP)
BPDU保护
配置BPDU保护功能后,如果边缘端口收到BPDU报文,边缘端口会被立即关闭,并通知网管系统。被关闭的边缘端口可配置为自动恢复复或管理员手动恢复
根保护
根保护功能确保了根桥的指定端口不会因为一些网络问题而改变端口角色(一般配置在边缘端口)
环路保护
根端口如果长时间收不到来自上游的BPDU,则进入Discarding状态,避免在网络中形成环路。
忽略BPDU
常用与数据中心呢网络对客户的接口,如果客户开启了生成树,且客户的交换机BUDP大于数据中心的交换机,那么数据中心的交换机将被客户接管。则现在需要配置忽略BPDU来避免这一现象。
该端口不发送BPDU,并将接收的BPDU忽略。不做改变
重点重点:生成树的几种模式
802.1D ---- 标准生成树
802.1.w ---- 快速生成树
802.1s -----
VBST ----- 华为私有的兼容思科PVST的一种模式
Rrpp ----- 另外一种防环机制
生成式实施总结
配置生成树
一些STP的特性
- 模式(推荐MSTP)
- 明确root和备份根
stp priority 0 (设备开销)
stp cost 40001 (端口开销)
- 配置边缘端口 (只要对端不是一个多点接入网就可以实施,802.1D和802.1w都可以。边缘端口最好是实施,速度更快)
[sw3]stp edged-port default //所有接口都成为边缘端口,全局实施
[sw1-GigabitEthernet0/0/1]stp edged-port enable//只对端口实施
- 将交换机互联端口不再是边缘端口(先关闭)
[sw3-GigabitEthernet0/0/3]stp edged-port disable
5)BPDU保护(再开启)
[sw3]stp bpdu-protection //针对所有的边缘端口
6)被意外关闭的边缘端口配置配置自动恢复为30秒
[sw3]error-down auto-recovery cause bpdu-protection interval 30
7)根保护(选择配置)
[sw3-GigabitEthernet0/0/3]stp root-protection //端口不会因为网络问题改变角色
- 环路保护(按情况配置)
[sw3-GigabitEthernet0/0/3]stp loop-protection //长时间未收到上游BPDU,则改变为discarding状态。
- 数据中心对外端口配置:忽略BPDU(该端口既不发送BPDU也忽略接受的BPDU)
[sw3-GigabitEthernet0/0/3]stp bpdu-filter //忽略BPDU报文
链路聚合 (eth-trunk)
一组链路“捆绑”起来
采用链路聚合技术可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口,来达到增加带宽的目的。
链路聚合一般部署在核心节点,以便提升整个网络的数据吞吐量。
链路聚合能够提高链路带宽,增加网络可用性,支持负载分担。
作用:1.增加带宽,2.更多的冗余链路。3.提高链路的利用率,STP中被看作一个链路。4.支持负载分担(把数据放到不同的物理链路)
链路聚合模式
手工负载分担模式 :静态方式的链路聚合
手工负载分担模式下所有接口都参与数据的转发,分担负载流量。
LACP模式 :LACP模式
LACP模式支持链路备份
完成链路聚合的条件
Rth-trunk链路两端相连的物理接口的数量、速率、双工模式、流控方式必须一致。华为必须是混杂模式。
二层链路聚合配置
- 清空端口配置(华为配置链路聚合需要混杂模式)
Error: The port has other configurations. Please clear them first.//请先清空配置
- 清空需要配置链路聚合的端口配置
交换机1:
[sw1]clear configuration int g0/0/5 //清空sw1,5口的配置。
[sw1]clear configuration int g0/0/6 //清空sw1,6口的配置。
交换机2:
[sw2]clear configuration int g0/0/5 //清空sw2,5口的配置。
[sw2]clear configuration int g0/0/6 //清空sw2,6口的配置。
- 配置链路聚合
交换机1:
[sw1]int Eth-Trunk 12 //进入标记为12的链路聚合
[sw1-Eth-Trunk12]trunkport GigabitEthernet 0/0/5 to 0/0/6
//将sw1的5、6端口配置为链路聚合。
交换机2:
[sw2]int Eth-Trunk 12 //进入标记为12的链路聚合
[sw2-Eth-Trunk12]trunkport GigabitEthernet 0/0/5 to 0/0/6
//将sw1的5、6端口配置为链路聚合。
- 将原先的端口配置,配置到链路聚合逻辑接口上(两端必须保持一致)
交换机1:
[sw1-Eth-Trunk12] port link-type trunk
[sw1-Eth-Trunk12] port trunk pvid vlan 99
[sw1-Eth-Trunk12] port trunk allow-pass vlan 2 to 4094
[sw1-Eth-Trunk12]dis th
#
interface Eth-Trunk12
port link-type trunk
port trunk pvid vlan 99
port trunk allow-pass vlan 2 to 4094
#
Return
交换机2:
[sw2-Eth-Trunk12] port link-type trunk
[sw2-Eth-Trunk12] port trunk pvid vlan 99
[sw2-Eth-Trunk12] port trunk allow-pass vlan 2 to 4094
[sw2-Eth-Trunk12]dis th
#
interface Eth-Trunk12
port link-type trunk
port trunk pvid vlan 99
port trunk allow-pass vlan 2 to 4094
#
return
- 将清空配置时自动关闭的两端的物理端口打开
交换机1:
[sw1-GigabitEthernet0/0/5]undo shutdown //打开该端口
[sw1-GigabitEthernet0/0/6]undo shutdown //打开该端口
交换机2:
[sw2-GigabitEthernet0/0/5]undo shutdown //打开该端口
[sw2-GigabitEthernet0/0/6]undo shutdown //打开该端口
- 查看配置好的链路聚合
[sw1]dis eth-trunk 12
Eth-Trunk12's state information is:
WorkingMode: NORMAL (手工/静态) Hash arithmetic: According to SIP-XOR-DIP (算法)
Least Active-linknumber: 1 (最少的活动接口,必须要1个接口才能工作) Max Bandwidth-affected-linknumber: 8 (最大的带宽数:
Operate status: up (正常工作)Number Of Up Port In Trunk: 2 (两个)
--------------------------------------------------------------------------------
PortName Status Weight
GigabitEthernet0/0/5 Up 1
GigabitEthernet0/0/6 Up 1
- 查看链路聚合的具体状态,看看有哪些改变
<sw2>dis int Eth-Trunk 12 //查看链路聚合12的状态
Eth-Trunk12 current state : UP
Line protocol current state : UP
Description:
Switch Port, PVID : 99, Hash arithmetic : According to SIP-XOR-DIP,Maximal BW:2G(最大带宽), Current BW: 2G(当前带宽), The Maximum Frame Length is 9216
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 4c1f-cca4-45c7
Current system time: 2021-04-29 16:43:04-08:00
Input bandwidth utilization : 0%
Output bandwidth utilization : 0%
-----------------------------------------------------
PortName Status Weight
-----------------------------------------------------
GigabitEthernet0/0/5 UP 1
GigabitEthernet0/0/6 UP 1
-----------------------------------------------------
The Number of Ports in Trunk : 2
The Number of UP Ports in Trunk : 2
在生成树中查看链路聚合12
[sw2]dis stp interface Eth-Trunk 12
-------[CIST Global Info][Mode RSTP]-------
CIST Bridge :32768.4c1f-cca4-45c7
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-cc6b-5299 / 10000
CIST RegRoot/IRPC :32768.4c1f-cca4-45c7 / 0
CIST RootPortId :128.25
BPDU-Protection :Disabled
TC or TCN received :6
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:19m:9s
Number of TC :8
Last TC occurred :Eth-Trunk12
----[Port25(Eth-Trunk12)][FORWARDING]----
Port Protocol :Enabled
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto /
Designated Bridge/Port :32768.4c1f-cc6b-5299 / 128.25
Port Edged :Config=default / Active=disabled
Point-to-point :Config=auto / Active=true
Transit Limit :147 packets/hello-time
Protection Type :None
---- More ----
增加了带宽,开销值变小
配置三层链路聚合
只需要将二层接口转换为三层接口,再配上ip。其余操作与
[sw2]interface Eth-Trunk 12 //进入链路聚合12
[sw2-Eth-Trunk12]undo portswitch //将一个二层端口转换为三层端口
[sw2-Eth-Trunk12]ip address 10.1.10.1 24 //分配IP地址
剩余操作与二层链路聚合一致
Vlan间路由(由二层渐入三层)
Vlan的本质:隔离广播域
三层关心路由表
- 单臂路由(路由器上实施)
路由器的物理接口不能识别携带TAG的帧(trunk),除了PVID VLAN 。
路由器的子接口能识别携带TAG的帧
将交换机和路由器之间的链路配置为Trunk链路,并且在路由器上创建接口以支持VLAN路由
- VLANIF(多层交换机上实施)
- 多臂路由:(占用多个物理接口)
每个VLAN都会占用交换机/路由器的一个物理接口
单臂路由:
将交换机和路由器之间的链路配置为Trunk链路,并且在路由器上创建子接口以支持vlan路由。
缺点如果vlan太多,接口会被重复使用。
VLANIF(多层交换机实施)
不同VLAN间的数据转发不必经过路由器,直接在交换机上完成转发。
为每个VLAN创建一个VLANIF作为网关。
VLANIF工作的条件:1)VLAN必须存在2)Trunk允许了该VLAN通过/或者有对应VLAN的Access接口。
VRRP(虚拟路由器的冗余协议)3层ip协议协议号112
Icmp=1 tcp=6 udp=17 协议号
热备协议(用来备份网关)相对于冷备
虚拟IP=网关的地址
Master(负责终端的数据转发,主设备,响应终端的arp请求)
Backup(监听主设备。时刻想成为master)
虚拟IP=网关的地址,对应的是真实ip
选举主备(原则):1)优先级(可配置范围1-254.范围0-255)默认100,数值越大越优先。0=VRRP down,255-真实ip=虚拟ip
2)IP地址较大的,其实华为设备上配置时间是一个因素
非常重要的原则:ROOT=VRRP生成树的根设备必须是VRRP的主设备,否则会造成2层次优的转发。多余的二层转发
Virtual MAC : 0000-5e00-0108 前8位固定,后两位为组的标识
IP路由基础
功能:3个最基本的平面:1、管理平面(状态) 2、控制平面(决策)3、转发层面(执行)
IP路由(转发),如果没有到达目的的路由表,一定会丢弃数据!
路由表中只有目的,没有源,只关心目的网络(destination)
最长匹配原则:即最精准的路由
我们有一条路由是最不精准路由却依旧可以使用的叫默认路由0.0.0.0/0,一般去往一些不明确的路由,或者上级路由。
如果你的路由掩码是/32,我们把这种路由称之为主机路由
以太网交换机工作在数据链路层,用于在网络内进行数据转发。而企业网络的拓扑结构一本会比较复杂,不同的部门,或者总部和分支可能处在不同的网络中,此时就需要使用路由来连接不同的网络,实现网络之间的数据转发。
<r1>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.1.10.0/28 Direct 0 0 D 10.1.10.10 GigabitEthernet
0/0/1
10.1.10.10/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
10.1.10.15/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
路由形式
Direct直连路由(最优先的路由)
静态路由
动态路由协议产生的路由(OSPF、中间系统到中间系统(ISS),BGP/底层网络)
自制系统(AS)域=是一个路由的范围,原生与BGP协议
路由选择:路由器负责为数据包选择一条最优路径,并进行转发。
IP路由表:路由表中包含了路由器可以到达目的地的网络。目的网络在路由表中不存在的数据包将会丢弃。
每种路由都有优先级(preference),比较不同路由形式(协议)的有限与否。数值越小越优先。决策含义
路由优先级
路由类型 | Direct (直连路由) | OSPF (内部优先级) | Static | RIP |
路由协议优先级 | 0 | 10 | 60 | 100 |
COST(开销值,度量,metric),同一协议内部到达目标的不同路径的开销。开销值越小越优先,不同协议的开销没有可比性。
Fib=转发信息库
Nexhop(下一跳)一般情况下是其他设备的ip,和出接口
TunnelID(隧道ID)0x0为IP转发
Relay(路由迭代)去往某个目标地址的下一跳不是直连地址(BGP和静态)
最长匹配原则:路由表中有多个匹配目的的网络路由条目,则路由器会选择掩码最长的条目。
路由器需要知道下一跳和出接口才能转发数据出去。
静态路由基础
静态路由是指管理员手动配置和维护的路由。(没有报文)
广泛的应用在网络中,可以实现负载均衡和路由备份(适合于小型网络和临时调整)
一般在网关上会应用静态路由
出接口是点到点链路可以加
适合于小型网络和临时调整,静态路由一般配置在网关上
在串行接口上,可以通过制定下一跳地址或出接口来配置静态路由。
在广播型的接口(如以太网口)上配置静态路由时,必须要指定下一跳地址。
静态路由支持到达同意目的地等价负载分担。
如果是一个点到点接口,我们可以直接加下一跳,下一跳一般是其他设备的地址,
如果我们直接写出接口下一跳就不用关心。
如果我们的链路不是点到点链路,那么路由不能直接配置出接口,否则会出问题
如果我们去往的地址,有多个下一跳,我们称之为ecmp(等价开销多路径)开销值一样,转发路径不一样。
静态默认路由(缺省路由)0.0.0.0 0.0.0.0 +出接口 +下一跳
代理ARP
如果ARP请求是从一个网络的主机发往同一网段却不在同一物理网络上的另一台主机,那么连接它们的具有代理ARP功能的设备就可以回答该请求,这个过程称作代理ARP。
浮动静态路由(路由备份)
浮动静态路由在网络中主路由失效的情况下,会加入到路由表并承担数据转发业务。
本质:是优先级的修改(hw的静态路由优先级是60)
数据转发过程中:源目ip不发生变化,源目mac会重写 (ARP)
浮动静态路由在网络中主路由失效的情况下,会加入到路由表并继承数据转发业务。
主路由正常的时候,只有主路由会出现在路由表中。
静态默认路由(缺省路由)0.0.0.0 0.0.0.0
仅仅适用于小型网络。大型网络推荐使用OSPF动态路由,有点是自动化。
链路状态路由协议-OSPF
开放最短路径优先协议(公有标准)
OSPF(动态路由)
开放式最短路径优先OSPF协议是IETF定义的一种基于链路状态内部网关路由协议。(比较适合复杂的环境)
RIP是一种基于距离矢量算法的路由协议,存在着收敛慢,易产生路由环路,可扩展性差等问题,目前以逐渐被OSPF取代。
距离矢量算法的路由协议:RIP、Eigrp、BGP。
OSPF是IP的89号协议,报文固定死了。OSPFv3
OSPF优先:域内无环路,手链快,支持认证。
认证方式:区域认证、接口认证
所有路由协议的基本过程:
1:建立邻居关系
2:同步(数据库)信息
3:计算得到路由(所有路由协议的设备,最终目的都是得到路由)
LSA:链路状态通告
LSDB:链路状态数据库
SPF算法
OSPF报文类型有五种:
- Hello报文 (尝试建立邻居关系)
- DD(Databass Description)报文 (数据库描述报文)
- LSP(Link State Request)报文 (链路状态的请求)
- LSU (Link State Update)报文 (链路状态更新报文回复)
- LSACK (Link State Acknowiedgment)报文(确认收到了LS的update报文)
邻居状态机(建立邻居的过程)
OSPF的邻居关系的建立:(以太网 broadcast)
DOWN (单身)
INIT(初始化状态)
- WAY(看对眼);到此我们的邻居关系建立完毕。(hello)
Exstart(交互的开始)
Exchange(真正的交互)
Loadin (准备加载)
Full (工程圆满) 到此邻接关系建立完毕
区域的概念(area):只有链路状态协议才有区域概念
OSPF骨干区域(区域0),其他区域是常规(非骨干)区域。必须有区域0。
所有的常规区域必须连接区域0(区域边界路由器-ABR)
RID=路由器ID,就是某一个协议的在这个路由器上的标识
OSPF支持的网络类型:缺省情况下,OSPF认为以太网的网络类型是广播类型,PPP、HDLC的网络类型是点到点
缺省情况下,OSPF认为帧中继、ATM的网络类型是NBMA。点到多点。
OSPF的作用是的得到路由,使得园区网可以通信。
常见面试题:
DR(指定路由器)/BDR(备份的指定路由器)
作用:在广播链路上,增加LSA同步的效率。
DR可以减少广播型网络中的邻接关系的数量。一个接口一个网络,就可以有多少个DR。
由DR来同步LSA,这样就能提高效率,前提是在互联链路上。
错误的想法:DR基于设备;DR基于区域
选举规则:
- 在选举期内(2-way 40s)
- 优先级(0-255)较大者优选,0没有选举权
- 如果优先级相同,RID(路由器ID)较大者优先。(和IP地址没关系)
HDLC&PPP原理与配置
广域网中经常会使用串行链路来体统远距离的数据传输,高级数据控制链路HDLC(high level data link control)和点对点协议PPP(point point protocol)是两种典型的串口封装协议。
HDLC和PPP协议上不存在mac地址,没有ARP报文
HDLC
HDLC高级数据链路控制,是一种面向比特的链路层协议。(二层)
HDLC有三种类型的帧:信息帧、控制帧、无编号帧。
PPP协议
PPP协议是一种点到点链路协议(二层),主要用于点到点链路。
在PPP链路上会直接得到对端的/32位的主机路由,在任何情况下都可以实现直连通信,(即使不再同一网络)
当需要在以太网链路上承载PPP协议时,PPP可以扩展为PPPoE。
PPP提供了LCP(link control protocol)链路控制协议,用于各种链路层参数的协商。
PPP提供了各种NCP(network control protocol)网络控制协议,用于各层网络参数的协商,更好的支持了网络层协议。
PPP提供了认证协议:CHAP挑战握手认证协议(密文)、PAP密码认证协议(明文),更好的保证了网络的安全性。
无重传机制,网络开销小,速度快。
LCP:用来建立、拆除和监控PPP数据链路。
NCP:用于对不同的网络层协议进行连接建立和参数协商。
PPP报文中的魔术字用来防止环路,魔术字相同就无法建立LCP.
PPP链路建立过程
LCP报文
报文类型 | 作用 |
Configure-request | 包含发送者试图与对端建立连接时使用的参数列表 |
Configure-ACK | 标识完全接受对端发送的Configure-request参数取值 |
Configure-NAK | 表示对端发送的Configure-request中的某些参数取值在本段不被认可 |
Configure-Reject | 表示对端发送的Configure-request中的某些参数本段不能识别 |
LCP协商参数
参数 | 作用 | 缺省值 |
最大接收单元MRU(MTU) | PPP数据帧中information字段和padding字段的总长度 | 1500字节 |
认证协议 | 认证对端使用的认证协议 | 不认证 |
魔术字 | 魔术字作为随机产生的数字,用于检测链路环路,如果收LCP报文中的魔术字和本段产生的魔术字相同,则认为链路有环路。 | 启用 |
PPP认证模式PAP:检查认证放发送的用户名和密码是否正确,正确则认证成功否则失败。
PPP认证模式-PAP:
aaa
[internet]aaa
(进入三a模式)
[internet-aaa]local-user qyt password cipher qyt
(创建用户名qyt 密码qyt)
[internet-aaa]local-user qyt service-type ppp
(qyt这个用户服务于ppp模式)
[internet-aaa]int s1/0/0
(进入串口s1/0)
[internet-Serial1/0/0]ppp authentication-mode pap
(将ppp的认证模式改为pap)
此时我们进入对端,把端口关闭再打开,会发现报文被拒绝无法通信,我们要从对端的端口输入账号密码才可以通信
[r1-Serial1/0/0]ppp pap local-user qyt password cipher qyt
(ppp认证模式pap 用户名qyt 密码qyt)
等个几秒钟端口工作即可恢复通信。
PPP认证模式-CHAP (三次挑战握手认证)更加安全加密。
1:认证方发送一个有id一个随机产生的挑战字符串报文,发送challenge挑战报文
2:被认证方收到报文进行加密运算,进行MD5运算,一起封装在RESPONSE报文中,发回认证放
3:认证方收到RESPONSE报文后,找到其中对应的密码信息,再进行一次MD5运算,得到结果对比相同则通过否则失败。
PPOE原理和部署
目前主要流行的宽带接入方式为ADSL,ADSL是非对称DSL技术,使用的是PPOE(PPP over Ethernet)协议。
PPPoE协议通过在以太网上提供点到点的连接,建立PPP会话,使得以太网中的主机能够连接到远端的宽带连接服务器上。PPPoE具有适用性广,安全性高,计费方便等特点。
PPPo报文是用Ethernet格式来封装的。
6B DMAC | 6B SMAC | 2B Type | 46-1500B PPPoE | 4B FCS | |
4B Ver | 4B Type | 1B Code | 2B Session ID | 2B Lengtg | Payload |
以太网之上的PPP
PPPoE会话建立过程
阶段 | 描述 |
发现阶段 | 获取对方以太网地址,以及确定唯一的PPPoE会话 |
会话阶段 | 包含两部分:PPP协商阶段和PPP报文传输阶段 |
会话终结阶段 | 会话建立以后的任意时刻,发送报文结束PPPoE会话 |
PPPoE协议报文
类型 | 描述 |
PADI | PPPoE发现初始报文 |
PADO | PPPoE发现提供报文 |
PADR | PPPoE发现请求报文 |
PADS | PPPoE发现会话确认报文 |
PADT | PPPoE发现终止报文 |
PPPoE通过这五种类型的报文来建立和终结会话。
客户端通过广播发送PADI报文来发现接入服务器。
所有的PPPoE服务器在收到PADI报文之后,将客户端请求的服务与自己能提供的服务进行比较,如果可以提供,则单播回复PADO报文。
PPPoE客户端选择最先收到的PADO报文对应的PPPoE服务器,并单薄发送一个PADR报文。
PPPoE服务器生成唯一的PPPoE Session ID,并发送PADS报文给客户端,会话建立成功。(mac地址确认)
PPPoE会话上的PPP协商和普通的PPP协商方式一致,分别为LCP、认证、NCP三个阶段。
PPPoE会话的PPP协商成功后,就可以传输PPP数据.
PPPoE服务器端的配置
1:设置全局的用户名和密码用于认证
aaa
local-user hcie1 password cipher *****
Local-user hcie1 service-type ppp
2:配置地址池,用于分发
Ip pool PPPoE1
Network 202.100.1.0 mask 255.255.255.0
Dns-list 114.114.114.114
3:配置虚拟模板和调用模板
Interface virtual-template1
Ppp authentication-mode chap
Remote address pool PPPoE1
Ip address 202.100.1.1 255.255.255.0 //华为设备从最高的IP开始分配,所以尽量配置号码小的地址
Interface gigabitEthernet0/0/0
Pppoe-server bind virtual-Template 1
ACL访问控制列表
比较常用的安全技术或者是流量匹配工具或者是路由匹配工具。
企业网络中的设备进行通信时,需要保障数据传输的安全可靠和为网络的性能稳定。
访问控制列表ACL可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对玩过访问行为的控制,限制网络流量,提高网络性能,防止网络攻击等等。
ACL可以通过定义规则来允许或拒绝流量的通过。
原始包过滤防火墙
应用:1包过滤 2抓取路由表 3流量分类 4NAT5VPN
ACL的分类
分类 | 编号范围 | 参数 |
基本ACL | 2000-2999 | 源IP地址等 |
高级ACL | 3000-3999 | 源IP地址,目的IP地址,源端口目的端口 |
二层ACL | 4000-4999 | 源MAC地址,目的地址,以太帧协议类型 |
还有一种表达形式,用命名的方式acl name,命名的acl一定是高级acl
行为:拒绝(deny)、允许(permit)
基本acl:只能命中流量的源IP
高级acl:能够命中流量的源IP、目的IP、协议、源目端口、功能位等等。
规则用数字来标识,越精准的流量数字(规则序号)应该更小,因为ACL一旦命中流量后续流量将忽略。
大部分acl最后一个规则(隐含)拒绝所有流量。但是华为设备应用到接口是允许所有。
流量是分出入方向的,只有方向性匹配了才生效。
生效条件:流量经过应用acl的路由器或者流量到达的路由器才有效,acl应用到流量发起的设备上无效。
通配符掩码:代表范围,0代表不能变化的match,1代表任意变化的ignore)
0.0.0.255 :代表前三个八位组全是0,不能变化。最后一个八位组任意变化。
0.0.3.0:代表第三段掩码的后两位可以任意变化。举个例子
[r1-acl-basic-2000]rule 1 deny source 10.1.10.1 0.0.3.0
(规则1拒绝 源ip10.1.10.1 0.0.3.0)
0.0.3.0:我们要把他拆分为2进制:
0000 0000 0000 0000 0000 0011 0000 0000
我们的掩码为32位,其中的0都是固定不能变的。
其中的3代表的是掩码第三段的位置,把3转化为2进制就是11,
在通配符掩码中1就代表着可以任意变化,那么我们就可以把八位数他任意组合:0000 0000、0000 0001、0000 0010、0000 0011。
分别把二进制转换为数字就是:0、1、2、3
那么我们0.0.3.0:所代表的范围就是:10.1.10.1、10.1.11.1、10.1.12.1、10.1.13.1。
那么可以通过的IP地址就为这些。
DHCP动态主机配置协议
自动分配IP ,DNS,网关等主机需要的重要信息
报文类型 | 含义 |
DHCP DISCOVER | 客户端用来寻找DHCP(广播) |
DHCP OFFER | DHCP服务器用来响应DHCP DISCOVER报文,此报文携带了各种配置信息(广播/单播) |
DHCP REQUEST | 客户端请求配置确认,或续借租期(广播/单播) |
DHCP ACK | 服务器对REQUEST报文的确认响应(广播/单播) |
DHCP NAK | 服务器对REQUEST报文的拒绝响应(广播/单播) |
DHCP RELEASE | 客户端要释放地址时用来通知服务器 |
在华为设备上正常情况全是广播 |
Ipconfig /release 释放ip
IP地址租约达到50%的时候DHCP客户端会请求更新IP地址续租。(单播)
DHCP客户端在租约期限达到百分之87.5%时,还没收到服务器响应,会重新申请绑定IP。
如果IP租约到期都没有收到服务器响应,客户端停止使用此IP
如果DHCP客户端不再使用分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE报文,释放该地址。
GRE通用路由封装
通用路由封装,最大优势是支持基于组播的动态路由协议和应用(隧道技术)
IP协议47 ,IP(私网) over IP (公网)
点到点协议(有固定的源IP和目的IP)
默认情况下没有安全支持
GRE over IPSEC (gre 安全)
让内网的数据可以穿越互联网。
IPSec VPN 用于两个端点之间提供安全的IP通信,只能加密单播数据
Tracert (Windows网络排错命令):发送ICMP request 报文 ,TTL值为1,依次叠加。回复ICMP类型11 0 响应超时。达到目标后回复ICMP reply 00 报文,响应。
Traceroute (linux排错命令 模拟器)1:发送udp协议第一个目标端口33434 TTL值长度为1. - 响应ICMP超时报文 11 0 响应超时。
2:收到ICMP报文后接着发送第二个udp报文个目标端口33435 TTL值长度为2. - 响应ICMP超时报文 11 0 响应超时
依次叠加,到达目标后,目标会回应ICMP报文类型为 3 3 :端口不可达。
区别:报文不一,回复不一,过程都是叠加,回复超时
路由协议
路由协议的分类:按照范围分类:
IGP: rip ospf isis(中间系统) eigrp(公有RFC7868)
BGP:
静态和动态
有类(不带掩码):RIPV1
无类(带掩码):ospf eigrp bgp
距离矢量:eigrp RIP BGP (路径矢量协议)
链路状态:OSPF ISIS
迭代路由
静态路由:指下一条,出接口有什么区别
指下一条:ARP请求的是下一跳的MAC地址
指出接口:ARP请求的是目标网络的MAC地址
以太网链路是用下一跳
点到点链路用出接口
点到点链路会默认生成对端的24位路由,如果直接tracert将会形成环路,因为都有默认的24位路由。所以串口配置IP时需要将掩码改为30 位,才不会产生环路
负载分担和负载均衡
五元组(源 目 IP 、源 目端口、协议号)
负载分担(非等价的负载均衡)EIGRP
浮动静态路由 :路由备份
路由协议的优先级
路由选路:最长匹配原则
目的网络在本地路由表中有多条可以匹配,按照最长匹配原则进行转发
如果从不同协议学习到同一条路由会比较优先级,数值越小优先级越高: OSPF 10 150 ISIS 15 静态 60
如果从同一协议学到同一条路由,会比较开销值
RIP
v1
V2
RIP防环:
- 水平分割:从某个接口收到的路由不会从该接口通告出去
- 毒性逆转:从某个接口收到的路由会从该接口通告出去,会把跳数改为16 跳不可达。
- 触发更新:如果路由发生变化,不需要等到更新计时器到期,直接通告出去。
RIP计时器:
RIP报文的发送地址: 224.0.0.9
更新计时器:每30秒会把路由信息通告给邻居。
老化计时器:180秒,如果在180秒以内没有收到更新,则认为这条路由不可达。
垃圾收集定时器:120秒
抑制定时器:RIP收到对端路由更新,开销值为16跳,会进入抑制状态,在抑制状态到期前,即使再接收到该路由开销值小于16跳的更新也不会接收。就是为了防止路由震荡。