• 计算机网络基础


    •  ​​

      目录

      IPv4

      IPv4地址

      说明

      地址分类

      说明

      特殊地址

      VLSM和CIDR

      VLSM

      作用

      划分方式

      ARP

      作用

      DHCP

      配置方式

      TCP&UDP

      NAT

      NAT穿越

      HDLC

      PPP

      -IPv6

      网络管理与运维

      SDW

      GRE

      IPsec

      封装模式


    • IPv4

      网络层报文说明
    • 网路层报文固定长度20B,同时具备可扩展字段,最大总长度60B。
    • Version:版本目前主要使用v4和v6两个版本
    • Header Length:首部长度 因为v4是可变的长度20-60之间,因此需要这里标注具体长度。
    • DS Field:QoS会用到
    • Total Length总长度:IP报头+上层数据长度,长度等于MTU
    • Identification:标识,提供ID号,解决数据切片用来判断哪些数据是一组的。
    • Flags:标志位 内部可以提供MF、DF、保留位
    • MF:more fragment更多切片,置位1则代表为最后一片。
    • DF:dont fragment,控制数据是否允许分片,置位1代表不允许分片。
    • Fragment Offset片偏移值  标识每一片在原始数据中的位置  解决数据切片后,重组时数组组合顺序问题
    • Time to Live:通过规定TTL可以控制报文最大允许的路由距离,具有三层防止环路作用。在不同的操作系统、协议中具有不同的默认值。在设备发送数据前减少1,如果此时TTL=0则丢弃该报文。
    • protocol:协议,用来标识上层协议。常见的协议号:tcp-6  udp-17  ospf-89  icmp-1
    • Header Checksum:头部校验和,仅对报文头部进行校验,不对数据整体进行校验。
    • source ip address/destination ip address :源/目IP地址。
    • IP options:可扩展字段,IPv6报头要求为32bit的倍数,如不足需要使用Padding位填充。
    • IPv4地址

    • 说明
    • IP地址全长4B,32bit。采用点分十进制进行表达,8位一组。理论范围0.0.0.0~255.255.255.255.
    • ​​​​​​​地址分类

    • IANA - IP地址分成了5大类
    • A类:第一个8位组的第一位一定取值0          //掩码:255.0.0.0 - /8
    •         0xxx xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx
    •         最小:0.0.0.0
    •         最大:127.255.255.255
    • B类:第一个8位组的前两位一定取值10        //掩码:255.255.0.0 - /16
    •         10xx xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx
    •         最小:128.0.0.0
    •         最大:191.255.255.255
    • C类:第一个8位组的前三位一定取值110     //掩码:255.255.255.0 - /24
    •         110x xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx
    •         最小:192.0.0.0
    •         最大:223.255.255.255
    • D类:第一个8位组的前四位一定取值1110
    •         1110 xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx
    •         最小:224.0.0.0
    •         最大:239.255.255.255
    • E类:第一个8位组的前四位一定取值1111
    •         1111 xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx
    •         最小:240.0.0.0
    •         最大:255.255.255.255
    • ​​​​​​​说明
    • A B C三类地址-单播地址
    • D类-组播地址-只能作为逻辑地址存在,不能配置在设备的接口上
    • E类 -保留地址 军事|科研
    • ​​​​​​​特殊地址
    • 1.                 0.0.0.0  //0.0.0.0-0.255.255.255 不可用
    • 2.                 127.0.0.0 //127.0.0.0 - 127.255.255.255 不可用
    • 环回地址-用于测试内部TCP/IP协议栈使用 - 127网段全部规划给了本地
    • A类地址可用范围:1.0.0.0-126.255.255.255
    • VLSM和CIDR

      • VLSM

        • 作用
    • 由于主类(A、B、C类)地址的划分方案并不能很好的满足企业网络分配的实际需要,如一个C类地址仅可为254个主机分配而B类地址却可为65534个主机分配地址,因此迫切需要一种方案能够调整子网范围满足企业的实际网络划分需要。
    • 为了解决上诉问题提出了VLSM技术。VLSM:可变长子网掩码。通过增加网络位长度对主类地址进行重新划分以满足实际的组网需要。如B类地址的默认16位掩码通过VLSM技术增加网络位长度,将一个B类地址划分为多个子网,满足企业在不用网络设备数量下的用网需要。
    • 划分方式
    • 对于待划分的子网,应根据需要从需求主机地址最大的网络进行划分,如对192.168.0.0/24进行划分四个子网,分别满足100、58、27、15个主机设备的网络需求。划分时应优先从100个主机需求的进行考虑,分配后再进行58个主机需求的划分,依次分配。
    • CIDR
      • 作用
    • 尽管使用VLSM技术对主类网络进行了划分使得他们能够更好的适应实际网络的配置需求。但是VLSM技术的应用也产生了大量的路由条目,导致网络中需要传递更多的路由信息极大的增加了路由设备的传输负担。为了减少网络中路由条目的传递,降低网络负担,CIDR技术(无类域间路由、超网)将多个小的子网利用更大的子网进行概括以实现路由表项的优化。
    • 使用方式
    • 如192.168.0.0/24与192.168.1.0/24两个子网利用CIDR技术使用192.168.0.0/23进行聚合,聚合后在外部网络中使用该路由条目进行路由传递。
    • 聚合算法
    • 1.将所有的子网转换成2进制
    • 2.自高位向低位进行比对,将相同的位数取值下来,一旦不同,立刻停止比对,将后方取值为0。
    • 3.将相同位数取值完毕之后,换算成10进制,将相同的位数缩写成掩码前缀。
    • 注意事项
    • CIDR技术在尽量概括子网的前提下应避免带来错误引流等问题。如将192.168.0.0/24、192.168.1.0/24、192.168.2.0/24网段使用CIDR技术聚合为192.168.0.0/22,尽管可以实现对这三个子网的聚合,但是同时也吸引了去往192.168.3.0/24的流量,这将增加路由设备的流量负担,同时也带来了路由黑洞。
    • 使用CIDR技术应尽量多的覆盖需要聚合的路由信息,同时不应覆盖不存在的路由信息。
    • 网段
    • 网络位相同且子网掩码长度一致的IP地址为同一网段。
    • 注意设备只能知晓自己的IP与掩码,因此设备判断与其他设备是否处于相同网段时会使用自己的掩码来判断。
    • ICMP
      • 说明
    • Internet控制报文协议ICMP(Internet Control Message Protocol)是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,它对于收集各种网络信息、诊断和排除各种网络故障具有至关重要的作用。使用基于ICMP的应用时,需要对ICMP的工作原理非常熟悉。
      • 工具
    • ping命令
    • tracet命令
      • ping命令说明
    • windows中ping+IP
    • ping命令会发送ICMP报文进行链路测试,成功发送ICMP报文,并正确接收回复的ICMP报文后设备认为链路联通,返回延迟等信息。
      • ICMP报文说明
    • ICMP协议是基于网络层的协议,协议号为1。可以通过路由功能转发该报文。
        • 类型说明
    • 类型(Type)
    • 编码(Code)
    • 描述
    • 0
    • 0
    • Echo Reply(回复报文)
    • 3
    • 0
    • 网络不可达
    • 3
    • 1
    • 主机不可达
    • 3
    • 2
    • 协议不可达
    • 3
    • 3
    • 端口不可达
    • 5
    • 0
    • 重定向
    • 8
    • 0
    • Echo Request(请求报文)
    • 11
    • 0
    • TTL超时

    ​​​​​​​报文交互流程

    • 常见问题说明
      1. 问题一
    • 测试机显示主机不可达:常见于ICMP报文无法封装的场景。
    • 常见原因:
    • PC网关为不存在的网关地址、缺少路由等场景。
    • 问题二
    • 测试机显示请求超时:常见于ICMP报文发出后无回复的场景。
    • 常见原因
    • 中间链路缺少路由;
    • 目标主机不存在;
    • 目标设备防火墙阻止;
    • ARP

      • 作用

    • 将在已知IP地址的情况下,求与之对应的mac地址。ARP协议是基于数据链路层的协议。ARP表
      • 查看方式
    • Windows:arp -a
    • 表项信息
    • 默认老化时间:20分钟。华为默认在10分钟、15分钟时进行单播确认,并在20分钟时进行广播更新。
    • 交互过程
    • ARP报文基于数据链路层。请求方会首先封装数据链路层报头,初始请求为广播请求,因为目的地址为FF:FF:FF:FF:FF:FF,源地址为自身设备MAC地址。数据链路层封装完毕后会有ARP报文,ARP报文内会封装硬件类型、IP协议类型(IPV4等)、消息类型(请求、回应)以及自身的IP地址(sender IP)、MAC地址(sender MAC)和要请求的目标IP地址(target IP)、MAC地址(target MAC)。
    • 由于目标MAC地址未知,因此在ARP报文中target MAC为00:00:00:00:00:00。
    • 目标设备接受到请求后,会将自身设备MAC地址封装到ARP报文中,并以单播方式回复。
    • 手动配置
    • 设备能够通过ARP报文获取到MAC地址,也可以通过手动添加方式将IP与MAC地址对应关系添加到ARP表中。
    • windows中命令如下: 
    • arp -s 157.55.85.212 00-aa-00-62-c6-09 添加静态项
    • 免费ARP
    • 接口配置一个IP地址之后,发送免费ARP [DHCP/人为配置]。
    • sender-ip和target-ip均为本接口ip。
    • 可以用于检测IP地址冲突。
    • DHCP

      • 作用
      • 配置方式

    • 无论采用哪种方式,DHCP服务器/中继服务器均需要开启DHCP服务,在系统视图下输入命令:dhcp enable。
    • 接口模式
      1. 说明
    • dhcp使用基于该接口的IP地址及掩码信息自动生成地址池,网关为该接口IP地址。dhcp相关功能都需在该接口下配置。
    • 接口模式中地址池为接口网段不适合为多个网段分配IP地址,因此一般适用于网络拓扑较为简单,客户端与设备在同一网段(广播域)的场景。
    • 示例
    • #
    • interface GigabitEthernet0/0/0
    •  ip address 192.168.10.254 255.255.255.0
    •  dhcp select interface   //开启dhcp接口模式
    •  dhcp server static-bind ip-address 192.168.10.100 mac-address 5489-9878-05e3  //为某mac分配固定的IP地址
    •  dhcp server excluded-ip-address 192.168.10.120 192.168.10.130  //排除地址池中的部分地址
    • dhcp server lease day 0 hour 5 minute 5 //配置dhcp租期
    •  dhcp server dns-list 114.114.114.114 8.8.8.8 //配置dns参数
    • #
    • 全局模式
      1. 说明
    • dhcp使用基于全局地址池分配IP地址,可以配置多个地址池,巧妙利用dhcp中继即可满足不同网络的地址分配需求。
    • 配置示例
    • #
    • ip pool vlan10
    •  gateway-list 192.168.10.254  //全局模式的地址池需要配置网关,否则PC将无法获取网关地址
    •  network 192.168.10.0 mask 255.255.255.0 //配置地址池范围 网络号+子网掩码
    •  static-bind ip-address 192.168.10.22 mac-address 1020-ad54-aa05
    •  excluded-ip-address 192.168.10.252 192.168.10.253
    •  lease day 1 hour 2 minute 3
    •  dns-list 114.114.114.114
    • #
    • #
    • interface GigabitEthernet0/0/0
    •  ip address 192.168.30.100 255.255.255.0
    •  dhcp select global //开启全局dhcp模式
    • #
    • 注意事项
      1. 路由问题
    • 如果客户端与dhcp服务器不在同一个广播域内可能需要中继服务器中转报文,这时dhcp服务器与中继服务器之间需要有正确的路由表,否则报文将无法正常传递,客户端也将无法分配(获取)到地址。
    • 地址池选取原则:
    • 收到客户端的广播报文:
    • 根据开启全局模式的接口主IP选取地址池;
    • 如果接口主IP没有对应的地址池或已经分配完毕则根据接口从IP选取地址池;
    • 如果以上两种情况均无法找到地址池或无合适IP分配,则无法为客户端分配地址;
    • 收到中继服务器的中继报文:
    • 根据报文中的giaddr字段选择地址池,如果无法找到合适地址池或无合适IP分配,则分配地址失败。
    • giaddr字段为第一个DHCP中继的IP地址,后续dhcp中继服务器只增加hops,不会修改该字段。
    • 中继模式
      1. 说明
    • 当DHCP客户端与DHCP服务器不在同一网段时,可以通过配置DHCP中继,帮助DHCP服务器实现为DHCP客户端分配IP地址等网络参数。
          • 注意事项
    • DHCP服务器和DHCP客户端之间的DHCP报文中继次数不能超过16次,否则DHCP报文将被丢弃。
    • dhcp服务器与中继服务器之间需要有正确的路由表,否则报文将无法正常传递,客户端也将无法分配(获取)到地址。
          • 配置示例
    •  #
    • interface Vlanif10
    • dhcp select relay
    • dhcp relay server-ip 192.168.30.100
    • #
      • DHCP报文
        • discover
        • offer
        • request
        • ack
        • release
    • DHCP Snoop
      • 说明
    • DHCP Snooping分为DHCPv4 Snooping和DHCPv6 Snooping,两者实现原理相似,仅支持在交换机上配置。
    • DHCP Snooping绑定表根据DHCP租期进行老化或根据用户释放IP地址时发出的DHCP Release报文自动删除对应表项。
      • 注意事项
    • 开启dhcp snooping必须先开启dhcp功能。
        • 配置方法
    • 注意:以下命令配置完成后会导致客户端会无法获取到IP地址,原因及配置查看仿冒攻击章节
    • [S3]dhcp enable  //开启DHCP功能
    • [S3]dhcp snooping enable  //开启DHCP snooping功能
    • [S3-vlan10]dhcp snooping enable  //开启vlan10的dhcp snooping功能
    • [S3-GigabitEthernet0/0/1]dhcp snooping enable  //开启接口的dhcp snooping功能(接口上只在接入交换机开启即可)
    • [LSW3]display dhcp snooping user-bind all //查看dhcp snooping 绑定表项
      • 饿死攻击
        • 类型一:
          • 说明
    • 客户端通过不断的发送discover报文并不断修改其中的CHADDR(客户端硬件地址)字段来向DHCP服务器获取IP地址,导致DHCP服务器地址池耗尽,最终导致合法用户无法获取IP地址。
    • 这种攻击中dhcp报文的硬件地址与客户端始发报文的二层封装硬件地址不一致。
          • 解决方法
    • 在接入交换机开启dhcp snooping后,可以配置数据链路层中源MAC地址与DHCP报文中CHADDR字段一致性检查。当检测一致时认为是合法的DHCP报文,检测不一致时认为是非法的DHCP报文,将会被丢弃。
    • [S3]dhcp snooping check dhcp-chaddr enable vlan 10   //在vlan10下开启一致性检查
        • 类型二
          • 说明
    • 攻击者把数据链路层中的源MAC和CHADDR的MAC改成一致,躲避一致性检查。
          • 解决方法
    • 对于这种情况是没有检查机制的,但是可以通过指定该接口生成的dhcp snooping表项数量来进行控制。
    • [S3-GigabitEthernet0/0/1]dhcp snooping max-user-number 3  //该接口只能生成3个DHCP snooping表项,超额接收则拒绝
      • DHCP报文攻击
        • DHCP客户端伪造攻击
          • 说明
    • 攻击者仿冒合法客户端向DHCP服务器发送dhcp-request报文去续租IP,造成IP无法被正常回收,导致合法的客户端无法获取IP地址;攻击者仿冒合法客户端向DHCP服务器发送dhcp-release报文去释放IP,造成合法客户端异常下线。
          • 解决方案
    • 解决办法:在接入交换机开启DHCP snooping功能。
    • dhcp snooping check dhcp-request enable
    • 上述命令可以在全局视图下指配VLAN开启,也可以在接口/VLAN视图下开启,dhcp-request消息类型检测
          • 原理
    • 上述方案中检查的报文为dhcp消息类型检查,即报文中的message type,改类型仅有两种即客户端发送的request与服务器发送的reply。
    • 客户端发送的request一般有以下的情况:设备上线、IP确认请求、地址释放、续租。主要检查其中的客户端硬件地址(CHADDR)是否在表中,如果不在表中(认为设备是第一次上线)则通过。如果CHADDR在表中,则检查是否与之前绑定的各项参数匹配,如不匹配则丢弃。
        • 非DHCP客户端伪造攻击
          • 说明
    • 网络中出现非DHCP客户端(即客户端IP地址采用手动配置的设备)发送DHCP报文攻击。因为客户端未使用DHCP获取IP地址所以dhcp snooping表项中无该客户端信息,所以需要针对该情况进行防御。
          • 解决方案
    • [S3-GigabitEthernet0/0/1]dhcp snooping sticky-mac   //开启设备该接口基于DHCP snooping绑定表功能的MAC地址学习机制(粘滞)
    •     解释:该接口一旦开启此功能,那么MAC地址表学习途径只能通过snooping表项学习,如果没有snooping表项生成,那么就无法学习mac地址表,同时该接口无法转发数据!!!
    • (该功能开启以后意味着这个接口就只能接入DHCP客户端,对于静态客户端将无法入网)
    • 注意:ENSP中配置了也无法实现。
        • 泛洪攻击
          • 说明
    • 攻击者本身就是一台合法的DHCP客户端,通过在单位时间内发送大量的自身合法的DHCP报文来占用网络资源。单位时间内DHCP服务器将接收到大量的合法报文,拥塞DHCP处理模块,导致合法的终端将无法在短时间内正常获取IP地址。
          • 解决方法
    • [S3]dhcp snooping check dhcp-rate enable   //开启接口处理DHCP报文的频率功能
    • [S3]dhcp snooping check dhcp-rate 10       //每秒钟只能处理10个DHCP报文,超额发送的将被丢弃
      • 仿冒攻击
        • 说明
    • 在公司内可能会私接非法的DHCP服务器(如私接路由器LAN到网络内并开启了DHCP服务)。公司内合法的DHCP服务器和TP-LINK路由器都会收到客户端发出的discover报文,都会给客户端响应offer,此时对于客户端来说,哪个报文相应的快,就会使用哪个服务器下发的IP等参数。
        • 解决方案
    • 开启了dhcp snooping功能的交换机所有的接口都会默认为非信任接口,需要把交换机距离合法DHCP服务器较近的接口配置为信任接口。
    • 非信任接口收到DHCP请求消息时转递给设备自己的信任接口。
    • 非信任接口收到DHCP响应消息时,直接丢弃。
    • 信任接口收到DHCP请求消息时会转递给设备自己的其他信任接口,如果没有,则丢弃
    • 信任接口收到DHCP响应消息时会转递给设备自己非信任接口。
    • [S3-GigabitEthernet0/0/3]dhcp snooping trusted  配置该接口为信任接口
      • 中间人攻击
        • 说明
    • 攻击者利用ARP机制,让PC-A学习到IP-S与MAC-B的映射关系,又让Server学习到IP-A与MAC-B的映射关系。如此一来,PC-A与Server之间交互的IP报文都会经过攻击者中转。
    • 通过DAI技术将接收的ARP报文与dhcp snooping绑定表进行匹配如果不匹配就会丢弃报文,防止中间人窃取信息。
        • 解决方法
    • [S3]arp dhcp-snooping-detect enable  //开启基于dhcp-snooping绑定表的ARP动态检测功能
    • 开启该功能后,客户端发来的ARP报文将和该接口的snooping表项进行一致性检查,若不一致则丢弃该ARP报文。
    • TCP&UDP

    • ACL
      • 说明
    • ACL可以用于过滤报文,也可以用来过滤路由条目
    • 在三层接口上,使用traffic-filter命令结合acl,针对接口收、发的数据报文进行过滤,此时可以使用基本或者高级ACL,针对不同的参数进行过滤;
    • 在路由协议中,ACL作为路由抓取工具,可以对路由条目进行过滤,此时ACL只能使用基本ACL对路由进行匹配;具体默认行为以产品手册为准
    • l当ACL过滤数据报文时,会默认放行所有;
    • l当ACL过滤路由条目时,会默认拒绝所有;
      • 通配符
    • rule 5 deny source 192.168.1.0 0.0.0.0
        • 说明
    • 通配符一般会用在ACL中,与IP地址进行匹配,1表示随机匹配,0标识精确匹配,1和0可以交叉,最终结果用十进制表示。
    • 同一条编号的ACL中可以配置多个规则。
    • 5 —— 规则编号,ACL从小到大依次匹配,一旦命中一条规则立即停止向后匹配
    • 步长——默认为5,即规则编号的差值,步长可以方便后期插入新的规则时在中间有足够的规则编号可以使用,否则如果两条规则中间没有足够的空余编号需要删除后方规则才能配置不利于后期扩展。
    • deny——行为,deny(拒绝),permit(允许)
      • 分类
    • 分类
    • 编号范围
    • 参数
    • 基本ACL
    • 2000-2999
    • 源IP地址等
    • 高级ACL
    • 3000-3999
    • 源IP地址、目的IP地址、 源端口、目的端口等
    • 二层ACL
    • 4000-4999
    • 源MAC地址、目的MAC地址、以太帧协议类型等
      • 报文过滤
    • ACL可以配合traffic-filter进行报文直接过 滤,也可以进行报文抓取使用PBR进行策略路由。
    • 使用基本ACL对报文直接进行过滤可能会造成误伤的情形,需要谨慎配置。
      • 路由抓取
    • 一般使用ACL进行路由信息抓取,配合filter-policy、import-route、route-policy对路由信息进行控制。
    • NAT

      • 说明
    • 网络地址转换技术NAT(Network Address Translation)主要用于实现位于内部网络的主机访问外部网络的功能。当局域网内的主机需要访问外部网络时,通过NAT技术可以将其私网地址转换为公网地址,并且多个私网用户可以共用一个公网地址,这样既可保证网络互通,又节省了公网地址。
      • 分类
        • 静态NAT
    • 静态NAT实现了私有地址和公有地址的一对一映射。
    • 比较浪费公网IP地址。
    • 静态NAT属于双向全端口映射关系,内网双向映射,具有安全隐患,使用人数较少。
          • 配置
        • 动态NAT
    • 动态NAT基于地址池来实现私有地址和公有地址的转换。
    • 但是一个公网地址同一时间只能映射一台内网设备。
          • 配置
        • NAPT
    • 需要配置公网地址池,但是相比于动态NAT可以进行端口转换,使得单个公网IP映射多个内部主机,单个IP的端口映射消耗尽后才会使用其他地址,极大提高地址利用率。
          • 配置
        • Easy IP
    • 无需配置地址池,实现原理类似于NAPT只是没有地址池。
    • easyIP在内网访问外网时会改变源端口。
          • 配置
        • NAT服务器
    • 内部主机访问外部主机时不做端口替换仅地址替换。
          • 配置
      • 特殊说明
        • NAT服务器与NAT static区别
    • 两种映射的主要区别在于内部访问外部设备。
    • NAT static是一种静态的NAT,仅能根据命令进行指定的地址和端口替换。比如内部23端口映射外部3000端口,其他未配置。那么内部设备主动访问外部设备时将无法进行地址替换。
    • NAT server是一种动态的NAT,比如内部23端口映射外部3000端口,如果内部设备主动访问外部设备,那么也可以根据映射的地址对报文的源地址进行替换达到访问目的(但不替换端口)。
    • 如果两则都配置easy NAT,NAT static中的主机访问外部使用easy NAT进行映射。而NAT server中的主机使用NAT server中的地址进行映射。
    • NAT穿越

      • 针对的问题
    • 如果外部主机以NAT映射表中的公网IP+端口为目标发送数据,数据是否会被转发?
    • 需要根据NAT的类型来确定
      • NAT类型
    • NAT可以分成两大类:Cone NAT(圆锥型NAT)与Symmetric NAT(对称型NAT)。
    • Cone NAT又可以分为Full Cone NAT(完全圆锥型)、Restricted Cone NAT(限制圆锥型)、Port -Restricted Cone NAT(端口限制圆锥型)。
        • 相关名词
    • 内部Tuple:内部主机的私有地址和端口号所构成的二元组,即内部主机所发送报文的源地址、端口所构成的二元组。
    • 外部Tuple:内部Tuple经过NAT的源地址/端口转换之后,所获得的外部地址、端口所构成的二元组,即外部主机收到经NAT转换之后的报文时,所看到的该报文的源地址和源端口。
    • 目标Tuple:外部主机的地址、端口所构成的二元组,即内部主机所发送报文的目标地址、端口所构成的二元组。
      • 类型说明
        • 完全圆锥型(Full Cone NAT)
    • 同一内部Tuple请求被NAT转换至同一外部Tuple,任意外部主机就都能以外部Tuple中的地址和端口为目标发送报文,NAT设备对收到的报文能正确转发。Full Cone NAT处理方法简单,但安全性有缺陷。
    • 任何外部主机都能通过映射后的地址+端口访问内部主机。
        • 限制圆锥型(Restricted Cone NAT)
    • Restricted Cone NAT(限制圆锥型):Full Cone NAT的受限版本,于Full Cone NAT概念类似,主要区别是NAT设备收到外部主机的报文时,除了查看报文目的地址+端口是否与外部Tuple一致外,还会查看报文源IP是否与目标Tuple中的IP地址一致,如果都一致则转发。
    • 必须是内部主机访问的目标IP才能够通过映射后的地址+端口访问内部主机
        • 端口限制圆锥型(ort -Restricted Cone NAT)
    • Port Restricted Cone NAT(端口限制圆锥型):Restricted Cone NAT的进一步受限版本,此类NAT对于收到的外部主机回包除了检查数据源IP+端口与外部Tuple是否一致外,还需要检查数据目的IP+端口是否与目标Tuple一致,如果都一致则转发,此类NAT安全性很高。
        • 对称型NAT(Symmetric NAT)
    • 此类NAT在进行转换时,同一内部Tuple加上同一目标Tuple才会被NAT转换成同一外部Tuple,否则会转换成不同外部Tuple。对于返回数据的处理和Port Restricted Cone NAT类似,需要查看回程数据的源IP+端口,目的IP+端口与外部Tuple和目标Tuple是否一致。
      • NAT穿越技术
        • ALG(Application Layer Gateway)
    • 一般情况下,NAT只能对IP报文头的IP地址和TCP/UDP头部的端口信息进行转换。对于一些特殊协议,例如DNS、FTP等,它们报文的数据部分可能包含IP地址或端口信息,这些内容不能被NAT有效的转换,从而无法正确完成通信。
    • 使能ALG(Application Level Gateway)功能可以使NAT设备识别被封装在报文数据部分的IP地址或端口信息,并根据映射表项进行替换,实现报文正常穿越NAT。目前设备的ALG功能所支持的协议包括:DNS、FTP、SIP、PPTP和RTSP。
    • 就是应用层报文中内部有对应的地址和端口,但是NAT只能转换网络层的地址和端口,ALG就是解析了对应的协议报文,将里面的地址一起改了。
        • STUN(Simple Traversal of UDP Through Network Address Translators)
    • PPPOE&HDLC
      • 说明
    • 广域网中经常会使用串行链路来提供远距离的数据传输,高级数据链路控制HDLC(High-Level Data Link Control)和点对点协议PPP( Point to Point Protocol)是两种典型的串口封装协议。
    • 目前主流的协议是以太网协议。
        • 传输方式
    • 串行链路普遍用于广域网中。串行链路中定义了两种数据传输方式:异步和同步。
    • 同步传输需要等待对方接收完成,异步传输不需要等待效率更高。
    • 异步传输是以字节为单位来传输数据,并且需要采用额外的起始位和停止位来标记每个字节的开始和结束。起始位为二进制值0,停止位为二进制值1。在这种传输方式下,开始和停止位占据发送数据的相当大的比例,每个字节的发送都需要额外的开销。
    • 同步传输是以帧为单位来传输数据,在通信时需要使用时钟来同步本端和对端的设备通信。DCE即数据通信设备,它提供了一个用于同步DCE设备和DTE设备之间数据传输的时钟信号。DTE即数据终端设备,它通常使用DCE产生的时钟信号。
      • HDLC

        • 说明
    • 设备的S口默认为PPP协议,可以通过手动修改为HDLC协议。两端设备需要使用相同的链路协议,否则无法正常协商。
      • PPP

        • 组件
    • PPP包含两个组件:链路控制协议LCP和网络层控制协议NCP。
        • 认证过程
        • 认证方式
          1. PAP
    • 由被认证方(客户端)主动发起,密码采取明文发送。采用两次握手方式进行交互。
    1. 配置
      1. server端(认证端)
    • #
    • interface Serial4/0/0
    •  link-protocol ppp
    •  ppp authentication-mode pap //作为server端开启认证服务
    •  ip address 12.1.1.1 255.255.255.0
    • ##
    • aaa
    •  local-user ppp password cipher password
    •  local-user ppp service-type ppp
    • #client端(被认证端)
    • #
    • interface Serial4/0/0
    •  link-protocol ppp
    •  ppp pap local-user ppp password cipher password
    •  ip address 12.1.1.2 255.255.255.0
    • #CHAP
    • 由认证方(服务端)主动发起Challenge认证,被认证方(客户端)采用Response密文回复密码信息,认证方回复是否通过认证。采用三次握手方式
      • PPPOE
        • 说明
    • 综合PPP链路具备的认证功能与以太网链路的高带宽优势形成的新的基于以太网的链路协议即PPPoE(PPP over Ethernet)。
        • 配置
          • 服务端配置
    • #
    • ip pool pppoe//配置PPPoE地址池
    •  network 60.30.1.0 mask 255.255.255.0
    •  dns-list 114.114.114.114
    • #
    • aaa
    •  local-user user1 password cipher password //配置用于PPPoE的账号和密码
    •  local-user user1 service-type ppp  //PPPoE是基于PPP的,因此配置PPP服务
    • #
    • interface Virtual-Template1 //创建一个虚拟模板
    •  ppp authentication-mode chap //认证模式
    •  remote address pool pppoe  // PPPo调用该地址池分配IP
    •  ip address 60.30.1.1 255.255.255.0
    • #
    • interface GigabitEthernet0/0/0
    •  pppoe-server bind Virtual-Template 1//物理接口下调用模板
    • #
          • 客户端配置
    • #
    • dialer-rule //配置拨号规则模板
    •  dialer-rule 1 ip permit //配置规则编号,并允许IP协议通过
    • #
    • interface Dialer1//配置拨号接口
    •  link-protocol ppp //PPPoE基于PPP,因此选择PPP封装
    •  ppp chap user user1 //拨号用户名
    •  ppp chap password cipher password //拨号密码
    •  ip address ppp-negotiate // 接口地址配置方式自动协商
    •  dialer user test // 接口名
    •  dialer bundle 1 // 绑定拨号规则
    •  dialer-group 1 //绑定拨号配置
    •  nat outbound 2000 //配置Easy IP 的NAT
    • #
    • interface GigabitEthernet0/0/0
    •  pppoe-client dial-bundle-number 1 //接口下调用拨号接口
    • #
    • ip route-static 0.0.0.0 0.0.0.0 Dialer1//出口默认路由
    • #
        • 配置
    • [client-Serial4/0/0]link-protocol hdlc
    • -IPv6

      • 说明
    • 国际IP地址由IANA网际网络号码分配局分配,IANA将号码分配给5个区域RIR机构,再由RIR分配给ISP。
        • IPv4的存在的问题
    • IPv4地址不足,无法满足网络用户的增长需求;
    • IPv4缺少真正的端到端通信模型。NAT虽然能解决私有地址和公网互访的问题,但是破坏了端到端通信的完整性。
    • IPv4由于广播机制,对ARP存在依赖,使得IPv4局域网的相关运作问题频发;
    • IPv4对移动性的支持不够理想;
      • IPv6书写格式
    • 冒号分十六进制,把128bit平均分成了8组,即每组16位(4个十六进制数);
    • 2409:8a00:1a54:76e1:9d:f9fa:b11a:12c
        • 说明
    • 在每组中的前导的“0”可以省略,如果一组中全部都是“0”可以简写为一个“0”。
    • 如果地址中包含多个连续的组都为0,则可以使用“::”进行代替,但是“::”只能使用一次。
      • IPv6地址格式
    • IPv6地址分为网络前缀和接口ID。
        • 网络前缀
    • 相当于IPv4中的网络位,在网络规划初期就设定好的网络范围。在IPv6中最常用的网络前缀长度是64位。
        • 接口ID配置
    • 接口ID相当于IPv4中的主机位。
          • 手动配置
    • 一般在服务器、打印机等设备进行手动配置。
          • 自动配置
    • 存在两种自动产生方式:IEEE定义的EUI-64标准规范产生(常用的接口ID产生方式)和系统通过软件自动产生
            • EUI-64
              • 说明
    • EUI-64根据接口MAC产生IPv6地址后64bit。
    • 根据接口MAC地址,在中间位置插入FFFE并讲第七比特位翻转即可产生64bit的接口ID。
    • 如MAC地址为60-DD-8E-7A-91-A8,在中间位置插入FF-FE,变为60-DD-8E-FF-FE-7A-91-A8,翻转第七比特位根据IPv6地址格式进行调整即可得到接口ID:62DD:8EFF:FE7A:91A8
    • 注意翻转第七个比特位在目前仍有争议,部分厂家目前使用将第七比特置位为1,并不将第七比特的1改变为0。
    • 如果前缀长度不足64bit,而EUI-64只能产生64bit,不足部分将使用0进行填充,填充在前缀后EUI-64生成的接口ID前面。
    • 当前缀长度超过64bit,华为将无法使用EUI-64的凡是生成接口ID,思科会根据EUI-64生成接口从后向前选择足够位数填充接口ID。
    • 如果接口没有MAC地址的时候,系统将会通过软件的方式自动产生。
              • 优点
    • MAC地址理论上全球唯一,根据MAC地址产生接口ID部分可以更加有效的防止IPv6地址冲突问题。
              • 缺点
    • 根据EUI-64产生的接口ID存在泄露MAC地址的风险。
            • 系统软件生成
    • 由于EUI-64存在一定风险,因此部分操作系统支持通过私有软件算法产生接口ID,如windows。
    • IPv6报文介绍
      •  地址格式
        • 格式说明
    • IPv6基本报头固定长度为40字节。
    • Version:标识协议版本,IPv6;
    • Traffic Class与Flow Label:相比于IPv4仅有Type of Service进行QoS标识,IPv6拥有更大的地址空间进行更加精细化的QoS保障。
    • Payload Length:载荷长度;
    • Next Header:下一个头部,相比于IPv6的上层协议,IPv6通过增加报头的形式来进行扩展标识,该字段即可以标识上层协议的类型,也可以标识扩展报头的类型。
    • Hop Limit:最大跳数,类似于TTL。
        • 扩展报头
    • 基本报头与扩展报头通过Next Header形成链式结构。
    • 扩展报头按需增加,非必须字段。
    • Extension header length:报头扩展长度,8bit。
    • Extension Head Data:
          • 种类
    • 当超过一种扩展报头被用在同一个IPv6报文中时,必须按照如下顺序出现。
    • IPv6基本报头
    • 逐跳选项扩展报头 0
    • 目的选项扩展报头 60
    • 路由扩展报头 43
    • 分段扩展报头 44
    • 认证扩展报头 51
    • 封装安全有效载荷扩展报头 50
    • 目的选项扩展报头 60
    • 上层协议数据报文
      • 常用说明
    • IPv6采用扩展“报头”的形式来增加扩展字段,相比于IPv4拥有更大的扩展空间,同时对于中间节点也可以不在读取扩展报头节省读取开销。
    • IPv6仅允许源节点对报文进行分片,分片信息通过扩展报头实现。
      • IPv6地址分类
    • IPv6地址分为组播、单播、任意播三种类型地址。
        • 组播
    • 用来标识一组接口,发往组播地址的数据将被转发给侦听该地址的多个设备。
    • 地址范围FF00::/8
    • Flag:
    • 用来标识永久或临时组播组
    • 0000标识永久分配或总所周知
    • 0001表示临时的
    • Scope:
    • 表示组播组的范围;
    • Group ID
    • 组播组ID
          • 被请求组播节点地址
        • 单播
          • 未指定的回环地址
    • :: /128未指定地址,用于标识一个没有IPv6实际地址的接口,类似于IPv4的0.0.0.0
    • ::1/128 用于本地测试地址,类似于IPv4的127.0.0.1/8
          • 本地链路地址(LLA)
    • FE80::/10
    • 使在IPv6协议的链路两端具备原生三层通讯能力,无需配置IPv4地址才能运行。该地址可以通过EUI-64的方法自动生成,也可以根据网工需要手动配置。可以用于路由协议建立邻居关系。
    • 建议采用手动方式进行配置,便于后期运维。
          • 可聚合全球地址
    • 2001::16 IANA从该地址开始分配IP地址
    • 2022::/16 用于6to4隧道中,属于IPv6和IPv4过渡技术的一种
    • 3FFE::/16 用于早期IPv6协议研究所测试使用,目前已经回收。
    • 全球单播地址前三比特固定为001,即2000::/3
          • 唯一本地地址
    • 固定前缀FC00::/7,FD0::/8被使用,FC00::/8暂未定义。类似于IPv4的私网地址。
        • 任意播
    • ICMPv6&NDP协议
      • ICMPv6说明
    • ICMPv6是IPv6的基础协议之一,用于向节点传递报文转发的信息或者错误。
    • 协议类型(下一个头部编号)为58;
    • 在IPv6中,除了具备ICMPv4的对应功能之外,还有一些其他的功能如邻居发现、无状态地址配置、重复地址检测、PMTU发现等。
      • ICMPv6消息类型
      • NDP协议说明
    • NDP协议依赖ICMPv6报文来实现相关功能。
    • 网络管理与运维

      • 网络管理定义
    • 网络管理是通过对网络中设备的管理,保证设备工作正常,使通信网络正常地运行,以提供高效、可靠和安全的通信服务,是通信网络的重要组成部分。
    • 包括网络设备的软硬件管理、设备的资产管理等等。
      • 网络管理的基本功能
    • OSI定义了网络管理的五大功能模型
        • 配置管理
        • 性能管理
        • 故障管理
        • 安全管理
        • 计费管理
      • 网络设备管理的方法
        • 传统管理方式
    • console口、telnet、ssh、snmp等多种方式
          • CLI等管理方法
    • 使用CLI、WEB等方式进行一对一管理;
            • 优点:
    • 无需安装应用程序,成本较低;
            • 缺点
    • 对管理员的专业性要求比较高,需要熟悉多个厂家配置;
    • 不适用于大规模的网络环境。
          • SNMP集中式管理
    • 简单网络管理协议SNMP(Simple Network Management Protocol)是广泛应用于TCP/IP网络的网络管理标准协议。SNMP提供了一种通过运行网络管理软件的中心计算机(即网络管理工作站)来管理设备的方法。SNMP的特点如下:
    • 简单:SNMP采用轮询机制,提供最基本的功能集,适合小型、快速、低价格的环境使用,而且SNMP以UDP报文为承载,因而受到绝大多数设备的支持。
    • 强大:SNMP的目标是保证管理信息在任意两点传送,以便于管理员在网络上的任何节点检索信息,进行故障排查。
        • iMaster NCE
      • SNMP管理
        • 管理模型
    • SNMP系统包括网络管理系统NMS(Network Management System)、代理进程Agent、被管对象Managed object和管理信息库MIB(Management Information Base)四部分组成。
        • 各版本特点
        • 配置方法
    • [AR1]snmp-agent ?  \\使用snmp-agent开头的配置都会使能snmp。
    • [AR1]snmp-agent sys-info version all  \\ 调整snmp版本,支持同时开启多个版本。
    • [AR1]snmp-agent community read huawei \\ 配置一个可读团体名
    • [AR1]snmp-agent trap enable  \\ 开启snmp告警功能,本命令讲开启所有告警,如果需要针对性开启,可以在后续用feature-name字段。
    • SDW

      • 说明
    • 与SDN的关系不大,SDN主要是一种集中控制的思想并不是一种技术。
    • SD-WAN:软件定义广域互联网络;(SDN思想在广域互联网的落地技术)
    • SDN-WAN:软件定义广域承载网;
    • 广域互联网是在承载网络上构建的。
      • SLA
        • 说明
    • 服务等级协定:可以对带宽、延时、抖动、丢包等进行约定。
      • 广域互联方案
        • 专线
        • VPN
    • 按照业务分类:远程访问虚拟专网(Access VPN)、企业内部虚拟专网(Intranet VPN)、扩展的
    • GRE

      • 说明
    • GRE技术本质上是一种隧道技术。隧道技术类似于一座桥,可以在底层网络(比如:Internet)之上构建转发通道,用户可以自行构建隧道网络,不需要底层网络的管理者(比如:ISP)介入。
    • GRE隧道能够承载IPv4/IPv6的单播、组播、广播(或IPv6的任播)报文。
    • underlay:提供基本互通的网络叫做underlay,比如Internet网络。
    • overlay:在underlay基础之上构建的虚拟逻辑网络叫做overlay。
      • 实现原理
    • 通过在原始报头重新封装新的网络层报头实现内部数据在公网路由。
      • 报文格式
    • C:校验和验证标识位,如果置位为1,则会在GRE报文中插入checksum字段,如果为0则不包含校验和。
    • K:代表是否包含验证字段。
      • 安全机制
        • 校验和
    • 校验和验证是指对封装的报文进行端到端校验。
    • 若GRE报文头中的C位标识位置1,则校验和有效。发送方将根据GRE头及Payload信息计算校验和,并将包含校验和的报文发送给对端。接收方对接收到的报文计算校验和,并与报文中的校验和比较,如果一致则对报文进一步处理,否则丢弃。
        • 关键字
    • 识别关键字(Key)验证是指对Tunnel接口进行校验。通过这种弱安全机制,可以防止错误识别、接收其它地方来的报文。
    • 若GRE报文头中的K位为1,则在GRE头中插入一个四字节长关键字字段,收发双方将进行识别关键字的验证。
      • 检测机制
        • 说明
    • 由于GRE协议并不具备检测链路状态的功能,如果对端接口不可达,隧道并不能及时关闭该Tunnel连接,这样会造成源端会不断的向对端转发数据,而对端却因隧道不通接收不到报文,由此就会形成流量中断。
    • GRE的Keepalive检测功能可以检测隧道状态,即检测隧道对端是否可达。
    • Keepalive超时时间=发送周期(默认5 s)*重试次数(默认3次)
        • 实现原理
    • 通过两层网络层封装,对端接收并拆包会将报文返回来判断链路状态。
      • 配置方法
    • #
    • interface Tunnel0/0/0    //gre接口类型
    •  ip address 172.16.23.2 255.255.255.0   //配置接口本身的IP地址以启用接口,同时该接口也可以用于IGP邻居的建立,如OSPF
    •  tunnel-protocol gre //配置接口协议类型
    •  source 12.1.1.2  //配置gre外层封装的原地址 GRE两端接口源目IP需要对应
    •  destination 13.1.1.3   //配置gre外层封装的目的地址
    • gre key 123 //配置关键字,两端均需要配置
    • gre checksum //开启校验和,只有一端配置也可以建立隧道
    • keepalive //开启keepaliv检测,配置该命令的一端对链路进行检测,建议两端均开启
    • #
      • 特殊说明
    • 对于部分报文,如果使用GRE封装之后超过MTU值则会重新分片。
    • 尽管GRE拥有安全机制,但报文使用明文发送,依然有较大的安全隐患。
    • L2TP
      • 基本架构
    • LAC:L2TP访问集中器LAC是交换网络上具有PPP和L2TP协议处理能力的设备
    • NAS:网络接入服务器(Network Access Server)主要由ISP维护,连接拨号网络
    • LNS:LNS是LAC的对端设备,即LAC和LNS建立了L2TP隧道
    • 隧道和会话:L2TP隧道在LAC和LNS之间建立,一对LAC和LNS可以建立多个L2TP隧道,一个L2TP隧道可以包含多个L2TP会话
    • IPsec

      • 介绍
    • IPsec(IP Security)协议族是IETF制定的一系列安全协议,它为端到端IP报文交互提供了基于密码学的、可互操作的、高质量的安全保护机制。
    • 通过对数据加密、认证,IPsec使得数据能够在Internet网络上安全的传输。
    • IPsec VPN技术可以和多种VPN技术结合使用,使得企业互联更加灵活安全。
      • 加密方式
    • 数据加密可以避免数据转发时被读取。数据加密一般有两种方案:
    • 对称加密:使用同一个密码加密/解密,效率很高,但是对称加密在互相交互密钥时存在密钥被截取的风险。
    • 非对称加密:使用公钥加密,私钥解密,安全性很高但是加解密效率很低。
    • 加密算法:DES、3DES、AES、SM4
    • 主流的非对称加密难以破解原因,超大数的因式分解异常困难,目前的主流计算机算力无法支撑快速破解的目的。
      • 数据认证
    • 数据认证的主要目的是确认数据是否被篡改,数据认证主要基于Hash算法。
    • 数据通过Hash算法计算出一个唯一的Hash值,Hash值携带在数据中转发给对端。
    • 对端设备对数据重新进行Hash,得出Hash值。将收到的Hash值与计算出的Hash值进行比对,一致说明没有被篡改。
    • 数据认证算法:MD5、SHA1、SHA2、SHA3
    • 单纯的使用数据认证并不能保证数据被篡改,因为攻击者可以使用相同的算法伪造一份新的报文并重新计算hash值,新报文的hash值在接收方看来是正确的。因此需要再发送报文时添加一个只有发送和接收方知道的额外字段,使用该字段和数据进行组合认证,攻击者因无法知道该特殊字段因此无法计算出对应的hash值也就没办法完成数据的伪造。
      • 数据加密认证
    • 1.先通过算法或手工配置(很少有人用手工)协商出加密密钥与认证密钥;
    • 2.发送用户通过加密密钥对报文进行加密;
    • 3.发送用户密文报文与认证密钥进行认证算法计算出ICV值;
    • 4.接收用户提取加密报文,并利用认证算法计算出ICV’,使用该值与报文中携带的ICV进行比较,如果一致则认为未被篡改;
    • 5.接收用户使用加密密钥对报文进行解密得到原始报文。
        • 优点
    • 1.数据完整性;
    • 2.来源的可靠性;
    • 3.报文的私密性;
      • 加密思路
    • ipsec使用非对称密钥协商对称密钥,使用对称密钥对报文进行加密。
      • 安全联盟
    • SA(Security Association,安全联盟)可以帮助IPsec对特定要素进行约定,比如:加密算法使用DES,认证算法使用MD5,封装方式使用Tunnel等。
    • 建立IPsec SA一般有两种方式:手工方式和IKE方式。
      • 算法协商
    • 现网中交互对称密钥一般会使用密钥分发协议:IKE(Internet Key Exchange,因特网密钥交换)。
    • IKE协议建立在ISAKMP(Internet Security Association and Key Management Protocol, Internet安全联盟和密钥管理协议)定义的框架上,是基于UDP的应用层协议(端口号500)。它为IPsec提供了自动协商密钥、建立IPsec安全联盟的服务,能够简化IPsec的配置和维护工作。
        • IKEv1
    • IKEv1协商第一阶段的目的是建立IKE SA。IKE SA建立后对等体间的所有ISAKMP消息都将通过加密和验证,这条安全通道可以保证IKEv1第二阶段的协商能够安全进行。
    • IKEv1协商第一阶段支持两种协商模式:主模式(Main Mode)和野蛮模式(Aggressive Mode)
    • 野蛮模式交互3个报文,相比主模式速度更快,但安全性降低,主要用于NAT穿越。目前使用的不多。
    • IKEv1协商第二阶段的目的是建立用来安全传输数据的IPsec SA,并为数据传输衍生出密钥。
    • 第二阶段采用快速模式(Quick Mode)。该模式使用IKEv1协商第一阶段中生成的密钥对ISAKMP消息的完整性和身份进行验证,并对ISAKMP消息进行加密,故保证了交换的安全性。
        • IKEv2
    • IKEv2简化了IKEv1协商SA的过程。IKEv2通常使用2次交换共4条消息就可以完成一对IPsec SA的建立,如果要求建立的IPsec SA大于一对时,每一对IPsec SA只需额外增加1次创建子SA交换,也就是2条消息就可以完成。
    • IKEv2定义了三种交换:初始交换(Initial Exchanges)、创建子SA交换(Create_Child_SA Exchange)以及通知交换(Informational Exchange)。
      • 工作流程
    • 为了保证ipsec的安全性,对于用于协商ipsec的ike也需要进行安全保证。
    • 按照配置思路,总体分为:
    • 1.配置IKE SA,提供IKE协商策略;
    • 2.配置IKE邻居信息,确定协商目标;
    • 3.配置IPsec SA信息,提供IPsec协商依据;
    • 4.配置被保护流,确定哪些数据需要加密;
    • 5.配置IPsec策略,调用流信息和IPsec SA信息;
    • 6.接口下调用IPsec策略。
        • IKEv1:主模式
    • IKE第一阶段
    • 1、2阶段为双方协商安全联盟;
    • 3、4阶段通过DH算法计算出父密钥;
    • 5、6进行身份认证;
    • 第二阶段
    • 协商ipsec的 SA信息
      • DH算法
    • 生成质数P与参数G,并交换公式G随机数mod P;
    • 双方各自生成一个随机数a和b;
    • 双方用各自生成的随机数使用公式进行计算出A和B并交换给对方;
    • 接受到对方发送的信息后,利用公式:计算结果随机数mod P得到密钥K;
    • 不难发现,在交互的过程中,P、G、公式、A、B都会发生泄漏,但如果a和b的取值合适导致A和B的值过大,就会让随机数的推导异常困难保障来通讯的安全性。
      • 安全协议
    • IPsec具有两种安全协议:AH和ESP;
    • AH只提供认证服务,不提供加密功能。AH为整个IP报文提供完整性验证。
    • ESP支持认证和加密功能。ESP不对IP报头进行保护,除非IP头部被封装在ESP内部(采用隧道模式)
    • AH:
    • 1.抗重放攻击
    • 2.数据包完整性;
    • 3.不可否认性;
    • ESP、:
    • 1.抗重放攻击
    • 2.保证私密性
    • 3.数据包完整性;
    • 4.不可否认性;
    • 封装模式

    • 封装模式是指将AH或ESP相关的字段插入到原始IP报文中,以实现对报文的认证和加密,封装模式有传输模式和隧道模式两种。
        • 传输模式
    • 在传输模式中,AH头或ESP头被插入到IP头与传输层协议头之间,保护TCP/UDP/ICMP负载。由于传输模式未添加额外的IP头,所以原始报文中的IP地址在加密后报文的IP头中可见。
        • 隧道模式
    • 在隧道模式下,AH头或ESP头被插到原始IP头之前,另外生成一个新的报文头放到AH头或ESP头之前,保护IP头和负载。
      •  配置命令(路由器)
        • ESP模式
    • acl number 3000  
    •  rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
    • #
    • ipsec proposal 1 //配置IPsec SA信息,工作流程第三步
    •  esp authentication-algorithm sha1  //配置IPsec认证算法
    •  esp encryption-algorithm aes-256 //配置IPsec加密算法
    • #
    • ike proposal 1  //配置IKE 安全提议(SA)信息,工作流程第一步
    •  encryption-algorithm aes-cbc-256 //配置IKE加密算法
    •  dh group14 //配置DH算法
    •  authentication-algorithm md5  //配置IKE认证算法
    • #
    • ike peer ar3 v1  //配置IKE邻居信息
    •  pre-shared-key simple 123  //配置IKE预共享密钥
    •  ike-proposal 1 //调用IKE安全提议
    •  remote-address 13.1.1.3 //指定对端地址
    • #
    • ipsec policy ar2 1 isakmp //配置IPsec策略
    •  security acl 3000 //定义被保护的数据流——只能用高级ACL
    •  ike-peer ar3 //调用IKE邻居信息
    •  proposal 1 //调用IPsec提议策略
    • #
    • interface GigabitEthernet0/0/1
    •  ip address 12.1.1.2 255.255.255.0
    •  ipsec policy ar2 //出接口调用IPsec
        • AH模式
    • acl number 3000  
    •  rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
    • #
    • ipsec proposal ar2
    •  transform ah
    •  ah authentication-algorithm sha2-512
    • #
    • ike proposal 1
    • authentication-algorithm sha1 //默认是sha1,使用sha1算法在路由器中无显示,sm3算法在路由器中有BUG无法正确协商。
    •  encryption-algorithm aes-cbc-256
    •  dh group14
    • #
    • ike peer ar3 v1
    •  pre-shared-key simple 123
    •  ike-proposal 1
    •  remote-address 13.1.1.3
    • #
    • ipsec policy ar2 1 isakmp
    •  security acl 3000
    •  ike-peer ar3
    •  proposal ar2
    • #
    • interface GigabitEthernet0/0/1
    •  ip address 12.1.1.2 255.255.255.0
    •  ipsec policy ar2
    • GRE over IPsec
      • 说明
    • GRE over IPsec可利用GRE和IPsec的优势,通过GRE将组播、广播和非IP报文封装成普通的IP报文,通过IPsec为封装后的IP报文提供安全地通信。
    • 当网关之间采用GRE over IPsec连接时,先进行GRE封装,再进行IPsec封装。
      • 配置说明
    • #
    • acl number 2000  
    •  rule 5 permit
    • #
    • acl number 3000  //感兴趣流要抓取gre封装的外层IP报头
    •  rule 5 permit ip source 12.1.1.0 0.0.0.255 destination 13.1.1.0 0.0.0.255
    • #
    • ipsec proposal 1
    •  encapsulation-mode transport //因为已经使用GRE做隧道封装,这里可以用传输模式
    •  esp authentication-algorithm sha2-512
    •  esp encryption-algorithm aes-256
    • #
    • ike proposal 1
    •  encryption-algorithm aes-cbc-256
    •  dh group14
    •  authentication-algorithm sha1 //ensp中
    • #
    • ike peer ar3 v1
    •  pre-shared-key simple 123
    •  ike-proposal 1
    •  remote-address 13.1.1.3
    • #
    • ipsec policy ar2 1 isakmp
    •  security acl 3000
    •  ike-peer ar3
    •  proposal 1
    • #
    • interface GigabitEthernet0/0/0
    •  ip address 192.168.1.254 255.255.255.0
    • #
    • interface GigabitEthernet0/0/1
    •  ip address 12.1.1.2 255.255.255.0
    •  nat outbound 2000
    •  ipsec policy ar2
    • #
    • interface Tunnel0/0/0
    •  ip address 23.1.1.2 255.255.255.0
    •  tunnel-protocol gre
    •  source 12.1.1.2
    •  destination 13.1.1.3
    • #
    • ospf 1
    •  area 0.0.0.0
    •   network 12.1.1.2 0.0.0.0
    • #
    • ospf 2
    •  area 0.0.0.0
    •   network 23.1.1.2 0.0.0.0
    •   network 192.168.1.254 0.0.0.0
    • 智能选路
      • 说明
    • 云计算时代,网络不能再满足用户的需求,用户希望能够基于应用了解现网的情况,并根据应用的现状调整网络。
    • 这种需求对于原有的网络提出了挑战:
    • 传统的网络无法很好的识别应用
    • 传统的网络无法基于应用调整。
      • 解决方案
    • SAC(Smart Application Control,智能应用控制),该技术能够灵活的识别应用
    • SPR(Smart Policy Routing,智能策略路由),该技术能够基于网络的状况或者应用的状况切换转发路径。
      • SAC
        • 说明
    • 传统网络主要是以流量为维度管理网络,但在云计算时代,业务变得原来越重要,网络不能再只基于过去的五元组管理网络,而需要以应用为维度管理监控网络。
    • 传统路由交换设备没有办法识别应用层的信息,以应用为维度管理网络存在较大难度。SAC(Smart Application Control,智能应用控制)技术能够帮助路由交换设备识别分类应用。
    • SAC指利用SA(Service Awareness,业务感知技术)和FPI(First Packet Identification,首包识别技术),对报文中的第4~7层内容(如HTTP、RTP)进行检测和识别,
    • SA:
    • FPI:
      • SPR
  • 相关阅读:
    【luogu SP7685】FLWRS - Flowers(DP)(容斥)
    工厂车间安灯呼叫系统实现生产过程的可视化管理
    SpringBoot——》集成Kafka示例
    Spring更简单的读取和存储
    【C++】:关键字+命名空间+输入输出+缺省参数+函数重载+引用
    C++数据结构与算法总结
    如何恢复xp笔记本盘符找不到的数据
    java“俄罗斯方块”
    地下管线探测仪 光电缆路由探测仪 管线仪 定位仪 探测0-6米 操作简捷 高精度
    sample-encoder-video报错
  • 原文地址:https://blog.csdn.net/qq_62449917/article/details/133990072