第十八天
链路聚合 --- 可以将多个物理接口捆绑成一个逻辑接口,即将N条物理链路聚合为一条逻辑链路。可以在不升级硬件的条件下,达到增加带宽的效果。
我们将逻辑链路,称为聚合链路,在华为设备中称为ETH-TRUNK链路(这个技术是针对以太网技术设计的)。我们将每一条物理链路称为成员链路;我们将聚合后的逻辑接口称为聚合接口,在华为设备中称为ETH-TRUNK接口,之前的物理接口被称为成员接口。
链路聚合技术的要求:
1,通道的所有物理接口应该具有相同传输速率,双工模式,相同的类型(ACCESS或者 TRUNK)包括接口的放通的允许列表以及PVID。
2,通道的对端必须是同一台设备。
配置
1,创建聚合接口
[sw2]interface Eth-Trunk 0
[sw2-Eth-Trunk0]
2,将物理接口划入到聚合接口中
[sw2-Eth-Trunk0]trunkport GigabitEthernet 0/0/1 0/0/2
[sw1]interface Ethernet 0/0/1 --- 也可以直接进入到物理接口,将其划入到对应的聚合接口中
[sw1-Ethernet0/0/1]eth-trunk 0
注意:华为设备为了保证聚合的接口状态机配置均相同,做了如下限制
1,在聚合之前,所有接口不能进行任何配置操作
2,聚合之后,所有操作均在聚合接口中操作,而不能在物理接口中进行操作
华为设备的聚合链路默认采用的是基于流的负载分担。 --- 华为设备默认通过源IP和目标IP来区分不同的数据流
[sw2-Eth-Trunk1]load-balance ? --- 可以修改数据流的判断方式 dst-ip According to destination IP hash arithmetic dst-mac According to destination MAC hash arithmetic src-dst-ip According to source/destination IP hash arithmetic src-dst-mac According to source/destination MAC hash arithmetic
src-ip According to source IP hash arithmetic src-mac According to source MAC hash arithmetic
[r1-Eth-Trunk0]undo portswitch ---- 将二层接口改为三层接口
[r1-Eth-Trunk0]
VRRP --- 虚拟路由器冗余协议
VRRP目前存在两个版本 --- VRRP V2 --- IPV4 --- 华为设备默认使用的是VRRP V2
--- VRRP V3 --- IPV6
在VRRP中存在一个组的概念 --- 将所有需要协同工作的路由器(并不一定只有两台设备,也可以存在多台设备),放到同一个VRRP组中。为了区分不同的VRRP组,我们需要给每个组设计一个VRID --- 8位二进制构成 --- 一个VRRP组需要一个虚拟的网关,这个网关需要配置一个虚拟的IP地址 --- 1,必须得手工指定,2,必须和物理网关接口IP
地址配置在同一个网段中。 --- 并且会自动生成一个虚拟的MAC地址。 ---- 0000 -
5e00 - 01XX --- 最后8位二进制使用该组的VRID来标识。
VRRP的工作过程:网关接口配置激活VRRP,则所有网关接口都将发送VRRP的数据包,进行主备关系选举,
(先比较优先级,8位二进制构成,取值范围为1 - 255,默认值为100;优先级大的当选为主,其余设备为备份。如果优先级相同,则比较接口的IP地址,IP地址大的为
主。)选举结束后,仅主会周期性的发送VRRP数据包(发送周期默认为1S),其余备
份设备仅侦听,若在3.6S(3 X 周期时间 + 偏移时间(256 - 优先级)/ 256)内没有收到主发送的VRRP数据包,则将判定主失效,将重新进行选举。
[r2-GigabitEthernet0/0/0]vrrp vrid 10 virtual-ip 192.168.1.254 --- 接口激活VRRP
需要协同工作的网关设备需要放到同一个VRRP组中,则VRID必须配置相同。
在华为设备中,虚拟的IP可以使用物理接口的IP地址,其效果是该接口设备直接被认定为主,优先级设置为255。
[r3-GigabitEthernet0/0/0]display vrrp --- 查看VRRP的配置信息
Preempt : YES ---- VRRP协议默认是开启抢占模式的,但是只针对有线级有效
[r3-GigabitEthernet0/0/0]vrrp vrid 10 priority 110 --- 修改优先级
[r3-GigabitEthernet0/0/0]vrrp vrid 10 track interface GigabitEthernet 0/0/1 reduced 50 --- 上行链路追踪。如果追踪的接口出现故障,则将执行对应的动作。目前的动作是将优先级减少50。(如果后面不带动作,则默认优先级减10)
IPV6
IANA --- 因特网地址分配组织
IPV6地址 --- 128位二进制
1,“无限”的地址空间:因为IPV6地址由128位二进制构成,所以其地址数量是非常多的。
2,层次化的地址结构:所谓层次化的地址结构其实就是指地址分配更加合理,更利于汇总。主要由IANA组织来完成。
3,即插即用:SLAAC --- 无状态地址自动配置 --- 只需要拥有网关设备,则将自动下发一个IPV6地址。
4,简化了报文的头部:
TOS --- 服务类型 --- Traffic Class --- 流量分类
TTL --- 生存时间 --- HOP Limit --- 跳数限制
Protocol --- 协议 --- next header --- 下一个头部名称变化,描述的更加准确
Flow Label --- 流标签 --- 可以用来区分和标记不同的流量,便于做Qos,目前并没有启用。
删除的部分(简化的部分) --- 头部长度 --- 主要是因为下面的选项字段也被删除了,导致IPV6包头从一个可变长头部变为定长头部,支持硬件处理。
--- 校验和 ---- 因为各个层次的协议封装时,都会存在校验和来确保数据的完整性,但其实只需要校验一次就可以,所以,完全可以删除掉。
5,保证端到端网络的完整性:在IPV4网络当中,因为NAT技术的存在,导致端到端网络完整性遭到破坏,而IPV6中因为地址足够多,不需要运行NAT技术,所以,可以保证其完整性。
6,安全性增强:在IPV6中,为了保证数据传输的安全性,专门设计了一套IPSEC(因特网协议安全协议)体系,当然,目前IPV4也可以使用IPSEC来保证安全。
7,增强Qos特性:主要体现在增加了流标签字段,更方便完成Qos,但是,目前尚未启用。
IPV6地址
--- 128位二进制 ---- 冒分16进制
2001:0123:0000:4560:0000:0000:0000:001A --- 首选格式
A = a
压缩格式的方式:
1,每一段前导0可以省略,如果一段全是0,则至少保留1个,拖尾的0不能省略;
2001:123:0:4560:0:0:0:1A
2,如果存在一个或多个整段全0的情况,可以使用“::”来表示,但整个IPV6地址的压缩格式中最多只能有1个"::"
2001:123:0:4560::1A ---- 压缩格式
内嵌IPV4地址格式 --- 前96位用IPV6的冒分十六进制来表示,后32位按照IPV4点分十进制来表示
::192.168.1.1
在IPV6地址中,也需要区分网络位和主机位,网络位在IPV6中被称为网络前缀,主机位在
IPV6中被称为接口标识。
在IPV6地址中也需要子网掩码进行网络前缀的标识,不过只使用简写格式
2001::1 /64 ---- IPV6地址默认掩码长度为64位
IPV6地址接口标识的生成方法:
1,手工配置
2,EUI-64规则自动生成 --- 1,在接口MAC地址的第25开始,插入 FFFE 16位二进制。
2,将生成的64位2进制中的第7位取反
02e0:fcFF:FE64:5980
[r1-GigabitEthernet0/0/0]ipv6 address 2002:: 64 eui-64 --- 通过EUI-64规则自动生成接口标识
----- IPV6地址支持多宿主。(一个接口可以配置多个IPV6地址)---- 华为设备一个接口可以配置多个不同网段的IPV6地址。
3,设备随机生成接口ID
IPV6地址分类
单播地址,组播地址,任播地址 --- 任播地址也是标定一个组,但是,一个数据包其目标地址为任播地址,效果是将会发送给该组所有设备中距离本地路由意义上最近的目标。
注意:在IPV6地址中不存在广播地址,直接使用组播地址来代替
单播地址的分类:
1,GUA地址 --- 全球单播地址相当于IPV4中的公网地址
2000:: /3 ---- 2000:0000:0000:0000:0000:0000:0000:0000 --
3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
2001:: /16 ---- 目前商用获取到的IPV6的GUA地址
2002:: /16 ---- 针对6to4隧道使用的
2,ULA地址 --- 唯一本地地址
相当于IPV4中的私网地址这部分地址不能出现在IPV6的公网路由当中,并且,因为IPV6地址足够多,所以其私网地址可以保证唯一性。
FC00:: /7 ---- 1111110 0
FD:: /8 --- 目前使用的地址段
FC:: /8 --- 目前暂未启用
3,LLA地址 --- 本地链路地址这个地址在IPV6体系中非常重要,只要接口可以配置IPV6地址,则都将会自动配置一个本地链路地址。
FE80:: /10 --- FE80:: /64 --- 前缀固定的情况下,将会自动按照EUI-64的规则生成接口标识。
因为IPV6地址支持多宿主,所以,一个接口可能存在多个IPV6地址,在动态路由协议计算路径写下一跳时,只选择其中一个来写,一般的地址可能被更改,导致不稳定,所以,动态路由协议一般使用接口的本地链路地址来作为下一跳。
组播地址
FF:: /8
RIPV2 --- 224.0.0.9 --- FF02::9 ---- 33:33:00:00:00:09
OSPF --- 224.0.0.5,224.0.0.6 ---- FF02::5,FF02::6 ---- 33:33:00:00:00:
05, ---- 33:33:00:00:00:06
224.0.0.1 ---- 针对所有具有IP地址接口的节点 --- FF02::1 ---- 33:33:00:00:
00:01
224.0.0.2 ---- 针对所有路由设备 --- FF02::2 ---- 33:33:00:00:00:02
FF02 --- IPV6当中本地链路组播的前缀 ---- 会对应一个组播MAC地址 ---- 33:33 +
32(IPV6地址的后32位)
在IPV6的组播地址中,还有一类组播地址 --- 被请求节点组播 --- 一个接口配置IPV6地址之后,将自动加入被请求节点组播组中 --- FF02::1:FF --- 前104位固定,后24位为
IPV6地址的后24位
2001::1 ---- FF02::1:FF00:1 ---- 33:33:ff00:1
1,:: --- 等同于IPV4中的0.0.0.0,1,可以代表没有地址(DHCPV6)2,可以代表所
有地址(缺省)
2,::1 --- 相当于IPV4中的127.0.0.1
IPV6的配置
ICMPV6协议 --- 在IPV6体系下,ICMPV6协议除了可以实现IPV4下的功能外,还集成多个重要的功能。
他集成NDP协议(邻居发现协议) ---- 相当于是IPV4当中的ARP协议。
他可以实现SLAAC机制 ---- NDP协议
他可以实现Path-MTU发现机制 ---- PMTUD --- 发现最小的MTU --- 在IPV6中,路由生成后,会发送ICMPV6报文去检测到达目标网段中最小MTU(PMTU),之后,发送数据包时直接按照最小的MTU值来进行分片。
ICMPV6 --- ECHO REQUEST --- type:128
ECHO REPIY ---- type:129
一个接口正式发送IPV6报文之前,将会经历三个阶段:
1,获取IPV6地址 ---- 1,全球单播地址(GUA地址)
1,手工配置;
2,无状态自动配置(NDP) --- 不需要服务器,只需要存在一个网关,并且他具有IPV6地址,则接入的终端设备都将会获得一个IPV6地址。
路由器请求报文(RS) --- type --- 133 --- 终端设备接入需要IPV6地址则发送该报文寻找网关设备
路由器通告报文(RA) --- type --- 134 --- 网关设备将回复RA报文,里面将包含网络前缀。
注意:除了有以上请求方法外,还可以让网关设备周期下发自己的网络前缀,华为设备默认关闭该功能。但注意,无状态自动配置不会下发DNS等额外信息,所以,一般针对大批量,不需要上网的物联网设备来使用。当然,无状态自动配置也可以和有状态自动配置结合使用。
3,有状态自动配置(DHCPV6)
2,本地链路地址(LLA)
2,DAD --- 地址冲突检测
3,地址解析阶段
2,3阶段在IPV6中都由NDP协议来完成。
邻居请求报文 ---- NS --- type:135 --- 相当于ARP请求报文
邻居公告报文 ---- NA --- type:136 --- 相当于ARP应答报文
ARP --- 请求报文 --- SIP:自己IP;DIP:被请求者IP
NDP --- NS ---- SIP:自己IP;DIP:被请求节点组播应答报文相同,都是以单播的形式回复。
IPV6地址配置
[r1]ipv6 ---- 全局激活IPV6,只有激活后,该设备才会转发IPV6报文
[r1-GigabitEthernet0/0/0]ipv6 enable --- 只有执行这个命令,该接口才可以配置IPV6地址
[r1-GigabitEthernet0/0/0]ipv6 address 12::1 64 --- 配置IPV6地址
[r1]display ipv6 interface brief --- 查看IPV6地址配置情况
静态路由配置
[r1]ipv6 route-static 2:: 64 12::2
[r1]display ipv6 routing-table --- 查看IPV6路由表
[r1]ping ipv6 3::3 --- ping
RIPNG配置
[r1]ripng --- 启动RIPNG进程
[r1-GigabitEthernet0/0/0]ripng 1 enable --- 在接口中宣告
OSPFV3配置
[r1]ospfv3 1 --- 启动进程
[r1-ospfv3-1]
[r1-ospfv3-1]router-id 1.1.1.1 --- 配置RID
[r1-GigabitEthernet0/0/0]ospfv3 1 area 0 --- 在区域中宣告
MP-BGP配置
[r1]bgp 1
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 2::2 as-number 1
[r1-bgp]peer 2::2 connect-interface LoopBack 0
[r1-bgp]ipv6-family
[r1-bgp-af-ipv6]peer 2::2 enable
[r1]display bgp ipv6 peer --- 查看IPV6邻居表
[r1-bgp-af-ipv6]network 1:: 64 --- 发布路由
[r1]display bgp ipv6 routing-table --- 查看IPV6BGP表
IPV4和IPV6的过渡
1,通过GRE隧道来实现
1,必须知道对端公网IPV4地址
2,必须有到达对方IPV6网段的路由
2,6to4隧道在IPV6中还存在一种地址 --- IPV4兼容地址
2002:: /16 ---- 针对6to4隧道使用的 --- 这些都是给IPV4兼容地址所预留
12.0.0.1 --- 00001100 00000000 00000000 00000001 2002:0C00:0001:: /48
[r1-LoopBack0]ipv6 address 2002:c00:1::1 64
[r1]int t 0/0/0
[r1-Tunnel0/0/0]ipv6 enable
[r1-Tunnel0/0/0]ipv6 address 2002:c00:1:1::1 64
[r1-Tunnel0/0/0]tunnel-protocol ipv6-ipv4 6to4
[r1-Tunnel0/0/0]source 12.0.0.1
23.0.0.2 --- 00010111.00000000.00000000.00000010 2002:1700:2:: /48
[r3]ipv6 route-static 2002:: 16 Tunnel 0/0/0 --- 添加汇总路由
3,双栈