动态路由协议:
    动态路由协议分类:

    1. IGP -> RIPv2/EIGRP(distance vector)道听途说
      OSPF/ISIS (link state) 自行计算
    2. EGP-> BGPv4

    distance vector:
    水平分割、路由毒化、路由定时器(使用这些机制来有效避免路由环路)注意:路由环路是三层环路
    RIPv2
    EIGRP(思科私有)

    1. 快速收敛
    2. 没有环路(三层环路)
    3. 支持多协议(除了支持IP协议,还支持很多其他协议。屠龙术)
    4. 可靠的路由协议(DUAL弥散更新算法)
    5. 支持非等价负载均衡(等价负载均衡是默认机制)

    EIGRP的特性:

    1. successor 路由收敛稳定之后的最优next-hop节点
    2. feasible successor 仅次于路由收敛稳定之后的最优next-hop节点(是否存在有判断条件)
    3. advertised distance 本地的next-hop到达目的网络的metric
    4. feasible distance advertised distance + metric to neighbor(实际就是本地到达目的网络的metric)

    feasible successor存在的判断条件是:
    备份路径的advertised distance是否小于当前路径的feasible distance:
    是:存在
    否:不存在
    EIGRP的三张表:

    1. 邻居表. show ip eigrp neighbor
    2. 拓扑表. show ip eigrp topology
    3. 路由表. show ip route eigrp

    Link state:
    OSPF. Open Shortest Path First

    1. 建立邻居。相互同步LSA信息(link state advertisement),最终实现每个路由器的LSA信息同步
    2. 维护数据库。每个路由器节点都将收到的和自己发送的所有LSA信息维护在本地的LSDB中。
    3. 计算路由表。area内,每个节点以自己为root,使用LSDB中的信息作为原料,以SPF算法(迪杰斯特拉算法)作为指导方针,计算SPF-TREE。最终每个路由器节点基于以自己为root的那棵SPF-TREE计算本地的最优路由表。

    OSPF的三张表:

    1. 邻居表. show ip ospf neighbor
    2. 拓扑表(LSDB). show ip ospf database
    3. 路由表. show ip route ospf

    OSPF的多area:

    1. ABR、ASBR
    2. area是接口级概念

    OSPF的报文类型:

    1. hello
    2. DBD
    3. LSR
    4. LSU
    5. LSAck

    OSPF的状态机:

    1. down
    2. init
    3. 2-way
    4. exstart
    5. exchange
    6. loading
    7. full

    OSPF的router-id:
    是一个IPv4地址格式的字符串,每个路由器节点其router-id都不能一样。
    推荐手工指定。
    邻居和邻接:

    1. 邻居:彼此之间发现对方的存在即为邻居。
    2. 邻接:不仅彼此发现对方的存在,还彼此之间有深入了解。

    DR/BDR/DR-other:
    是在MA环境中才会出现的一种角色。设计这种角色的目的是为了减少MA环境中大量存在的不必要更新。
    IPv6:

    IPv4 IPv6
    点分十进制 冒号分十六进制
    总长度32bit 总长度128bit
    192.168.11.22 2001:0DB8:010F:0001:0000:0000:0000:0ACD
    2^32个地址 2^128个地址

    世界上的每一粒沙都能得到一个IPv6地址。
    IPv6地址太长了,输入时太耗时耗力,是否有缩略表达方式呢?(每个十六进制位对应4个二进制位)
    进行IPv6地址缩略的基本前提是要保证缩略后的地址精确性。

    1. 前导零缩略
    2. 连续零缩略。IPv6地址中不同段的连续零,可以使用::来代替。但是::只可以出现一次。

    2001:0DB8:010F:0001:0000:0000:0000:0ACD
    2001:DB8:10F:1:0:0:0:ACD
    2001:DB8:10F:1::ACD
    错误示范:
    2001:0000:0000:010F:0001:0000:0000:0ACD
    2001:0:0:10F:1:0:0:ACD
    2001::10F:1::ACD
    IPv6地址分类:
    unicast:
    global unicast:全局单播地址,这种地址可以跨跳通信。
    link-local unicast:链路本地地址,只能在本链路上通信,不可以跨跳通信。
    R1的f0/0口,已经开启了Ipv6,这个接口上link-local地址是必须的。
    FE80::(NETWORK-ID)
    xxxxx (INTERFACE-ID)
    路由器会使用EUI-64这种方法,来自动生成成INTERFACE-ID。
    EUI-64这种方法的步骤如下:

    1. 将本接口的MAC地址从中间一分为二
    2. 在中间填充FFFE
    3. 从高到低第七位取反

    0030.f2a6.0201
    0030:f2a6:0201
    0030:f2ff:fea6:0201
    (00000010)
    0230:f2ff:fea6:0201
    如何区分一条流?flow
    IPv4确定是否属于同一条流是基于五元组:

    1. source-ip
    2. destination-ip
    3. protocol
    4. source-port
    5. destination-port

    IPv6确定是否属于同一条流是基于flow label,这个flow label是一个三层字段。只需要识别三层信息就够了!
    ICMPv6
    邻居发现ndp:
    NS 邻居请求
    NA 邻居通告
    在IPv6中类似于ARP的协议是什么呢?
    因此在IPv6中是使用ICMPv6的NS和NA报文来实现二层地址解析的!
    假设ApingB:A发送NS,B恢复NA:
    NS报文中携带:A的MAC和B的IP
    NA报文中携带:B的MAC、A的IP和B的IP。
    B收到A的NS后,B可以明确:A的MAC,B的MAC,A的IP、B的IP
    A收到B的NA后,A可以明确:A的MAC,B的MAC,A的IP、B的IP
    因为IPv6中没有ARP协议,因此以上的这些信息,会被保存在IPv6的邻居表中:
    show ipv6 neighbors
    无状态自动获取SLAAC(Stateless Address Auto Configuration) :
    RS 路由器请求:由终端发出,向自己的网关进行请求
    RA 路由器通告:有网关接口发出,其中携带prefix/mak以及时间等相关信息
    当终端收到RA消息后,会使用其中的prefix/mask终端自己再生成interface-id,合成自己所需要的IPv6地址,这样就可以正常通信了!
    与之相对的被称为有状态自动获取(DHCPv6),这个东西是为了方便管理!
    IPv6静态路由配置:
    ipv6 route 2021:192:168:22::/64 FastEthernet0/1 FE80::20B:BEFF:FE8B:A302
    ipv6 route 2021:192:168:11::/64 FastEthernet0/0 FE80::201:97FF:FE41:501
    IPv6动态路由协议配置:
    RIPng:
    ipv6 router rip cisco
    interface fastEthernet 0/0
    ipv6 rip cisco enable
    interface fastEthernet 0/1
    ipv6 rip cisco enable
    EIGRP for IPv6:
    ipv6 router eigrp 100
    eigrp router-id 1.1.1.1
    no shutdown
    passive-interface FastEthernet0/1

    interface FastEthernet0/0
    ipv6 eigrp 100
    interface FastEthernet0/1
    ipv6 eigrp 100
    OSPFv3:
    ipv6 router ospf 100
    router-id 1.1.1.1
    passive-interface FastEthernet0/1
    interface FastEthernet0/0
    ipv6 ospf 100 area 0
    interface FastEthernet0/1
    ipv6 ospf 100 area 0
    以太交换原理:
    各种设备所处层级:by default,默认情况。

    1. hub:一层设备,只对信号负责。来了信号hub不管是什么内容,只负责信号的复制和发送。
    2. switch:二层设备,只对数据帧负责。来了数据后,只是别数据帧的二层信息。二层以上信息看都不看。
    3. router:三层设备,只对数据包负责。来了数据后,会识别三层以下信息。三层以上新看都不看。

    以太网交换机的转发行为主要分为三种:

    1. flooding(交换机会将来向数据帧由1份复制成多份,并向外发送出去。因此flooding是比价消耗switch资源的)
      当以太网交换机收到一个数据帧,其D-MAC为广播或组播时,交换机会对该数据帧执行flooding动作。
      即,将该数据帧向着除来向端口之外的其他所有端口发送出去。
      当以太网交换机收到一个数据帧,其D-MAC为单播,且该D-MAC在mac address table中没有找到匹配项,交换机将执行flooding动作。即,将该数据帧向着除来向端口之外的其他所有端口发送出去。
      注:此情况为flooding的一种特例,被称为”未知单播泛洪“。
    2. forwarding
      当以太网交换机收到一个数据帧,其D-MAC为单播时,且该D-MAC在mac address table中可以找到匹配项时,交换机会对该数据帧执行forwarding动作。即,将该数据帧向着mac address table中匹配项的指定端口发送出去。
    3. filtering
      当以太网交换机收到一个数据帧,其D-MAC为单播,且通过mac address table查询发现该数据帧的D-MAC和S-MAC在交换机的同一个端口下连接,交换机将执行filtering动作。即,将该数据帧直接丢弃,不向任何端口发送出去。

    避免交换机被mac address flooding attack:port-security
    在交换机的端口下,设定可以学习到的mac地址的最大数目。如果超过这个数目,则产生应激动作。
    一般选择这个应激动作为shutdown端口。
    端口安全配置:
    interface FastEthernet0/1
    switchport access vlan 10
    switchport mode access
    switchport port-security
    switchport port-security maximum 2
    switchport port-security mac-address sticky
    switchport port-security mac-address sticky 0001.C741.6006
    switchport port-security mac-address sticky 0001.C90E.4A35
    switchport port-security violation shutdown
    VLAN Virtual LAN
    提问:广播域如果非常大,好不好?
    回答:不好,容易出现安全隐患。
    因此人们期望把广播域可以逻辑地划分成多个。因此诞生了VLAN技术。
    一般的终端,譬如像PC、printer、AP、camera,其网卡都是不支持vlan的。
    因为这些设备的网卡不支持vlan,所以这些设备发出的或者接收的数据帧都是untagged!
    关于vlan-tag的一些细节:

    1. 从access口入:tagged,tag-id取决于该access隶属于哪个vlan
    2. 从trunk口出:tagged,tag-id取决于该数据帧在交换机内部携带的tag-id
    3. 从trunk口入:tagged,tag-id取决于该数据帧在trunk链路上携带的tag-id
    4. 从access口出:untagged。

    VLAN分割广播域实验:
    SW01的配置:
    vlan 10 # 创建VLAN10
    vlan 20 # 创建VLAN20
    interface FastEthernet0/11
    switchport mode access # 将该端口定义为access工作模式
    switchport access vlan 10 # 将该端口划入到VLAN10中
    interface FastEthernet0/12
    switchport mode access # 将该端口定义为access工作模式
    switchport access vlan 20 # 将该端口划入到VLAN20中

    interface FastEthernet0/1
    switchport mode trunk # 将该端口定义为trunk工作模式
    switchport trunk allowed vlan 10,20 # 将该trunk端口放行VLAN10和VLAN20的流量
    SW02的配置:
    vlan 10 # 创建VLAN10
    vlan 20 # 创建VLAN20
    interface FastEthernet0/13
    switchport mode access # 将该端口定义为access工作模式
    switchport access vlan 10 # 将该端口划入到VLAN10中
    interface FastEthernet0/14
    switchport mode access # 将该端口定义为access工作模式
    switchport access vlan 20 # 将该端口划入到VLAN20中
    interface FastEthernet0/1
    switchport mode trunk # 将该端口定义为trunk工作模式
    switchport trunk allowed vlan 10,20 # 将该trunk端口放行VLAN10和VLAN20的流量
    Native-vlan:本征vlan

    1. 在trunk链路上,native-vlan的数据帧是untagged
    2. 在trunk链路上,native-vlan默认是vlan1,但是可以手工修改
    3. 在trunk链路上,两端的trunk口,需要保持相同的native-vlan
    4. 每个trunk口,只可以存在一个native-vlan

    提问:Native-vlan的设计初衷是什么?
    回答:其设计初衷是为了兼容傻瓜交换机(不支持vlan的交换机就是傻瓜交换机)!
    VTP vlan trunking protocol 用来传输vlan信息的。
    在交换网络中,所有交换机上的VLAN信息,必须同步!
    VTP的工作模式:

    工作模式 修改VLAN信息 传递VLAN信息 VLNA信息的学习
    SERVER 可以 可以 会学习
    CLIENT 不可以 可以 会学习
    TRANSPARENT 可以 可以 不学习

    VTP的修订号:

    1. VTP的修订号会随着对VLAN的修改而增大。这个修改指的是新建或者删除VLAN。
    2. VTP的修订号在TRANSPARENT模式下,永远是0
    3. 所有交换机都会向修订号更大的那台交换机去学习VLAN信息。

    VTP的配置:
    vtp mode transparent
    vtp domain ccna
    vtp password cisco
    vtp version 2
    跨VLAN通信:

    1. 每个不同的VLAN都是一个独立的广播域
    2. 跨VLAN通信就是跨广播域通信
    3. 因此,跨VLAN通信必须跨路由器

    单臂路由解决方案配置:
    R1的配置:

    interface FastEthernet0/1 # 使主接口up
    no shutdown

    interface FastEthernet0/1.100 # 创建子接口
    encapsulation dot1Q 10 # 将该子接口对应到VLAN10
    ip address 10.1.1.1 255.255.255.0 # 指定该子接口的IP地址,作为终端的网关

    interface FastEthernet0/1.200 # 创建子接口
    encapsulation dot1Q 20 # 将该子接口对应到VLAN20
    ip address 20.1.1.1 255.255.255.0 # 指定该子接口的IP地址,作为终端的网关
    SW01的配置:

    vlan 10
    vlan 20

    interface FastEthernet0/11
    switchport access vlan 10
    switchport mode access

    interface FastEthernet0/12
    switchport access vlan 20
    switchport mode access

    interface FastEthernet0/1
    switchport trunk allowed vlan 10,20
    switchport mode trunk
    三层交换机解决方案配置:
    MLS的配置:
    vlan 10
    vlan 20

    interface FastEthernet0/11
    switchport access vlan 10
    switchport mode access
    switchport nonegotiate # 关闭cisco的DTP协商

    interface FastEthernet0/12
    switchport access vlan 20
    switchport mode access
    switchport nonegotiate # 关闭cisco的DTP协商

    interface Vlan10 # 创建SVI接口作为VLAN10的网关
    mac-address 00e0.b0ec.6201
    ip address 10.1.1.1 255.255.255.0

    interface Vlan20 # 创建SVI接口作为VLAN20的网关
    mac-address 00e0.b0ec.6202
    ip address 20.1.1.1 255.255.255.0

    ip routing # 开启三层交换机的路由能力