大家好,我是瑞哥,昨天微信上有个朋友让我出一期H3CNE知识点的介绍。
H3CNE我是太熟悉了,大学时候考H3CTE证书,H3CNE属于基础部分,那本《构建中小型企业网络》书籍不知道被我翻了多少遍,左一遍又一遍,看到最后,随便提到哪个技术点,我能一下子翻到,笔记也是做的密密麻麻。
学过H3C认证的朋友都知道,虽然H3CNE属于基础认证,但是它涉及的技术点挺广的,有时候你学完H3CSE还要回来再巩固一下H3CNE的理论,因为好多基础H3CSE只是提一下,那么基础相对薄弱的同学学H3CSE的时候,就有这样的感觉,看完就忘,形不成体系!H3CNE理论不扎实,你就无法快速理解H3CSE为啥要分成大规模路由、园区网、广域网。
今天瑞哥带大家好好梳理一下H3CNE的理论部分,通过思维导图的形式,给大家树立一个全局观念:
可以看到H3CNE理论部分被我分成了28个部分,也是按照官方的教材分的:
- 一、计算机网络概述
- 二、网络参考模型
- 三、局域网基本原理
- 四、广域网基本原理
- 五、TCP/UDP原理
- 六、IP基本原理
- 七、命令行操作基础
- 八、网络设备文件管理
- 九、网络设备调试
- 十、以太网交换机工作原理
- 十一.Vlan和Trunk
- 十二、生成树协议
- 十三、链路聚合
- 十四、交换机端口安全技术
- 十五、IP子网划分
- 十六、DNS
- 十七、文件传输协议
- 十八、DHCP
- 十九、VLAN问路
- 二十、IPv6基础
- 二十一、IP路由原理
- 二十二、静态路由
- 二十三、路由协议概述
- 二十四、RIP
- 二十五、OSPF
- 二十六、ACL包过滤
- 二十七、NAT
- 二十八、PPP
下面我们来逐一展开讲解!
一、计算机网络概述
计算机网络定义
一组自治计算机互联的集合
计算机网络基本功能
- 资源共享
- 综合信息服务
- 分布式处理与负载均衡
计算机网络的类型
局域网
- LAN
- 由用户自行建设,使用私有地址组建的网络
城域网
- MAN
- 由运营商或大规模企业建设,连接城市范围的网络
广域网
- WAN
- 由运营商建设,连接城域网范围的网络
网络拓扑
分类
- 树型拓扑
优点:
- 结构简单,组网成本低
- 维护管理容易
- 星型拓扑的进一步发散型
缺点:
- 中央节点压力大
- 可靠性差
- 总线型拓扑
所有设备共享一条公共线路,线路中断会导致所有设备中断通讯
- 环型拓扑
所有设备共享一条环型总线,有一定冗余性
- 星型拓扑
中央节点故障会导致全网中断,其他节点都与中央节点直接相连,某条线路中断不会影响其他节点
- 网状拓扑
优点:
- 可靠性高
- 节点之间有多条线路可达
缺点:
- 组网成本高
- 维护管理复杂
衡量网络性能的指标
带宽
单位时间内能够传输的数据总量,单位:bps,带宽越大,网络质量越好
延迟
数据从一个节点到达另一个节点消耗的时间,单位:ms,延迟越低,网络质量越好
数据单位
- 1Kb=1024b
- 1Mb=1024Kb
- 1Gb=1024Mb
- Byte,字节,一个数字或字母占用1字节,一个汉子占用2字节
- bit,比特,1Byte=8bit
协议和标准
- 协议,数据通讯双方共同遵守的通讯规则
- 标准,公认的,所有厂商所共同遵守的协议规则
标准化组织:制定定义国际公认参考标准的组织团体
常见国际标准组织
- ISO,国际标准化组织
- IEEE,电子电器工程师协会
二、网络参考模型
OSI参考模型
产生背景
- 各大IT设备厂商只支持自己的私有协议,跨厂商设备兼容性差
- 用户购买和维护成本高
- 不利于网络技术发展
概念
定义了网络中设备所遵守的层次结构
优点
- 开放的标准化接口,协议不再封闭
- 多厂商设备兼容
- 易于理解、学习和更新协议标准
- 实现模块化工程,降低开发难度
- 便于故障排除
分层
- 1.物理层,定义电压、接口、线缆标准、传输距离、传输介质等物理参数
- 2.数据链路层,MAC地址寻址
- 3.网络层,网络层地址寻址、路由
- 4.传输层,数据分段、建立端到端连接、维护传输可靠性
- 5.会话层,建立、维护、拆除应用程序间的会话
- 6.表示层,定义数据格式、结构;数据加密、压缩
- 7.应用层,为应用程序进程提供网络服务
OSI参考模型的问题
- 划分层次过多,会话层、表示层存在意义不大
- IP协议成为事实的网络层唯一协议
TCP/IP参考模型
4层划分方法
1.网络接口层
- 物理层
- 数据链路层
- 2.网络层
- 3.传输层
4.应用层
- 会话层
- 表示层
- 应用层
5层划分方法
- 1.物理层
- 2.数据链路层
- 3.网络层
- 4.传输层
5.应用层
- 会话层
- 表示层
- 应用层
数据封装和解封装
定义
- 封装:在原始数据的基础上加入一些额外信息形成新的格式
- 解封装:拆除掉封装的额外信息,还原成原始数据
TCP/IP分层封装
- 1.物理层:比特流
- 2.数据链路层:数据帧
- 3.网络层:数据包
- 4.传输层:数据段
- 5.应用层:数据
数据封装和解封装过程
- 数据发送时,从上至下逐层封装
- 数据接收时,从下至上逐层解封装
- 只有拆除外层封装,才能看到内层封装
三、局域网基本原理
使用的协议及线缆
物理层
- 双绞线
- 同轴电缆
- 光纤
- 无线电
数据链路层
- 以太网,唯一事实标准
- 令牌环,淘汰
- FDDI:光纤分布式接口,淘汰
网络层
- IP,唯一事实标准
- IPX,淘汰
- Apple talk,淘汰
局域网设备
集线器
- 内部为总线型拓扑
- 任意时间只能由一台主机占用总线,连接的所有设备位于同一冲突域
- 工作在物理层,没由寻址能力,所有数据泛洪式转发
交换机
- 内部每两个接口都有一条独立线路,每个接口都是独立的冲突域
- 工作在数据链路层,基于MAC地址寻址,数据可单点转发
冲突域
设备发送数据会产生冲突的网络范围
CSMA/CD
带冲突检测的载波侦听多路访问
局域网线缆
双绞线
线型:
直连线
- 异类直连
- 两端线序一致
交叉线
- 同类交叉
- 两端线序不一致
线序:
- T568A:白绿,绿,白橙,蓝,白蓝,橙,白棕,棕
- T568B:白橙,橙,白绿,蓝,白蓝,绿,白棕,棕
接口类型:
- RJ-45
- RJ-11
光纤
多模光纤:
- 纤芯较粗,可传递多种光源
- 传输距离短
- 成本低
单模光纤:
- 纤芯较细,只能传递单一光源
- 传输距离远
- 成本高
四、广域网基本原理
使用的协议及线缆
物理层
- 串行线缆,淘汰
- 光纤,EPON
数据链路层
- PPP,淘汰
- HDLC,淘汰
- 帧中继,淘汰
- 以太网,唯一事实标准
网络层
IP,唯一事实标准
连接方式
电路交换
- PSTN
- ISDN,淘汰
- 分组交换,淘汰
- ADSL
- EPON
五、TCP/UDP原理
端口
- 每个应用程序进出网络都需要经过一个唯一端口,通过端口号来识别数据交由哪个应用程序处理
- 服务端:固定端口号
- 客户端:1024以上随机端口
知名端口号
- 80 HTTP
- 20 21 FTP
- 23 TELNET
- 25 SMTP
- 53 DNS
TCP的原理
TCP头部封装格式
- Source Port,源端口
- Destination Port,目的端口
- Seq,序列号,标识本机发送的数据报文的编号
- Acknowledgement,确认号,标识请求对方下次发送的数据报文的编号
- Data Offset,数据偏移,标识数据分段在完整数据中的位置
- Reserved,保留位
- URG,紧急开关
- Ack,确认位开关
- Ps
- Rst,复位开关,用于强行中断TCP连接
- Syn,握手开关
- Fin,结束开关
- window,窗口尺寸,用来通告本机的接收能力
- Checksum,校验序列
- Urgent Pointer,紧急指针
- Options,可选项
- TCP可靠性机制
确认机制
Seq=上一次ack
Ack=上一次的seq+length
如果没有接收到,或接收到的是不完整数据,会再次发送Ack请求对方重发
三次握手
- 第一次,SYN置位
- 第二次,SYN,ACK置位
- 第三次,ACK置位
- 窗口机制
滑动窗口,通过通告对方本机接收能力,来实现流量控制
- 完整性校验
通过Checksum来检查数据完整性
TCP特征
- 优点:传输可靠性高
- 缺点:占用带宽高,传输延迟高
TCP的适用场景
对数据完整性要求高,但是对传输延迟要求低
UDP的原理
UDP特征
- 优点:占用带宽低,传输延迟低
- 缺点:没有任何可靠性机制
UDP的适用场景
对传输延迟要求高,但数据完整性要求低
六、IP基本原理
IP的定义
- 当前唯一的网络层协议标准
- 定义数据网络层的封装方式、编址方法
IP头部封装格式
- version,版本,用于标识封装是IPv4还是IPv6
- IHL,头部长度,描述了数据包头的内容长度
- Type of service,服务类型,用于标识DSCP或IP优先级,用于QOS识别
- Total length,数据包总长度
- Identification,标识符,用于标识某个分片来自于哪个数据包
- Flags,标志,标识数据包是否允许分片
- Fragment offset,分片偏移,用于描述分片在数据包中的位置
- Time to Live,TTL,生存时间,该数据包允许经过的路由器的最大跳数
- Protocol,协议,用于标识上层协议是TCP/UDP/ICMP
- Header Checksum,头部校验序列,用于头部信息差错校验
- Source Address,源IP地址
- Destination Address,目的IP地址
- Options,可选项
IP地址
定义
网络层地址
格式
- 32位长度,点分十进制
- 由网络位+主机位组成
- 网络位长度和数字完全一致的地址属于同一网段
分类
A类
- 地址范围:
1.0.0.0-126.255.255.255
- 网络位划分,前8位为网络位,后24位为主机位
- 地址范围:
B类
- 地址范围:
128.0.0.0-191.255.255.255
- 网络位划分,前16位为网络位,后16位为主机位
- 地址范围:
C类
- 地址范围:
192.0.0.0-223.255.255.255
- 网络位划分,前24位为网络位,后8位为主机位
- 地址范围:
D类
- 地址范围:
224.X.X.X-239.X.X.X
- 作用,组播地址,不可用于配置为地址
- 地址范围:
E类
- 地址范围:
240.X.X.X-255.X.X.X
- 作用,科研用地址,不对公开放
- 地址范围:
- IP地址分类用来划分不同的网络规模
特殊地址
127.X.X.X
,本地环回地址,用于标识本机- 主机位全0的地址,网络地址,用来标识某个网段
- 主机位全1的地址,本网段广播地址
255.255.255.255
,全网广播地址0.0.0.0
,任意IP地址
公网/私网地址
- 公网地址,可以在互联网上寻址的地址,全球唯一,需要运营商分配
- 私网地址,本地随意使用,无法在互联网上寻址
地址范围:
- A类:
10.0.0.0-10.255.255.255
- B类:
172.16.0.0-172.31.255.255
- C类:
192.168.0.0-192.168.255.255
ARP协议
定义
地址解析协议,把IP地址解析为Mac地址
工作原理
- A主机以广播形式发送ARP查询请求,询问B主机的IP对应的MAC地址
- B主机以单播形式回复A主机本机MAC地址
- A主机把B主机的IP地址和MAC地址的映射关系写入ARP缓存表
相关命令
查询ARP缓存
arp -a
清空ARP缓存
arp -d
ICMP协议
- Ping,测试网络连通性
- Tracert,路由跟踪
H3C的设备开启路由跟踪功能需要的前置命令
ip ttl-expires enable
IP数据转发原理
- 如果目的IP和本机IP属于同一网段,会直接查询目的IP的Mac地址,并进行封装
- 如果目的IP和本机IP不属于同一网段,会查询网关IP地址的Mac地址,并进行封装
网关
本网段出口的IP地址
七、命令行操作基础
H3C路由交换产品连接方法
使用console线本地连接
- 协议Serial,接口com口,波特率9600
- 适用于设备的初次调试
使用Telnet远程访问
- 适用于设备上架配置好后的维护管理
使用SSH远程访问
- 数据传输过程加密,安全的远程访问
命令行使用基础
命令行视图
- 用户视图
<h3c>
只能查看配置,不能修改配置
- 系统视图
[h3c]
可以查看和修改全局配置
- 接口视图
[H3C-GigabitEthernet0/0]
可以对接口修改配置
视图的切换
system-view
:从用户视图进入系统视图interface g0/0
:从系统视图进入g0/0接口的接口视图quit
:返回上层视图return
:直接返回到用户视图,快捷键Ctrl+Z
常用查看命令
display current-configuration
:查看当前的所有配置display ip interface brief
:查看所有三层接口的摘要信息display ip interface g0/0
:查看g0/0接口的详细信息display version
:查看设备硬件版本信息display this
:查看当前视图下配置了哪些参数
设备操作命令
sysname R1
:更改设备名称为R1reboot
:重启设备save
:保存当前配置reset saved-configuration
:清空保存的配置,不会影响设备的当前运行状态
命令行帮助
- 命令简写
- ?键命令提示
- Tab 键自动补齐命令
八、网络设备文件管理
设备存储器
- ROM,只读存储器,存储了Bootrom程序,在Bootrom模式下可以破解密码
- Flash,闪存,永久存储操作系统文件、配置文件等数据
- RAM,内存,存储当前正在运行的数据,断电数据会丢失
设备的配置文件
当前配置
- current-configuration
- 设备当前正在运行和生效的配置信息,存储在RAM中
起始配置
- startup-configuration
- 每次设备开启会自动加载的配置信息,存储在Flash中
起始配置文件的备份
- 通过USB或者FTP把startup.cfg和startup.mdb拷贝到其他存储
- 配置还原后,需要通过startup saved‐configuration startup.cfg命令来指定新的配置文件
九、网络设备调试
Debug
定义
- 对相应的协议所收发的所有报文全部在屏幕上输出显示
- 用于网络排错
开启debub命令
- terminal monitor
- terminal debugging
- debugging 协议类型
结束dubug
undo debugging all
十、以太网交换机工作原理
以太网
定义
传输标准Ethernet II类型帧的网络
特征
多路访问,广播式的网络
Mac地址
- 每台网络设备生产时就写入的一个全球唯一的物理地址
- 48位长度,16进制格式地址
- 前24位为厂商标识,后24是设备标识
以太网帧格式
- 目的Mac地址
- 源Mac地址
- 服务和类型
- DATA
- 帧校验序列
交换机
定义
工作在数据链路层,通过识别Mac地址来进行数据转发的设备
交换机数据转发原理
MAC地址表
- 记录交换机每个端口和所连接的设备的MAC地址的映射关系
- 一个端口可以对应多个MAC地址
- 一个Mac地址不能对应多个接口
- 老化时间:300秒
工作机制
- 交换机学习数据帧的源MAC地址,来获得端口和设备MAC地址的映射关系,写入MAC地址表
- 交换机检查数据帧的目的MAC地址,从MAC地址表中的映射关系来判断把数据帧从哪个端口发出
- 交换机对于目的MAC地址不存在于MAC地址表中的数据帧进行广播处理
数据帧的转发方式
- 对于目的MAC地址已知的单播帧,交换机查询MAC地址表进行转发
- 对于目的MAC地址未知的单播帧,交换机进行广播处理
- 对于广播帧,交换机继续广播处理
数据传输模式
- 单播,接收者是某一个设备
- 广播,接收者是所有其他设备
- 组播,接收者是某一部分设备
广播域
- 网络中所有能接收到同样广播消息的设备的集合
- 默认情况下,交换机的所有端口属于同一个广播域
十一、Vlan和Trunk
VLAN的定义
- 虚拟局域网,用来在二层网络中隔离广播域
- 不同VLAN的设备在二层网络中无法互相通讯
VLAN的转发过程举例
- PC发送数据帧进入交换机,会被打上vlan tag;vlan tag中的vlan id就是收到帧的接口的所属vlan;一旦数据帧被打上vlan tag,就变成了802.1Q格式的帧
2.交换机检查数据帧的目的MAC地址,进行判断;如果目的MAC对应的接口允许tag中的vlan id通过,则数据帧可以转发;否则,丢弃该帧
3.数据帧从出接口发往PC前,会剥离vlan tag,使之还原为标准的以太网帧格式
802.1Q
在源Mac地址和Type之间携带vlan tag的帧格式,计算机不识别
VLAN工作原理
交换机端口类型
Access
- 必须加入到一个vlan,只能加入到一个vlan;从access端口收到的帧,会打上该端口所属vlan的tag;从access端口发出的帧会剥离tag
- 一般用来连接PC或路由器
- H3C交换机默认所有端口都是access类型属于vlan1;华为是hybrid
Trunk
- 可以允许多个vlan的数据通过;从trunk端口发出的帧保留vlan tag,但是缺省vlan除外;trunk端口收到未打tag的帧,会重新打上缺省vlan的tag
- 一般用来连接交换机
Hybrid
- 可以允许多个vlan的数据通过;可以手动配置从Hybrid端口发出的帧,哪个vlan保留tag,哪个vlan剥离tag,缺省vlan必定剥离tag;Hybrid收到未打tag的帧,会重新打上缺省vlan的tag
- 既可以连接PC/路由器,也可以连接交换机
PVID
定义:表示某个端口的缺省vlan;任何类型的端口转发tag中vlan id和pvid一致的帧,都会剥离tag
特征
- Access端口所属的vlan就是pvid,不用配置,默认是vlan1
- Trunk端口需要手动配置pvid,默认是vlan 1
- Hybrid端口需要手动配置pvid,默认是vlan1
总结
- 任何端口收到未打tag的帧,都会打上缺省vlan的tag
- 任何端口转发携带缺省vlan tag的帧,都会剥离tag
VLAN类型
基于端口的VLAN
端口固定属于某个vlan
基于Mac地址的VLAN
- Mac地址绑定到vlan,同一Mac地址的设备,无论连接在哪个端口,vlan归属不变
- 端口类型需要配置为Hybrid
基于协议的VLAN
- 三层协议绑定到vlan,同一协议的报文,无论从哪个端口接收,vlan归属不变
- 端口类型需要配置为Hybrid
基于IP子网的VLAN
- IP网段绑定到vlan,同一IP子网的设备,无论连接在哪个端口,vlan归属不变
- 端口类型需要配置为Hybrid
VLAN归属优先级
Mac地址vlan>IP子网vlan>协议vlan>端口vlan
VLAN常用命令
[h3c]vlan 'vlan id'
:创建vlan,进入vlan视图
`[h3c-vlan10]name 'text’
:vlan命名
`[h3c-vlan10]port 'port id'
:把端口以Access类型加入到vlan
`[h3c-GigabitEthernet1/0/1]port link-type 'access/trunk/hybrid'
:配置端口类型
`[h3c-GigabitEthernet1/0/1]port trunk permit vlan 'vlan-id-list/all'
:配置Trunk端口允许通过的vlan
`[h3c-GigabitEthernet1/0/1]port trunk pvid 'vlan id'
:配置Trunk端口的缺省vlan
`[h3c]display vlan ''vlan id'
:查看某个vlan详细信息
`[h3c]display vlan brief
:查看vlan摘要信息
`[h3c]display port trunk
:查看Trunk端口信息
十二、生成树协议
二层环路带来的问题
- 广播风暴
- MAC地址表震荡
生成树定义
STP,用来解决二层环路问题
STP相关概念
BPDU,桥协议数据单元,用于传递STP协议相关报文
分类:
- 配置BPDU,用于传递STP的配置信息
- TCN BPDU,用于通告拓扑变更信息
STP的选举机制
(1)在所有交换机中选举出一台作为根网桥(Root bridge)
选举规则: Bridge-id小的优先
Brideg-id:桥ID,BID,用来标识交换机身份
格式:
- 优先级+Mac地址
- 优先级默认32768,必须是4096的倍数
(2)每台非根网桥(交换机)选举出一个根端口(Root port)
选举规则:
- 到达根网桥开销小的优先
- 对端交换机BID小的优先
- 端口ID小的优先
开销,Cost,代表路径耗费的代价和成本,带宽越大,开销越小
(3)每个物理段上选举出一个指定端口(Designated port)
选举规则:
- 到达根网桥开销小的优先
- 本机BID小的优先
- 端口ID小的优先
(4)剩下没有角色的端口就是闭塞端口(Blocked Port)
STP初始化流程
交换机端口状态
- disable:禁用状态,被关闭的端口
- blocking:闭塞状态,接收BPDU,但不发送BPDU,不学习Mac地址,不转发数据
- listening:监听状态,接收并发送BPDU,不学习Mac地址,不转发数据,持续15秒
- learning:学习状态,接收并发送BPDU,学习Mac地址,不转发数据,持续15秒
- forwarding:转发状态,接收并发送BPDU,学习Mac地址,转发数据
STP计时器
Hello time
- 2秒
- 配置BPDU的发送周期
Max age
- 20秒
- 判断链路故障的时间,10个Hello time周期
Forwarding delay
- 15秒
- 状态切换延迟
STP拓扑变更机制
- Max age超时/有接口变更为转发状态,判断为拓扑发生变更,向根网桥发起TCN BPDU
- 收到TCN BPDU的交换机继续向根网桥转发TCN BPDU,到达根网桥为止
- 根网桥收到TCN BPDU后,向所有端口发起TC置位的配置BPDU
- 交换机收到TC置位的配置BPDU后,Mac地址表的老化时间缩短到15秒
STP的问题
- 收敛速度慢,故障切换时间太长
- 网络中大量主机频繁上下线,会导致TCN BPDU大量发送
RSTP
快速生成树协议
- 端口状态减少到3种
端口角色增加到4种
- 根端口和指定端口不变
闭塞端口细分为2种
- 替代端口(Alternata port),根端口的备份
- 备份端口(Backup port),指定端口的备份
边缘端口机制
- 当链路激活,边缘端口立即进入转发状态,不参与STP计算
- 边缘端口UP/DOWN不会触发拓扑变更
- 建议把连接PC的端口配置为边缘端口
MSTP
多生成树协议
- 将多个vlan捆绑到一个生成树实例,每个实例分别独立计算生成树
- 基于STP计算结果不同,实现不同vlan的流量负载均衡
STP常用命令
[h3c]display stp
:查看STP相关信息[h3c]display stp brief
:查看STP端口状态[h3c]stp global enable
:全局启用STP[h3c-GigabitEthernet 1/0/1]undo stp enable
:关闭端口上STP[h3c]stp mode 'stp/rstp/mstp'
:更改STP模式,默认模式是mstp[h3c]stp priority 'priority'
:更改交换机优先级[h3c-GigabitEthernet 1/0/1]stp cost 'cost'
:更改接口生成树的cost[h3c-GigabitEthernet 1/0/1]stp edged-port
:配置端口为边缘端口
十三、链路聚合
定义
把连接到同一台交换机上的多个物理端口捆绑为一个逻辑端口
功能
- 提高链路可靠性:聚合组内只要还有物理端口存活,链路就不会中断
- 增加链路传输带宽:避免了STP计算,聚合组内物理端口不会被闭塞
负载分担
- 也称负载均衡
- 聚合后的链路会基于流自动负载分担
分类
- 静态聚合:双方不会协商聚合参数
- 动态聚合:双方通过LACP协议协商聚合参数
常用命令
[h3c]interface bridge-aggregation 'number'
:创建聚合端口,进入聚合端口视图[h3c-GigabitEthernet 1/0/1]port link-aggregation group 'number'
:物理接口加入聚合组[h3c]display link-aggregation summary
:查看聚合链路信息
十四、交换机端口安全技术
802.1X
定义
起源于WLAN协议802.11,解决局域网终端的接入认证问题
认证方式
- 本地认证
- 远程集中认证
端口接入控制方式
- 基于端口认证
- 基于Mac地址认证
端口隔离技术
- 用于在同vlan内部隔离用户
- 同一隔离组端口不能通讯,不同隔离组端口可以通讯
十五、IP子网划分
子网掩码
产生背景
- 通过自然分类来划分网络规模会造成大量IP地址浪费
- IPv4地址资源已经全部耗尽
定义
- 由连续的1或0组成的32位掩码,用来衡量IP地址网络位的长度
- 1对应的部分为网络位
- 0对应的部分为主机位
分类
- 主类掩码,和自然分类一致的子网掩码
- VLSM,可变长子网掩码,通过把子网掩码变长来把一个网段划分为多个子网
- CIDR,无类域间路由,通过把子网掩码缩短来把多个网段聚合为一个网段
常见子网划分对应关系
- 25:255.255.255.128,126个可用地址
- 26: 255.255.255.192,62个可用地址
- 27:255.255.255.224,30个可用地址
- 28:255.255.255.240,14个可用地址
- 29:255.255.255.248,6个可用地址
- 30:255.255.255.252,2个可用地址
- 31:255.255.255.254,2个可用地址,PPP链路可用
- 32:255.255.255.255,1个可用地址,设备的Loopback接口可用
十六、DNS
域名
产生背景
- 通过IP地址访问目标主机,不便于记忆
- 通过容易记忆的域名来标识主机位置
域名的树形层次化结构
- 根域
- 顶级域,主机所处的国家/区域,注册人的性质
- 二级域,注册人自行创建的名称
- 主机名,区域内部的主机的名称
定义
用于域名和IP地址的互相解析
DNS查询模式
递归查询:
- DNS服务器一定会返回一个确切的查询结果
- 客户端到DNS的查询
迭代查询:
- DNS服务器会返回一个已知的其他DNS服务器,由请求者自行查询
- DNS服务器到DNS服务器的查询
H3C配置DNS代理
[h3c]dns proxy enable
[h3c]dns server '公网DNS地址'
内网终端DNS服务器指向为本路由器
十七、文件传输协议
FTP
定义
- 文件传输协议
- 客户端/服务器模型,具备身份验证功能
- 双TCP连接
端口
- 控制连接:21,用于传输FTP命令和执行信息
- 数据连接:20,用于数据上传、下载
数据传输方式
主动方式:
- 数据连接由服务器主动发起
- 控制连接:21端口
- 数据连接:20端口
被动方式:
- 数据连接由客户端主动发起
- 控制连接:21端口
- 数据连接:服务器随机产生端口
TFTP
- 简单文件传输协议
- 基于UDP,69号端口
- 只有数据传输功能,不提供身份验证,目录列表等功能
常用命令
[h3c]ftp server enable
:开启FTP服务<h3c>ftp 'ip address'
:连接FTP服务器ftp>ls
:列出当前目录ftp>get 'fliename'
:下载文件ftp>put 'filename'
:上传文件ftp>bye
;断开FTP连接
十八、DHCP
产生背景
局域网中手动配置静态IP地址任务繁琐,而且容易出错
定义
- 动态主机配置协议
- 用于为局域网中主机动态分配IP地址及相关信息
- 采用客户端/服务器模式
- 服务端端口UDP 67
- 客户端端口UDP 68
工作原理
分配IP地址工作流程
- 客户端以全网广播形式发起IP地址请求
- 服务器以全网单播形式向客户端发送IP地址提供
- 客户端选择好IP地址后,以全网广播形式向服务器通告选择结果
- 服务器向客户端以全网单播形式发送IP地址确认
特殊情况的处理
当网络中存在多台DHCP服务器,客户端会优先选择最先到达的IP地址提供
IP地址租约更新
- 租期到达50%,客户端如在线,会向服务器发起租约更新请求
- 租期到达87.5%,客户端如在线,会向服务器发起租约更新请求
DHCP中继代理
- 用于跨网段分配IP地址
- IP地址请求的相关报文都是广播发送,无法跨越网段,所以需要在中间路由器开启DHCP中继代理功能
相关命令
[h3c]dhcp enable
:开启DHCP服务[h3c]dhcp server ip-pool 'name'
:创建DHCP地址池[h3c-dhcp-pool1]network 'network' mask 'mask'
:配置用于分配的地址范围[h3c-dhcp-pool1]gateway-list 'ip address'
:配置用于分配的网关地址[h3c-dhcp-pool1]dns-list 'ip address'
:配置用于分配的DNS服务器地址[h3c-dhcp-pool1]expired ……
:配置DHCP租期[h3c]dhcp server forbidden-ip 'start ip address' 'end ip address'
:配置不参与分配的IP地址[h3c-GigabitEthernet 0/0]dhcp select relay
:接口上开启DHCP中继功能[h3c-GigabitEthernet 0/0]dhcp relay server-address 'ip address'
:指定用于中继的DHCP服务器地址[h3c]display dhcp server statistics
:查看DHCP服务器统计信息
十九、VLAN间路由
定义
指导设备对不同vlan间进行三层数据转发
实现方式
单臂路由
- 交换机上划分多个VLAN
路由器单线连接到交换机
- 路由器接口,划分若干子接口,子接口的IP为下连vlan的网关,并绑定相应vlan
- 交换机接口,配置TRUNK,允许所有vlan通过
三层交换
- 三层交换机上启用vlanif三层接口,配置为网关IP
- 自动产生所有到达所有vlan的直连路由
常用命令
[h3c]interface 'sub-interface'
:创建子接口,进入子接口视图[h3c-GigabitEthernet0/0.1]vlan-type dot1q vid 'vlan-id'
:子接口开启802.1Q识别,并绑定Vlan[h3c]interface vlan-interface 'vlan-id'
:创建Vlanif三层接口,进入Vlanif接口视图
二十、IPv6基础
IPv4的问题
- 地址资源已经全部耗尽
- 终端用户配置不够简便
- 协议本身不具备安全性和QOS特性
IPv6的优势
- 几乎无尽的地址空间,3.4X10^38个可用地址
- 终端用户无需任何配置,甚至不需要DHCP
- 协议自带安全性和QOS特性
地址格式
- 冒号十六进制格式
- 每段16位,共8段,一共128位
地址书写压缩
段内前导0压缩
- 段内前导的0可省略
- 全为0的段压缩为一个0
全0段压缩
- 连续为0的段可用::表示
- 一个IPv6地址内只允许使用一次全0段压缩
网段划分
- 前缀:前缀长度和数字一致则为同一网段
- 接口标识符:根据Mac地址计算而来,全球唯一
- 前缀长度:标识前缀的长度
地址分类
单播地址
未指定地址:
::/128
本地环回地址:
::1/128
链路本地地址:
FE80::/10
- 仅用于同网段内部通讯,自动生成
- FE80::接口标识符/10
站点本地地址:
FEC0::/10
私有地址
全球单播地址:
2000::/3
组播地址
- 标识组播地址
- 广播地址属于一种特殊的组播地址
任播地址
- 用于智能寻路,寻找最近的下一跳
- 从单播地址中分配
IPv6邻居发现协议
- 地址解析,类似ARP
- 邻居关系建立和维持
- 路由器发现/前缀发现
地址自动配置
- 1.终端发送RD消息,请求路由器的前缀和前缀长度
- 2.路由器回复本机的前缀和前缀长度
- 3.终端使用路由器回复的前缀+接口标识符/前缀长度,自动产生IPv6全球单播地址
- 地址重复检测
常用命令
[h3c-GigabitEthernet 0/0]ipv6 address 'ipv6 address'
:配置静态IPv6地址[h3c-GigabitEthernet 0/0]ipv6 address auto
:配置为自动产生IPv6地址[h3c-GigabitEthernet 0/0]undo ipv6 nd ra halt
:解除路由器ND消息抑制
二十一、IP路由原理
定义
- 路由器负责将数据报文在IP网段之间进行转发
- 路由是指导路由器如何进行数据转发的路径信息
IP连通的前提
- 沿途的每台路由器上都有到达目的网段的路由信息
- 路由是单向的路径信息,沿途每台路由器都要有往返双向路由信息
路由表
作用
存储路由信息
字段内容
- Destination/mask:目的网段和掩码
- Proto:路由的来源
- Pre:优先级
- Cost:度量值
- Nexthop:下一跳地址,数据报文从接口发出后到达的下一个IP地址
- Interface:出接口,数据报文发出的接口
- 最长掩码匹配规则:当数据包在路由表中匹配到多条掩码长度不同的路由,会按照掩码最长的路由进行转发
- 路由迭代规则:当路由的下一跳为非直连网段地址,路由器会再次在路由表中查询下一跳地址,直到查询到下一跳是直连地址为止
来源
直连路由,根据直连接口所在网段自动产生
产生条件:
- 接口UP
- 接口配置IP地址
静态路由:
- 定义:手动配置到达每个目的网段的路由信息
- 特点:配置和维护繁琐复杂,没有协议开销,减轻设备和带宽压力
动态路由协议
- 定义:通过路由协议从邻居自动学习路由信息
- 特点:配置简单,维护便捷,协议开销会消耗设备资源和链路资源
常见路由协议
- RIP,路由信息协议,年代久远,已经被淘汰
- OSPF,开放式最短路径优先,目前最主流的路由协议
- BGP,边界网关协议,运营商之间使用的唯一协议
路由表写表规则
- 不同来源的路由优先级高(数字小)的优先
- 同一来源的路由Cost小的优先
- 同一来源Cost相等的路由会形成等价路由,数据流会在等价路由上自动负载分担
路由优先级
- 直连路由(Direct):0
- OSPF内部路由:10
- 静态路由:60
- RIP:100
- OSPF外部路由:150
- BGP:255
常用命令
[h3c]display ip routing-table
:查看路由表[h3c]display ip routing-table 'network' 'mask'
:查看指定网段的路由信息
二十二、静态路由
配置要点
- 如下一跳所在接口是点到点接口,可以以指出接口的方式来配置静态路由
- 如下一跳所在接口是以太网接口,只能以指下一跳来配置静态路由
默认路由
- 目的网段为0.0.0.0/0
- 当数据包在路由表中匹配不到明细路由时,按照默认路由转发
常用命令
[h3c]ip route-static 'network' 'mask' 'nexthop/interface'
:配置静态路由[h3c]ip route-static 'network' 'mask' 'nexthop/interface' preference 'number'
:配置静态路由并修改优先级
二十三、路由协议概述
定义
- 路由协议,用来计算、维护网络路由信息的协议
- 可路由协议,可被路由转发的协议,通常指IP
路由协议的功能
- 邻居发现
- 路由交换
- 路由计算
- 路由维护
路由协议的分类
按照使用位置分类
- IGP:内部网关协议,运行在自治系统内部的路由协议,RIP,OSPF,IS-IS
- EGP:外部网关协议,运行在自治系统之间的路由协议,BGP
自治系统
- AS
- 一组被统一管理,运行同一个IGP的路由器组成的网络范围
- 一般不同城域网都是不同的AS,不同运营商也是不同的AS
按照协议算法分类
- 距离矢量协议,度量值是跳数,RIP
- 链路状态协议,度量值是开销,OSPF IS-IS
- 路径矢量协议,有多种度量值,BGP
二十四、RIP
定义
- 路由信息协议,基于距离矢量算法
- 基于UDP端口520
RIP初始化流程
- RIP运行后,会从每个参与协议的接口上以广播形式发送路由请求
- 收到路由请求后,将自己完整的路由表以广播形式响应
- 收到路由响应后,根据计算规则,把路由写入到路由表
- 路由信息会按照发送方向逐跳扩散
路由信息更新
路由响应报文会以30秒为周期发送,以对网络变化进行更新
RIP的环路问题
产生原因
- 链路故障,导致路由从表中删除
- 30秒的更新周期还未到来,提前收到了邻居传递过来的刚刚被删除的路由,形成环路
防环机制
- 水平分割:从某个接口收到的路由信息不会从该接口回传
- 毒性逆转:从某个接口收到的路由信息会设置为16跳后回传
- 路由毒化:当路由失效,标记为16跳,并通告邻居,使邻居及时删除路由
- 抑制计时器:计时时间内,不接收和原路由跳数一致或更高的路由更新
- 触发更新:当路由失效,不用等待更新周期,立即发出路由更新,来通告错误
- 最大跳数:不接收跳数大于15跳的路由更新
RIP计时器
- 更新计时器:30秒
- 失效计时器:180秒,路由打上possibly down标签,路由设置为16跳
- 垃圾收集计时器:240秒,彻底删除路由
- 抑制计时器:180秒,路由信息失效,被打上PD标签,从其他接口收到比原路由更差的路由更新
RIPv2
- 报文以组播发送,组播地址224.0.0.9
- 路由更新携带子网掩码
- 可以关闭自动聚合,支持手动聚合
- 支持身份验证
常用命令
[h3c]rip 'process id'
:创建RIP进程,进入RIP协议视图[h3c-rip-1]version 2
:更改RIP版本为v2[h3c-rip-1]undo summary
:关闭自动聚合[h3c-rip-1]network 'network'
:宣告网段,network命令的2层功能,使能接口(每个接口的IP地址与宣告的网段进行匹配,被匹配的接口能够收发RIP协议报文),使能路由(每个接口的IP地址与宣告的网段进行匹配,被匹配的接口所产生的直连路由能够传递给邻居)[h3c-rip-1]silent-interface 'interface number'
:配置静默接口,静默接口上不会收发RIP协议报文[h3c-GigabitEthernet 0/0]rip authentication mode ……
:配置RIP接口身份验证
二十五、OSPF
RIP的缺陷
- 最大跳数限制了网络规模
- 以跳数为度量值无法准确判断最优路径
- 路由更新发送完整路由表消耗网络带宽
- 收敛速度慢
- 协议会产生路由自环
定义
- 开放式最短路径优先,基于链路状态特征
- 工作在IP层,协议号89
OSPF初始化流程
1.建立邻居和邻接关系
发送hello报文发现和建立邻居关系,组播地址224.0.0.5
- 接口UP
- 双方接口IP地址在同一网段
- 双方接口在同一区域
- ……
选举DR/BDR,建立邻接关系
DR/BDR选举
- 选举原因,广播网络中使路由信息交换更加高速有序
- 选举范围,每条广播链路上都需要选举出一个DR和一个BDR
选举规则
- 1.优先级大的优先,默认优先级都是1
- 2.Router-id大的优先
Router-id
定义,Rid,标识路由器的身份
产生方法:
- 手动配置一个IPv4地址格式作为Rid
自动选举
- 1.在所有环回口中选举IP地址最大的作为Rid
- 2.在所有物理接口中选举IP地址最大的作为Rid
建议手动配置一个本地环回口的IP地址作为Rid
关系状态
- DRother与DR建立邻接关系
- DRother与BDR建立邻接关系
- DR与BDR建立邻接关系
- DRother之间保持邻居关系
2.邻接路由器之间交换链路状态信息,实现区域内链路状态数据库同步
相关概念
- 链路状态通告,LSA,用来描述路由器的接口、路由条目的相关信息,向邻接路由器发送DD报文,通告本地LSDB中所有LSA的摘要信息
- 链路状态数据库,LSDB,存储本地所有LSA
工作流程
- 收到DD后,与本地LSDB对比,向对方发送LSR报文,请求发送本地所需的LSA的完整信息
- 收到LSR后,把对方所需的LSA的完整信息打包为一条LSU报文,发送至对方
- 收到LSU后,向对方回复LSAck报文,进行确认
3.每台路由器根据本机链路状态数据库,计算到达每个目的网段的最优路由,写入路由表
OSPF分区域管理
分区域的原因
- 加快收敛速度
- 把网络故障隔离在区域内部
路由器角色
- IR,普通路由器,所有接口都处于普通区域
- BR,骨干路由器,所有接口都处于骨干区域
- ABR,区域边界路由器,连接不同区域的路由器
- ASBR,自治系统边界路由器,连接外部自治系统的路由器
区域类型
- 骨干区域,只能有一个骨干区域,骨干区域必须是连续的
- 非骨干区域,非骨干区域必须连接到骨干区域
- 特殊区域
常用命令
[h3c]ospf 'process id' router-id 'rid'
:开启OSPF进程,指定Router-id,进入OSPF协议视图[h3c-ospf-1]area 'area id'
:进入区域视图[h3c-ospf-1-area 0.0.0.0]network 'ip address' 'wild-mask'
:宣告网段
wild-mask:
- 掩码通配符
- 0对应的部分需要匹配一致,1对应的部分不检查
[h3c-ospf-1]slient-interface 'interface id'
:配置静默接口[h3c-GigabitEthernet 0/0]ospf dr-pririty 'priority'
:修改OSPF接口优先级[h3c-GigabitEthernet 0/0]ospf cost 'cost'
:修改接口OSPF开销<h3c>reset ospf 'process id' process
:重置OSPF进程[h3c]display ospf peer
:查看OSPF邻居关系- FULL:邻接关系
- 2-Way:邻居关系
[h3c]display ospf lsdb
:查看OSPF链路状态数据库[h3c]display ospf routing
:查看OSPF路由
二十六、ACL包过滤
ACL
定义
- 访问控制列表
- 用于数据流的匹配和筛选
常见功能
- 访问控制:ACL+Packet-filter
- 路由控制:ACL+Route-policy
- 流量控制:ACL+QOS
基于ACL的包过滤
定义
- 对进出的数据包逐包检查,丢弃或允许通过
- 包过滤必须配置在接口的某个方向上才能生效
- 一个接口的一个方向只能配置一个包过滤策略
包过滤的方向
- 入方向:只对从外部进入的数据包做过滤
- 出方向:只对从内部发出的数据包做过滤
包过滤的工作流程
- 数据包到达接口检查是否应用了ACL,是则进入匹配,否则放行
按照ACL编号匹配第一条规则,匹配则进一步检查该条规则动作,否则与下一条规则进行匹配
- 动作允许则放行
- 动作拒绝则丢弃
- 继续进行匹配,如匹配则检查规则动作,否则与下一条进行匹配
所有规则都不匹配,检查默认动作
- 默认动作允许则放行
- 默认动作拒绝则丢弃
注意事项
- 如果默认动作是允许,至少需要一条拒绝规则
- 如果默认动作是拒绝,至少需要一条允许规则
- H3C的ACL用于包过滤默认允许,用于其他默认拒绝
- 把小范围的规则分配一个靠前的顺序
- 在不影响实际效果前提下,把包过滤尽量配置在离源地址最近的接口的入方向
ACL分类
基本ACL
- 只对数据包的源地址进行匹配
- 编号2000-2999
高级ACL
- 对数据包的五元组进行匹配(源IP,目的IP,源端口,目的端口,协议)
- 编号3000-3999
常用命令
[h3c]acl basic 'acl-number'
:创建基本ACL,进入ACL视图[h3c]acl advanced 'acl-number'
:创建高级ACL,进入ACL视图[h3c-acl-basic-2000]rule 'rule id' 'permit/deny' source 'ip address' 'wild-mask'
:创建基本ACL规则,如不写rule-id,则系统自动从0开始以5的倍数增加序号[h3c-acl-basic-3000]rule 'rule id' 'protocol' source 'ip address' 'wild-mask' source-port 'port' destination 'ip address' 'wild-mask' destination-port 'port'
:创建高级ACL规则[h3c-GigabitEthernet 0/0]packet-filter 'acl number' 'inbound/outbound'
:配置包过滤[h3c]packet-filter default deny
:更改默认动作为拒绝
二十七、NAT
产生背景
- IPv4公网地址资源耗尽
- IPv6普及遥遥无期
- 子网划分杯水车薪
定义
- 网络地址转换
- 通过把私有地址转换为公有地址,使私有IP地址主机可以访问互联网,来解决公网地址不够用的问题
分类
静态 NAT
把公有地址一对一的静态映射给私有地址使用
基本 NAT
- 建立公有地址池,把地址池中的公有地址动态的映射给私有地址使用
- 本质上仍然是一对一的映射
NAPT
- 把公有地址和端口动态的映射给私有地址和端口,实现一个公有地址可以供多个私有地址同时使用访问互联网
- 转换源IP和源端口,数据回包还原目的IP和目的端口
Easy IP
- NAPT的一种简易实现形式
- 适用于公网地址不固定的场景
NAT Server
- 把公网IP的某个端口固定映射到私网IP的某个端口,让公网上的用户可以主动访问私网中的服务
- 转换目的IP和目的端口,数据回包还原源IP和源端口
- 也称端口映射
常用命令
[h3c]nat address-group 'group-number'
:创建 NAT 公网地址池[h3c-address-group-1]address 'start-ip' 'end-ip'
:设置地址池的地址范围[h3c-GigabitEthernet0/0]nat outbound 'acl-number' address-group 'group-number'
:在公网接口上配置 NAPT[h3c-GigabitEthernet0/0]nat outbound 'acl-number'
:在公网接口上配置 Easy IP[h3c-GigabitEthernet0/0]nat server protocol 'tcp/udp/icmp' global 'global-address' 'global-port' inside 'inside-address' 'inside-port'
:在公网接口上配置NAT Server
二十八、PPP
定义
- 点到点协议
- 在串行线路上运行的协议
特点
- 支持身份验证
- 支持地址自动协商
工作阶段
- 阶段1,LCP阶段,链路状态协商
- 阶段2,验证阶段,可选
- 阶段3,NCP阶段,IP地址协商
验证
验证方式
PAP
- 两次握手
- 用户名和密码在网络中明文传输
CHAP
- 三次握手
- 密码不在网络中传输,更安全
验证分类
- 单向验证:主验证方对被验证方进行验证
- 双向验证:双方互相验证
PPP-MP
把两台路由器之间的多条PPP链路捆绑成一条逻辑PPP链路
功能
- 实现链路冗余
- 增加链路带宽
要点
- IP地址配置在MP口上
- 身份验证配置在物理口上
常用命令
[h3c-Serial1/0]ppp authentication-mode 'pap/chap'
:设置接口开启PPP验证,并指定验证方式[h3c-Serial1/0]ppp pap local-user 'username' password 'simple/cipher' 'password'
:被验证方设置接口上用于pap验证的用户和密码[h3c-Serial1/0]ppp chap user 'username'
:被验证方设置接口上用于chap验证的用户[h3c-Serial1/0]ppp chap password 'simple/cipher' 'password'
:被验证方设置接口上用于chap验证的密码[h3c]interface mp-group 'group-number'
:创建PPP-MP口,进入MP口接口视图[h3c-Serial1/0]ppp mp mp-group 'group-number'
:物理接口加入到MP口- 双向验证时,如果两端用于验证的用户名和密码一致,则在PPP接口下只用指定用户名,不用指定密码
H3C配置DNS代理
[h3c]dns proxy enable
[h3c]dns server '公网DNS地址'
内网终端DNS服务器指向为本路由器
十七、文件传输协议
FTP
定义
- 文件传输协议
- 客户端/服务器模型,具备身份验证功能
- 双TCP连接
端口
- 控制连接:21,用于传输FTP命令和执行信息
- 数据连接:20,用于数据上传、下载
数据传输方式
主动方式:
- 数据连接由服务器主动发起
- 控制连接:21端口
- 数据连接:20端口
被动方式:
- 数据连接由客户端主动发起
- 控制连接:21端口
- 数据连接:服务器随机产生端口
TFTP
- 简单文件传输协议
- 基于UDP,69号端口
- 只有数据传输功能,不提供身份验证,目录列表等功能
常用命令
[h3c]ftp server enable
:开启FTP服务<h3c>ftp 'ip address'
:连接FTP服务器ftp>ls
:列出当前目录ftp>get 'fliename'
:下载文件ftp>put 'filename'
:上传文件ftp>bye
;断开FTP连接
十八、DHCP
产生背景
局域网中手动配置静态IP地址任务繁琐,而且容易出错
定义
- 动态主机配置协议
- 用于为局域网中主机动态分配IP地址及相关信息
- 采用客户端/服务器模式
- 服务端端口UDP 67
- 客户端端口UDP 68
工作原理
分配IP地址工作流程
- 客户端以全网广播形式发起IP地址请求
- 服务器以全网单播形式向客户端发送IP地址提供
- 客户端选择好IP地址后,以全网广播形式向服务器通告选择结果
- 服务器向客户端以全网单播形式发送IP地址确认
特殊情况的处理
当网络中存在多台DHCP服务器,客户端会优先选择最先到达的IP地址提供
IP地址租约更新
- 租期到达50%,客户端如在线,会向服务器发起租约更新请求
- 租期到达87.5%,客户端如在线,会向服务器发起租约更新请求
DHCP中继代理
- 用于跨网段分配IP地址
- IP地址请求的相关报文都是广播发送,无法跨越网段,所以需要在中间路由器开启DHCP中继代理功能
相关命令
[h3c]dhcp enable
:开启DHCP服务[h3c]dhcp server ip-pool 'name'
:创建DHCP地址池[h3c-dhcp-pool1]network 'network' mask 'mask'
:配置用于分配的地址范围[h3c-dhcp-pool1]gateway-list 'ip address'
:配置用于分配的网关地址[h3c-dhcp-pool1]dns-list 'ip address'
:配置用于分配的DNS服务器地址[h3c-dhcp-pool1]expired ……
:配置DHCP租期[h3c]dhcp server forbidden-ip 'start ip address' 'end ip address'
:配置不参与分配的IP地址[h3c-GigabitEthernet 0/0]dhcp select relay
:接口上开启DHCP中继功能[h3c-GigabitEthernet 0/0]dhcp relay server-address 'ip address'
:指定用于中继的DHCP服务器地址[h3c]display dhcp server statistics
:查看DHCP服务器统计信息
十九、VLAN间路由
定义
指导设备对不同vlan间进行三层数据转发
实现方式
单臂路由
- 交换机上划分多个VLAN
路由器单线连接到交换机
- 路由器接口,划分若干子接口,子接口的IP为下连vlan的网关,并绑定相应vlan
- 交换机接口,配置TRUNK,允许所有vlan通过
三层交换
- 三层交换机上启用vlanif三层接口,配置为网关IP
- 自动产生所有到达所有vlan的直连路由
常用命令
[h3c]interface 'sub-interface'
:创建子接口,进入子接口视图[h3c-GigabitEthernet0/0.1]vlan-type dot1q vid 'vlan-id'
:子接口开启802.1Q识别,并绑定Vlan[h3c]interface vlan-interface 'vlan-id'
:创建Vlanif三层接口,进入Vlanif接口视图
二十、IPv6基础
IPv4的问题
- 地址资源已经全部耗尽
- 终端用户配置不够简便
- 协议本身不具备安全性和QOS特性
IPv6的优势
- 几乎无尽的地址空间,3.4X10^38个可用地址
- 终端用户无需任何配置,甚至不需要DHCP
- 协议自带安全性和QOS特性
地址格式
- 冒号十六进制格式
- 每段16位,共8段,一共128位
地址书写压缩
段内前导0压缩
- 段内前导的0可省略
- 全为0的段压缩为一个0
全0段压缩
- 连续为0的段可用::表示
- 一个IPv6地址内只允许使用一次全0段压缩
网段划分
- 前缀:前缀长度和数字一致则为同一网段
- 接口标识符:根据Mac地址计算而来,全球唯一
- 前缀长度:标识前缀的长度
地址分类
单播地址
未指定地址:
::/128
本地环回地址:
::1/128
链路本地地址:
FE80::/10
- 仅用于同网段内部通讯,自动生成
- FE80::接口标识符/10
站点本地地址:
FEC0::/10
私有地址
全球单播地址:
2000::/3
组播地址
- 标识组播地址
- 广播地址属于一种特殊的组播地址
任播地址
- 用于智能寻路,寻找最近的下一跳
- 从单播地址中分配
IPv6邻居发现协议
- 地址解析,类似ARP
- 邻居关系建立和维持
- 路由器发现/前缀发现
地址自动配置
- 1.终端发送RD消息,请求路由器的前缀和前缀长度
- 2.路由器回复本机的前缀和前缀长度
- 3.终端使用路由器回复的前缀+接口标识符/前缀长度,自动产生IPv6全球单播地址
- 地址重复检测
常用命令
[h3c-GigabitEthernet 0/0]ipv6 address 'ipv6 address'
:配置静态IPv6地址[h3c-GigabitEthernet 0/0]ipv6 address auto
:配置为自动产生IPv6地址[h3c-GigabitEthernet 0/0]undo ipv6 nd ra halt
:解除路由器ND消息抑制
二十一、IP路由原理
定义
- 路由器负责将数据报文在IP网段之间进行转发
- 路由是指导路由器如何进行数据转发的路径信息
IP连通的前提
- 沿途的每台路由器上都有到达目的网段的路由信息
- 路由是单向的路径信息,沿途每台路由器都要有往返双向路由信息
路由表
作用
存储路由信息
字段内容
- Destination/mask:目的网段和掩码
- Proto:路由的来源
- Pre:优先级
- Cost:度量值
- Nexthop:下一跳地址,数据报文从接口发出后到达的下一个IP地址
- Interface:出接口,数据报文发出的接口
- 最长掩码匹配规则:当数据包在路由表中匹配到多条掩码长度不同的路由,会按照掩码最长的路由进行转发
- 路由迭代规则:当路由的下一跳为非直连网段地址,路由器会再次在路由表中查询下一跳地址,直到查询到下一跳是直连地址为止
来源
直连路由,根据直连接口所在网段自动产生
产生条件:
- 接口UP
- 接口配置IP地址
静态路由:
- 定义:手动配置到达每个目的网段的路由信息
- 特点:配置和维护繁琐复杂,没有协议开销,减轻设备和带宽压力
动态路由协议
- 定义:通过路由协议从邻居自动学习路由信息
- 特点:配置简单,维护便捷,协议开销会消耗设备资源和链路资源
常见路由协议
- RIP,路由信息协议,年代久远,已经被淘汰
- OSPF,开放式最短路径优先,目前最主流的路由协议
- BGP,边界网关协议,运营商之间使用的唯一协议
路由表写表规则
- 不同来源的路由优先级高(数字小)的优先
- 同一来源的路由Cost小的优先
- 同一来源Cost相等的路由会形成等价路由,数据流会在等价路由上自动负载分担
路由优先级
- 直连路由(Direct):0
- OSPF内部路由:10
- 静态路由:60
- RIP:100
- OSPF外部路由:150
- BGP:255
常用命令
[h3c]display ip routing-table
- 查看路由表
[h3c]display ip routing-table 'network' 'mask'
- 查看指定网段的路由信息
二十二、静态路由
配置要点
- 如下一跳所在接口是点到点接口,可以以指出接口的方式来配置静态路由
- 如下一跳所在接口是以太网接口,只能以指下一跳来配置静态路由
默认路由
- 目的网段为0.0.0.0/0
- 当数据包在路由表中匹配不到明细路由时,按照默认路由转发
常用命令
[h3c]ip route-static 'network' 'mask' 'nexthop/interface'
- 配置静态路由
[h3c]ip route-static 'network' 'mask' 'nexthop/interface' preference 'number'
- 配置静态路由并修改优先级
二十三、路由协议概述
定义
路由协议
- 用来计算、维护网络路由信息的协议
可路由协议
- 可被路由转发的协议,通常指IP
路由协议的功能
- 邻居发现
- 路由交换
- 路由计算
- 路由维护
路由协议的分类
按照使用位置分类
- IGP:内部网关协议,运行在自治系统内部的路由协议,RIP,OSPF,IS-IS
- EGP:外部网关协议,运行在自治系统之间的路由协议,BGP
自治系统
- AS
- 一组被统一管理,运行同一个IGP的路由器组成的网络范围
- 一般不同城域网都是不同的AS,不同运营商也是不同的AS
按照协议算法分类
- 距离矢量协议,度量值是跳数,RIP
- 链路状态协议,度量值是开销,OSPF IS-IS
- 路径矢量协议,有多种度量值,BGP
二十四、RIP
定义
- 路由信息协议,基于距离矢量算法
- 基于UDP端口520
RIP初始化流程
- RIP运行后,会从每个参与协议的接口上以广播形式发送路由请求
- 收到路由请求后,将自己完整的路由表以广播形式响应
- 收到路由响应后,根据计算规则,把路由写入到路由表
- 路由信息会按照发送方向逐跳扩散
路由信息更新
路由响应报文会以30秒为周期发送,以对网络变化进行更新
RIP的环路问题
产生原因
- 链路故障,导致路由从表中删除
- 30秒的更新周期还未到来,提前收到了邻居传递过来的刚刚被删除的路由,形成环路
防环机制
- 水平分割:从某个接口收到的路由信息不会从该接口回传
- 毒性逆转:从某个接口收到的路由信息会设置为16跳后回传
- 路由毒化:当路由失效,标记为16跳,并通告邻居,使邻居及时删除路由
- 抑制计时器:计时时间内,不接收和原路由跳数一致或更高的路由更新
- 触发更新:当路由失效,不用等待更新周期,立即发出路由更新,来通告错误
- 最大跳数:不接收跳数大于15跳的路由更新
RIP计时器
- 更新计时器:30秒
- 失效计时器:180秒,路由打上possibly down标签,路由设置为16跳
- 垃圾收集计时器:240秒,彻底删除路由
- 抑制计时器:180秒,路由信息失效,被打上PD标签,从其他接口收到比原路由更差的路由更新
RIPv2
- 报文以组播发送,组播地址224.0.0.9
- 路由更新携带子网掩码
- 可以关闭自动聚合,支持手动聚合
- 支持身份验证
常用命令
[h3c]rip 'process id'
:创建RIP进程,进入RIP协议视图[h3c-rip-1]version 2
:更改RIP版本为v2[h3c-rip-1]undo summary
:关闭自动聚合[h3c-rip-1]network 'network'
:宣告网段,network命令的2层功能,使能接口(每个接口的IP地址与宣告的网段进行匹配,被匹配的接口能够收发RIP协议报文),使能路由(每个接口的IP地址与宣告的网段进行匹配,被匹配的接口所产生的直连路由能够传递给邻居)[h3c-rip-1]silent-interface 'interface number'
:配置静默接口,静默接口上不会收发RIP协议报文[h3c-GigabitEthernet 0/0]rip authentication mode ……
:配置RIP接口身份验证
二十五、OSPF
RIP的缺陷
- 最大跳数限制了网络规模
- 以跳数为度量值无法准确判断最优路径
- 路由更新发送完整路由表消耗网络带宽
- 收敛速度慢
- 协议会产生路由自环
定义
- 开放式最短路径优先,基于链路状态特征
- 工作在IP层,协议号89
OSPF初始化流程
1.建立邻居和邻接关系
发送hello报文发现和建立邻居关系,组播地址224.0.0.5
- 接口UP
- 双方接口IP地址在同一网段
- 双方接口在同一区域
- ……
选举DR/BDR,建立邻接关系
DR/BDR选举
- 选举原因,广播网络中使路由信息交换更加高速有序
- 选举范围,每条广播链路上都需要选举出一个DR和一个BDR
选举规则
- 1.优先级大的优先,默认优先级都是1
- 2.Router-id大的优先
Router-id
定义,Rid,标识路由器的身份
产生方法:
- 手动配置一个IPv4地址格式作为Rid
自动选举
- 1.在所有环回口中选举IP地址最大的作为Rid
- 2.在所有物理接口中选举IP地址最大的作为Rid
建议手动配置一个本地环回口的IP地址作为Rid
关系状态
- DRother与DR建立邻接关系
- DRother与BDR建立邻接关系
- DR与BDR建立邻接关系
- DRother之间保持邻居关系
2.邻接路由器之间交换链路状态信息,实现区域内链路状态数据库同步
相关概念
- 链路状态通告,LSA,用来描述路由器的接口、路由条目的相关信息,向邻接路由器发送DD报文,通告本地LSDB中所有LSA的摘要信息
- 链路状态数据库,LSDB,存储本地所有LSA
工作流程
- 收到DD后,与本地LSDB对比,向对方发送LSR报文,请求发送本地所需的LSA的完整信息
- 收到LSR后,把对方所需的LSA的完整信息打包为一条LSU报文,发送至对方
- 收到LSU后,向对方回复LSAck报文,进行确认
3.每台路由器根据本机链路状态数据库,计算到达每个目的网段的最优路由,写入路由表
OSPF分区域管理
分区域的原因
- 加快收敛速度
- 把网络故障隔离在区域内部
路由器角色
- IR,普通路由器,所有接口都处于普通区域
- BR,骨干路由器,所有接口都处于骨干区域
- ABR,区域边界路由器,连接不同区域的路由器
- ASBR,自治系统边界路由器,连接外部自治系统的路由器
区域类型
- 骨干区域,只能有一个骨干区域,骨干区域必须是连续的
- 非骨干区域,非骨干区域必须连接到骨干区域
- 特殊区域
常用命令
[h3c]ospf 'process id' router-id 'rid'
:开启OSPF进程,指定Router-id,进入OSPF协议视图[h3c-ospf-1]area 'area id'
:进入区域视图[h3c-ospf-1-area 0.0.0.0]network 'ip address' 'wild-mask'
:宣告网段
wild-mask:
- 掩码通配符
- 0对应的部分需要匹配一致,1对应的部分不检查
[h3c-ospf-1]slient-interface 'interface id'
:配置静默接口[h3c-GigabitEthernet 0/0]ospf dr-pririty 'priority'
:修改OSPF接口优先级[h3c-GigabitEthernet 0/0]ospf cost 'cost'
:修改接口OSPF开销<h3c>reset ospf 'process id' process
:重置OSPF进程[h3c]display ospf peer
:查看OSPF邻居关系- FULL:邻接关系
- 2-Way:邻居关系
[h3c]display ospf lsdb
:查看OSPF链路状态数据库[h3c]display ospf routing
:查看OSPF路由
二十六、ACL包过滤
ACL
定义
- 访问控制列表
- 用于数据流的匹配和筛选
常见功能
- 访问控制:ACL+Packet-filter
- 路由控制:ACL+Route-policy
- 流量控制:ACL+QOS
基于ACL的包过滤
定义
- 对进出的数据包逐包检查,丢弃或允许通过
- 包过滤必须配置在接口的某个方向上才能生效
- 一个接口的一个方向只能配置一个包过滤策略
包过滤的方向
- 入方向:只对从外部进入的数据包做过滤
- 出方向:只对从内部发出的数据包做过滤
包过滤的工作流程
- 数据包到达接口检查是否应用了ACL,是则进入匹配,否则放行
按照ACL编号匹配第一条规则,匹配则进一步检查该条规则动作,否则与下一条规则进行匹配
- 动作允许则放行
- 动作拒绝则丢弃
- 继续进行匹配,如匹配则检查规则动作,否则与下一条进行匹配
所有规则都不匹配,检查默认动作
- 默认动作允许则放行
- 默认动作拒绝则丢弃
注意事项
- 如果默认动作是允许,至少需要一条拒绝规则
- 如果默认动作是拒绝,至少需要一条允许规则
- H3C的ACL用于包过滤默认允许,用于其他默认拒绝
- 把小范围的规则分配一个靠前的顺序
- 在不影响实际效果前提下,把包过滤尽量配置在离源地址最近的接口的入方向
ACL分类
基本ACL
- 只对数据包的源地址进行匹配
- 编号2000-2999
高级ACL
- 对数据包的五元组进行匹配(源IP,目的IP,源端口,目的端口,协议)
- 编号3000-3999
常用命令
[h3c]acl basic 'acl-number'
:创建基本ACL,进入ACL视图[h3c]acl advanced 'acl-number'
:创建高级ACL,进入ACL视图[h3c-acl-basic-2000]rule 'rule id' 'permit/deny' source 'ip address' 'wild-mask'
:创建基本ACL规则,如不写rule-id,则系统自动从0开始以5的倍数增加序号[h3c-acl-basic-3000]rule 'rule id' 'protocol' source 'ip address' 'wild-mask' source-port 'port' destination 'ip address' 'wild-mask' destination-port 'port'
:创建高级ACL规则[h3c-GigabitEthernet 0/0]packet-filter 'acl number' 'inbound/outbound'
:配置包过滤[h3c]packet-filter default deny
:更改默认动作为拒绝
二十七、NAT
产生背景
- IPv4公网地址资源耗尽
- IPv6普及遥遥无期
- 子网划分杯水车薪
定义
- 网络地址转换
- 通过把私有地址转换为公有地址,使私有IP地址主机可以访问互联网,来解决公网地址不够用的问题
分类
静态 NAT
把公有地址一对一的静态映射给私有地址使用
基本 NAT
- 建立公有地址池,把地址池中的公有地址动态的映射给私有地址使用
- 本质上仍然是一对一的映射
NAPT
- 把公有地址和端口动态的映射给私有地址和端口,实现一个公有地址可以供多个私有地址同时使用访问互联网
- 转换源IP和源端口,数据回包还原目的IP和目的端口
Easy IP
- NAPT的一种简易实现形式
- 适用于公网地址不固定的场景
NAT Server
- 把公网IP的某个端口固定映射到私网IP的某个端口,让公网上的用户可以主动访问私网中的服务
- 转换目的IP和目的端口,数据回包还原源IP和源端口
- 也称端口映射
常用命令
[h3c]nat address-group 'group-number'
:创建 NAT 公网地址池[h3c-address-group-1]address 'start-ip' 'end-ip'
:设置地址池的地址范围[h3c-GigabitEthernet0/0]nat outbound 'acl-number' address-group 'group-number'
:在公网接口上配置 NAPT[h3c-GigabitEthernet0/0]nat outbound 'acl-number'
:在公网接口上配置 Easy IP[h3c-GigabitEthernet0/0]nat server protocol 'tcp/udp/icmp' global 'global-address' 'global-port' inside 'inside-address' 'inside-port'
:在公网接口上配置NAT Server
二十八、PPP
定义
- 点到点协议
- 在串行线路上运行的协议
特点
- 支持身份验证
- 支持地址自动协商
工作阶段
- 阶段1,LCP阶段,链路状态协商
- 阶段2,验证阶段,可选
- 阶段3,NCP阶段,IP地址协商
验证
验证方式
PAP
- 两次握手
- 用户名和密码在网络中明文传输
CHAP
- 三次握手
- 密码不在网络中传输,更安全
验证分类
- 单向验证:主验证方对被验证方进行验证
- 双向验证:双方互相验证
PPP-MP
把两台路由器之间的多条PPP链路捆绑成一条逻辑PPP链路
功能
- 实现链路冗余
- 增加链路带宽
要点
- IP地址配置在MP口上
- 身份验证配置在物理口上
常用命令
[h3c-Serial1/0]ppp authentication-mode 'pap/chap'
:设置接口开启PPP验证,并指定验证方式[h3c-Serial1/0]ppp pap local-user 'username' password 'simple/cipher' 'password'
:被验证方设置接口上用于pap验证的用户和密码[h3c-Serial1/0]ppp chap user 'username'
:被验证方设置接口上用于chap验证的用户[h3c-Serial1/0]ppp chap password 'simple/cipher' 'password'
:被验证方设置接口上用于chap验证的密码[h3c]interface mp-group 'group-number'
:创建PPP-MP口,进入MP口接口视图[h3c-Serial1/0]ppp mp mp-group 'group-number'
:物理接口加入到MP口- 双向验证时,如果两端用于验证的用户名和密码一致,则在PPP接口下只用指定用户名,不用指定密码