LAN技术
MAC地址表
-
MAC表(由MAC地址+接口号组成)
- 动态MAC表(设备缺省下此状态):自动学习,可老化,老化时间300秒。
老化时间命令:mac-address aging-time 200
- 静态MAC表:手动指定,不老化。
静态命令:mac-address static 0000-005e-0002 G1/0/2 vlan10
- 黑洞MAC表:手动指定,不老化,报文头部源、目MAC地址匹配表项的都丢弃。
黑洞命令:mac-address blackhole 0000-005e-0003
MAC表示例:
MAC | 接口 | Type |
00-00-00-5e-00-01 | G1/0/1 | dynamic |
00-00-00-5e-00-02 | G1/0/2 | static |
00-00-00-5e-00-03 | blackhole |
-
端口安全(port security)
- 安全动态MAC地址:使能端口安全,未使能sticky mac,可老化。
动态命令:port-security enable //接口下开启端口安全
port-security protect-action shutdown/restrict/protect //安全动作为关闭;安全动作:关闭(缺省)、限制(丢弃报文,生成日志)、保护(丢弃报文)
port-security max-mac-number 2 //最大学习地址数量为2
port-security aging-time 1000 //老化时间为1000
- 安全静态MAC地址:使能端口安全,手动配置的MAC地址。
- Sticky MAC地址:使能端口安全,使能stick mac,不老化,可手动配置MAC地址。
Stick mac命令:全部接口视图下
port-security enable
port-security protect-action shutdown
port-security max-mac-number 2
port-security mac-address sticky //开启sticky功能
-
MAC地址漂移
现象:
一台设备学习到多个接口对应同一MAC地址的情况,后学习到的会覆盖前面学习到的。
产生原因:
环路或MAC攻击
解决方法:
- 提高某一接口的MAC地址学习优先级,低优先级的就不会覆盖高优先级的MAC地址表项。
命令:mac-learning priority 3 //接口视图下配置MAC学习优先级为3(缺省为0)
- 不允许相同优先级的接口发生表项覆盖。
命令:undo mac-learning allow-flapping //全局视图下禁止同MAC优先级覆盖
- 配置MAC漂移检测,基于全局或者VLAN下。
命令:mac-address flapping detection //基于全局配置MAC漂移检测
Loop-detect eth-loop block-time 100 retry-time 3 //基于VLAN配置MAC漂移每100秒内检测3次
- 单词记忆
aging老化 dynamic动态 static静态 protect保护 action动作 flapping漂移 allow允许
detection检测 retry重复 blackhole黑洞
免费ARP
- 免费ARP:设备主动使用自己的MAC地址广播发送ARP请求
- 产生环境:
- 设备获取到IP地址后通过免费ARP查重。
- 设备MAC地址改变后,通过免费ARP通告网内其它设备。
- VRRP中主备切换后,master会发送免费ARP通告网内其它设备
堆叠技术
堆叠角色:
主、备、从设备。(堆叠完成后如果有新设备加入堆叠中,不会抢占主备角色,只能成为从设备)
堆叠参数
- slot槽位号唯一性;
- 优先级配置,越高越优先,缺省100。
-
Master设备选举条件
- 设备运行情况,先运行选举为主设备;
- 优先级比较,越大越优先;
- 比较MAC地址,越小越优先。
-
配置命令:
- 堆叠卡堆叠
stack slot 0 priority 200 //配置第一台设备优先级使其为主
stack slot 0 renumber 1 //第二台设备默认槽位号更改
stack slot 0 renumber 2 //第三台设备默认槽位号更改
- 业务口堆叠
第一台设备:
Interface stack-port 0/1 //创建堆叠逻辑口
port interface g0/0/27 enable //物理接口加入逻辑接口
Interface stack-port 0/2 //创建堆叠逻辑口
port interface g0/0/28 enable //物理接口加入逻辑接口
stack slot 0 priority 200 //优先级
第二台:
stack slot 0 renumber 1
Interface stack-port 1/1 //创建堆叠逻辑口
port interface g1/0/27 enable //物理接口加入逻辑接口
Interface stack-port 1/2 //创建堆叠逻辑口
port interface g1/0/28 enable //物理接口加入逻辑接口
第三台同理
WAN技术
PPP协议
位于数据链路层,点到点链路协议
PPP组件
1.数据封装方式:定义数据包封装方式;
2.链路控制协议LCP:建立、协商、测试和认证功能;
LCP报文:配置报文、终止报文,维护报文(缺省10S)。
Configure-Request 发送本端非默认参数 | Configure-Ack 接受对端request参数 | Configure-Nak request参数不合法 | Configure-Reject request参数不识别 |
Terminate-request 终止请求 | Terminate-ack 终止确认 | 终止报文3秒重传一次最多重传2次 | |
Echo-request 维护请求报文 | Echo-replay 维护确认报文 | 连接建立成功后每10秒发送一次维护报文 | |
协商参数:MRU最大接收单元(缺省1500)、认证协议PAP/CHAP(缺省不认证)、魔术字检测环路(缺省启用)。 |
LCP认证功能报文:PAP协议和CHAP协议
PAP协议 | Request(携带明文用户名和密码)、ack、nak报文 |
CHAP协议(ID值为标识一次认证的数值,随机产生) | Challenge(验证方发送连接请求,携带ID+用户名+随机数)、Response(被验证方返回MD5运算后的ID+密码+随机数的数值)、Success(验证方MD5运算后比对数值相同发送此包)、Failure(失败)。 |
3.网络层控制协议NCP:对不同的网络协议建立连接和协商参数(IP、DNS、Server ip),两端地址可以不同,只是为了区分地址不冲突。
NCP网络层参数协商-IPCP静态协商IP地址
Configure-request(两端都需要发送) | Configure-ack(两端都需要发送) |
请求连接,携带自身的网络参数IP等 | 比对合法,回复确认报文 |
IPCP动态协商IP地址:当其中一端未分配IP地址,会向对端请求分配一个地址。A(未分配)与B建立连接
协商过程:
A向B发送configure-request报文,携带0.0.0.0 ip地址;
B收到后向A回复configure-NAK报文,携带分配给A的地址;
A收到后采用B分配的IP地址,并发送configure-request,携带新分配的IP地址;
B收到比对合法性,通过回复configure-ACK报文,并发送configure-request携带自己的IP地址;
A收到后比对,合法则回复configure-ack报文。
- 连接状态变化:
- Dead:初始状态接口未开启;
- Establish:端口up后,进入连接建立状态,通过LCP协议开始建立连接;(两台设备A与B建立连接过程:A发送configure-request报文,B收到后比对可识别并认可参数则返回configure-ack报文给A,到此B已认可A的参数;B发送configure-request报文给A并得到A认可,并收到A返回的configure-ack报文,至此参数协商完成连接建立完毕。)
- Authenticate:连接建立后,进入认证状态,通过LCP协议进行认证;
- Network:如果认证成功则进入网络状态,交由NCP进行网络协议交互;
- Terminate:如果认证失败则进入终止状态,交由LCP断开连接。
- MP(PPP链路捆绑,增加带宽)
- 协商过程:
LCP阶段:验证对端是否运行在MP环境下;
NCP阶段:捆绑完成后根据逻辑接口MP上的网络参数进行NCP交互。
- 实现方式
逻辑接口方式:
MP-group方式
配置
- ppp CHAP配置
A与B建立PPP,A为认证方,B为被认证方
在A认证方(服务器端)上:
aaa //3a视图下配置用户名密码
local-user ceshi cipher ceshi123
Local-user ceshi service-type ppp
Interface s1/0/0
link-protocol ppp //链路协议为ppp
ppp authentication-mode chap // ppp身份验证模式为chap
ppp chap user ceshi //与3a配置的用户关联
ip add ppp-negotiate //请求对端发送IP地址
在B被认证方(客户端)上:
interface s1/0/0
link-protocol ppp
remote address 12.1.1.1 //为对端分配的地址
ppp chap user ceshi
ppp chap password ceshi123
ip add 12.1.1.2 255.255.255.0
- ppp PAP+MP配置
认证方:
aaa
local-user ceshi password cipher ceshi123
local-user service-type ppp
Interface Mp-group0/0/0 //创建MP组
Ip add 12.1.1.1 255.255.255.0
Inter s1/0/0
link-protocol ppp
ppp authentication-mode pap
ppp mp Mp-group0/0/0 //接口加入MP聚合组
Inter s1/0/1
link-protocol ppp
ppp authenticaltion-mode pap
ppp mp Mp-group0/0/0
被认证方:
Interface Mp-group0/0/0
Ip add 12.1.1.2 255.255.255.0
Inter s1/0/0
link-protocol ppp
ppp authentication-mode pap
ppp mp Mp-group0/0/0 //接口加入MP聚合组
Inter s1/0/1
link-protocol ppp
ppp authenticaltion-mode pap
ppp mp Mp-group0/0/0
IP Trunk(由POS接口构成,使用HDLC封装形式,与Eth-Trunk相似)
配置:
Inter ip-Trunk 1 //创建ip-trunk接口
Ip add 10.0.0.1 255.255.255.0
Inter Pos1/0/0
Link protocol hdlc
Ip-trunk 1 //将POS接口加入IP-Trunk接口
PPPOE(ppp over ethernet)将ppp帧封装到以太网,适用范围广,安全性高,计费方便。
1.PPPOE建立过程(采用客户端接入服务器模型)
第一阶段Discover状态:双方通过报文获取到会话ID+客户端MAC地址
Client发送广播PADI初始报文;
Server回复单播PADO offer报文,携带提供的会话ID;
Client选择最先回复的server发送单播PADR请求报文,会话ID+MAC地址;
Server回复单播PADS报文,进入Session状态。
第二阶段session状态:双方通过ppp中LCP与NC通过P单播报文协商,完成后通过单播进行数据交互。
第三阶段Terminate状态:双方需要断开连接发送中断请求和确认报文
2.配置(server A与client B)
A上:
Ip pool forB //创建地址池
network 1.1.1.0 mask 255.255.255.0
aaa //创建用户账户密码
local-user ceshi password cipher ceshi123
Interface Virtual-Template0 //创建虚拟接口0
ppp authentication-mode pap //PPP认证模式为PAP
remote add pool forB //通过地址池forB为client分配地址
Ip add 1.1.1.1 255.255.255.0 //虚拟接口IP地址
Inter g0/0/0
pppoe-server bind Virtual-Template0 //PPPOE服务器虚拟接口绑定到物理接口上
B上:
Inter Dialer1 //创建拨号器1
link-protocol ppp //链路协议PPP
ppp pap local-user ceshi password ceshi123 //PPP认证模式PAP用户名ceshi密码ceshi123
Ip address ppp-negotiate //地址通过PPP请求分配
dialer user ceshi //拨号器名称为ceshi
dialer bundle 1 //拨号器包为1
dialer group 1 //拨号组为1
Inter g0/0/0
ppoe-client dial-bundle-number 1 //将PPPOE客户端拨号器绑定到物理接口
dialer-rule //创建拨号规则
dialer-rule 1 ip permit
IPV6技术
- IPV6地址类型
- 单播地址:一个接口可以有多个单播地址
单播地址分为:
2000::/3全球单播地址(类似IPV4公网地址);
64位 | 64位 | ||
前缀 | 接口ID | ||
全局路由前缀 | 子网(通常分配到64位) | 主机位 |
FE80::/10链路本地地址(自动为本地设备配置的地址,做标识用,无法被路由);
FC00::/7唯一本地地址(类似IPV4私有地址)
7位 | 1位 | 40位 | 16位 | 64位 |
FC00 | L通常为1 | Global ID(随机生成) | Subnet ID(子网ID) | interface ID(接口ID) |
::1/128环回地址;
::/128未指定地址。
- FF00::/8组播地址
8位 | 4位 | 4位 | 80位 | 32位 |
11111111(FF) | flags(0000永久,0001临时) | scope(组播范围) | reserved(预留的未定义) | Group ID(组播组ID) |
scope:0/F(预留)、1(节点本地范围)、2(链路本地范围)、5(站点本地范围)、8(组织本地范围)、E(全球范围)。
Node-local(本地节点组播地址):
FF01::1所有节点的组播地址
FF02::2所有路由器的组播地址
Link-local(本地链路组播地址)
FF02::1所有节点组播地址
FF02::2所有路由器组播地址
FF02::5/6 OSPF中路由器/DR组播地址
组播MAC地址
16位(33-33) | 32位(位组播地址的末32之间映射过来) |
33-33为永久为组播MAC预留的 | 直接拷贝不做改变 |
- 任播地址(标识一组网络接口,Ipv6允许多台设备使用同一个IPV6地址,由此种情况就会使用到任播地址,发往任播的报文会被发送到路由概念下(例如静态路由中优先级最高)最近的一个接口,与单播地址表示一致无区别,在配置时指明为任播地址)
- 接口ID生成方法
- 手工指定
- 系统软件自动生成
- IEEE EUI-64规范自动生成(最常用)
实现方法:
通过在48位MAC地址上的24与25位之间插入FFFE;
反转第7位,由此生成64位IPV6的接口地址
- 被请求节点组播地址(当一个节点具有一个单播或者任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组)
- 被请求节点组播地址(有效限于本地链路范围)
104位 | 24位 |
FF02::1:FF固定不变 | 直接拷贝该节点IPV6地址末24位 |
- 邻居发现和地址重复检测机制:IPV6中没有ARP协议与广播报文,通过组播实现此功能。
A请求B的MAC地址过程(重复IP检测同理):
A发送请求报文到B加入的组播地址,这样B就会侦听到并可进行回复,A就可获取B的MAC地址。