关键术语
网络的组成:
术语 | 英文 |
---|---|
设备 | device |
介质 | media |
信息/报文 | massage / data |
协议 | protocol |
发送方/信息源 | sender / source |
接收方/信息目 | receiver / destination |
网络的演进:
术语 | 英文 |
---|---|
网络(一组相互连接的网络设备) | network |
互联网(多个互通互联的网络) | internet |
因特网(互联全世界的网络) | Internet |
- ISP 网络服务提供商
网络的类型:按覆盖范围,组网技术不同(OSI二层划分)
类型 | 术语 |
---|---|
PAN | 个域网 |
LAN | 局域网 |
CAN | 园区网(高校) |
MAN | 城域网 |
WAN | 广域网 |
WLAN | 无线局域网 |
WWAN | 无线广域网 |
-
协议 protocol
-
带宽 bandwidth
-
单位:bps 比特每秒
-
bps: 1000 = 1k 1000k = 1m 1000m = 1g 1000g = 1t
-
-
延迟 delay
- 描述节点到节点所经历的时间
- 单位:ms
-
网络拓扑 topology
-
协议簇 protocol suit
-
协议数据单元 PDU
应用层常用协议
DNS
域名解析系统,端口号:53
-
基本命令
1 .
nslookup
进入之后输入网址,就会输出对应的IP地址,发送dns请求
2 .
ipconfig /displaydns
查看DNS缓存,有缓存后不再发送dns请求
3 .
ipconfig /flushdns
清空DNS缓存
HTTP
端口号:80
不加密,抓包就能拿到账号
邮件服务
协议 | 解析 |
---|---|
SMTP(25) | 简单邮件传输协议,发送邮件 |
POP3(110) | 邮局协议版本3,接收邮件 |
IMAP(143) | 互联网邮件访问协议,类似POP3 |
-
IMAP 与 POP3的区别
IMAP:客户端共享同一视图
根据实际需要进行下载
共享同一视图指操作时客户端与服务器同步
更加便捷、稳定、可靠的使用体验,通过WebMail与客户端进行双向通信可以避免邮件丢失。
IMAP + SSL 端口号:993
POP3:维持独立工作视图
下载所有未阅读的电子邮件
独立工作视图指仅在客户端内操作,并且下载后将服务器的源文件删除
POP3更容易丢失邮件,也不能多次下载相同的邮件(目前的很多POP3邮件服务器已经支持保留原邮件,支持多次下载)。
POP3 + SSL 端口号:995
Telnet
终端网络,端口号:23
telnet 域名/ip 端口号 #可以来测试端口是否开放
telnet是不加密的,所以全部都是明文的
所有输入的内容都是服务器反馈给终端的,所以输入一次,服务器会返回一次,数据包中就会有两份数据
如果输入不显示,说明数据只有一份(输入密码的时候)
文件传输
协议 | 解析 |
---|---|
FTP(20/21) | 文件传输协议 可靠 具有认证,权限等功能 20不一定用,21肯定要用 传数据会有随机端口传输 |
TFTP(69) | 简单文件传输协议 不可靠 常用配置文件和系统文件的传输 |
-
FTP
基本格式:
ftp://用户名:密码:@IP或域名:端口号/...
传输层
端到端,源端口随机分配,目标端口使用知名端口
传输层端口:port
- 端口号
范围 | 类别 |
---|---|
0 - 1023 | 公认端口 |
1024 - 49151 | 注册端口 |
49152 - 65535 | 私有或动态端口 |
端口号总数:65536 2^16
-
公认端口
-
TCP端口
协议 端口 FTP 21 Telnet 23 SMTP 25 HTTP 80 IRC(internet中继聊天) 194 HTTPS 443 POP3 110 SSH 22 SSL 443 -
UDP端口
协议 端口 TFTP 69 RIP 520 DHCP 67,68 -
TCP/UDP端口
协议 端口 DNS 53 SNMP 161
-
-
规则
- 源端口随机分配,目标端口使用知名端口
- 应用客户端使用的源端口号一般为系统中未使用的并且大于1023
- 目的端口号为服务端开启的服务所监听的端口
传输层协议
协议 | 解析 |
---|---|
TCP(80) | 传输控制协议 可靠,面向连接 |
UDP | 用户数据包协议 不可靠,无连接 |
TCP数据包
组成:
- 16位源端口号,16位目的端口号
- 表示数据是从哪个进程来, 到哪个进程去
- 32位序号
- 32位确认序号
- 由接收端计算机使用,重新分段的报文成最初形式。当SYN出现,序列码实际上是初始序列码,而第一个数据字节是ISN+1。这个序列号(序列码)可用来补偿传输中的不一致。
- 4位首部长度,保留位6位,URG,ACK,PSH,RST,SYN,FIN,16位窗口大小
- 4位TCP报头长度: 表示该TCP头部有多少个32位bit(有多少个4字节); 所以TCP头部最大长度是15 * 4 = 60
- 6位标志位:
URG: 紧急指针是否有效
ACK: 确认号是否有效
PSH: 提示接收端应用程序立刻从TCP缓冲区把数据读走
RST: 对方要求重新建立连接; 我们把携带RST标识的称为复位报文段
SYN: 请求建立连接; 我们把携带SYN标识的称为同步报文段
FIN: 通知对方, 本端要关闭了, 我们称携带FIN标识的为结束报文段
确认应答(ACK)
- 16位校验和,,16位应急指针
- 40字节头部
TCP三次握手
实质上其实就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换**TCP窗口大小
**信息。
基本知识:
6位标志位(大写)是判断数值是否有效,例如只有ACK=1时,ack数值才有效
seq为初始序列号,并且随机
6位标志位解析
URG=1 (紧急指针告诉位置)紧急传送位
ACK(ack确认信号)=1 ack才生效
PSH(可以立即发送数据)=1 推送位
RST(需要重新建立连接)=1 复位位
SYN=1 (建立同步)同部位
FIN=1 (断开连接)终止位
-
第一次握手
客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN(seq=x)。此时客户端处于
SYN_SENT
状态SYN=1的报文段不能携带数据,但要消耗掉一个序号
客户端 - >服务端 发送数据 SYN=1 同步位(客户端确认同步) seq=x 客户端ISN初始化的随机序列号
-
第二次握手
服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN(s)。同时会把客户端的 ISN + 1 作为ACK 的值,表示自己已经收到了客户端的 SYN,此时服务器处于
SYN_RCVD
的状态。客户端 < - 服务端 发送数据 SYN=1 同步位(服务端确认同步) ACK=1 ack确认信号 seq=y 服务端ISN初始化的随机序列号 ack=x+1 客户端的ISN+1为ack的值
到了这步已经确认同步(SYN确认)了,但没有确认传输(ACK)
-
第三次握手
客户端收到 SYN 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于
ESTABLISHED
状态。服务器收到 ACK 报文之后,也处于ESTABLISHED
状态,此时,双方已建立起了连接。ACK报文段可以携带数据,不携带数据则不消耗序号
客户端 - >服务端 发送数据 ACK=1 ack确认信号 seq=x+1 客户端ISN初始化的随机序列号,因为第一次消耗了一个序列号,就会在原有的基础上+1 ack=y+1 服务端传过来的ISN+1为ack的值
TCP四次挥手
这由TCP的半关闭(half-close)造成的。所谓的半关闭,其实就是TCP提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。
刚开始双方都处于ESTABLISHED
状态,假如是客户端先发起关闭请求。
-
第一次挥手
客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于
FIN_WAIT1
状态。 即发出连接释放报文段(FIN=1,序号seq=u),并停止再发送数据,主动关闭TCP连接,进入FIN_WAIT1(终止等待1)状态,等待服务端的确认。
客户端(FIN_WAIT1) - > 服务端 发送数据 FIN=1 终止位,说明开始终止 seq=u 客户端的ISN序列号
-
第二次挥手
服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 +1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于
CLOSE_WAIT
状态。 即服务端收到连接释放报文段后即发出确认报文段(ACK=1,确认号ack=u+1,序号seq=v),服务端进入CLOSE_WAIT(关闭等待)状态,此时的TCP处于半关闭状态,客户端到服务端的连接释放。客户端收到服务端的确认后,进入FIN_WAIT2(终止等待2)状态,等待服务端发出的连接释放报文段。
客户端(FIN_WAIT2) < - 服务端(CLOSE_WAIT) 发送数据 ACK=1 ACK确认是否有效 seq=v 服务端的ISN序列号 ack=u+1 客户端序列号+1为ack值
发现:客户端给服务端发送请求后服务端回应了,所以服务端要给客户端发送请求,这样双方就达成了协议,连接才会被断开
-
第三次挥手
如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文,且指定一个序列号。此时服务端处于
LAST_ACK
的状态。 即服务端没有要向客户端发出的数据,服务端发出连接释放报文段(FIN=1,ACK=1,序号seq=w,确认号ack=u+1),服务端进LAST_ACK(最后确认)状态,等待客户端的确认。
客户端(FIN_WAIT2) < - 服务端(LAST_ACK) 发送数据 FIN=1 终止位,说明确认 ACK=1 ACK确认是否有效 seq=w 新的序列号,因为发的报文与第一次握手一致 ack=u+1 客户端的ISN+1为ack的值
-
第四次挥手
客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 +1 作为自己 ACK 报文的序列号值,此时客户端处于
TIME_WAIT
状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态,服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态。
即客户端收到服务端的连接释放报文段后,对此发出确认报文段(ACK=1,seq=u+1,ack=w+1),客户端进入TIME_WAIT(时间等待)状态。此时TCP未释放掉,需要经过时间等待计时器设置的时间2MSL后,客户端才进入CLOSED状态。客户端(TIME_WAIT to(2MSL) CLOSED) - > 服务端(CLOSED) 发送数据 ACK=1 ACK确认是否有效 seq=u+1 客户端ISN序列号,因为第一次握手消耗一个后现在要+1 ac=w+1 服务端ISN+1为ack 的值
收到一个FIN只意味着在这一方向上没有数据流动。客户端执行主动关闭并进入TIME_WAIT是正常的,服务端通常执行被动关闭,不会进入TIME_WAIT状态。
数据链路层与以太网
以太网:ethernet 当今主导的局域网组网技术
数据链路层 | 解析 |
---|---|
LLC(逻辑链路控制) | 识别网络层协议类型,接收上层数据包封装成帧后向下传递 802.2 LLC,SNAP |
MAC(介质访问控制) | 负责控制与连接物理层的物理介质,处理硬件设备的物理寻址,定义网络拓扑结构及数据帧的传递顺序 802.3,802.4,802.5 |
网络层
ARP
命令 | 解释 |
---|---|
arp -a | 查看ARP缓存 |
arp -d | 清空ARP缓存 |
-
工作方式
A广播一个ARP请求,B根据广播的IP地址进行响应(单播)告诉A自己的硬件地址,其余的主机发现不是自己IP所对应的硬件地址则丢弃请求
-
免费ARP
可以用来检测IP地址是否冲突
-
ARP报文不能穿越路由器,不能转发到其他广播域
ICMP
- 用于可达性测试
- 用ping触发
数据包
Type,Code,Checksum
Type表示ICMP消息类型,Code表示同一消息类型中的不同信息
类型 | 编码 | 解析 |
---|---|---|
0 | 0 | echo reply |
3 | 0 | 网络不可达 |
3 | 1 | 主机不可达 |
3 | 2 | 协议不可达 |
3 | 3 | 端口不可达 |
5 | 0 | 重定向 |
8 | 0 | echo request |
- 回应状态
状态 | 情况 |
---|---|
超时 | 对方不在线,屏蔽 |
传输失败 | 当主机尝试去访问其他网络内的主机,而本身没配置网关 |
无法访问 | 网管没有路由,没有获取到MAC地址(ARP) |
IP
有IP地址必有子网掩码
子网掩码:\32
表示地址唯一,改地址是网络地址也是主机地址也是广播地址,保证了路由网关独立性 ,一般只用于端口
TTL
生存时间
- 防止IP数据包在网络内无休止的传输(环路)
- 每经过一次路由TTL就会减1
- TTL=0时丢弃数据包
- 利用TTL特性,可以实现路由跟踪技术,排错的重要方法之一
相关命令:ping -i 或 tracert -d
单播,广播,组播
-
单播 Unicast
发送给单个目标
-
广播 Broadcast
发送给广播域内的所有目标
MAC:FFFFFFFFFFF
IP:该网段的广播地址
-
组播 Multicast
发送给一组目标
MAC:01-00-5E开头
IP:D类组播地址
接收:
接收地址包括本卡MAC地址,广播地址,和本机所属的组播地址
网卡丢弃与本卡接收地址不匹配的帧
网卡解开与本卡接收地址匹配的帧,将数据交给上层处理
集线器(hub):物理层设备,信号复制器,单行道
概念 | 性质 |
---|---|
冲突(Collision) | 多个设备同时连载一个传输信道上,发生的冲撞会导致信号破坏,发生在早期集线器连接共享网络中 |
冲突域(Collision Domain) | 能产生的冲突设备的集合(集线器连接的所有端口合起来就是冲突域) |
广播(Broadcast) | 发送给所有目标 |
广播域(Broadcast Domain) | 能收到广播的设备的集合 |
集线器(Hub) | 不分冲不分广带宽分散(所有接口都在一个冲突域和广播域) |
交换机(Switch) | 分冲不分广 |
路由器(Router) | 分冲分广 |
网关
网关地址就是设备的接口地址(路由器防火墙的接口地址)
网关一般是1和254,好记
VRP基础
通用路由平台
dis version 查看版号
设备管理方式
CLI命令行
登录方式 | 优点 | 缺点 | 应用场景 |
---|---|---|---|
Console | 使用Console线连接完全本地管理 | 单会话,无法远程 | 初始化,故障恢复,升级 |
MiniUSB | 使用MiniUSB线连接完全本地管理 | 单会话,无法远程 | 初始化,故障恢复,升级 |
Telnet | 远程管理,多会话 | 明文传输,不安全 | 对安全性要求不高的网络 |
SSH | 远程管理,多会话,高安全性 | 配置比较复杂 | 对安全性要求较高的网络 |
WEB管理
登陆方式 | 优点 | 相同点 | 不同点 |
---|---|---|---|
HTTP | 图形化界面更直观 | 加载SSL证书用于登录验证,配置相同 | 登录时使用HTTPS(自动跳转) 传输数据使用HTTP |
HTTPS | 登录和传输都使用HTTPS仅需要开启HTTPS服务 |
- 设备管理
管理形式 | 解释 |
---|---|
本地管理(Local) | 通过Console线连接Console或miniusb口,终端协议使用、COM口,Serial协议适合初始化,故障恢复系统升级,同时支持一个会话 |
远程管理(Remote) | 通过IP地址连接虚拟VTY口,使用Telnet或SSH协议,适合后期维护,异地管理,同时可以支持多个会话 |
首次插入console口需要下载驱动
华为路由器:(大多)
缺省用户名:admin
缺省密码:Admin@huawei
命令行
- 视图
用户视图 -> 系统视图 -> 接口视图 -> 协议视图
-
帮助
只要敲命令或者不敲命令 + **?**都可以得到帮助
-
快捷键
命令 | 功能 |
---|---|
CTRL+A/E | 光标移动到当前命令最前/后端 |
CTRL+C | 停止当前命令的运行 |
CTRL+Z | 回到用户视图 |
CTRL+] | 终止当前连接或切换连接 |
- 历史命令
display history-command
基本配置
- 基本配置命令:
dis users 输出连接情况
查看接口mac地址:dis int g0/0/1
查看接口信息(进接口):dis this 立即验证该接口的配置
查看路由表:dis ip routing-table
查看所有接口ip信息:dis ip int b
绑定静态arp:arp static 192.168.100.2 000C-2959-FC57
查看arp表:display arp
查看当前配置:dis current-configuration
配置静态路由:ip route-static 1.1.1.1 32 192.168.10.1
配置默认路由:ip route-static 0.0.0.0 0.0.0.0 192.168.10.1
查看接口详细信息:dis interface brief
带源ip ping目标ip:ping -a 2.2.2.2 3.3.3.3
查看历史命令:dis history
显示设备所有状态信息:display diagnostic-information
内容太多一般导出查看 后面直接跟导出文件名
- 更改设备名
sysname 名字
undo sysname 名字 可以取消
- 配置系统时钟
命令 | 功能 |
---|---|
clock timezone | 设置所在时区 |
clock datetime | 设置当前时间和日期 |
clock daylight-saving-time | 设置采用夏时刻 |
时钟会对日志有影响
- 配置标题信息
命令 | 功能 |
---|---|
header login | 用户登录前显示标题消息 |
header shell | 用户登录后显示标题消息 |
header login information "/#/$...."/#/$
- 用户界面
类型 | 编号 |
---|---|
console | 0 |
VTY | 0-4 |
VTY接口最大可配范围为0-14
配置vty接口:user-interface vty 开始端口 结束端口
- 用户界面配置命令
超时踢出配置:idle-timeout 分钟数 秒数
全为0就代表永不超时
终端屏幕临时显示行数:screen-length
显示配置信息时默认显示24行,这个配置可以多显示
设置历史命令缓冲区大小:history-command max-size
取消配置:undo
-
登录权限
配置指定用户界面下的用户级别:
user privilege
配置本地认证密码:
set authentication password
用户等级 | 命令等级 | 名称 |
---|---|---|
0 | 0 | 访问级 |
1 | 0 and 1 | 监控级 |
2 | 0,1 and2 | 配置级 |
3-15 | 0,1,2 and 3 | 管理级 |
local-user 用户名 privilege level 权限级别
新建用户:
local-user 用户名 password simple/cipher 密码
simple/cipher
:明文密码和密文密码
配置用户使用服务:
local-user 用户名 service-type 协议
远程管理
Telnet基于TCP,端口号23
-
认证模式
AAA 登陆时需要用户名和密码
password 登录时只需要密码
-
配置命令
命令 | 解析 |
---|---|
telnet server enable | 开启telnet服务 |
display telnet server status | 验证telnet服务 |
user-interface vty 0 4 authentication-mode password/aaa set authentication password cipher/simple 密码 user privilege level 等级 user-interface maximum-vty 数量 | 进入VTY配置模式 配置认证模式 配置认证密码 配置用户级别 配置最大VTY会话数量 |
aaa local-user 用户名 password cipher 密码 local-user 用户名 privilege level 等级 local-user 用户名 service-type 服务 | 进入aaa配置模式 配置用户名和密码 配置等级 配置用户可用服务 |
文件管理
基本命令:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lBJAnAyY-1691848316680)(G:\应试\软考\软考网工\图解\文件管理命令.png)]
more 文件名 #查看基本内容
cd 目录 #进入那个目录
cd .. #退往上一级目录
reset recycle-bin #清空回收站
/ #根目录
- 配置文件:
vrpcfg.zip
- 配置保存:save
- 比较当前配置和之前保存的配置:compare configuration
- 删除所有配置信息:reset saved-configuration
- 删除后重启可以恢复,但是要注意会先让你保存当前删掉之后的配置,要当心!
- 查看系统启动配置参数:display startup
- 格式化:format 路径,会导致数据丢失
系统管理
-
VRP命名规则
由自身版本号和关联产品版本号两部分组成
产品格式:**
Vxxx
产品码,Rxxx
大版本号,Cxx
**小版本号 如果VRP产品版本有补丁,VRP产品版本号中会包含SPC部分
-
升级包文件传输
首先查看存储空间:
dir
ftp:需要登录,需要权限
> ftp ip地址 > get 文件名 / put 文件名
tftp:
> tftp ip地址 get/put 文件名
文件名不能有空格
-
安装升级包
dis startup #检查下次启动项 startup saved-configuration 配置包路径 #更改配置包 startup system-softwware 系统包路径 #更改系统包 reboot #重启
-
路由基础
路由表
查看路由表:
display ip route-table
查看完整协议路由
display ip route-table pro 协议(静态动态....)
-
路由连通
数据包通过路由发送过去再回来算连通
发送过去不回来不算连通
-
路由表
查看路由表:display ip routing-table
路由表字段:
Destination/Mask Proto Pre Cost Flags NextHop Interface
字段 | 备注 |
---|---|
Destination | 目标,用来表示ip地址包的目标地址和目标网络 |
Mask | 掩码,选择最佳路由的重要判断依据(最长匹配原则) |
NextHop | 下一跳,IP包所经由的下一个路由器的接口地址 |
Interface | 出接口,IP包将从本路由器的那个接口转发出去 |
Protocol | 协议,路由的来源,学习方式 |
Preference | 优先级,比较不同路由来源到达相同目标网络的优先级,越低越优先(不同方式达到相同的路径,越快消耗越少越优先) |
Cost | 度量值,比较相同路由来源到达相同目标网络的不同路径的优先级,越低越优先(相同方式达到路径的花费时间越少越优先) |
-
路由表中包含了路由器可以到达的目的网络
-
目的网络在路由表中不存在的数据包会被丢弃
-
路由方式优先级
Direct OSPF Static RIP 0 10 60 100
等价路由
ECMP(Equal Cost Multi-Path)
同一个路由来源到同一个目标网络有多条路由度量值(cost)相同时,这些路由都会被加入到路由表中,数据包会在这几个链路上进行负载分担
最长匹配原则
最终数据包匹配最佳路由的算法
查找路由表 -> 目的地址与掩码分别做与运算 ->与路由表中的地址比较 -> 挑出最长匹配项
-
算法
二进制相同匹配
用目的地址与路由表所有的ip地址做二进制相同匹配
路由表的ip地址的掩码长度必须跟目的地址的前相同长度一致
一致后,再比较找出匹配位置最长的路由器ip地址选中
路由分类
路由 | 作用 |
---|---|
直连路由 | 路由器接口上的网络(接口配置了IP地址并开启) |
静态路由 | 管理员手动添加的网络 |
动态路由 | 路由器之间动态学习到的网络 |
路由器不能配置多个端口在同一网段,配置就会报错
路由一定不要配错,如果配错了会直接导致丢包
静态路由
如果只有直连路由,那非直连路由就不会达到
-
优点
配置简单,开销小
通过手动配置进行添加和维护
-
缺点
无法根据拓扑变化进行动态响应
适用于组网规模较小的场景,如果大,配置及维护成本会很高
-
静态路由配置思路
如果配置了端口ip,请务必将直连的的设备配置相应的网络段
搞清楚数据包发送的源地址和目的地址
如果要达到目的地址,那么在路由表里面必须要有目的地址的下一跳,下一跳是下个路由器对应的接口
路由器自己的接口会自动转发数据包,同网段也是自动转发数据包
路由到了最后的路由器时就可以通了
-
配置静态路由
ip route-static 目标网络 子网掩码/前缀 下一跳地址/出接口
如果出接口为以太网口,必须要指定下一跳的地址
如果出接口为串口,可以使用下一跳或出接口来配置
能写下一跳就写下一跳
切记:通讯是双向的,不要忘记配置返回流量的路由
-
负载分担
等价路由,到达同一目标网络的等价负载分担
两个路由器有多个端口相连时,就会分担
-
路由备份(企业)
如果一条主链路失败,那么备链路就要发挥作用承担数据转发业务
实现操作:将备链路优先级加大
ip route-s 目的地址 掩码 下一跳 preference 优先级
备用路由因为优先级不会显示在路由表里,只有主路由死机后才会出现
重启/关闭接口:
进入接口 - restart/shutdown
-
缺省路由
特殊路由,能匹配所有目标网络
可以用静态路由,也可以动态规划
ip route-s 0.0.0.0 0 下一跳
所有ip都能走这个路由
有网关才会有缺省路由,跃点数就是cost
-
lookback接口
回环口,逻辑的,虚拟的接口
interface loopback 编号
作用:
模拟直连网段用于测试
设备管理稳定
供其他协议使用
SNMP Traps消息的源地址
ping -a 源ip地址 目的ip地址
指定出接口地址(源地址)
动态路由
- 路由协议分类
类型 | 备注 |
---|---|
IGP(interior gateway protocol)内部网关协议 | 用于一个AS内部交换路由信息 RIP,OSPF,IS-IS |
EGP(exterior gateway protocol)外部网关协议 | 用于多个AS之间交换路由信息 BGP |
AS(autonomous system)自治系统 | 处于单个管理机制下的网络 |
- 算法分类
类型 | 解析 |
---|---|
DV(Distance-Vector)距离矢量 | 基于距离矢量算法,路由器并不了解网络拓扑结构 RIP,EIGRP |
LS(Link-State)链路状态 | 基于SPF(shortest path first 最短距离优先)算法,路由器了解完整网络结构 OSPF,IS-IS |
- 掩码分类
类型 | 解析 |
---|---|
classful 有类 | 不带掩码 RIPv1,IGRP |
classless 无类(大多都要带掩码) | 带掩码 RIPv2,EIGRP,OSPF,IS-IS,BGP |
- 业务应用
类型 | 解析 |
---|---|
单播路由协议(unicast routing protocol) | RIP , EIGRP , OSPF , BGP , IS-IS |
组播路由协议(Multicast routing protocol) | DVMRP , PIM-SM , PIM-DM |
-
操作规则
协议在接口上运行
只能学习和发布相同协议已知的路由信息
如果不同的路由协议间需要交换路由信息,就需要进行注入(import)
import-route 协议 端口
-
收敛
当所有路由表包含相同网络可达性信息
网络路由进入一个稳定状态
网络在达到收敛前无法完全正常工作
衡量路由协议性能指标
指标 | 解析 |
---|---|
正确性 | 正确找到最优路由,无自环 |
快收敛 | 结构发生变化后,迅速做出改变 |
低开销 | 自身开销最小 |
安全性 | 自身不易受攻击,有安全机制 |
普适性 | 适应各种拓扑结构和各种规模网络 |
路由协议
RIP
路由信息协议(routing information protocol)
特点:配置简单,易于维护,适合简单网络
基于UDP,目标端口号520
周期更新:大约30s(25-30)
支持水平分割,毒性逆转和触发更新等放环特性
工作原理
运行后,先发送路由更新请求,收到请求的路由器会发送自己的RIP路由进行响应
网络稳定后,路由器会周期性发送路由更新信息(路由表)
度量值
RIP的度量值叫跳数(Hop)
直连网络的路由跳数为0,当路由器发送路由更新时会把度量值+1
超过15跳(经过15个路由器)为网络不可达
度量值会以最小的和自己的优先,而不是对方路由告诉你你就一定是要更改度量值
v1和v2
-
RIPv1
有类,不支持VLSM和CIDR
以广播形式发送报文
不支持认证
-
RIPv2
无类,支持VLSM,路由聚合,CIDR
以**广播或者组播(224.0.0.9)**方式发送报文
支持明文和MD5密文认证
基本配置命令
-
rip ID:启动rip协议,ID<1~65535>指进程号,启动协议时必须配置进程号,仅具有本地意义;
-
version 1:选择版本;
-
network 192.168.1.0:宣告本机直连的网段为192.168.1.0;
-
display ip routing-table protocol rip:查看RIP路由表;
-
rip split-horizon 开启水平分割
-
rip poison-reverse 开启毒性逆转
命令 | 解析 |
---|---|
rip ID | 开启进程,缺省为1 |
version 2 | 指定rip版本 |
network | 宣告网络,即指定运行RIP的接口,只需要输入主类地址(不看掩码)即可 |
rip metricin 5 | 接收路由时增加度量值(原有上增加) |
rip metricout 5 | 发送路由时修改度量值(直接变成) |
undo rip input | 禁止接收RIP数据包 |
undo rip output | 禁止发送RIP数据包 |
silent-interface g0/0/0 | 配置被动接口,只收不发(命令优先于input/output) |
dis rip | 验证rip信息 |
dis rip 1 int g0/0/0 verbose | 验证rip接口相信信息 |
dis rip ID | 查看rip信息 |
环路与避免
-
环路产生
两个路由器当一个自己的接口被down掉之后,会发送给另一个路由器,但是因为周期时间要等30s左右,但是在这期间,发过去的路由包也会发回来,本路由器就会信,就会指定这个包继续来回发,就不会发本来就down掉的真正的包了,直到跳到16下为止
环路避免:
-
水平分割(默认开启)
rip split-horizon
让路由器从某个接口学到的路由,不会从该接口再回发给邻居路由器
-
触发更新(默认开启)
当路由信息发生变化时,立即(不等30s)向邻居设备发送触发更新报文
-
毒性反转(默认不开启,开启之后覆盖水平分割性质)
rip poison-reverse
路由器从某个端口学到路由后,回发跳数为16的包给邻居路由器(目的是不接收)
ACL
OSFP
开放最短路径优先
协议是iETF定义的一种基于链路状态的内部网关路由协议
查看ospf详细信息
dis ospf brief
特点
- 大中型网络上使用最为广泛的IGP协议
- 链路状态路由协议(IS-IS)
- 无类
- 使用组播(224.0.0.5或224.0.0.6) v1广播,v2组播
- 收敛较快
- 以开销(cost)作为度量值
- 采用的SPF算法可以有效避免环路
- 触发式更新(以较低的频率(30min)发送定期更新,被称为链路状态泛洪)
- 区域的设计使得OSPF能够支持更大规模的网络
- 通过LSA的形式发布路由
- 不支持自动汇总,支持手动汇总
区域
Area
为了适应大型的网络,OSPF在AS内划分多个区域
区域是以接口为单位来划分的(边界在接口上)
每个OSPF路由器只维护所在区域的完整链路信息
-
区域ID
可以表示成十进制数字(给出位数),也可以表示成IP地址(总共2^32)
-
优点
尽量减少路由表条目
使拓扑变化仅影响本区域内部
-
区域类型
类型 | 备注 |
---|---|
骨干区域 | Area 0,核心区域 也叫传输区域(负责在不同的非骨干区域之间分发路由信息) |
非骨干区域 | 非Area 0 也称常规区域 |
PS | 所有其他非骨干区域必须和骨干区域直接相连 |
路由器类型
类型 | 解析 |
---|---|
IR | internal router 内部路由器 所有的接口都属于同一区域 |
BR | backbone router 骨干路由器 至少有一个接口属于骨干区域 |
ABR | area border router 区域边界路由器 连接一个或者多个区域到骨干区域,至少有一个接口属于骨干区域 |
ASBR | autonomous system border router 自治系统边界路由器 把从其他路由协议学习到的路由以引入的方式到OSPF进程中 |
PS | 一台路由器可以同时属于多种类型 |
核心工作流程
-
发现并建立邻居
dis ospf peer 查看邻居
发送Hello包寻找邻居
-
传播LSA(区别于距离矢量的路由表更新)
Link State Advertisement,链路状态宣告(路况信息)
- 链路:路由器接口
- 状态:描述接口信息(地址,掩码,开销,网络类型,邻居关系等)
-
将LSA泛洪到区域中的所有OSPF路由器,而不仅是直连路由器
-
收集LSA创建LSDB(链路状态数据库,地图)
dis ospf lsdb <LSA类型> 查看路由器的lsdb数据库
-
使用SPF算法计算每个目标网络的最短距离,并将其置于路由表中
-
OSPF三张表
- 从上到下建立
表 解析 邻居表 记录所有邻居关系 链路状态数据库(lsdb) 记录所有链路状态信息 路由表 记录最佳路由 -
router ID
运行OSPF协议前,必须选取一个RID
用来唯一标识一台OSPF路由器
RID可以手动配置,也可以自动生成
不需要是你的接口地址
-
RID选择顺序(从上到下)规则
- 手动配置(推荐)
-
活动回环(lookback)接口上选取IP地址最高的
- 活动物理(interface)接口上选取IP地址最高的
顺序从上到下,RID选举具有非抢占性(选好了就不会变了),除非重启OSPF进程
reset ospf process 重启ospf进程
**如果什么都没配置只开了进程,RID为0.0.0.0** * 手动配置
ospf ID router-id ip地址
此ip地址不需要是路由器上的接口地址
-
数据包
封装于IP协议,协议号89
数据包组成:包头,Hello数据包
OSPF数据包头:
- 版本(0-7),类型(8-15),数据包长度(16-23,24-31)
- 版本:2为ipv4,3为ipv6
- 类型:数据包类型
- 路由器ID
- 区域ID
- 校验和(0-15),身份验证类型(16-31)
- 身份认证
- 身份认证
OSPF Hello 数据包:
-
网络掩码
-
Helllo间隔,选项,路由器优先级
-
Dead间隔
-
指定路由器(DR)
-
备用指定路由器(BDR)
-
邻居列表
-
OSPF数据包类型
数据包类型 | 作用 |
---|---|
Hello | 建立并维护邻居关系(失效间隔时间:40s) |
database description(DD) | LSDB的摘要(仅包含LSA头部) |
link state request (LSR) | 请求LSA(只是请求) |
link state update (LSU) | 发送LSA(真正的LSA) |
link state acknowledge (LSAck) | 对LSU的确认 |
-
DD
先互相发送验证信息,再互相发送LSDB的摘要
-
触发式更新
一旦更新后。LSU发送后LSAck直接确认
以**序列号(sequence number)**进行确认
-
重置ospf
reset ospf process
OSPF状态机制
状态 | 备注 |
---|---|
失效状态(Down) | 没有收到Hello包 |
初始状态(init) | 收到Hello包,但没有看到自己 |
双向通讯状态(Two-Way) | 收到Hello包,且看到自己,形成邻居关系 |
交换初始状态(Exstart) | 决定信息交换时路由器的主从关系 |
交换状态(Exchange) | 想另据发送DD数据包 |
加载状态(Loading) | LSR和LSU交换 |
完全邻接状态(Full) | LSDB同步,形成邻接关系 |
- 只有Two-Way和Full是稳定状态
初始建立流程:
-
成为邻居
1.开启服务发送hello包,路由器接收到之后自己的邻居表中有邻居了状态为init,当init的路由器再发送给其他邻居时,其他邻居就会是Two-Way,其他邻居再发送hello包,双方就都成了Two-Way
-
确定主从关系
router id越高越优先的为主人,所有建立初期第一个包都会认定自己是主人
在DD数据包中:
init 是否是第一个包 more 后面还有没有其他包 master 是否是主人
两个包确认主从关系之后,序列号只能由主人支配
这个步骤双方都是Exstart
-
交换LSA
Exchange状态相互发送DD(LSDB摘要),使达成同步,如果有一方需要详细信息,会处于Loading状态,对方发送完成后要回个LSAck,如果不用,双方就是Full
邻居建立关系
以下关系必须一致才能建立邻居
- RID唯一
- Hello/dead时间间隔一致
- 区域ID一致
- 认证(如果启用了认证)一致
- 链路MTU大小一致(默认开启不检查,思科默认开启)不一致会开在数据传输
- 子网掩码一致(以太网环境,非以太网主要看网段)
- 网络地址一致
- 末梢区域设置一致(option)
DR/BDR
发生在two-way状态的时候
-
OSPF网络类型
网络的类型基于接口
缺省情况:以太网网络类型 是 广播类型(BMA)
PPP,HDLC 是 点到点类型
帧中继(FR),ATM在缺省情况下为NBMA类型(非广播多路访问) 单播
在OSPF中,没广播就是没组播
-
DR/BDR
只要是多路访问BMA或NBMA网络中,为了减少邻接关系数量,从而减少数据包次数,最终节省带宽,降低对路由器的压力和处理能力,选举DR、BDR
选定之后,不会改变
术语 | 解析 |
---|---|
DR | Designed router 指定路由器 |
BDR | Backup DR,备用DR |
DRothers | 普通的路由器 |
关系 | DR,BDR,DRother 之间保持邻接关系(Full) DRothers之间保持邻居关系(two-way) |
地址 | 224.0.0.6向DR和BDR发送链路状态更新(只发给DR/BDR) 224.0.0.5向所有OSPF路由器发送 |
选举规则 | 首先比较Hello报文中携带的优先级 优先级范围0-255,默认=1 优先级最高的倍选举为DR,优先级次高的被选举为DBR 优先级为0的不参与选举 优先级一致的情况下,比较RID,越大越优先 选举具有非抢占性,除非当DR和BDR都失效或重启进程 |
建立邻居主仆关系一定会选,DR/BDR取决于网络类型
先通过224.0.0.6发给DR,然后再通过DR发送给其他路由器(224.0.0.5)
发送给其他路由器,需要确认
DR/BDR基于网络类型,网络类型基于接口,所以DR/BDR是在接口区间上才算,而不是路由器就是DR/BDR
Cost度量值
在每个运行OSPF的接口上,都维护着一个接口Cost
Cost = 10^8/BW(bps) = 100Mbps/BW = 接口带宽参考值/接口带宽
(算出来只取整数)
到目标网络的度量值 =
从源到目标所有出站接口的Cost值累加(数据方向)
从源到本路由器沿途所有入站接口的Cost值累加(路由方向)
华为回环口默认开销为0,思科为1
路由策略:调整开销,迁选路由
OSPF配置
-
network 192.168.0.0 0.0.0.255
用反掩码宣告网络接口- 反掩码:
255.255.255.255 - 掩码
- 宣告网络接口也需要匹配对应的网段
- ospf宣告网络一定要写反掩码,如果反掩码有数,就写网段地址,如果全0,就写主机地址(跟正常掩码反过来的,但是也是跟正常掩码使用)
- 反掩码:
-
ospf dr-priority 100
修改接口的优先级 -
bandwidth-reference 100
调整带宽参考值,默认100Mbps,需要在整个OSPF网络中统一调整 -
缺省路由发布命令:
default-route-advertise
,先配置静态缺省路由,之后再进行发布(也可以直接注入静态路由达到效果) -
OSPF认证命令
-
int g0/0/0
OSPF authentication-mode md5 1 cipher wakin
配置接口认证
-
ospf 1
area 0
authentication-mode md5 1 cipher wakin
配置区域认证
如果同时配置,接口认证优先生效,如果需要认证 md5后面的id必须相同才能互相认证
-
交换基础
网络分层设计
园区网:
- 出口层
- 广域网接入,出口策略,带宽控制
- 核心层
- 高速转发,服务器接入,路由选择
- 汇聚层
- 流量汇聚,链路冗余,设备冗余,路由选择
- 接入层
- 用户接入,接入安全,访问控制
交换机
-
主要功能
- 终端设备接入
- 以太网数据帧的交换,根据目的MAC地址转发数据帧(二层看MAC,三层会看ip路由)
- 学习MAC地址,并维护MAC地址表
- 防止二层环路
最开始开机的交换机是没有MAC地址表的
-
工作原理:根据MAC地址表中的MAC地址记录,做出智能转发
原理 | 解析 |
---|---|
学习 Learn | 当从一个接口收到帧时,把帧内的源MAC与该接口进行绑定,存入MAC地址表 |
泛洪 Flood | 当从一个接口收到广播帧,组播帧,未知单播帧(目标MAC不存在于MAC表中),把该帧从所有其它接口转发出去,除了接收口 |
转发 Forward | 当从一个接口收到已知单播帧,立即从相应的接口转发出去 |
更新 Update | 默认每条记录保存300秒 交换机重启会清空所有接口学习到的记录 接口关闭后会清空接口学习到的记录 一个源MAC出现在另外个接口上,会删除老的记录,添加新的记录 |
PS:
一个MAC只能关联在一个接口上
一个接口上可以学习到多个MAC
- 接口工作模式
术语 | 解析 |
---|---|
半双工(half-duplex) | 通信双方都能发送和接收数据,但不能同时进行 |
全双工(full-duplex) | 通信双方都能同时接收和发送数据 |
速率(speed) | 接口连接时两端进行协商(自适应),协商失败则无法正常通信 |
- 修改速率
undo negotiation auto
关闭自适应速率
speed 100
修改速率
-
修改工作模式
duplex full/half
查看接口信息进行验证
-
查看mac地址汇总
dis mac-add sum
VLAN
虚拟局域网(二层技术)
划分vlan后ping不通的原因:ARP广播不出去
-
vlan的优点
- 有效控制广播范围
- 增强局域网的安全性
- 灵活构建虚拟工作组
- 简化网络管理
-
概述
将一个物理局域网在逻辑上划分成多个广播域
1 vlan = 1广播域 = 1子网(三层概念)
广播不会在vlan之间转发,而是被限制在各自的vlan中(泛洪基于vlan)
不同VLAN间设备默认无法通讯,需要借助三层设备才能实现
**VLAN范围:0-4095(0和4095保留,默认为1)**共4096个
流量进入如果交换机的允许列表(vlan列表)没有这个vlan,就会被丢弃
-
标签(Tag)
通过Tag区分不同的VLAN
协议:IEEE 802.1q:dot1q VLAN的正式标准,在源MAC字段和协议类型之间插入4字节的802.1q Tag
每台支持802.1q协议的交换机发送的数据包都会包含VLAN ID
分类:
有标记帧(tagged frame):加入了4字节802.1q Tag的帧
无标记帧(untagged frame):原始的,未加入tag的帧
-
链路类型
Access Link接入链路:
用于连接主机和交换机的链路,接入链路上传输的帧都是untagged帧
Trunk Link干道/中继链路:
用于交换机间互联或交换机与路由器之间的链路,干道链路上传输的帧几乎都是tagged帧用于识别
-
PVID
Port VLAN ID,表示端口默认的VLAN
X7系列交换机每个接口PVID=1
端口类型
PVID相同的交换机才转发
-
Access 接入端口
用于连接主机
收到后添加Tag,VLAN ID与端口PVID相同
转发前会移除Tag
如果收到带标签的,更改标签为自己接口的Tag
-
Trunk 干道端口
用于连接交换机和路由器
收到帧时:
- 如果该帧没有Tag,就打上端口PVID
- 如果该帧有Tag,就不变
发送帧时,该帧的VLANID在Trunk允许发送列表(思科是配置后允许所有vlan,华为默认只允许vlan1)中:
- 与端口PVID相同,剥离Tag发
- 与端口PVID不同,直接发
-
Hybrid 混杂端口(默认)
可连主机可连交换机
可连接入链路也可连干道链路
允许多个VLAN帧通过,并通过命令在出接口剥Tag
配置
- VLAN规划:基于端口(最常用),协议,MAC,ip子网,策略
命令 | 解析 |
---|---|
vlan 10 | 创建单个vlan |
vlan batch 10 to 20(或者空格分隔) | 创建多个vlan |
port link-type access/trunk/hybird | 配置端口类型 |
port default vlan 10 | 配置access关联vlan/pvid |
port trunk allow-pass vlan 10 | 配置trunk允许的vlan,默认只允许vlan1 |
prot trunk pvid vlan 10 | 配置trunk的pvid |
port hybird tagged/untagged vlan 10 | 配置hybird标记vlan |
port hybrid pvid vlan 10 | 配置hybrid的pvid |
display vlan | 验证vlan |
display port vlan | 验证vlan |
- 标签只在二层识别,路由器不识别带标签的包,所以一定要剥离tag发送(包括PC)
VLAN间路由
-
单臂路由
- 用子接口做接收数据包交换数据,然后用一条链路传输数据,链路为Trunk
创建子接口:
int g0/0/1.1
子接口个数与vlan相同(4096),推荐使用与vlan相同的子接口方便记忆dot1q termination vid id 关联子接口和vlan(必须标识了子端口才会打开) arp broadcast enable 开启子接口的ARP广播功能(打开了才能用ip地址)
子接口作为vlan的网关,就可以传输数据了
-
三层交换
用虚拟的vlanif接口,vlanif相当于接入的虚拟路由器的接口,所以给他配置ip地址就能通信
-
创建vlanif接口
int vlanif id
编号必须对应已创建的vlan
-
GARP/GVRP
GARP
通用属性注册协议(并不是一个真正的协议,只是一种手段)
因为只有交换机有的vlan才会传输,解决vlan过多每个交换机都需要配置的问题
- 在交换机间分发,传播,注册某种信息(VLAN属性,组播地址等)
- 主要用于大中型网络,用来提升交换机的管理效率
- 一种协议规范
数据包类型:
类型 | 解析 |
---|---|
join | 加入,端口加入vlan |
leave | 注销,端口取消vlan |
leave all | 注销所有(除了VLAN1) |
GVRP:
是GARP的具体引用或实现,用于主动维护VLAN属性
VLAN注册协议
基于GARP的工作机制
两个交换机都要开启这个协议才能分发学习到vlan
-
接口开启GVRP:
gvrp
-
作用:
- 接收来自其他交换机的VLAN注册信息,并动态更新本地的VLAN注册信息
- 将本地的vlan注册信息向其他交换机传播
- 手动配置:静态VLAN,GVRP创建的:动态VLAN
- 传播的VLAN信息包括手动配置的VLAN信息
-
单向注册/注销
GVRP的数据包是单向的,所以一定要将最后的一个交换机配置静态vlan使它双向学到
- 单项
<sw1> g1--------g1 <sw2> g2---------g1 <sw3> 如果sw1更新vlan并开启gvrp的话,就会传递到sw2/g1口,然后再传递到 sw3/g1口,sw2/g2就学习不到,不能回包,所以就要在sw3配置静态同样的vlan,sw2/g2才能学到
-
注册模式
查看gvrp状态:
dis gvrp status
查看gvrp统计信息:
dis gvrp statistics
更改注册模式:
gvrp registration 模式
-
Normal模式
允许静态和动态VLAN注册,同时会发送静态和动态VLAN的声明信息
-
Forbidden模式
配置后,该端口不允许动态VLAN在端口上注册,同时删除端口上除了VLAN1外的VLAN,如果添加vlan也会同理该端口的设备不能添加
-
Fixed模式
不允许动态的vlan注册或注销,只发送静态的VLAN
-
环路
-
广播风暴
因为交换机广播会泛洪
设备都收到重复的帧
-
MAC地址表震荡
本来固定在一个口,结果因为环路,就在多个口反复跳转
STP
生成树协议,华为默认开启MSTP
功能:
消除环路 通过阻断冗余链路来雄安出网络中可能存在的环路
链路备份 当活动路径发生故障时,激活备份链路,及时恢复网络连通性
- STP操作
- 选举一台根桥
- 选举非根桥的根端口
- 选举指定端口
- 阻塞剩余端口
BPDU
桥协议数据单元
使用组播:01-80-C2-00-00-00
-
类型
-
配置BPDU : Configuration
- 选举根交换机以及确定每个交换机端口的角色和状态
- 在初始化过程中,每个桥都主动发送配置BPDU
- 在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他交换机收到传来的配置后,才会发送自己的配置BPDU
- 发送周期时间:Hello Time 默认2秒
- 老化时间:Max Age 默认20秒
-
拓扑变更通告BPDU-TCN
- 下游交换机感知拓扑发生变化时向上游发送的拓扑变化通知
-
-
检测最优配置BPDU
参数 描述 root identifier 发送此配置BPDU的交换机所认为的根交换机的交换机标识(根桥) root path cost 从发送此配置BPDU的交换机到达根交换机的最短路径总开销,含交换机根端口的开销,不含发送此配置BPDU的端口的开销 bridge identifier 发送此配置BPDU的交换机的交换机标识(我是谁) port identifier 发送此配置BPDU的交换机端口的端口标识 -
桥ID(BID)
用于在STP中唯一标识一个交换机,由两部分组成:
1 . 桥优先级:高16位 2字节
2 . 桥MAC地址:低48位 6字节
[桥优先级].[桥MAC地址]
优先级取值范围:0 - 65535
缺省值:32768
-
端口ID(PID)
用于在STP中唯一标识一个交换机上的端口,由两部分组成:
1 . 端口优先级:高8位
2 . 端口编号:低8位
[端口优先级].[端口编号]
优先级取值范围:
0 - 255
缺省值:128
-
路径开销(path cost)
衡量交换机与交换机之间路径的优劣,越低越好(优先)
STP中每条链路都有开销值
链路速度 开销 10 Gb/s 2 1 Gb/s 4 100 Mb/s 19 10 Mb/s 100 -
根路径开销(root path cost)
确定到达根桥的最短路径,生成无环树状网络
到根桥的路径上所有路径开销之和(最短)
根桥最开始的参数为0
选举过程
优先级越低越优先
-
根桥选举
BID最小的成为根桥(先比优先级,再比MAC)
每一台交换机启动STP后,都会认为自己是根桥
-
根端口选举
在非根交换机选择根端口
每个交换机都要选举一个根端口
根据路径开销(不同线缆开销不同),对端BID,对端PID和本端PID逐个进行比较
查看端口信息:
<用户视图> dis stp brief
-
指定端口(DESI)
- 交换机连接的线端口两方比较,就会选举出指定端口,所有一个交换机可以有多个指定端口,如果全是指定端口那么就是根桥
在非根交换机选举指定端口
根据根路径开销,BID,PID
没被选举为根端口或指定端口的端口作为预备端(ALTE),会被阻塞
如果出现了自环,那么就可能不是全都是指定端口
端口
端口状态 | 信息 |
---|---|
Disabled | 稳定状态 |
Blocking | 稳定状态,接收BPDU(阻塞) |
Listening | 接收BPDU,转发BPDU,过渡状态(15s) |
Learning | 接收BPDU,转发BPDU,学习MAC,过渡状态(15s) |
Forwarding | 接收BPDU,转发BPDU,学习MAC,转发数据,稳定状态 |
- 计时器
计时器 | 解析 |
---|---|
Hello | 2s,根桥发送BPDU的间隔 |
Forward Delay | 15s,监听和学习的持续时间 |
Max Age | 20s,保持阻塞的最大时间(没有收到BPDU就会开始监听学习转发)20s阻塞 -> 15s监听 -> 15s学习 -> 转发 |
-
MSG Age
配置BPDU报文每经过一个交换机,Message Age 都加1
从根桥发的数据包MSG Age都为0
如果MSG Age 大于 Max Age,非根桥就会自动丢弃该配置BPDU
-
端口转换
选定根端口或指定端口:Forwarding
非根端口:Blocking阻塞
端口关闭:disabled
拓扑变化
-
根桥故障
非根桥会在BPDU老化后开始根桥的重新选举
-
直连链路故障
链路物理故障后,会将预备端口(指定)转换为根端口
需要30s后恢复到转发状态
-
非直连链路故障
如果阻塞的一边的交换机的根端口故障,他会给本发BPDU(自己会认为自己是根桥),因为对比之前根桥发的BPDU的BID,根桥还是根桥,本交换机就不接收这个BPDU,然后阻塞20s后,用30s回到发送状态
一共花费50s恢复转发
-
拓扑变化导致MAC地址表错误
检测到拓扑变化的交换机通过根端口向根桥发送TCN,上游交换机收到TCN后回应TCA,让后下游交换机停止发送TCN,再通过根端口发送TCN直到根桥收到,根桥通过指定端口发送TC通知下游交换机把MAC地址表记录老化时间从300s变为15s
配置
命令 | 解析 |
---|---|
stp mode {mstp,stp,rstp} | 配置stp模式,缺省为mstp |
stp priority 4096 | 配置BID优先级,0-61440,步长为4096 |
stp root primary/secondary | 自动修改优先级,指定主/备根桥 |
stp pathcost-standard | 配置路径开销标准 |
开销标准 | legacy:cost = 1-200000,华为的私有 802.1d标准:cost = 1-65535 802.1t标准:cost = 1-200000000 ,默认 |
stp cost 10 | 修改stp开销 |
stp port priority 144 | 修改PID优先级,步长为16 |
display stp brief | 显示STP配置信息和参数 |
DHCP
动态主机配置协议
客户端和服务器都要开启DHCP服务
查看地址池:dis ip pool
-
从BOOTP协议发展而来{wireshake只能用这个协议来搜索}
-
UDP封装,服务器=67,客户端=68
-
动态分配TCP/IP信息(IP地址,子网掩码,默认网关,DNS服务器等)
-
分配出去的信息是有租约的
-
系统组成
DHCP系统 | 解析 |
---|---|
DHCP Client(客户端) | 需要动态获得IP地址的主机 |
DHCP Server(服务器) | 能提供DHCP功能的服务器或网络设备 |
DHCP Relay(中继) | 一般为路由器或者三层交换机(跨网段) |
数据包类型
报文类型 | 解析 |
---|---|
DHCP DISCOVER | 客户端用来寻找DHCP服务器 |
DHCP OFFER | DHCP服务器用来相应DHCP DISCOVER报文,该报文携带了各种配置信息 |
DHCP REQUEST | 客户端请求配置确认,或者续借租期 |
DHCP ACK | 服务器对REQUEST报文的确认响应 |
DHCP NAK | 服务器对REQUEST报文的拒绝响应 |
DHCP RELEASE | 客户端要释放地址时用来通知服务器 |
- 工作流程
主机A DHCP服务器
----------------------->
DHCP discover(广播)
<-----------------------
DHCP offer(单播)
----------------------->
DHCP request(广播)
<-----------------------
DHCP ACK(单播)
多个DHCP发送offer,先到先得,先到主机,就先用这个IP
租期更新
IP租约达到**50%**时,DHCP客户端会请求更新租约
租约达到87.5%时,还没收到服务器响应,会申请重新绑定ip
-
没收到offer?,则会自动使用保留IP
-
APIPA
如果windows客户端无法从服务器租到IP地址
自动使用网络号为**
169.254.0.0/16
**的专用地址 仅供和相同处境的PC临时通信
-
-
租期设置建议
-
短期
增加网络负担,适合客户端较多
适合流动场所
-
长期
减轻网络负担,等待较长
适合固定场所
windows的更新会在数据包中带上一个ip地址
-
-
IP释放
如果IP租约到期前都没有收到服务器响应,客户端停止使用此IP地址
如果DHCP客户端不再使用分配的ip地址,也可以主动向DHCP服务器发送RELEASE报文,释放这个ip地址
地址池
所分配地址的集合
接口地址池 优先级比 全局地址池高
配置
命令 | 解析 |
---|---|
dhcp enable | 开启DHCP功能 |
dhcp select interface | 关联接口和接口地址池 |
dhcp server dns-list 地址 | 配置接口地址池的DNS服务器地址 |
dhcp server lease 数字 | 配置接口地址池的租期,默认1天 |
dhcp server excluded-ip-address 起始地址 结束地址 | 配置接口地址池的排除地址范围 |
dhcp server static-bind ip-address x.x.x.x mac-address xxxx-xxxx-xxxx | 配置静态绑定 |
dhcp select global | 关联接口和全局地址池 |
dis ip pool interface vlanif10 used | 查看vlanif10已经被使用了的地址 |
ip pool 名称 | 创建全局地址池 |
network 地址 mask 掩码位 | 配置全局地址池的可分配网段地址 |
gateway-list 地址 | 配置全局地址池的网关地址 |
dns-list 地址 | 配置全局地址池的DNS服务器地址 |
lease 数字 | 配置全局地址池下的租期,默认1天 |
excluded-ip-address 地址 | 配置全局地址池下的排查出地址范围 |
dis ip pool interfase 接口名 all | 查看地址池的属性 |
ipconfig /release | 释放租期 |
ipconfig /renew | 重新获取 |
-
分配地址:
- 华为是逆序的,思科是顺序的
控制分配地址范围,防止和重要的设备冲突
ACL
控制访问链表(第一代防火墙)
- 作用
可以通过定义规则来允许或拒绝流量通过
可以根据需求来定义过滤的条件以及匹配条件后所执行的动作
工作原理
规则解析:
acl number 2000 / name 名字 --ACL编号
rule 规则编号 动作 源地址 生效时间段
制定规则:先细后粗
-
ACL由一条或多条规则组成
-
每条规则必须选择动作:允许(permit)或拒绝(deny)
-
每条规则都有一个id序列号(默认=5,间隔=5)
-
序列号越小越先进行匹配
-
只要有一条规则和报文匹配,就停止查找,称为命中规则
-
查找完所有规则,如果没有复合条件的规则,称为未命中规则
-
ACL创建后,必须将其应用到某个接口或其他技术内才会生效
-
应用在接口时必须选择方向:入站和出站(相对设备接口来判断)
-
不能过滤由设备自己产生的数据
-
每个ACL可以包含多个规则,路由器根据规则来对数据流量进行过滤
ACL类型
分为:数字型ACL 和 命名型ACL
分类 | 编号范围 | 匹配 |
---|---|---|
基本ACL | 2000-2999 | 源IP地址等 |
高级ACL | 3000-3999 | 源IP地址,目的IP地址,源端口,目的端口等 |
二层ACL | 4000-4999 | 源MAC地址,目的MAC地址,以太网帧协议类型等 |
5000以上属于用户自定义
添加ACL描述:description 描述
-
创建ACL
- 如果不指定等级,默认为高级(默认逆序从最后一个序列号开始创建)
-
接口配置建议:
基本ACL:尽量在离目标最近的出站接口
高级ACL:尽量在离源头最近的入站接口
掩码区别
-
掩码
连续的1和0
作用:IP地址,1对应网络位,0对应主机位
-
反掩码
连续的0和1
作用:路由协议,0必须匹配,1无需匹配
-
通配符
任意的0和1
作用:ACL,0必须匹配,1无需匹配
0对应的就不能改变,1对应的就可以改变是任意的,类似于反掩码,如果通配符为0,那么只能匹配一个地址
全部匹配:
0.0.0.0 255.255.255.255
= any`举例 作用 192.168.0.1 0.0.0.254 匹配网段内奇数地址 192.168.0.0 0.0.0.254 匹配网段内偶数地址
配置
命令 | 解析 |
---|---|
acl 2000 | 创建基本ACL |
rule 5 deny/permit source 192.168.1.0 0.0.0.255 | 配置规则 拒绝或允许源地址为:192.168.1.0/24网段内的所有流量 |
acl 3000 | 创建高级ACL |
rule 5 deny/permit tcp source 192.168.1.0 0.0.0.255 destination 8.8.8.8 0 destination-port eq 80 | 配置规则 拒绝或允许源地址为:192.168.1.0/24网段内到8.8.8.8的HTTP流量 |
traffic-filter inbound/outbound acl 2000 | 在接口调用ACL过滤流量 |
dis acl 2000 | 验证ACL |
dis traffic-filter applied-record | 查看设备上所有基于ACL调用情况 |
NAT
网络地址转换技术
一般部署在连接内网和外网的网关设备上
-
优点
有效避免来自外网的攻击,可以很大程度上提高网络安全性
控制内网主机访问外网,同时也控制外网主机访问内网,解决内外网不能互通的问题
类型
静态NAT
私有与公有的一对一映射
一个公网ip只会分配给唯一且固定的内网主机地址
- 配置
命令 | 解析 |
---|---|
nat static enable | 开启NAT静态功能 |
nat static global 公网地址 inside 私网地址 | 创建静态NAT |
display nat static | 查看静态NAT配置 |
配置完成后自动转换
动态NAT
多对多
基于地址池来实现私有地址和公有地址的转换
动态NAT地址池中的地址用尽以后,只能等待被占用的公网地址被释放后,其他主机才能使用他来访问公网
- 配置(NAT和PAT)
命令 | 解析 |
---|---|
nat address-group 编号 公网地址范围 | 配置NAT地址池 |
nat outbound acl 编号 address-group 编号 [no-pat] | 关联一个ACL和一个NAT地址池 ACL用来匹配能够转换的源地址 |
no-pat | 只转换地址而不转换端口 |
dis nat address-group | 查看NAT地址池配置信息 |
dis nat outbound | 查看动态NAT配置信息 |
查看nat的转换表:dis nat session all
NAPT
多对一,需要地址池
允许多个内部地址映射到同一个公有地址的不同端口
也称为NAT-PT或PAT
适用于大型企业网络(申请多个固定的公网地址)
配置:nat outbound acl 编号 address-group 编号
Easy IP
只关联接口就行了
允许多个内部地址映射到网关出接口地址上的不同端口
适用于小型的应用场景,出接口可以通过拨号方式获得一个临时公网IP地址
配置:nat outbound acl 编号
关联出站接口和ACL
NAT服务器
配置NAT服务器,可以使外网用户访问内网服务器
具有屏蔽内部主机的作用
- 配置
命令 | 作用 |
---|---|
nat sever protocol tcp/udp global 公网地址/接口 端口 inside 私网地址 端口 | 配置NAT服务器 |
dis nat server | 验证NAT服务器 |
端口号内外的可以不一样
外网访问内网方法
- 端口映射,NAT服务器 发布服务到外网
- VPN 带加密,可实现内网与内网直接通信
HDLC/PPP
广域网封装,没有arp
高级数据链路控制HDLC和点对点协议PPP是两种典型的串口(s口)封装协议
-
HDLC
面向比特的链路层协议(主要用于思科,华为串口默认运行PPP)
更改协议类型:
link-protocol 协议
-
接口地址借用
ip address unnumbered interface loopback 0
可以借用Loopback接口的ip地址和对端建立连接
目的:节省地址
因为多接口为一个地址,所以路由表的出接口会有问题,需要用静态路由,出接口直接写串行接口就可以实现ping通了
-
-
PPP
点到点链路层协议,主要作用在全双工的同异步链路上进行点到点传输
支持(HDLC都不支持):认证,错误检测,错误恢复,支持同步或异步链路
-
组件
名称 作用 LCP 链路控制协议 用来建立,拆除和监控PPP数据链路 NCP 网络层控制协议 用于对不同的网络层协议进行连接建立和参数协商 -
认证模式
-
PAP 密码认证协议
以明文的方式直接发送密码,二次握手机制,发起方为被认证方,可以做无限次尝试(暴力破解),只要在链路建立阶段进行认证,一旦链路建立成功就不再认证
-
CHAP 挑战握手认证协议
以MD5来隐藏密码,三次握手机制,由认证方发起认证,有效避免暴力破解,在链路建立成功后具有再次认证检测机制,目前在企业网的远程接入(VPN)环境中比较常见
-
配置:
命令 备注 aaa
local-user wakin password cipher huawei
local-user wakin service-type ppp创建PPP认证用户 ppp authentication-mode pap/chap 开启PAP/CHAP认证 ppp pap local-user wakin password cipher huawei 配置PAP ppp chap user wakin
ppp chap password cipher huawei配置CHAP 可以使用单向认证,也可以使用双向认证
-