• JonTechTips

    Jonny Hu

    CCNA

    2024-09-08
    CCNA

    Day 1 基础知识与OSI

    1.1 进制转换

    二进制转十六进制:每四位二进制代表一个十六进制(反之亦然从右边往左分)

    A=10 F=16 hexadecimal

    例如:(00111100)b=(3C)h


    1.2 信息单位

    Units

    Bytes(字节)

    Bits

    byte(B)

    1 byte

    8 bits

    kilobyte(KB)

    1000 bytes

    8000 bits

    megabyte(MB)

    1 million bytes

    8 million bits

    gigabyte(GB)

    1 billion bytes

    8 billion bits

    买宽带给的单位是100 bps (bits per second)

    最高能跑 100/8 MB


    1.3 OSI模型栈

    应用层

    在应用层定义了基于应用程序的最高层端口(8888)

    表示层

    定义了发送过来的数据需要做到的标准化(.jpg)

    会话层

    建立,管理,中止会话

    传输层

    将上一层数据分段处理(数据段),通信节点之间建立连接或通道

    网络层

    提供了地址的描述方式,提供端到端的寻址

    数据链路层

    提供了节点到节点的寻址(MAC)OUI(厂商唯一标识符)+EUI(厂商内部唯一标识符)

    物理层

    数据编码格式,接口类型,线缆模型

    下层为上层服务

    Day 2 各层协议

    2.1 基础配置命令

    客户模式-->特权模式-->全局模式

    Router(config)#no ip domain lookup   //关闭设备DNS查询(translate)
    Router(config)#line console 0
    R1(config-line)#exec-timeout 0            //关闭屏幕保护 ,工作慎用
    R1(config-line)#logging synchronous   //使log信息隔行跳转

    2.2 监控工具

    SLA 探针工具(默认60s触发一次)

    模拟TCP的数据流量

    R1(config)#ip sla 1
    R1(config-ip-sla)#$ tcp-connect 192.168.1.2 6667 source-ip 192.168.1.1 source-port 666
    R1(config)#ip sla schedule 1
    R1(config)#ip sla schedule 1 start-time now
    R1(config)#ip sla schedule 2 start-time now life forever
    R2(config)#ip sla responder           //R2做出回复

    image-20230726133441039.png

    2.3 TCP的基础

    image-20230726133835728.png

    三次握手

    Host

    Operate

    A

    Send SYN(SEQ=100)

    B

    SYN received -->Send SYN(SEQ=300),ACK(101)

    A

    Send ACK(SEQ=301)-->Established

    流控(滑动窗口)

    尺寸大小:

    • 设备一次性发多少数据包需要对方确认

    • 设备一次可以接收多少数据

    四次挥手

    Host

    Operate

    A

    FIN(seq=100)

    B

    Send ACK(ack=100)

    B

    Send FIN(seq=300)

    A

    Established(ack=301)

    2.4 UDP的基础

    image-20230726141657856.png

    快,疯狂占用带宽

    2.5 应用层端口

    image-20230726142619292.png

    2.6 IP协议

    image-20230726144318611.png

    service type 表明优先级(Qos)

    分片MTU(默认1500bytes)(maxmum transmit unit)小的数据包排队发送

    ID

    Flags

    Fragment(开始位)

    Data

    0x000f

    0(reserved bit)01

    0

    1376 bytes

    0x000f

    00(dont fragment)1

    1376

    1376 bytes

    0x000f

    000(more fragment)

    2752

    228 bytes

    ttl (time to live) 值表明可以传递的hop(防环)

    2.7 ICMP协议(ping)

    request/reply验证网络连通性

    第一个ICMP数据包会用ARP协议(地址解析协议 2,3层)广播来请求对方ip对应的MAC地址

    ARP全MAC地址广播

    Day 3 IP地址

    3.1 IP地址基础

    IPv4

    00000000.00000000.00000000.00000000(43亿)

    在2011年所有IPv4地址已经分发完毕(使用NAT协议转换缓解问题)

    需要向运营商购买公有地址才能上网

    私有地址(192.168.1.1)在边界上NAT转换为公网地址(200.1.1.1)

    IPv6

    冒号分16进制表示

    一共128bits,分成8组,每组16个bits

    3.2 分类方式

    有类

    A类:

    首位固定为"0",前8bit为网络位(网段),后24为主机位

    00000000.00000000.00000000.00000000

    0.x.x.x-127.x.x.x

    每一个网段有2^24-2

    127.0.0.1 本地环回地址


    B类:

    前两位固定为"10",前16bit为网络位,后16位主机位

    10000000.00000000.00000000.00000000

    128.0.x.x-191.255.x.x


    C类:

    前三位固定为"110",前24bit为网络位,后8位主机位

    11000000.00000000.00000000.00000000

    192.0.0.x-223.255.255.x


    D类:

    前三位固定为"1110"

    11100000.00000000.00000000.00000000

    224-239为组播地址


    保留地址:240-255

    无类

    子网掩码

    255.255.255.0 == /24

    Day 4 设备的登陆

    4.1 登陆设备的方式

    Console登陆

    有线最长3米,无线蓝牙10-20米

    远程登陆
    a.Telnet

    接口需要地址

    line vty 0 4 //允许五台设备远程登陆

    Router(config-line)#password wolf

    login //允许登录但是校验线程下密码

    Router#show run all | section line vty

    用户权限等级<0-15>

    默认权限等级为1(15才可以进行配置)

    只要输入enable(需要密码)就能获得15权限

    Router(config-line)#privilege level 15

    login local //允许登陆但是校验设备用户名和密码

    Router(config)#username wolf (privilege 15) passowrd ccna

    no login //允许登陆不校验密码

    b.SSH

    公钥加密,私钥解密

    登陆校验改为login local

    R2(config)#line vty 0 4
    R2(config-line)#transport input ssh         //开启vty允许的协议
    R2(config)#ip domain name R2.cisco.com      //配置设备域名
    R2(config)#crypto key generate rsa modules 1024  //生成RSA密钥
    R2(config)#show crypto key mypubkey rsa
    R1#ssh -l WOLF 192.168.1.2
    password:
    R2#
    R2#

    4.2 配置设备的方式

    配置远程登陆(vty)

    配置远程登陆密码

    配置enable密码

    尽可能用secret方式加密

    wr保存

    Day 5 文件保存与密码恢复

    5.1 路由器硬件区别

    设备/组成

    PC

    设备/组成

    Router

    CPU

    CPU

    操纵系统

    win10

    操作系统

    IOS

    内存条

    加载操作系统

    内存

    硬盘(存放操作系统)

    C

    FLASH

    可读可写存储器(操作系统)不会随着掉电丢失

    硬盘(存放文件)

    D

    NVRAM

    可读可写存储器(配置文件)不会随着掉电丢失

    RAM

    随机存储器(running-config)随着掉电而丢失

    接口

    RJ45,USB,DP

    接口

    console,serial,aux,Ethernet,FastEthernet

    显示器

    图形化界面

    显示

    console,vty连接

    操作界面

    GUI 不可逆

    操作界面

    CLI 可逆

    5.2 文件保存与备份

    文件保存:

    R1#copy running-config startup-config
    [OK]
    或者:
    R1#write memory
    [OK]
    
    R1#dir nvram:
    Directory of nvram:/
    .
    .
    .
    196600 bytes total (189413 bytes free)
    
    R1#write erase      //清空nvram中所有的配置文件

    文件备份:

    R1#copy running-config flash:2023.7
    R1#dir flash:

    5.3 密码的恢复

    路由器

    路由器的寄存器值:

    0x2102 路由器开机时正常加载操作startup-config(nvram)

    0x2142 路由器开机时不会加载startup-config

    no掉密码的原理:

    开始不加载自动配置文件-->enable不需要密码--->conf t------>找回设备的配置---->no enable secret

    必须先console上机柜
    系统自检时间 ctrl+break
    rommon 1 >confreg 0x2142
    rommon 2 >reset
    Router#copy startup-config running-config
    R1(config)#no enable secret
    R1(config)#config-register 0x2102    //将寄存器值改回来
    R1(config)#end
    R1#wr

    交换机

    wr会同时保存到startup-config和flash:config.text

    3560交换机启动用的是"flash:config.text"

    找不到则会跳过启动

    系统自检时间 按住mode
    Switch: rename flash:config.text flash:config.shit
    Switch: reset
    Switch#rename falsh:config.shit flash:config.text
    Switch#copy flash:config.text running-config
    SW1#conf t
    SW1(config)#no enbale secret
    SW1(config)#ex
    SW1#wr

    Day 6 交换入门

    6.1 交换的引入

    中继器

    整形放大器(工作在物理层) Repeater

    [线缆]  屏蔽双绞线(减少信号串扰衰弱)

    针对收到的数据信号做整形放大

    缺点:只有两个口,半双工

    集线器

    多接口中继器(工作在物理层) Hub

    从一个接口收到的数据流量从其他接口整形放大出去------泛洪

    缺点:半双工,冲突域产生

    CSMA/CD 带有冲突检测的载波侦听多路访问

    发送数据之前--->载波侦听(检测hub是否处于空闲状态)--->开始发送数据--->冲突检测--->检测到发生冲突--->全网开始泛洪jam信号--->所有设备全部回退

    带宽比较低,整个网络都是冲突域,安全性比较差

    网桥

    (工作在数据链路层) Bridge

    可以将冲突域减半(检测目的MAC地址)

    交换机

    数据链路层/网络层/应用层交换机

    10M/100M/1000M/10000M带宽 全双工

    ASIC用于特殊应用的专用集成电路,代替CPU,做硬件转发

    解决了冲突域

    快速转发,线速转发,透明转发

    24口/48口

    6.2 交换机的基本工作原理

    收到数据包拆开二层看源目MAC地址

    1.学习MAC地址,形成MAC地址表象

    Interface

    MAC

    F0/0

    A

    F0/1

    B

    2.泛洪广播,组播,未知单播数据包(相同vlan)

    3.对于已知单播,点到点转发

    • 交换机的一个接口可以关联多个MAC地址

    • 交换机的多个接口可以关联一个MAC地址

    • 不通可以检查一下全半双工

    SW1#show int f0/1
    Full-duplex

    交换机本地有基MAC地址

    有添加的接口MAC地址

    Day 7 VLAN与SW接口

    7.1 VLAN

    旨在解决广播域太大问题

    冲突域

    广播域

    竞争同一带宽的节点集合

    接受同样广播消息的节点的集合

    同一VLAN内的设备才能直接进行二层通讯

    需要针对vlan添加标签(VLAN TAG)

    vlan相当于将交换机划分为数台虚拟的交换机

    7.2 ACCESS接口

    SW1#show run all | section 1/1$     //$是中止符
                                        //show run all展示所有(隐藏)命令

    access:默认终端设备(服务器,PC,路由器)

    SW1#(config-if)#switchport mode access
    SW1#(config-if)#switchport access vlan 10

    no掉vlan后接口配置下面不会改变

    还需要重新配置

    SW1(config)#int g1/2
    SW1#(config-if)#no sw ac vlan 20
    or
    SW1(config)#default int g1/2

    接收帧:

    1.接口收到untagged帧,将打上该接口PVID的tag

    2.交换机帧的VLAN ID和接口PVID相同才会接收

    发送帧:

    1.帧的VLAN ID和接口PVID相同,剥离tag再发出帧

    2.不同则禁止发出

    7.3 trunk接口

    交换机之间

    中继接口

    IEEE 802.1Q协议规定,在以太网数据帧中加入4字节的vlan标签

    cisco设备,trunk默认放行所有vlan流量通过

    SW1(config-if)#sw trunk allowed vlan add 10

    Huawei设备,需要手动放行所有vlan流量通过

    ISL封装

    cisco私有封装(已基本淘汰)

    SW1(config-if)#sw trunk encapsulation isl         //指定封装类型
    SW1(config-if)#sw mode trunk
    SW1#show int trunk

    802.1Q封装
    SW1(config-if)#sw trunk encapsulation dot1q

    Native VLAN:(default vlan1)

    某一个vlan流量过大,交换机之间专门为这个vlan剥离tag

    SW1(config-if)#sw trunk native vlan 10

    接收帧:PVID=Native VLAN

    1.接口收到untagged帧,将打上该接口PVID的tag(在VLAN列表则接收)

    2.帧的VLAN ID在接口允许通过的VLAN列表里才会接收

    发送帧:

    1.帧的VLAN ID和接口PVID相同,剥离tag再发出帧

    2.VLAN ID和接口PVID不同,检查VLAN ID是否在列表,在列表保留帧的tag发送,不在列表禁止发送

    在实际生产的过程中,不使用vlan,因为一旦涉及到跨vlan的通信,就需要用到三层的路由,会消耗交换机CPU导致业务延迟等

    为什么Vlan需要划分为不同的子网?

    如果同一网段(不同vlan)配置ip,当交换机解析到同一网段信息时,只会发ARP报文学习交换机的端口信息MAC,不会使用到三层发送路由包,所以无法达成通信

    image-20240801124904121.png

    注意这边图片里的网关是错的,网关需要为同一子网ip(详见Day17 VRRP)

    • 发送设备(192.168.1.2,VLAN 10)发送数据包到接收设备(192.168.2.10,VLAN 20)。

    • 数据包封装为以太网帧:源MAC地址、目的MAC地址、VLAN 10标识符。

    • 交换机接收帧,识别VLAN 10,将帧转发到三层交换机的路由功能。

    • 三层交换机或路由器解封装帧,读取IP包,决定转发到VLAN 20。

    • 三层交换机或路由器重新封装帧:源MAC地址(路由器接口)、目的MAC地址(接收设备),VLAN 20标识符。

    Day 8 DTP与VTP

    8.1 DTP

    Dynamic Trunk protocol

    方便对于trunk模式的形成与配置

    DTP:

    Access

    接口强制成为access接口模式

    不会发送和接收DTP消息

    Trunk

    接口强制成为trunk接口模式

    主动发送DTP消息

    Desirable

    主动向对方发出DTP协商消息,双方形成trunk链路

    不同版本交换机默认desirable或auto

    Auto

    不会主动发送DTP协商消息,一旦收到DTP协商消息就会变成trunk链路

    不同版本交换机默认desirable或auto

    nonegotiate

    不会发送或接收DTP协商消息,不能单独使用,一般与sw mode trunk连用

    例如35系列desirable

    8.2 VTP

    vlan trunk protocol

    SW1#show vtp status

    vtp运行的条件

    1.VTP运行必须保证在trunk链路上传输

    2.运行VTP的设备需要保证在同一个域名内(VTP Domain Name)

    空域名设备,域名自动会被配置过的交换机洗掉

    SW1(config)#vtp domain yumin

    3.认证通过

    密钥信息一致(88888888)

    vtp的模式

    模式

    Server

    Client

    Transparent

    对VLAN做任何的增/删/改

    x

    转发VTP消息

    同步/被同步VLAN

    x

    SW1(config)#vtp mode client

    vtp中同步与被同步不看模式(transparent除外),看的是修订号大小(大的同步小的)

    修订号(Configuration Revision):交换机中的增删改次数

    !上新设备的CR很大将旧的系统vlan全部洗掉

    解决方案:

    • 上新设备之前vtp设置为transparent(CR=0)

    • 更改域名

    vlan保存的位置

    Server和Client模式时,保存在nvram: vlan.dat,不在running-config

    Transparent模式时,同样保存在nvram: vlan.dat,running-config里也有

    Day 9 STP生成树

    9.1 STP的引入

    二层交换机网络冗余性与环路

    广播风暴,stp将端口置为blocked

    IEEE

    CISCO

    802.1D STP

    PVST/PVST+

    802.1W rapid-STP

    Rapid-PVST

    802.1s MST

    MIST(多实例)

    802.1D

    PVST

    PVST+

    所有vlan公用一棵生成树

    每个vlan一棵生成树

    无法负载分担,仅需维持一棵生成树

    负载分担,但vlan过多导致维持stp占用资源压力过大

    新增三个特性缩短收敛时间,但仍偶发30s收敛

    30-50s

    30-50s

    0-30s

    802.1W rapid-STP

    Rapid-PVST

    所有流量跑一条线路风险太大

    秒切出问题概率太大

    0s

    0s

    802.1s MST

    MIST

    针对各实例负载分担生成树

    针对各实例负载分担生成树

    instance 2 vlan 30-50

    instance 1 vlan 10-20

    SW1#show spanning-tree
    CISCO默认运行PVST

    9.2 生成树选路

    1. 选取每个网络的根桥(root bridge)

    2. 每个非根桥设备选举根端口(root port)

    3. 每段链路选举指定端口(designated port)

    4. 非根端口/指定端口置为blocked

    选举根桥

    Root-ID 是设备认为当前环境当中的根桥

    Bridge-ID 是设备自身优先级/MAC地址

    比较Root-ID

    • 比较优先级(小优先)

    • 比较MAC地址大小

    Bridge-ID/Root-ID共8个字节 前面两个字节(优先级)后面六个字节(MAC地址)

    image-20230809145345881.png

    思科extend system id 标明 vlan

    16进制:80 01

    2进制:1000 0000 0000 0001

    spanning-tree vlan 1 priority 4096        //只能改为4096的倍数(因为只能改前面四位)
    spanning-tree vlan 1 root primary         //直接设置为根桥
    spanning-tree vlan 1 root secondary       //备份根桥--28672

    当前根桥优先级

    >=32768

    <28672

    =4096

    primary

    优先级降到24576抢根桥

    当前根桥MAC地址比自己小:自动降低优先级比根桥小一级

    当前根桥MAC地址比自己小:报错(root primary无法降为0)

    当前根桥MAC地址比自己大:降低优先级与当前根桥一致

    当前根桥MAC地址比自己大:降低优先级与当前根桥一致

    一旦选举完成,网络中只有根桥发送BPDU,其余设备只中继

    非根桥设备选举根端口

    1.Root ID

    2.Cost (去往根桥的开销)(对端接口到根桥开销+去往对端端口的开销)

    10M

    100

    100M

    19

    1000M

    4

    10000M

    2

    3.Bridge ID

    4.Port-ID(发送BPDU过来的端口号)

    0x8002--------128.2

    80中的8

    02

    priority

    Port-ID

    交换机端口优先级是16的倍数

    收到的BPDU中做出选举,收到BPDU消息最优的端口会成为根端口

    每一段链路选定指定端口

    1.Root ID

    2.Cost

    3.Bridge ID

    4.Port-ID

    链路上最优的BPDU接口将会成为指定端口

    非根端口指定端口置为block状态

    Tip:n台交换机拥有n-1条可转发链路

    Day 10 路由

    10.1 路由是什么

    将数据包从一个子网转发到另一个子网

    :寻址,旨在指出当路由器从某个端口收到数据包时,拆开数据包的二层信息,查看数据包三层信息当中的IP地址,去查询路由表项(最长匹配、递归查询),根据表中匹配的条目,找到下一跳或者出接口,重新封装二层,将数据包转发。

    10.2 主机/本地路由 Local

    一旦接口up,链路up,并且接口上配置了相应的IPv4地址,那么会自动产生一条/32掩码的本地路由地址插入路由表中,使此路由器完成本地链路的互访,并能够有效的防环无法宣告进入任何动态路由协议。

    防环:/32掩码最长,故单一指向本路由器本端口

    10.3 直连路由 Connected

    一旦接口up,链路up,并且接口上配置了相应的IPv4地址,那么会自动产生一条与接口子网掩码相同的路由条目插入进路由表,使得路由器完成直连链路的直接访问。

    10.4 静态路由 Static

    可以手工插入路由条目

    a.静态路由关联出接口
    R1(config)# ip route 192.168.23.0 255.255.255.0 g0/0
    //子网,类型,出接口

    X ??当发出ARP Request时,路由器无关自己的广播会进行隔离drop

    代理ARP

    当收到ARP请求数据包时,若发现数据包当中请求的IP地址并不是自己接口上对应的IP,不会直接丢弃数据包,而是查看设备的路由表,若是有去往对应IP地址的路由条目,则会代为回复自己的接口MAC地址放入ARP reply交还给发送方。

    Cisco设备都默认开启了代理ARP。

    b.静态路由关联下一跳地址
    R1(config)# ip route 192.168.23.0 255.255.255.0 172.16.12.2
    //子网,下一跳地址

    ARP请求发向的地址是静态路由下一跳的IP地址,数据包二层封装时,封装的将会是静态路由下一跳的MAC地址

    最长匹配

    :当访问目的地IP地址在路由器的路由表有多个可匹配的路径时,按最长掩码的路由条目转发数据包

    例子:需要访问loopback 0 3.3.3.3/24

    3.3.3.0/24包含范围3.3.3.1-3.3.3.254

    3.3.3.0/25包含范围3.3.3.1-3.3.3.126--->包含的主机越少越精确

    此时选择/25最长掩码进行转发

    递归查询

    :当查询路由表之后找到了下一跳地址,但没有指出出接口,路由器会再次查询下一跳地址在路由表中如何前往,找到去下一跳地址对应的路由条目。。。。直到发现去往对应地址的出接口为止。

    10.5 路由表当中路由条目的选举

    默认情况下,路由器的路由表当中所存放的都是最优路由条目

    如果存在两条或多条相同前缀,相同掩码,下一跳不同的路由条目时,会根据管理距离,Metric比较,值最小的路由条目将会提交到路由表中

    如果存在两条或多条相同前缀,相同掩码,下一跳不同的路由条目时,管理距离和Metric都相同,则都提交到路由表,实现负载分担

    路由类型

    管理距离

    Metric(度量值)

    直连路由

    0

    0

    静态路由

    1

    0

    本地路由

    0

    0

    RIP

    120

    HOP

    EIGRP

    90

    K1-5 (默认10100)

    浮动静态路由

    10.6 缺省路由/默认路由

    特殊的静态路由,包含所有地址

    S*  0.0.0.0/0 [1/0] via 172.16.12.2

    有loop风险(ttl=255停止)

    有明细路由走明细,没有明细路由才考虑默认路由

    Day 11 Vlan间通讯

    网关:网络之间的连接器。可以当作PC默认路由的下一跳地址

    不同vlan想要通信,需要借助三层(网络层)

    网关配置为路由器的端口地址,通过路由器路由功能发送到另一个vlan

    11.1 单臂路由

    工作中一般用作外挂式数据流量转发

    子接口

    交换机橙色口配置为Trunk接口

    路由器一个接口只能配置一个IP地址

    通过子接口G 0/0.10 和 G 0/0.20(独立逻辑接口)

    路由器无法分辨vlan,所以配置子接口时需要加上vlan tag

    R1(config)#no ip routing   //关闭路由器路由功能以模拟PC
    PC1(config)#ip default-gateway 192.168.1.254   //网关设置为路由器子接口IP
    R1(config)#int g0/0.10
    R1(config-subif)#encapsulation dot1q 10   //802.1q封装,vlan10
    R1(config-subif)#ip add 192.168.1.254 255.255.255.0

    11.2 SVI接口

    HUAWEI中叫VLANIF接口

    支持路由功能的交换机

    Switch(config)#ip routing    //开启三层路由功能
    Switch(config)#vlan 10
    Switch(config)#int vlan 10   //创建vlan10接口
    Switch(config-if)#no sh
    Switch(config-if)#ip add 192.168.1.100 255.255.255.0

    Day 12 动态路由

    静态路由

    动态路由

    优点

    简单,高效,稳定,适合于小型网络

    自动计算,动态地形成路由表条目,路由器能够正常进行转发,能够自动适应网络拓扑变更

    缺点

    1.中大型网络配置量大 2.人工配置,容易产生环路和次优路径 3.静态路由不能自动适应网络拓扑变更

    12.1 动态路由协议分类

    1.基于本质/算法分类

    距离矢量路由协议 Distance Vector : ”以讹传讹,道听途说“

    RIP、IGRP、EIGRP(enhance)

    链路状态路由协议 Link-state : ”地图协议“

    IS-IS、OSPF

    2.基于有类/无类进行分类

    有类的动态路由协议:交换路由条目时不携带路由条目的掩码

    RIPv1、IGRP

    无类的动态路由协议:交换路由条目时携带路由条目的掩码

    RIPv2、EIGRP、IS-IS、OSPF

    12.2 RIP

    RIPv1已经淘汰,现在运行version2

    R1(config)#router rip
    R1(config-router)#version 2
    a.使用方法

    RIP中Network命令的用法:

    1.被Network后面指定的网段主类匹配的路由器接口运行RIP

    2.被Network后面指定的网段主类匹配的路由器接口的直连路由放进RIP的数据库

    例如:172.16.12.1属于B类地址,即前16代表网络位

    R1(config-router)#network 172.16.0.0  //宣告主类

    b.基本信息

    RIP的组播地址:224.0.0.9

    基于UDP传输协议 端口号为520

    RIP为周期更新:每隔30s发送一次路由条目

    ”不会向直连路由的邻居通告此链路的直连路由“

    RIP会默认开启主类边界自动汇总 auto-summary:通过路由条目时会判断路由条目的主类是否与出接口主类相同,不相同则通告汇总路由。

    如:出接口为C类地址,loopback为3.3.3.3主类为A类,即通告3.0.0.0/8,关闭则通告3.3.3.0/24

    no auto-summary后通告明细路由

    RIP通过跳数来鉴别去往目的地的度量值:

    当将直连路由放入RIP的数据库时,Metric=0

    当将此路由通告给链路上其他设备时,Metric+1

    MAX HOP=15--->RIP只能用在中小型网络

    c.缺点

    由于只关注hop来计算Metric值,不考虑带宽,无法最好的利用流量。

    没有邻居表

    收敛速度慢

    主类宣告,容易波及其他不想使用RIP的接口,进行无意义的发包

    12.3 EIGRP

    a.基本信息

    引入了邻居表

    Metric:通过链路的带宽,延时,可靠性,负载,MTU

    Query机制

    宣告时引入了通配符

    b.使用方法
    R1(config)#router eigrp 123    //协议后加上as号

    Autonomous system: 自治系统AS,一个区域

    EEIGRP中Network的用法:

    1.被Network后面指定的网段及通配符所匹配的路由器接口地址,使其运行动态路由协议EIGRP

    2.被Network后面指定的网段及通配符所匹配的路由器接口地址,使其接口对应的直连路由进入宣告进入EIGRP数据库

    Network 172.16.12.0 255.255.255.0    //正掩码宣告,自动转换为通配符
    Network 172.16.12.0 0.0.0.255        //反掩码宣告
    Network 192.168.23.3 0.0.0.0         //精确宣告,匹配到唯一的接口地址

    每隔5s发送Hello包,若连续15s未收到Hello包,则会断开邻居关系重新收敛。

    R1#show ip eigrp topology            //路由表数据库
    R1#show ip eigrp neighbors           //邻居表

    Metric

    =256*(10^7/BW + Delay/10)

    BW为链路中最小的带宽(loopback带宽也算)(kbit/s),Delay为接口延时及入接口延时(usec)

    12.4 OSPF

    a.基本信息

    “地图协议” --->每个路由器都有地图,能更精确地选路

    分为三个版本

    ospf 测试版

    ospf v2 支持IPv4

    ospf v3 (mospf) 支持IPv4和IPv6

    邻居/邻接表

    互相发送hello包为邻居关系

    Hello包中包含信息,进化为邻接状态

    拓扑表

    LSDB:链路状态数据库

    地图

    路由表

    b.使用方法

    分区域设计:Area 0 和 非Area 0

    Area 0

    非 Area 0

    骨干区域/传输区域

    普通区域

    特殊区域:stub、totally stub、nssa、totally nssa

    保证同区域设备路由维持1.拥有本区域所有链路状态信息,能够计算出本区域的路由条目

    2.拥有其他区域的路由摘要信息,能够计算出区域之间的路由条目

    ABR:区域边界路由器,一个接口在Area 0,一个接口在非Area 0.

    router ospf 1                              //每一个进程有自己的数据库,进程号
    Network 172.16.12.0 255.255.255.0 area 0   //正掩码宣告,自动转换为通配符
    Network 172.16.12.0 0.0.0.255 area 0       //反掩码宣告
    Network 192.168.23.3 0.0.0.0 area 0        //精确宣告,匹配到唯一的接口地址
    R1(config)#int g0/3
    R1(config-if)#ip ospf 1 area 0             //接口直接运行ospf

    Day 13 ACL

    13.1 基本信息

    访问控制列表 access-list

    1.路由条目

    匹配路由条目/过滤路由条目

    2.数据流量

    匹配数据流量/过滤数据流量

    !!访问控制列表针对于自己始发的数据流量无效!!只对经过自己的数据流量生效

    任何访问控制列表都会在命令行的末尾加一句deny any

    默认情况下,针对自己配置匹配的流量会进行放行或者禁止,其他未匹配的流量默认被拒绝

    访问控制列表的书写按照顺序排列,从上到下,从旧至新。序列号a0=10 等差数列d=10

    ACL的匹配原则:匹配上后直接调用,不再查看后续条件内容,直接按需操作

    访问控制列表中的语句不能够在全局状态下直接删除,否则会直接删除整个列表

    如何进入具体ACL:

    R1(config)#IP access-list extended 101
    R1(config-ext-nacl)#no 10 deny icmp any host 3.3.3.3   //no掉条目
    R1(config-ext-nacl)#no 20                              //直接no序列号也可以
    R1(config-ext-nacl)#1 permit tcp host 1.1.1.1 host 3.3.3.3 eq telnet //按照序列号数字直接插入

    13.2 使用方法

    R1(config)#access-list ?

    Access-list <1-99> 标准的访问控制列表

    Access-list <100-199> 扩展的访问控制列表(高级的访问控制列表)

    Access-list <1300-1399> 标准访问控制列表的扩展范围

    Access-list <2000-2699> 扩展访问控制列表的扩展范围

    a.标准访问控制列表

    U.U.U 策略性过滤

    R1(config)#access-list 1 deny 1.1.1.1
    R1(config)#int g0/0
    R1(config-if)#ip access-group 1 out     //数据流量in or out
    R1(config)#access-list <1-99> deny/permit <address> <wildcard bits>

    通配符:共32bits,用0来表示前缀的对应位置固定,用1来表示前置的对应位置变化

    例如:

    access-list 10 permit 1.1.1.0 0.0.0.3 ----->可以匹配上四个ip

    00000001

    00000001

    00000001

    00000000

    00000000

    00000000

    00000000

    00000011

    如何计算通配符?

    前缀:相同是几就是几,不同为0

    通配符:相同为0,不同为1

    b.扩展的访问控制列表

    1.在针对数据流量操作时,既能匹配数据流量的源地址,也能匹配数据流量的目的地址

    2.能够针对于数据流量的协议进行过滤和匹配

    3.在针对路由条目做过滤和匹配时既能匹配路由条目的前缀,也能匹配路由条目的掩码

    access-list 100 deny/permit <protocol> <source ip> <source ip wildcard> <destination ip> <destination ip wildcard>
    access-list 100 deny icmp host 1.1.1.1 host 3.3.3.3    //单一地址匹配时用host

    c.可命名的访问控制列表
    ip access-list standard WOLF

    Day 14 NAT

    14.1 基本信息

    Network Address Translation 网络地址转换协议----->缓解ipv4地址紧缺

    私有地址:A类 10.0.0.0/8

    B类 172.16.0.0/12

    C类 192.168.0.0/16

    私有IPv4不能作为公有地址在公网中使用

    连上运营商网线会送一个公有ip地址,家里的私有地址在路由器转换为公有ip

    14.2 配置

    a.静态一对一转换:

    1.确定NAT转换的内部和外部

    2.将需要转化的静态IPv4地址与公有地址做关联

    R1(config)#int g0/0
    R1(config-if)#ip nat inside
    R1(config)#int g0/1
    R1(config-if)#ip nat outside
    R1(config)#ip nat inside source static 192.168.1.1 202.100.12.1   //记得加inside
    R1(config)#ip nat inside source static tcp 192.168.1.1 23 202.100.12.1 3333 extendable  //针对端口
    R1#show ip nat statistics       //查看NAT转换统计的信息
    R1#show ip nat translations     //查看NAT的转换表项

    可以隐藏服务器地址

    b.动态一对一映射

    1.确定NAT转换的内部和外部

    2.确定感兴趣流ACL(需要转化的私有IPv4地址)

    ip access-list standard NAT
    permit 192.168.1.0 0.0.0.255

    3.确定公有地址池pool(可转化的共用地址空间)

    ip nat pool name 202.100.12.100 202.100.12.103 netmask 255.255.255.0

    4.将感兴趣流与公有地址池做关联

    ip nat inside source list NAT pool name

    利用流量触发,触发完成后动态一对一是绑定的,与静态一对一一致

    c.动态的多对一转换

    1.确定NAT转换的内部和外部

    2.确定感兴趣流ACL(需要转化的私有IPv4地址)

    3.将感兴趣流和出接口进行关联+overload

    ip nat inside source list PAT interface g0/1 overload  //overload代表可以复用
    会存活60s的表象让公网地址能够成功路由私有地址

    d.动态多对少

    1.确定NAT转换的内部和外部

    2.确定感兴趣流ACL(需要转化的私有IPv4地址)

    ip access-list standard NAT
    permit 192.168.1.0 0.0.0.255

    3.确定公有地址池pool(可转化的共用地址空间)

    ip nat pool name 202.100.12.100 202.100.12.103 netmask 255.255.255.0

    4.将感兴趣流与公有地址池做关联+ovreload

    ip nat inside source list NAT pool name overload

    先使用相同IPv4地址的端口号,当某一个地址端口号被占用完毕后再使用其他公有地址

    Day 15 点到点链路

    15.1 PPP

    公有协议,点到点协议

    只能运行在点到点链路 slot 串行链路

    点到点封装不需要源目MAC地址

    encapsulation ppp
    a.身份验证

    例证:小时候电脑上宽带连接软件输入账号密码登录,通过SP验证上网

    PAP认证

    :明文认证

    服务端配置本地用户名密码

    客户端拨号,发送用户名密码,认证通过,链路正常工作

    R2
    peer default ip address 192.168.1.1
    ppp authentication pap
    ppp pap sent-username admin password 0 cisco
    CHAP认证

    :挑战握手协议 自动针对对于信息做MD5----散列函数加密

    客户端配置设备名称以及密码并开启认证

    客户端拨号,发送设备名称以及密码信息,认证通过能够上网

    R2(config)#username R1 password cisco
    R2(config-if)#ppp authentication chap
    b.网络层协议的支持
    c.可靠性
    d.配置和协商

    15.2 HDLC

    HDLC封装为思科私有

    见到Serial口才是点到点

    Day 16 防火墙

    原先的项目拓扑图在核心网部分没有做StarHub和WCT的安全隔离,修改拓扑图后能够将区域划分为Untrust Zone/DMZ Zone/Trust Zone

    image-20240828173718461.png

    研究了如何在防火墙上配置Zone(Untrust to DMZ):

    1. 定义区域(Zones)

    system-view
    
    zone name Untrust
    
     description Untrusted zone for external network
    
     quit
    system-view
    
    zone name DMZ
    
     description Demilitarized Zone for isolated servers
    
     quit
    1. 将接口分配到区域(Assign Interfaces to Zones)

    system-view
    
    interface GigabitEthernet0/0
    
     zone untrust
    
     quit
    system-view
    
    interface GigabitEthernet0/1
    
     zone dmz
    
     quit
    1. 配置安全策略(Configure Security Policies)

    system-view
    
    security-policy from-zone untrust to-zone dmz
    
     rule 1 permit
    
     source-address any
    
     destination-address any
    
     service any
    
     quit

    Day 17 VRRP

    !!!!!!!!!!VRRP(虚拟路由冗余协议)设计的目的是在同一个子网内提供冗余的网关,所以虚拟IP地址(虚拟路由器的IP地址)和参与VRRP的物理路由器的实际IP地址必须在同一个子网内。

    在使用VRRP的场景下,如果已经在VLAN 10里配置了VRRP的虚拟IP地址,那么上联互联接口(trunk口)通常不需要配置IP地址。这是因为所有的IP处理,包括VRRP的冗余和故障切换,都是通过VLAN接口(SVI)来完成的。

    具体来说,配置步骤如下:

    1. 配置VLAN接口:在VLAN 10上配置IP地址和VRRP。

      interface vlan 10
        ip address 192.168.10.2 255.255.255.0
        vrrp 10 ip 192.168.10.1
        vrrp 10 priority 100
        vrrp 10 preempt
    2. 配置上联互联接口:将物理接口配置为trunk模式,以便承载多个VLAN的流量,包括VLAN 10。

      interface gigabitethernet 1/0/1
        switchport mode trunk
        switchport trunk allowed vlan 10,20,30

    在这种配置下:

    • VRRP虚拟IP地址 192.168.10.1 和VLAN接口的实际IP地址 192.168.10.2 都配置在VLAN 10接口上。

    • 上联互联接口 gigabitethernet 1/0/1 配置为trunk模式,不需要单独配置IP地址。

    这样配置的结果是:

    • VRRP负责管理虚拟IP地址 192.168.10.1,并在需要时在VLAN 10内切换路由器。

    • 上联互联接口作为trunk口,可以传输多个VLAN的数据流,包括VLAN 10的数据。

    总结:当在VLAN 10里配置了VRRP的虚拟IP地址后,上联互联接口配置为trunk模式,不需要再配置IP地址。所有IP相关的处理都通过VLAN接口完成。

    总结:在使用VRRP的场景下,实际IP地址和虚拟IP地址配置在VLAN接口上,而不是直接在物理接口上配置。物理接口只需要确保正确加入相应的VLAN即可。

    二层

    5078E40C-1EF9-4F96-9668-C60A3C81495C.png

    B4B4A335-FB88-4925-9194-58B5DC298717.png

    三层

    704A6ABA-C0DD-4AD0-B841-6A83E7A18E6E.png

    3D742E26-E33C-439F-B40C-78EF64268C22.png

    4是Switch A虚拟接口