目录
Basic
Network layer
&*&
- 网络规模:LAN 局域网 ;WAN 广域网
- CIDR无类域间路由:所有子网汇总后,网络位一致
- VLSM:可变长子网掩码,节约IP地址
IP 互联网协议
版本version 4
寻址长度 32 bit
寻址空间 2^32=42.9亿 0.0.0.0-255.255.255.255
表达方式:二进制 00100001 01001000
三点分十进制
分类
通过第一个字节区分地址类型
classA | 第一位为0 | 0.0.0.0-127.255.255.255 | 单播 |
B | 前两个bit为10 | 128.0.0.0-191.255.255.255 | |
C | head为110 | 192.0.0.0-223.255.255.255 | |
D | head为1110 | 224.0.0.0-239.255.255.255 | 组播 |
E | head为1111 | 240.0.0.0-255.255.255.255 | 科研使用 |
可配地址:1.0.0.0-223.255.255.255(127除外)
公有地址:可以在Internet中进行通信的地址,A/B/C里除了保留地址和私有地址外
私有本地测试地址:本地局域网通信
A | 10.0.0.0/8 |
B | 172.16.0.0/16-172.31.0.0/16 |
C | 192.168.0.0/24-192.168.255.0/24 |
分层次
- 网络位:主机所在的地址范围
- 主机位:精确定位网络内的主机地址
- Netmask子网掩码,与IP地址位数相等:
- /8 255.0.0.0 A
- /16 255.255.0.0 B
- /24 255.255.255.0 C
- 1 对应的IP地址的bit为网络位
- 0 对应主机位
特殊地址
-
- 网络地址:不代表具体地址,代表整个网络;主机位全部=0
- 广播地址:代表该子网内的广播,该子网内所有地址都会监听的地址;主机位全部=1
- 子网广播:只能发送给该子网内的所有主机
- 全网广播:可以发送给所有主机
IP头
第一行
version | 版本4bit |
Header length | 头部长度4bit |
Type of service (ToS) | 服务类型8bit对流量进行区分对待,为QoS功能提供底层流量分区 |
total length | 总长度,16bit,包含IP头在内的总数据长度 |
第二行
Identification | 标识:报文分片ID区分 |
Flag | 标志:通知对端是否是最后一片 |
Fragment off set | 片偏移:报文切片的偏移量 |
第三行
Time To Live(TTL) | 8bit,生存时间,数据可以传递的最大跳数(255) |
Protocol | 8bit,协议号,表示上层的协议类型0-255 |
Header check sum | 16bit,头部校验和,对IP头部进行差错校验 |
第四行
source IP address
第五行
destination IP address
第六行
Option | 可选字段(特殊IP头参数)可有可无 |
Padding | 填充字段,使用填充字段可以弥合option不足4Byte |
Transport Layer
TCP | UDP |
面向连接 | 无连接 |
可靠传输 | 不提供可靠传输 |
流量控制 | 不提供流量控制 |
传输速度慢 | 快 |
协议开销大 | 开销小 |
TCP(协议号6)
头部信息
封装在IP(网络层)头部之后,数据之前;20字节-60字节,非固定长度
端口号对照表 | ||
端口号 | 封装层 | 协议 |
20 数据连接/21 控制 | TCP | FTP文件传输服务 |
22 | TCP | SSH安全壳协议 |
23 | TCP | Telnet远程登录 |
25 | TCP | SMTP简单邮件传输协议 |
53 | UDP | DNS域名系统 |
67 服务器/68 客户端 | UDP | DHCP动态主机配置协议 |
80 | TCP | HTTP超文本传输协议(web页面) |
161 | UDP | SNMP简单网络管理协议 |
443 |
| SSL安全套接层协议 |
| https= | HTTP+SSL |
第一行
Source port | 源服务端口16bit(随机) |
Destination port | 目的服务端口16bit;65536个端口;0-1023知名端口,固定分配给了某个服务;1024-非知名端口 |
* port是传输层独有的内容,区分服务,区分上层应用
第二行
Sequence number序列号32bit2^32个序列号:对报文进行排序
第三行
Acknowledge number确认号:对接收到的(具体序号)的消息进行确认
第四行
Headerlength | 头部长度:4bit |
|
Reserve | 预留字段(保留;全0)6bit | |
Flag | 位6bit标识位 | URG紧急指针位为1有紧急事件要处理 |
ACK:确认位,对接收到的消息进行确认 | ||
PSH:传送 | ||
RST:复位TCP连接 | ||
SYN:初始化请求位,请求建立TCP连接;1置位,0置零 | ||
FIN:结束请求位,请求结束TCP连接 | ||
Window | 窗口大小,标识当前主机可以单次接收的数据大小16bit |
|
第五行
Checksum | 校验和,对TCP消息进行差错校验(头部校验) |
Urgent pointer | 紧急指针(配合URG)指向需要紧急处理的消息的位置 |
第六行
Options
padding
三次握手:
作用:建立双向连接
- 确认机制:TCP必须对每一个收到的消息进行确认,当TCP主机收到序列号为a的消息后,回复a+1的确认号作为确认
- 首次发送的TCP消息的序列号:随机;首次全部为0
Feature
- 确认重传:当TCP发送了消息后,如果没有收到确认消息,需要等待一定时间间隔,重传(间隔可以由应用层决定),当超过一定的重传次数后,TCP会主动断开连接
- 滑动窗口:TCP接收端可以主动动态调整自己的窗口大小
- 统一确认:TCP在收到一组数据后,对所有的的TCP消息进行统一的确认
UDP
头部信息(头部长度固定为8个字节)
第一行
Source port | 源端口 |
Destination port | 目的端口 |
第二行
Length | 长度:UDP头+数据长度 |
Checksum | 校验和:对报文进行差错校验 |
数据完整的传递过程
- 数据封装:将数据从上层向下层逐层封装(不是所有的应用层协议都会使用到传输层和网络层)
- 数据传送:网卡将数据帧解析成bitflow(比特流)
- 解除封装:从物理层逐层向应用层拆除头部
应用层
每一种应用都属于应用层协议(HTTP、FTP、TFTP简单文件传输协议、SNMP简单网络管理协议、NTP网络时间服务协议)
协议
HTTP | 超文本传输协议 | web页面应用 |
FTP | 文件传输协议 | 文件下载 |
TFTP | 简单文件传输协议 | 文件下载 |
SNMP | 简单网络管理协议 | 网管服务 |
NTP | 网络时间服务协议 | 时钟服务 |
ICMP | 互联网消息管理协议 | 网络测试应用 |
网络相关应用:
路由协议应用(RIP、OSPF、EIGRP、BGP)
其它协议
ICMP互联网消息控制协议
ICMP消息直接封装在IP层之上,没有使用到传输层协议:IP头号为1
作用:
- 网络连通性测试
- 路径追踪
- 错误提示
type……code区分:
8……0 | ICMP Echo Request | 回声请求 |
0……0 | ICMP Echo Reply | 回声应答 |
连通测试工具ping
ARP协议地址解析协议(通过IP找MAC)
协议内容:
- 每个主机系统内部都会包含ARP表,记录Internet Address-Physical Address-Mapping的关系;
- 当TCP/IP协议栈封装头部后,Etha2协议负责查找ARP表IP的映射关系;
- 如果能够找到,可以直接封装MAC地址;如果没有找到需要发送ARP请求消息
消息类型:
ARP reply 应答
ARP request 请求
消息封装:ARP消息封装直接封装在Ether2之上
ARP消息的内部内容
Send IP:发送者IP
Send MAC:发送者MAC
Target IP:目标IP
Target MAC:目标MAC
type:request/reply
Hardware Address Length:硬件地址长度(6字节)
Internet Address Length:网络地址长度(4字节)
协议
- TCP:传输控制协议(可靠)面向连接的协议;发送真正的数据之前,提前建立数据连接;有序传输,对流量进行排序
- 适用:邮件、下载等
- UDP:用户数据报协议(尽力而为)面向无连接的协议;在传递数据之前,无需建立连接;无序传输,无法对流量排序
- 适用:实时类业务
LAN 局域网
网络设备工作原理
物理层设备
1.HUB 集线器
-
- 强行广播
- 发生冲突
- CSMA/CD带有冲突检测,载波侦听,多路访问,先听后发,边听边发,冲突停止,回退再发(回退时间随机)
2.线缆
1)电线
-
- 同轴线缆(有线电视信号)
- 双绞线
• T-568A:绿白 绿 橙白 蓝 蓝白 橙 棕白 棕
• T-568B:橙白 橙 绿白 蓝 蓝白 绿 棕白 棕 (较常用)
分类:
直通线 straight-through | 两端全为A或全为B |
交叉线 crossover | 一端为A另一端为B |
DTE数据终端设备(不提供时钟) | PC、服务器、路由器 |
DCE数据通信设备(提供时钟) | Switch、HUB、Modem、CSU/DSU |
同种设备交叉线,异种设备直通线
水晶头标准:RJ-11;RJ-45
2)光纤
- 单模光纤:单束光(通常传递较远)外表黄色,跨区域使用
- 多模光纤:多束光,外表橘黄色,单区域内使用
数据链路层:switch
- 全双工,通过交换机内部背板矩阵进行交换数据;CAM 内容寻址表(MAC地址表):Port MAC other
- 学习Source MAC;转发,泛洪,过滤,丢弃
- 广播域:A发送广播,如果B可以接收到A发送的广播消息,则A和B处于同一个广播域(广播域过大可能会造成安全隐患)
网络层:router
PPP
Point to Point Protocol 点对点协议(HDLC 高级数据链路控制协议、FR帧中继、ATM异步传输)
特点
- 点对点,一条PPP链路只能使用在两台设备的两端
- 支持多种上层协议(IPv4,IPv6)
- 支持认证
- PPP两端在发送数据之前需要经过 PPP协议协商
- 发送数据时地址固定为 0xff
- PPP发送数据之前,无需ARP查询
- 在PPP网络中,子网掩码适合使用/30(252)
组件
- LCP 链路层控制协议:协商二层协议,必须全部PPP
- authentication Protocol 认证协议(option)
- NCP 网络层控制协议:协商网络层协议,必须一致
认证协议:支持单向和双向认证
- PAP 密码认证协议,两次握手机制。明文
- CHAP 挑战值握手认证协议
3次握手,定期发出挑战,以确保远程节点有有效的密码。
MD5
角色
- 认证服务端:需要在本地数据库中配置、存储账户和密码
- 认证客户端:在发送PPP数据时,需要携带账户名和密码
MLP Multilink PPP:多链路PPP捆绑
作用:提升带宽,负载均衡,提升冗余
DNS
域名系统 Domain Name System:将域名解析成IP地址
角色
- 服务器(ISP搭建):存储域名和IP地址的映射关系
- 国内:114.114.114.114
- 国外:8.8.8.8
- 客户端
DHCP
动态主机配置协议:自动分配IP地址及其他参数(DNS;Domain 那么),对IP地址进行集中管理
设备角色
封装在UDP之上
- DHCP server 67:存储IP地址池
- DHCP client 68:申请IP地址及其他参数
需要在一个广播域
消息类型
- discover 发现消息:主机动态发现服务器
source ip:0.0.0.0
destination ip:255.255.255.255
- offer 提供消息:提供可选地址
- request 请求消息
- ack 确认消息
- nak 拒绝消息(请求地址已经不在地址中)
租期问题
默认为86400s=24小时
续租时间:
- 租期1/2=43200s——单播续租
- 租期7/8 - 广播续租
线缆接口协议对照
广域网线缆 | 串行线缆 | 串行接口 | PPP/HDLC等 |
以太网线缆 | 双绞线 | 以太网接口 | 以太网协议 |
CDP与LLDP
CDP
邻居发现协议 :用于发现直连设备(私有)思科设备默认开启CDP,接口周期性通告CDP消息 60s/deadtime 180s
LLDP
链路层本地发现协议(公有)
Switches
VLAN & LAN
&*&
- 园区网络分层设计:核心层;汇聚层;接入层
- 广播域设计过大遇到问题:安全隐患;广播/组播/未知单播泛洪范围过大;不易管理;不灵活
- 设备分类:
终端 | PC、Server、Phone、Pad |
|
互联设备 | NIC:网卡 | 有线:电信号/光线信号 |
无线 | ||
Access Media | 传输介质,电信号线缆,光信号线缆,无线介质 | |
Network Device网络设备 | Router,Switch |
|
VLAN(虚拟本地局域网)技术
作用:隔离广播域
本质:virtual/logical switch
交换机的VLAN模式
Access模式
访问模式(连接终端:PC/Server/router)
一个Access接口只能属于一个VLAN
trunk模式
1.主干道模式(交换机之间互联的模式)
- 在配置trunk接口之前必须配置封装模式,交换机互联的两端全部配置trunk
- Cisco trunk 接口的数据封装模式:802.1Q (dot1q)----IEEE
- ISL Cisco私有 只能在思科设备之间配置
2.trunk接口 当指定封装模式为dot1q后,会在发送数据时,在Ethernet2数据帧中添加tag字段
- 16bit TPID 0x8100
- 3bit 优先级
- 1bit CFI经典以太网bit位
- 12bit VLAN ID号:0-4095;其中0、4095保留;思科1002-1005预留的特殊协议
DTP
Dynamic trunk protocol 动态Trunk协议
作用:协商端口模式
1.Access
2.trunk
3.Dynamic 动态协商
Dynamic Auto
Dynamic desirable
native VLAN
本征VLAN:
- trunk接口的一种特殊VLAN,可以不打标记tag
- Cisco交换机中默认的本征VLAN为1;
- 如果trunk接口配置了本征VLAN,则该trunk口发送该VLAN数据不打tag;
- 两端trunk的本征VLAN必须一致
VTP
思科私有(VLAN trunk protocol)自动同步VLAN
**VTP配置前需要将所有交换机之间的互联接口配置trunk
工作模式
- server模式:可以对VLAN进行增/删/改;同步其它的client
- transparent 透明模式:可以对VLAN进行增/删/改,无法同步或被同步
- client 客户端模式:无法对VLAN进行增/删/改,只能通过server同步
默认参数
- 版本 1
- server模式
- 没有加域
STP
&*&
- 思科厂商针对STP协议开发PVST,Per VLAN Spanning Tree
- 默认开启,在思科当中无法关闭,只能更改模式
- 无辜ARP/免费ARP:IPv4地址冲突检测(间隔1秒发3次)
- STP(spanning tree 生成树协议)*典型的破环协议
- 作用:二层防环(防止数据无休止传递下去)
二层环路带来的隐患
- 广播风暴(最严重),占满链路带宽
- 重复多帧复制
- MAC地址漂移抖动,CAM表发生错误
选举(选小)
选举树根
• 每个广播域选一个树根
• 在每个非根交换机上选举一个RP根端口
• 距离是跟开销/成本最低的端口
*^^* F口100M,cost 19
G口1000M,cost 4
• 在每条链路上选举一个指定端口DP
• 指定负责为链路转发流量的端口,比较链路上的两个端口的端口优先级,优先级数值越小,优先级越高
• 阻塞非根/非指定端口
BPDU 桥协议数据单元:
TCN BPDU
Protocol ID : 0x0000
Version : 802.1D (0)
PVID:0x0-STP 0x2-RSTP 0x3-MSTP
Message Type: 0x00 Configuration(选举);0x80 TCN(收敛)
BPDU Timer
BPDU多播地址:01:80:c2:00:00:00
·Message Age:最大存活时间(20S)
Hello Time:根桥连续发送BPDU的间隔(2S)
Forward Time:SW在监听和学习状态所停留的时间(15S)
1.老化时间(blocking)(loss of BPDU detected)max age=20s
2.监听时间(listening)forward delay=15s
3.学习时间(learning)forward delay=15s
端口状态:
disable,blocking,listening,learning,Forwarding
| 监听BPDU | 学习MAC | 帧转发 |
Blocking | √ | × | × |
Listening | √ | × | ×(选举Root/RP/DP) |
Learning | √ | √ | × |
Forwarding | √ | √ | √ |
选举参数
- Root-ID(RID) 根ID
- 树根的桥ID
- Root Path Cost(RPC) 根路径开销
- cost 成本/开销:越小越好
- Link cost 链路开销
- 由接口带宽决定,接口带宽越高,链路开销越小
- root path cost 根路径开销
- 该设备去往树根的累计路径开销
- Bridge-ID (BID) 桥ID:交换机整体身份信息,范围0-61440,默认32768
- 优先级 2Byte
- MAC地址 6Byte
- Port-ID(PID) 端口ID
- 优先级 1Byte 0-255 默认取128
- 端口号
- 先比较发送者的PID,再比较接受者的PID
多种模式
- 标准生成树 STP:PVST每vlan生成树 802.1D
- 快速生成树 RSTP:RPVST(cisco私有)每vlan快速生成树
802.1w
新增边缘端口(host/server/router/other终端)
·RSTP定义了3种端口状态:
Discarding/Learning/Forwarding
(Discarding <->STP:Disabled/Blocking/Listening)
P-RSTP:
blocking,learning,Forwarding
·RSTP端口角色:
RP:同STP
DP:同STP
新增:
Alternate Port(替代端口):AP
从其他SW收到BPDU的那个端口。比不过人家的BID,就成为AP(BLK)
如果本SW的RP故障,AP就成为RP。
Backup Port(备份端口):BP
从本SW收到BPDU的那个端口。比不过人家的PID,就成为DP(BLK)
如果本SW的DP故障,BP就成为DP。
Edge Port (边缘端口)=== CISCO的PORTFAST
RSTP的快速转换只能在点到点的链路上使用
·RSTP BPDU的格式:
取消了TCN-BPDU
在Flag字段总共8 bit,802.1D中只用到2 bit,
RSTP用到其他6 bit来完成端口状态和角色的编码。
Version: 2
Message Type : 2
P/A机制:Proposal 提议/Agreement 同意
DP接口处于非转发状态下发起proposal;
RP接口收到proposal后,阻塞所有非边缘端口,回复agreement
DP/RP全部直接恢复转发
- 多生成树 MSTP:
802.1s
1.MST对vlan分组(Instance)
2.每个分组可以有独立的STP,实现L2负载分担
生成树名称 | 协议 | 端口角色 | 端口状态 |
STP | 802.1D | RP, DP | disabled, blocking, listening, learning, forwarding |
PVST(cisco) |
|
|
|
RSTP | 802.1W | RP, DP, AP, BP | discarding, learning, forwarding |
RPVST(cisco) |
|
| blocking, learning, forwarding |
MSTP | 802.1S |
|
|
STP优化
·BPDU防护:
对于设置了PortFast接口,却收到了BPDU,如果设置了BPDU防护,就能将此接口关闭,而不会进入生成树状态。且默认情况下是要手动才能恢复
·BPDU过滤:
不发也不收
通过使用BPDU过滤,能够防止向host发送不必要的BPDU。
收到BPDU的话,不会禁掉端口,只是不理会
注意:
如果在全局下配置,从端口收到的BPDU,不会禁掉端口,会转为正常的STP 状态
如果在接口下配置,从端口收到BPDU的话,会丢弃
如果在同一接口设置guard/filter,f优于g
·根保护:
能够将接口强制设为DP,进而防止周围SW成为Root。
设置了根保护的端口如果收到了一个不同于原BPDU的新的BPDU,它将把本端口设为blocking禁止状态,过一段时间,如果没再收到BPDU,它会恢复端口,这一点不同于根防护。
建议在去往根桥的上行端口配置:
测试:将其他SW变成根桥,看原来根桥的现象:
·环路保护:
防止出现单向链路故障,接口处于DP-blocking(loop_inc)
当STP中的BLK端口错误的过渡到FWD状态,有可能出现环路。
启用Loopguard的接口,当出现以上问题,将自动转为inconsistent状态
只需要在本端启用就可以.且可以对每个vlan上
建议做在所在RP和AP上。
端口聚合:以太网链路捆绑技术
动态协商
- LACP:链路聚合协议(公有协议)
- PAgP:端口聚合协议(Cisco私有)
静态配置(手工指定)
注意点*
- 两端配置的绑定模式需要一致(动态静态一致,协议一致)
- 两端至少有一个主动端
双方角色
- 主动端:主动发起协商
- 被动端:被动等待协商
三层网关冗余
(FHRP 首跳(PC)冗余路由协议)
HSRP 热备份协议(私有协议)
角色:
- 主 active
- 备 standby
- 角色选举:优先级+IP,比大
HSRP VRRP 相同点
1. 单活 首跳冗余协议
2. 可以进行主被切换
3. 惩罚,跟踪
4. 优先级范围 0-255
5. 默认优先级=100
HSRP VRRP 不同点
1. VRRP 1.master+N*backup / HSRP | 1.active+1*standby+N*listen(backup)
2. VRRP组ID 1-255 / HSRP 0-255
3. VRRP 支持特殊优先级 0放弃master/255 IP地址拥有者 / HSRP不支持特殊优先级
4. VRRP 虚拟IP 真实IP 可以重合 / HSRP 不允许将虚拟地址设置真实地址。
5. VRRP 状态 init backup master / HSRP init listen speak standby active
6. VRRP master 发送消息 / HSRP speak / standby/active 发送消息
7. VRRP 消息地址224.0.0.18 / HSRP 224.0.0.2
8. VRRP 1s holdtime=3*1+Skew_time / 3s 10s
9. VRRP master 默认支持抢占 / HSRP active 默认不被抢占,standby默认可以抢占
VRRP 虚拟路由冗余协议(公有)
角色:
- 主 master:转发数据
- 备 backup:等待成为master
- 在一个备份组中选举master/backup(master只有一个)
- 角色选举需要优先级,默认100,可以配置范围 1-254;比大
配置:
- 配置交换机port-fast
- 配置地址(PC/Router)
- 配置VRRP
SLA:服务等级承诺,监控上行链路状态/质量
使用SLA方式检测 上行链路,联动track追踪,联动VRRP惩罚
GLBP 网关负载均衡协议(私有协议)
与上者最大的区别:多活FHRP协议
支持1024个组
多活负载均衡备份
角色
- AVG:活跃的虚拟网关:负责为主机分配AVF ;active/standby
- AVF:活跃的虚拟路由转发器:负责真正转发数据 ;active/listen
- 监听者(给AVF-active做备份);
- 每1个AVF具有一个独立的MAC地址 00-07-b4-组ID-转发器ID
消息封装
- UDP之上,端口号:3222
- IP地址: 目的IP 224.0.0.102
- MAC:目的MAC 01-00-5e-00-00-66
TLV:
Type Length Value
选举
- AVG的active和standby
- 选举AVF:选举的数量由曾经加入到GLBP备份组的最大路由器数量,不超过4个
- 在相同GLBP备份组范围内的主机发送ARP请求时,由AVG执行ARP应答
- 应答方式可以根据策略,默认应答方式为 轮询
- 轮询: first: AVF1 MAC
Second:AVF2 MAC
- 周期性发送消息时间 3s holdtime 10s
- AVG默认不抢占,AVF抢占,抢占延时30s
- AVG选举类似HSRP,但更优化;
- 比大:优先级(100)->IP地址
- 抢占时针
权重:AVG分配AVF使用参数
负载均衡方式
- 轮询
- 权重
- 基于主机依赖
Routers
&*&
Vlan间路由(inter-vlan-routing)
Vlan:
- 隔离广播域(二层)
- 每一个vlan通常对应不同子网
单臂路由(节省线缆和接口数量)
- 路由一个接口,只能连接一个子网
- sub-interface 子接口(逻辑接口)一个物理接口中可以划分多个子接口
- 配置过程
- 配置PC机-IP地址
- 交换机创建vlan/划分vlan
- 交换机划分trunk
- 路由开启物理接口
- 路由开启子接口,配置封装/识别vlan,,配置地址(生成路由表)
- 管理VLANif(SVI)
静态路由
路由表
- 配置直连接口IP地址,自动生成
- 静态书写
- 动态路由
ip route 子网 mask 出接口 下一跳
- 下一跳设备:下游的第一跳设备
- 下一跳IP:下一跳设备与当前设备直连的接口IP地址
- 出接口
- 两台设备之间需要配置互联地址段
本地环回测试接口
路由器:三层设备(识别数据的三层头部)
功能:负责转发不同子网的数据
路由表:IP子网/mask------port映射
- 接口配置IP/mask,自动生成 …… 接口对应IP子网路由
- 静态路由
- 动态路由学习
网关 gateway (针对PC)
- 网关一定和本PC在同一个子网
- 一定是和本PC直连(没跨三层设备)的三层设备的接口的IP地址
动态路由协议分类
通过动态路由协议,可以在路由器之间自动传递路由条目
不同的路由协议度量网络方式:
- Rip:跳数(路由器之间)
- OSPF:链路开销
按照范围分类
AS:自治系统(自己管理自己系统范围)
- AS内部:IGP内部网关路由协议:RIP,EIGRP,OSPF,IS-IS
- AS之间使用 EGP 外部网关路由协议:EGP(基本淘汰),BGP
按照路由学习方式分类
- 距离矢量协议:路由信息通过其它设备更新:RIP,EIGRP,BGP
- 链路状态协议:路由信息自己计算:OSPF,IS-IS
RIP&RIPng
&*&
特点:IGP中的矢量协议,适用于中小型网络
Metric:度量方式:跳数(针对路由器之间)最大跳数:逻辑15跳。
版本:
- version 1 不支持VLSM(已经被淘汰),有类协议;默认为此
- version 2 支持VLSM ,自动将网络聚合成主类(通告关闭主类聚合)
时间:
老化时间:30*6=180s,6个周期没有收到response后老化掉
消息封装
- 封装在UDP之上 端口号520
- request 路由请求消息(接口刚激活)
- response 路由器通告/响应 (响应请求,30s周期发送)
- 最终存储需要传递的路由消息
- 路由老化时间:180s
路由信息
- 子网号
- mask
- metric
- 收到response消息的接口,成为路由的出口;
- 收到response消息的源地址,成为路由信息的下一跳
RIP防环机制
- 水平分割:从该接口收到的路由信息,不会再从该接口发送(矢量类都有)
- 路由毒化,毒性反转:将路由的metric设置为16跳;再从原接口发送
- 触发更新:路由信息发生变化后,无需等待周期性更新时间,立即向所有接口发送变更通知
缺点
- 最多支持16跳,范围小
- 收敛速度慢
- 容易出环
RIPng
与RIP相比
相同点:
- 基于跳数,最大跳数15
- AD 管理距离:120
- 周期30s ,老化时间180s
- 路由信息学习,防环
不同点:
- RIPv2 认证信息在RIPv2消息
- RIPng认证信息在IPv6头部
GRE:通用路由封装协议
作用:实现基本VPN功能
配置
- 配置公有IP地址
- 配置私有IP地址
- 配置默认路由(公司的出口设备)
- 配置隧道接口
- 配置隧道路由(私网络互通)
EIGRP
&*&
- 内部网关 IGP,距离矢量(直接传递路由)
- 增强型 内部 网关 路由 协议
- cisco私有
消息封装:封装在网络层消息之上,协议/下一首部 ,复用号码 88,目的地址:224.0.0.10
- 算法:DUAL 扩散更新算法
- 非等价负载:两条路径metric不一样,可以负载;默认:等价负载
- 主类可以不宣告通配符
- Null 0 黑洞接口(自动产生):发现该接口的数据全部丢弃,为了防止环路
Passive Interface 沉默接口(连接主机/sever 端口):
- 该接口所在的路由信息,会被其他接口以update方式发送
- 该接口不接受hello消息,也不发送
路由防止环路:
- 默认情况下使用路由毒化,毒性反转
- Delay:infinity 无限大
管理距离:
- 5 汇总
- 90 普通
- 170 外部
feature
- 快速收敛
- 触发更新机制(路由发生变化,立即更新)
- 增量更新
- 丰富的metric计算,精细的metric
- 无类协议,支持VLSM
- 支持多种网络协议(IPv4,IPv6)
- 协议自身具备可靠性机制
基本时间(两端的时间不要求一致)
- hello interval 间隔5s
- hold-time 锁定时间15s
- hold time>hello interval,同一个接口的hold time必须大于hello time
消息类型
- query:查询
- reply:回复
- SIA query:特殊查询
- SIA reply:特殊响应
常用的3种:
- Hello:建立/维护邻居关系(default:每隔5s发一次/老化时间15s)不携带RID
- Update:对EIGRP路由增/删/改,携带RID
- ACK:确认消息,对update确认
路由学习/计算
- FD:可行距离,自身计算的metric。两条路径 FD不同,也可以同时加入路由表。
- RD:报告距离,接收的update消息中的metric
- Best FD:当有多条路径同时到达某一子网时,FD值最小的路径成为Best-FD 最优路径,Best-FD加路由表
- 可行性条件:RD<Best-FD,判断路由器是否能够成为可行后继
- successor 后继(下一跳)
- Feasible Successor 可行后继 (备用下一跳)
- 修改带宽/延时 ,影响协议计算,不会影响真正的转发速度
路由汇总
自动汇总:针对进程
条件:发送的路由和发送的接口不在同一个主类网络
特点:自动汇总成主类
手工汇总:针对接口
优化问题
- Query 后继消失,没有可行后继
- Reply 响应
- active 时间:180s;时间到期后,在TOP表中清除SIA路由信息,并且删除邻居关系
- SIA时间(Stuck In Active)=1/2 active
- Stub Router 末梢路由器
- 直连
- 泄露图
- 只收不发
- 发布所有重分布路由
- 静态路由(重分布EIGRP)
- 汇总路由
- 先匹配策略,再进程汇总:policy 策略;connect 只放行直连
三张表
- 邻居表:存放邻居
- 拓扑表:存储EIGRP所有可用路径(备份路径)
- 路由表:承载最终计算的EIGRP路由
* 邻居建立 AS号码必须一致
认证
MD5认证(密文认证)配置
- 配置钥匙串
- 接口下开启认证
- 接口下配置认证钥匙串
宣告
通配符 32bit
- 0:精确匹配(匹配)
- 1:忽略匹配(不匹配)
相关值
- AS号必须一致
- RID必须不一致
- K值一致
路由信息
- AFI: 地址家族标识(IPv4,IPv6)
- Router ID:在hello消息中不携带RID,RID冲突,邻居关系可以建立;在update消息中携带RID,如果路由条目的RID为自身RID,则拒收
metric:带宽,可靠性,延时,负载,MTU
- 每一个参数对应一个权重值 K值
- 默认情况下:K2=K4=K5=0; K1=K3=1
(参考带宽/实际带宽+延时/10)*256
- 参考带宽:10^7kbps
- 实际带宽: 整条路径单向最低带宽
- 延时:整条路径累计单向(出方向)延时之和
- 微秒:microsecond/usec
默认路由
极端汇总
在接口下配置,只传递汇总之后的默认路由,不传递明细路由
network 0.0.0.0
- 本地要有默认路由
- 默认必须只书写出接口
- 适用于P2P接口
- 发布该设备的所有接口明细路由
重分布静态默认
命名EIGRP
- metric=(K1*minumum Throughput)
- 参考带宽:10^7
- scale:宽度量值的参考系数:65536
- 延时:10^6
OSPF
&*&
- 开放式最短路径优先协议(IETF小组开发)
- 运行IGP中的链路状态路由协议:传递链路状态信息
- 算法:SPF …… 特点:无环;最短路径
- 可以支持多区域
路由器ID (Router ID)
表示路由器身份信息,在创建OSPF进程/重启OSPF进程的瞬间
格式:32bit 三点分十进制
使用场景:
- 建立邻居
- 选主从
- SPF计算
- 各类LSA生成
- 7转5
优选规则:
- 手工配置的RID也需要重启进程才会生效
- 优选最大的环回接口的IP地址映射为RID
- 优选最大的物理接口IP地址映射为RID(down的接口IP地址不会参与RID竞选)
通配符
- 0:精确匹配
- 1:忽略匹配
router-id(RID)
OSPF 路由器唯一的身份信息,不允许冲突
- 32bit,3点分,十进制
- 优选手工配置RID
- 优选最大环回接口IP地址,(映射为RID)
- 优选最大物理接口IP地址,(映射为RID)
虚连接 virtual-link
- OSPF网络区域设置不当(非骨干区域没有与骨干区域相连/骨干区域被分割),会造成OSPF网络中断
- 解决方案:
- 拓扑重新规划
- 临时解决方案:虚连接(设计欠佳的OSPF网络标志)
- 解决方案:
- 本质:OSPF逻辑区域0的点到点(和虚连接配置区域无关)
- OSPF虚连接配置在一个区域内的两个端点(ospf骨干区域/特殊区域:无法配置虚连接)
- link ID:对端路由器RID
- link Data:自身连接到对端点接口IP地址
- metric:两台ABR之间最小累计的metric值
- 通过虚连接收到的LSA,触发DNAbit置位,永不老化
- 虚连接邻居建立是以单播方式建立
- 高级使用场景
- 链路优化
- 链路备份
缺省路由下放
原理:ASBR发送LSA5
LSA ID 0.0.0.0/mask 0.0.0.0/metric 1 type 2
cost计算
- 参考带宽/实际带宽=cost
- 参考带宽:10^8 bitps=100M
- 开销类型:interface cost;route cost:设备到路由终点的单向的累计开销
- 接口metric:参考带宽/接口实际带宽参数 (参考带宽100M)
- 两端保持一致,接口metric最高为65535
- 路径metric:路径单向累积metric
SPT 最短路径树
- 计算骨干
- 计算叶子
- SPF有向计算完毕
- all-set
- 候选集合
- 已知集合
OSPF路由汇总(始发路由器可以汇总)
- 在OSPF区域内无法做路由汇总(LSA1/LSA2)
- LSA3汇总:始发区域的始发ABR的始发区域
- LSA5汇总:始发ASBR
- LSA7:NSSA区域始发-LSA7-ASBR
- LSA7在进行7转5时,可以进行二次汇总(在NSSA的ABR上操作)
OSPF组 步调计时器(cisco设计)
定期按组打包时间:240s
OSPF消息
封装在IP头部之上,协议号89
SIP:接口IP地址
DIP:
- 224.0.0.5:所有OSPF路由器监听
- 224.0.0.6:所有的DR和BDR
消息头(基本头)
- 版本 2
- 消息类型:表示头部之后的消息类型
- 包长度:OSPF整个包的长度(不包括IP头)
- RID:32bit(必须不一致)
- 区域ID:32bit(必须一致)
- 校验和:对OSPF消息进行差错校验
- 认证类型:空认证/明文认证/密文认证,默认不使用认证
- 认证数据:默认为0(必须一致)
消息类型
Hello
邻居关系的建立/维护
- 接口mask
- hello interval
- option 可选项
- 优先级,选DR/BDR
- dead time
- DR选举
- BDR选举
- Active neighbor:接收到对方hello消息的邻居
- 发送间隔时间:
- broadcast/P2P:10s
- NBMA/P2MP/P2MP-NB:30s
- Dead time= 发送时间间隔*4
DBD
- 数据库描述消息:LSA完整头,描述LSA摘要信息
- 主从选举/同步LSDB状态,从需要对主的每一个消息确认
- 主/从 :从先发送DBD消息带有LSA摘要(描述信息)通知主
- MTU (IP MTU)
- 两端MTU不一致
-
- 从MTU大,主MTU小 …… exchange …… exstart
- 从MTU小,主MTU大 …… exstart …… exstart
-
- option 可选项
- DBD flag 标记
- R: bit:保留
- I:bit init: 初始化bit,1=第一个DBD消息(用来主从选举),0=非第一个DBD消息
- M:bit more 更多位,为1表示更多的摘要信息
- M/S bit:Master/slave 主从位,为1表示master
- Sequence number序列号:随机产生;从需要对主的每一个DBD消息进行确认
- LSA摘要信息(LSA部分信息)
LSR
链路状态请求(LSA三要素):LSA请求消息,通过LSA摘要信息,请求LSA完成信息
LSU
链路状态更新(完整LSA):LSA更新消息(存储LSA真正的内容),对LSR做确认,发送完整的LSA信息
LSACK
链路状态确认(LSA完整头):对LSU的确认
工作过程
- 发送hello消息,建立邻居关系(以太网需要建40s)
- 向邻居通告LSA 链路状态通告
- 同步LSDB 链路状态数据库
- 使用SPF算法选举路径
- 计算路由加入路由表
DR/BDR
- 问题:N方问题(建立过多的邻居关系数量)
- DR:指定路由器,解决N方问题
- BDR:备份指定路由器(监视DR状态,如果DR失效,BDR立刻成为DR)
- 选举需要有等待时间=dead interval
- DR/BDR是一种接口角色,一个设备的不同接口可以是不通角色
- 顺序:先选BDR再选DR
- 邻居关系重新建立,会触发DR重新选举
路由器角色
- DR:指定路由器,一个MA网络中选举一个DR
选举时间:waiting-timer=dead time
- BDR:备份指定路由器:可以节省邻接数量
选举方式:使用hello消息(比大)
- Priority:0-255;Default:1;0 表示放弃参选
- router-ID
选举方式
在MA网络中选举,每个MA网络中都有一个DR/BDR选举
根据hello消息选举
- priority 优先级比大(在hello消息中),默认为1,范围 0-255;特殊值为0,表示放弃参选DR和BDR
- router-ID(在OSPF报头中)
网络类型
不同的网络类型,建立邻居关系方式不同
网络类型 | 接口二层协议 | ||
MA(≥2) | BMA | 带有广播的多路访问 | Ethernet2/802.3 |
NBMA | 无广播的多路访问 | Frame-relay,ATM异步传输网络 | |
P2P(=2) | P2P | 点到点 | PPP/HDLC/Tunnel |
P2MP | 一个接口可以建立多个点到点 | Ethernet2/802.3 | |
P2MP NB | 点到多点非广播,多个点到点,每一个点到点里都不能使用广播(私有) | 无二层协议对应,须手工配置,所有设备之间都是邻接关系 | |
Loopback(私有) | 网络类型不能修改,但是可以被修改 | loopback |
- DR和BDR与所有设备都保持邻接关系,DR other之间保持two-way 邻居关系
- OSPF接口网络类型由接口二层协议决定的,每个OSPF设备的不同的接口可以是不同的网络类型
- 建立邻居关系时,两端的网络类型需要保持一致(DMVPN情况除外)
- 多路访问网络(在Ethernet网络中,,一个广播域=一个MA)
邻居关系建立
- 需要一致(不一致到不了two-way状态):版本;Area ID;认证Key-ID;认证密钥;子网掩码(MA网络);hello时间;dead time时间;option E/N
- RID不冲突
- MTU需要一致,不一致会卡在某个状态(邻居可以建立/邻接不可建立)
- 网络类型不一致,有可能导致路由学习异常
*^^* 在OSPF建立邻居关系时,两端子网掩码在MA网络中需要匹配,在P2P网络中不需要匹配
邻居状态机(状态切换机制)
- Down:邻居失效状态
- Attempt:手工触发尝试发送hello(NBMA 独有)
- Init:A发送hello,B收到hello但未回复,单向连通状态,收到hello消息中不包含自己RID
- 2-way 邻居:不同步数据库,只打招呼;双向连通状态,B回复hello并回复自己已收到A,包含自己的RID(DR other稳定停留在此状态)
- Exstart(主从):扩展开始状态,主从选举,只比较RID选主从
- Exchange 交互LSA:扩展的交互状态,两端互相交换LSA摘要信息
- Loading:加载状态,请求未同步的LSA信息
- Full 邻接:同步数据库;完全邻接状态,双方LSDB完全同步
OSPF选路规则
- 同是OSPF域内路由,比较cost(低)/相同负载均衡
- 域内优于域间,LSA1/2>LSA3 intra>inter
- 域间路由优于域外路由,LSA3>LSA5 inter>external
- 同是OE2路由,优选 LSA5 OE2 metric低的,OE1>OE2
- 如果使用RFC1583选路,优选去往ASBR路径开销小的,开销相同看负载;如果关闭RFC1583选路,优选非骨干区域路径
多区域
区域划分
- 区域号 0:核心区域/骨干区域
骨干区域必须连续,不允许被分割
- 区域号 非0:非骨干区域
角色
ABR
(Area Border Router) 区域边界路由器
责任:将区域x内部学习到的路由信息传递到区域y
BBR
(BackBone Router)骨干路由器
ASBR
(AS Boundary Router)执行了重分布操作的路由器
域外路由传递
- OSPF每1个进程数据库独立
- 通过其他协议(RIP/EIGRP/BGP/ISIS) 不会自动通过OSPF传递给其它邻居
- OSPF如果需要和其它协议之间互相通信,需要做重分布
- OSPF传递外部的路由信息,LSA5方式承载
特殊区域
- (不能存在LSA5)骨干区域不能被配置成特殊区域;特殊区域不能配置虚连接
- ABR自动将LSA7转为LSA5注入到骨干区域
- Stub 末节区域
- Totally stub 完全末节区域
- Not-So-Stubby 非完全末节区域:该区域ABR不会向区域内部注入LSA5(注入LSA3);NSSA区域所在ASBR可以将外部路由以LSA7方式注入;该区域ABR需要手工下放默认LSA7
- Totally NSSA:该区域ABR不会向区域内部注入LSA5/LSA3明细;NSSA区域所在ASBR可以将外部路由以LSA7方式注入;该区域ABR需要自动下放LSA3默认
*^^*
- 当NSSA区域包含多个ABR时,router-ID大,7转5
- LSA7中必须包含FA地址,在LSA7转LSA5时,FA地址需要携带
- 当骨干区域路由器,其它区域路由器收到
OSPF认证
认证方式
认证方式 | 类型 | 认证数据 |
空认证 | null | 000000000000 |
明文认证 | simple | 明文密码 |
摘要认证 | MD5 | 摘要信息(密文),对密码哈希运算,无法逆运算 |
认证配置方式
- 接口认证:针对接口生效
- 区域认证:针对区域内所有接口生效(密码仍需在接口下配置)
OSPF option
Hello;DBD;LSA头;E bit
LSA
头部
- 链路状态三元素(确定唯一的一个LSA)
- LSA-ID 根据不同的LSA类型,LSA-ID表达内容不同
- Advertise Router(ADVR) 通告者路由器(LSA产生设备)
- 老化三元素:判断LSA新旧
- LSA序列号:0x80000001 - 0x7FFFFFFF(比大)
- 校验和:根据LSA信息校验和值(比大)
- LSA age:0-3600s(老化时间)比小,误差900s以内 相同
- DNA:Do Not Age 永不老化:当LSA DNAbit置位时,表示该LSA永不老化(虚链路/伪链路)
- option/length
类型
LSA Type | LSA ID | ADV-Router | 产生者 | 描述信息 | 传递范围 | |
LSA 1 | Router-LSA | 通告者/产生者RID | All Routers | 链路状态 | 区域内部 | |
LSA 2 | Network-LSA | 伪节点RID | DR-RID | MA-DR | MA中相连的routers/mask | 区域内部 |
LSA 3 | Summary-network | 传递的路由信息的子网号码 | ABR的RID | ABR | 域间路由信息 | 区域内部 |
LSA 4 | Summary-ASBR | ASBR的RID | ABR的RID | ABR | ABR-ASBR路径的cost/ | 区域内部 |
LSA 5 | AS-external | 路由器的子网号 | ASBR的RID | ASBR | AS外部的路由信息 | 除特殊区域外的AS |
LSA 7 | NSSA-external | 外部路由子网号 | NSSA-ASBR-RID | NSSA-ASBR | AS外部的路由信息 | NSSA区域内 |
LSA 1 :Router-LSA
- 独有参数:各类link
- 具体内容
- link-type 链路类型
- P2P
- 当前路径接口地址……对端路由器RID……当前接口metric
- transit
- 当前路径接口地址……对端(伪)路由器RID……当前接口metric
- stub
- mask……子网号……当前接口metric
- virtual-link
- (逻辑上的区域0的点到点)
- link-type 链路类型
-
- link-data:当前路径接口的IP地址
- Link-ID:对端路由器的RID(当前路径连接的路由器的RID)
- metric:当前设备接口的metric值
- LSA1中link产生条件
- P2P:接口下有P2P网络类型的邻居
- Transit:MA接口,该接口下建立MA类型邻接关系
- stub:接口发布进OSPF,没有邻居关系;接口具备P2P网络类型的邻接关系
LSA 2:network LSA
独有:Attached Router;MA:子网掩码
LSA 3:summary-network
- mask:路由子网掩码
- Metric:ABR的路由表中的metric
- 在进行计算时,需要将该LSA以叶子的方式挂在ABR节点上,并且标记LSA3
- ABR防环机制(三类LSA的防环机制)
- ABR条件:多区域(其中必须有一个是骨干区域【0】)
- ABR不处理来自非骨干区域的LSA3
LSA 4:ASBR Summary
- metric:ABR到ASBR的域内metric
- 在ASBR所在的其它区域中,该区域的ABR会产生LSA4传递下去。*^^* LSA4与LSA3格式相同
LSA 5:AS External
- mask:外部路由的mask
- metric:固定值20
- 特殊参数
- metric type:度量值类型
- type 1:累积OSPF域内metric
- type 2(默认类型):直接计算LSA5的metric
- type 1>type 2
- Forwarding address(FA地址)
-
- 作用:用于防治出现次优路径
- 本质:ASBR路由表下一跳地址
- 当OSPF域内路由器,收到LSA5后,优选LSA5中的FA地址作为下一跳,如果FA地址空,再优选ASBR路径
- 产生条件
-
- ASBR连接到外部路由所在的网络必须是MA网络
- ASBR连接到外部路由所在的接口必须发布到OSPF中
- ASBR连接到外部路由所在的接口不能被passive ->(passive接口:不发送hello消息,但接口的路由信息可以被传递)
- tag 标记:默认为0 实现后期高级路由策略
LSA 7:NSSA-external-LSA
- Mask;metric;metric type;FA地址;tag
- LSA7地址产生条件
- 1:MA/宣告OSPF/没有被passive
- 2:优选最先发布进OSPF的环回接口;优选最后发布进OSPF的物理接口地址
OSPF产生新的LSA的条件
周期性更新:3600s/2
修改接口的IP地址/子网掩码/接口开销/接口网络类型
该接口邻居关系建立/中断
Access-Control-List
访问控制列表:匹配工具;permit 允许;deny 拒绝
配置分类
编号ACL
- standard 基本(标准)ACL:1-99,1300-1999 …… 只能匹配源IP地址 …… 靠近目的
- extended 扩展ACL:100-199,2000-2699 …… 可以匹配IP、目的IP、协议号以及源/目端口号 …… 靠近源
命名ACL
- 标准/扩展是人为定义的
配置过程
- 配置名字、IP地址、网关
- 测试直连地址、网关
- 配置路由协议(all interfaces)
- ACL调用(接口下匹配流量,执行流量过滤、路由策略下匹配路由等)
in:控制入方向流量
out:控制出方向流量
匹配规则
- 一个ACL中可以书写多个ACL rule;每一个ACL rule都有一个rule序号
- ACL进行匹配,从序号低向序号高匹配
- ACL一旦匹配到规则,则不再向下进行匹配
- 包含 deny any 隐式拒绝所有(只有deny的语句没意义)
NAT
网络地址转换:私有地址和公有地址进行转换,实现私有IP地址访问Internet
实现
- NAT需要在公司的Internet的出口设备中实现
- 实现NAT之前,必须解决默认路由问题
- 公司site内设备需要有到出口设备的默认路由
- 出口设备需要有到ISP的默认路由
- NAT在进行转换时,需要指定内部接口和外部接口;NAT在从外部出口发送流量/接收流量时进行地址转换
- NAT从out接口发送流量时,将数据源私有地址,转换为公有源地址;从out接口接收流量时,将数据目的公有地址,转换为私有目的地址
实现方式
静态NAT
特点:一(私有)对一(公有)转换关系
动态NAT
ACL地址段,动态匹配公有地址池
NAPT 网络地址端口转换
通过一个公有IP地址实现公司内网inside所有主机访问Internet
流程
• ACL匹配私有地址
• 将ACL绑定给出接口,并执行NAPT
NAT sever:
提供一个公有的IP地址,映射内网某一台服务器的私有地址
NAT server保护
QoS
Quality of Service 服务质量,网络流量优化技术:使流量进行差分对待,使优先级高的流量优先转发
&*&
本质:根据流量进行差分对待,使优先级高的流量获取更多资源
质量体现
- 带宽
- 延时=传输延时,处理延时,队列延时累积之和
- 抖动:包之间的延时不等
- 丢包
QoS模型
- 尽力而为模型:FIFO First In First Out
- 综合服务型:RSVP 资源预留协议
- 差分服务模型:DiffServ 差分服务模型
- 对不同流量进行差分对待
拥塞管理
- 硬件不拥塞,软件不排队
- 队列只在出方向有,入方向没有
- 传统丢弃方式:尾丢弃
RED
早起随机检测(早检测,早丢弃,随机丢)
低门限,高门限,最大丢弃概率
WRED
专门解决伪丢弃出现的滑窗问题
加权早期随机检测(早检测,早丢弃,加权丢)
只能对TCP起效,对UDP不起效
队列技术
- FIFO 先进先出
- RR Round Robin 轮询
- WRR
- DRR 赤字:基于byte做权重
- PQ:优先级分类:1high;2medium;3normal;4low;默认为3
- WFQ:(基于流,按流来分)加权公平队列 自动计算,自动加队,自动分配权重
- 人为无法干预
- 浪费设备开销
- LLQ(低延时队列)=PQ+CBWFQ 基于类的加权公平队列,cisco建议只将语音流加入到这种队列中。
流量分类
2层分类 | 802.1P in 802.1Q | 3bit优先级 0~7 |
2.5层分类 | MPLS exp | 3bit 0~7 |
3层分类 | IPv4,IPv6 Type Of Service(TOS) | 8bit |
- IP-preference (IP-P) 3bit后2bit为固定0,和二层映射
- DSCP (differentiated Service Code Point)差分服务代码点 6bit 前3bit 为传输优先级 8种,后3bit为丢弃优先级 8种,64种DSCP
DSCP(区分服务代码点) 对流量的具体分类:
- BE 尽力而为传输(不做任何QoS传输)默认000 000
- CS 类选择器,只做传输优先级,不定义丢弃优先级(000)
- AF 承诺转发:4种传输优先级,3种丢弃优先级
- EF 快速转发:传输优先级为101,丢弃优先级为110
流量监管
令牌桶:对流量进行分类
- Tc:time committed 默认125毫秒
- Bc:burst committed 单位bit
- Be:burst excess Be是从Bc溢出来的令牌
Tc=Bc/CIR
- CAR:约定访问速率
- CBS:承诺桶尺寸(Bc)
- 单桶单速 …… 双色
- 双桶单速 …… 三色,临时突发
- 双桶双速 …… 三色,持续突发
BGP:边界网关协议
&*&
- 一个BGP设备只能属于一个AS
- 管理距离
- IBGP:200
- EBGP:20
- BGP在传递路由信息时,update报文中会携带下一跳参数
- 黑洞:中间节点路由器没有运行BGP,没有学习到路由信息
- 解决方案:全互联:邻居关系数量过多
- 路由反射器:router-reflector 针对IBGP黑洞
- 角色:1.反射器 2.反射客户端
- 选路:i优于?
BGP认证
- 报文中不包含认证字段
- 认证字段使用TCP option字段
汇总(在进程下)
汇总方式(默认不汇总)
- 自动汇总
- 针对路由重分布,自动汇总主类
- 手工汇总
ASN ……> By IANA
ASN版本:
- 2字节:2^16 1-65535
- 公有AS:可以在互联网中使用 1-64511
- 私有:只能在本地测试 64512-65535
- 4字节:2^32
基本思想
EGP:外部网关协议(AS之间使用,AS之内也可以使用)路径矢量
侧重点:选路
三张表
邻居表
BGP表
路由表
选路
- 下一跳可达
- 权重(比大)
- LP(比大)
- 优选本地始发
- AS(比短)
- 比较起源标识符(i>?)
- MED(比小)
- EBGP>IBGP
- IGP metric(具备负载均衡条件)
- 优选最早EBGP路由
- bgp RID比小
- 邻居IP地址(比小)
BGP规则
最优路由,传递给邻居并加表
下一跳规则
- 本地自身直连的始发,本地下一跳为 0.0.0.0
- 路由信息在传递给IBGP邻居时,下一跳修改成和邻居建立BGP关系自身接口地址
- 任何路由信息在发送给EBGP邻居时,下一跳要修改成和邻居建立BGP关系自身的接口地址
- 从EBGP学习到的路由信息,传递给IBGP对等体,下一跳不变
路由传递规则
- 始发路由信息可以传给所有对等体
- 从任何对等体学习的路由信息,都可以传递给EBGP对等体
- 从EBGP学习到的路由信息,可以传递给其它所有的对等体
- 从IBGP学习到的路由信息,不能传递给IBGP对等体(IBGP水平分割)……II不传
路由反射器
从反射客户端学习到的路由信息,可以传递给所有对等体
从所有对等体学习到的路由信息,可以传递给所有反射客户端
从非客户端学习到的路由信息,不允许传递给非客户端
BGP联盟
基本配置
- 必须手工指定单播邻居关系,不能动态发现邻居
- 指定邻居的AS号码
邻居关系
- iBGP 内部BGP:相同AS
- eBGP 外部BGP:不同AS
- (IBGP常)使用环回接口建立邻居关系
原因:
- 在建立BGP邻居关系之前,确保建立邻居的单播地址可达
- BGP使用单播地址建立邻居关系,不必是物理邻居
- 在AS内,运行IBGP之前,首先运行IGP,确保单播地址可达
好处:
- 稳定
- IGP协议自动收敛
- EBGP建立邻居常用接口建立(BGP联盟使用环回口建立邻居)
路由发布
- network宣告(子网号/掩码 必须和路由表中 一致)
- 重分布
报文
TCP之上,端口179
消息类型
- open 开启
- 协商BGP号码
- 协商RID
- 能力(地址家族/路由刷新/4字节AS号)
- holdtime=keepalive * 3
- keepalive 保活:周期发送 60s
- update 更新:对路由进行增/删/改
- 撤销路由 【删】
- 路径属性
- NLRI 网络层可达信息(子网号/mask) 【增】
- notification 通知:错误通知
- route-refresh 路由刷新:可用于BGP软清
状态机
- idel:空闲状态
- connect:连接状态,触发三次握手
- active :活跃状态,三次握手没建立成功
- opensent: 握手成功,发送open消息
- openconfirm:表示对open消息确认,协商成功
- establish:建立状态
属性
作用:防止环路/标记/选路
类型
公认属性:所有BGP设备必须识别
- 公认必遵:必须携带
- origin 起源标识符:标记/选路,表示路由以何种方式进入到BGP中
- network:“i” 标记/redistribute:标记 “?"
- AS-Path(AS路径)
- 作用:防环/选路/标记
- BGP路由器传递给EBGP对等体路由信息时,需要在update报文中携带AS-Path,每经过一个AS,需要增加当前AS的号码;BGP路由器收到update消息后,判断该as-path中是否包含自身AS号码,如果包含,则直接拒收
- Next-hop
- 标记路由信息的逻辑下一跳
- 本地始发的直连,下一跳为0.0.0.0
- 公认任意:可以不携带
可选属性:不要求所有BGP设备识别
- 可选过渡:该属性需要传递
community 团体属性
- 公有团体属性,限定BGP路由传递范围
- no-export:收到的BGP信息中如果包含该属性,该路由信息无法传递EBGP对等体,无法传递给其它AS
- no-advertise:收到的BGP信息中如果包含该属性,该路由信息无法传递任何对等体
- local-as :收到BGP信息中,如果包含该属性,该路由信息无法传递给联盟内的其他成员AS
- * 默认情况下,BGP传递给路有消息,不携带团体属性
- 私有团体属性,对BGP路由标记
- 可选非过渡:该属性不要求传递
MED 多出口鉴别器
- 作用:用于标记本AS内到IGP-metric 选路
- BGP默认情况下不比较 不同AS的MED
Local-preference(LP):本地优先级
- 作用:选路
- 只能在IBGP之间传递,该属性无法传出AS
- 默认100 比大
选路参数
- cisco weight 权重(in方向策略)
- 比较优先级 高于LP
- 默认
- 本地始发:0-65535
MPLS
&*&
多协议标签交互(2.5层协议)
previous
- MPLS转发需要使用到CEF技术,使用硬件ASIC
- MPLS发明初期解决IP转发速度过慢
- MPLS支持VPN功能,QoS服务,TE流量工程
特殊/保留标签 0-15
3:隐式空标签
角色
设备角色
- MPLS域:由所有的MPLS设备构成范围
- MPLS router (LSR):标签交换路由器,运行在MPLS域内的路由器
- LER:标签边缘路由器
方向角色
- ingress 入节点
- transit 传输节点
- egress 出节点
MPLS动作
- push 压标签~~~~~ingress
- swap 换标签~~~~~transit
- pop 弹出标签~~~~~egress
FEC 转发等价类
MPLS将一个路由条目视为一个等价类,MPLS为一个等价类分配一个标签
转发原理
- LFIB Label Forwarding Information Base 标签转发表
- 运行MPLS之前,需要运行IGP协议,学习到路由
- 标签分发协议:LDP
- 当前设备的out标签,一定是下一跳的in标签
- 标签表根据路由表生成
VPN
私有网络互联
运营商VPN设备角色
- PE:运营商边缘设备(与客户直接对接)
- Global 全局路由表(ISP)
- VRF 虚拟路由转发表(私有网络)
- P:运营商骨干设备
- RD:路由区分符 64bit AA:NN
- CE:客户边缘设备
实现过程
- 构建控制平面(学习路由信息)
- 路由信息命中对端PE-VRF
- Route-Target(RT) 路由喜好/路由目标
- in RT 表示接收到的路由信息的RT值
- 本质:BGP extended-community(64bit)
- out RT 表示发送的路由信息的RT值
- 构建数据转发平面(转发数据)
- 公有网络 私有网络路由BGP黑洞问题(as:P设备没有VRF)
- 对端的PE设备根据数据查找VRF~~~~~根据MPLS的里层标签
配置
- 公网IP地址
- 公网IGP
- 配置VRF,绑定RD/RT
- 接口绑定VRF
- 配置私网地址
- 建立BGP VPNv4邻居关系
- IGP重分布进BGP
- BGP路由重分布进IGP
- 运行MPLS/LDP
排障
- 查看MPLS LDP邻居关系
- 没有激活接口
- RID过大
- 查看接口
PBR
Policy-Base-Route 策略路由(针对数据包的源地址来选路)
不会影响路由表
IPv6
&*&
128bit 2^128地址
特点
- 地址数量庞大
- 简化头部
- 增强了安全性和移动性,地址切换更灵活
- 过渡技术丰富
地址格式
冒号分 16进制:
128bit分成8组,1组16bit,16bit 四个16进制数值
XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX
支持简写:
前边的0可以省略
连续的0简写为::,双冒号只能使用一次
地址组成:
前缀ID PI:前64bit
子网(接口)ID II:后64bit
子网判断:两个地址的前缀ID是否相同
地址的(接口ID)自动获取
EUI-64-MAC-for-address:
- 插入 OUI后16bit插入FFFE
- U(全局位)/L(local本地位)反转:第8个bit反转,0变1,1变0
例:aa-bb-cc-00-11-22
- aa-bb-cc-FFFE-00-11-22
- a8bb:ccff:fe00:1122
自动生成IPv6地址(PI+II):
- IPv6无状态自动配置 NDP
- IPv6有状态自动配置 DHCPv6
ICMPv6
互联网消息控制协议v6,封装在IPv6之上,next header=58
ping测试 ICMPv6 Echo request
traceroute
新功能:NDP功能 邻居发现协议
地址分类
单播地址link-local
- 链路本地单播地址:只能在链路内(广播域)使用,自动生成:FE80::/10(/10表示前10个bit需要跟FE80一样)1111111010 …… 路由协议使用
- 本地唯一单播地址:只能在站点内通信(类似IPv4的私有地址):FC00::/7 11111100
- 全局唯一单播地址:可以在互联网内通信(相当于IPv4公有地址):前3bit固定位001
区分
• 001x……(x为二进制数值)
• 前48bit为全局路由前缀:2^(48-3)个;每一个组织或个人都可以申请;剩余的16bit为子网ID
组播地址 FF00::/8
可用时间位: 9-13bit
- 0000:永久组地址
- 0001:临时组地址
组地址范围位: 13-16bit
- 1 node 节点内 0001
- 2 link 链路内传递 0010
- 5 site-local 本地站点内传递 0101
- 8 organization 组织内传递 1000
- E global 全局内 1110
特殊地址:
FF01::1 | All nodes(node-local)多播 |
FF01::2 | All routers(node-local) |
FF15::1 | 站点内的临时组 |
FF0E::8 | 全局的永久组 |
FF02::1 | 所有组播设备使用 nodes of link local |
FF02::2 | 所有IPv6组播路由器 routers of link local |
FF02::5 | 所有OSPFv3路由器使用 |
FF02::6 | 所有OSPFv3的DR/BDR使用 |
FF02::9 | 所有RIPng路由器使用 |
FF02::A | All EIGRPv3 routers |
FF02::B | Mobile agents |
FF02::C | SSDP |
FF02::D | All PIM Routers |
任意播地址(目前的现网环境未实现)
报文头部
基本报文头(必选)长度固定
第一行
-
- version:版本 4bit 0110
- type of service:服务类型 8bit
- flow table:流标签,区分不同IPv6流量
第二行
-
- payload length 有效载荷,IPv6头部之上数据的最大长度 16bit
- next header 下一头部 ,表示上层协议 8bit
- hop limit 跳数限制 8bit
source IPv6 address 128bit
destination IPv6 address 128bit
扩展报文头(可选)
- 分片报文头
- AH认证头
- ESP封装安全载荷头(加密)
IPv6 route base
RIPng
特点:
- 跳数最大 15
- AD管理距离:120
- 30s周期性更新路由信息
- FF02::9
流程:
- 配置rip进程
- 激活接口(发送路有接口,和需要被发送路由的接口)
OSPFv3
• 特点
• 学习IPv6路由
• 子主题 2
• 流程
• 配置OSPFv3
• 配置OSPFv3的router-id
• 激活OSPFv3接口,进入进程、区域
EIGRP for IPv6
• 流程
• 配置进程
• 配置RID
• 配置接口,激活
BGP for IPv6 - EGP
Security
安全产品:ASA;FirePower;ISE;WAF:Web Application Firewalls
端口安全技术
- 最大 接口数量
- 地址学习方式
三种安全MAC地址的区别
静态安全MAC地址
配置的静态MAC地址存储在地址表中,并添加到交换机的运行配置中。当接口出现up/down的时候,静态配置的安全地址表依然保留。
动态安全MAC地址
动态MAC地址是动态获取的,并且仅存储在地址表中,以此方式配置的MAC地址在接口出现up/down或者交换机重启时将被移除
粘滞安全MAC地址(sticky MAC)
先动态的学,学到之后在“粘”起来形成静态。在接口up/down后仍能保存,而在使用write后,这些sticky安全地址将被写入start-up config,即使重启也不会丢失。
SSH 安全壳协议:实现以加密的方式进行远程登录
对称加密
- DES:标准加密算法
- 3DES:3倍标准加密算法
- AES:高级加密算法
非对称加密算法
- RSA
- DH
DHCP安全
DHCP snooping监听机制
攻击方式 | 防范 | |
饿死攻击 | 外层MAC地址不修改,修改里层CHADDR | DHCP snooping check CHADDR |
外层MAC里层CHADDR同时修改 |
| |
serve仿冒攻击 |
| 信任端口,discover消息只向信任端口转发 |
配置流程
- 配置攻击者
- DHCP server
- PC获取地址
- 防范
- 配置防范命令
- 配置真实DHCP server
- 主机重新获取IP地址
密码破解
- register 寄存器 16bit
- 0x2102开机加载 NVRAM startup.cfg
- 0x2142开机不加载 NVRAM startup.cfg
实验
- 配置主机名 密码 保存
- reload重启
- 使用开关重启
- Ctrl+c 进入mini OS
- confreg 0x2142
System
设备管理
NTP 网络时间协议:设备的时钟同步
设备角色
流程
- 配置IP地址,ping测试
- NTP server地址
Cisco设备文件系统
主板/存储/CPU/接口
- RAM:当前正在运行的配置文件
- NVRAM:存储各类配置文件
- ROM:OS(MiniOS)
- Flash:/ :OS(IOS)
AAA
content
- Authentication 认证
- Authorization 授权
- Accounting 计费
通信协议
Radius 公有协议
默认端口:UDP之上的1812 和1813
- 只对数据包内的密码进行加密
- 认证和授权结合在一起
TACACS+ 私有协议
terminal Access controller Access control system plus 终端访问控制器访问控制系统 TCP 49端口
- 对完整的数据包进行加密
Cisco设备初始化
IOS:思科网络设备操作系统:
RAM(输入命令)断电丢失
ROM(IOS)
NVRAM(cfg配置文件)可以把RAM里的文件保存