osi七层模型
osi七层模型分为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
- 应用层:客户端与服务端之间建立一个通话界面
- 表示层:对数据进行语言转换,进行加密
- 会话层:建立,管理,中止会话
- 传输层:定义传输数据的协议的端口
- 网络层:根据IP地址,选择最佳路径
- 数据链路层:根据mac地址寻址,有差错校验功能
- 物理层:建立,维护,断开物理连接
网络层及以下的通信为点对点
传输层的通信为端到端
层次模型 | 作用 | 数据单元 | 主要设备 |
---|---|---|---|
物理层 | 建立,维护,断开物理连接 | 比特流 | 网卡 |
数据链路层 | 根据mac地址寻址,有差错校验功能 | 数据帧 | 交换机 |
网络层 | 根据ip地址选择最佳路径 | 数据包 | 路由器 |
传输层 | 定义数据的协议与端口号 | 数据段 | |
会话层 | 建立,管理,中止会话 | ||
表示层 | 对数据的语言转换,加密 | ||
应用层 | 客户端与服务端建立一个通话界面 |
应用层,表示层,会话层为高三层,是面向用户的
网络层,数据链路层,物理层为低三层,是面向硬件的
TCP/IP五层模型
OSl参考模型划分7层,分别是物理层、数 据链路层、网络层、传输层、会话层、表示层和应用 层,而TCP/IP参考模型最多划分了5个层次,分别是物理 层,数据链路层、网络层、传输层和应用层,将OSI参考 模型中的高三层合并为一层统称应用层。
五层模型数据封装与解封装过程
数据封装过程:
应用层:传输真实数据
传输层:接受上一层的数据,加入tcp头部,变成数据段
网络层:接受数据段,加入ip头部,变为数据包
数据链路层:接受数据包后,加入mac头部和尾部的校验码,变成数据帧
物理层:接受数据帧后转化成电信号转发出去
数据的解封装:
数据的解封装 B 收到A发来的数据后
物理层:电流转换成数据帧
数据链路层:会将数据帧拆开,对比其中的目的mac 是否和自己的 mac地址一样,一样就接受,不一样就丢弃,数据的校验码是否完整,完整就接受,不完整就丢弃或让A重发
网络层:会将数据报头拆开,对比其中的ip地址是否和自己的ip地址一样,一样就接受,不一样就丢弃
传输层:根据协议和端口号来找到系统中对应的程序
应用层:真实数据
原理
二层原理:根据mac地址转发数据
三层原理:根据IP地址转发数据
四层原理:根据协议和端口号转发数据
七层原理:根据实际数据管控
五层模型协议
应用层
- http:超文本传输协议,默认端口tcp80
- ftp:文本传输协议,默认端口tcp20和tcp21
- tftp:简单文件传输协议,默认端口udp69
传输层
- tcp:传输控制协议,传输速度慢,安全可靠
- udp:用户数据报协议,传输速度快,不可靠
网络层
- ARP:地址解析协议,是将IP地址转换成mac地址
- RARP:逆地址解析协议,将mac地址转换成ip地址
- ICMP:网际控制报文协议,ping,网络连通性检测
- IGMP:网际组管协议,该协议运行在主机和组播路由器之间
单播:1对1发消息
组播:只对一部分人发消息
广播:对所有发消息
ip地址
IP地址是在网络中用来标识设备的具体地址,数据需要通过此进行寻址传输
- IP地址在网络中用于标识一个节点(或者网络设备的接口)
- IP地址用于ip报文在网络中的寻址时使用
IP地址组成
- 一个ipv4地址有32位bit2进制4字节
- ipv4地址通常采用“点分十进制”表示
ipv4地址范围:0.0.0.0~255.255.255.255(43亿左右)
IP地址的构成
网络部分:用来标识一个网络。代表IP地址所属网络,处于高位
主机部分:用来区分一个网络内的不同主机,能唯一标识网段上的某台设备,处于低位
IP地址分类
IP地址分为A,B,C,D,E五类
- A类范围:0~127
- B类范围:128~191
- C类范围:192~223
- D类范围:224~239(用来组播,广播,单播)
- E类范围:240~255(科研保留)
私网地址
公网地址:全球可达,这个地址在通了网络的任意地方都可以被访问
私网地址;非全球可达只能在局域网内使用,不需要花钱
- 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
特殊地址
特殊无法使用的IP地址:
- 0.0.0.0----------------------------------------------------------------任意网段
- 255.255.255.255--------------------------------------------------广播地址
- 127.0.0.0~127.255.255.255-----------------------------------内部回环地址,测试本机网卡是否正常
- 169.254开头的ip---------------------------------------------------微软保留地址,错误地址
- 每个网段中主机位全0的ip---------------------------------------网段
- 每个网段中主机位全为1的ip------------------------------------广播
子网掩码
掩码是用来区分网段和主机位
子网掩码第一个地址和最后一个地址不可用,第一个地址的网络号,最后一个地址是广播地址
子网划分
子网划分:将一个大网(主机数多,主机ip多)分割成多个小网,网络ip向主机id借位,将划分成2^n个子网
会算网段:IP地址与子网掩码相与
2的2进制
2^0=1
2^1=2
2^2=4
2^3=8
2^4=16
2^5=32
2^6=64
2^7=128
2^8=256
2^9=512
2^10=1024
交换机原理
交换机是一种电信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。交换机工作于OSI参考模型的第二层,即数据链路层。交换机的传输模式有全双工、半双工和全双工/半双工自适应。
工作原理
交换机工作原理是根据mac地址进行数据转发的
mac地址格式
mac地址的地址长度为48bit,表现为16进制
mac地址的前端24bit表示厂家的编码,后端24bit表示某个批次的网卡
交换机四大功能
- 学习:自动学习源mac地址
- 查找:如果在mac地址表中没有找到目的mac地址,就会发送广播查找
- 转发:如果在mac地址表中找到目的mac地址,就会按照mac地址表转发
- 刷新:每隔300s会刷新一次mac地址表
网络层
数据封装的时候会在网络层封装IP地址的头部,形成ip数据包
IP数据包格式
IP数据包格式(分为20字节的固定部分,表示每个ip数据包必须包含的部分,和40字节的可变长部分)
- 版本号:4bit,IP协议版本
- 首部长度:4bit,IP数据包的包头长度
- 优先级与服务器类型:8bit,该字段用于表示数据包的优先级和服务类型
- 总长度:16bit,IP数据包的长度,最长为65535字节(2^32),包括包头和数据
- 标识符:该字段用来表示IP数据包的标识符
用来区分数据是否来源于同一文件
- 标志:和标识符一起传递,指示不可以被分片或最后一个分片是否发出完整
- 段偏移量:表示该数据包离文件起点距离
- TTL:生命周期
- 协议号:封装的上层是哪个协议
- 首部校验和:只检验数据包的首部
- 源地址:源IP地址,表示发送端的IP地址
- 目标地址:目标IP地址,表示接收端的IP地址
- 可选项:选项字段根据实际情况可变长,可以和IP一起使用的选项有多个(21~60字节)
网络层功能
- 定义了基于IP协议的逻辑地址,就是IP地址
- 连接不同的媒介类型
- 选择数据通过网络的最佳路径,完成逻辑地址寻址
网络层协议
- ARP协议:将ip地址转换成mac地址的技术,无故ARP
- icmp协议:(ping指令)检测主机双向联通性,检测两台主机是否可以通信
icmp协议
icmp协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用
icmp协议常用的两个命令:ping、tracert
ping:是一个常用的网络诊断工具,用于测试网络连接的连通性和延迟。
tracert:是一个网络诊断工具,用于跟踪数据包从源主机到目标主机之间经过的路由路径。
不同网段之间,一定要有网关
ping的格式
ping命令本质就是一个命令程序
ping IP地址 选项
- 指定数据包的大小 - l
- 一直发送数据包 -t
- 指定数据包发送个数 -n
- 当一个ping不通时,只等待数秒回复 -w
type类型
Type | Code | 描述 |
---|---|---|
0 | 0 | Echo Reply |
3 | 0 | 网络不可达 |
3 | 1 | 主机不可达 |
3 | 2 | 协议不可达 |
3 | 3 | 端口不可达 |
11 | 0 | 超时 |
8 | 0 | Echo Request |
网络波动时会偶尔丢一两个包
ping不通时,没有一个数据能到达
冲突域
冲突域:两台设备同时发送消息时,互相干扰,那他们就处于同一个冲突域
广播域
广播域:一台机器发送广播,,能收到消息的机器都是在同意广播域
交换机的所有端口默认在同一个广播域里,路由器的每一个端口都是一个独立的广播域
ARP协议
ARP(Address Resolution Protocol)协议是一种用于将IP地址解析成对应的MAC地址的协议,它工作在TCP/IP协议栈的链路层,负责解析局域网内主机的MAC地址,ARP协议的优先级最高
ARP的作用:
- 检测地址冲突(免费ARP/无故ARP)
- 将IP地址转换成mac地址
ARP工作原理
- pc1想发送数据给pc2,会先检查自己的arp缓存表中pc2的mac地址是否存在
- 如果发现要查找的mac地址不在表中,就会发送一个ARP请求广播,用于发现目的设备的mac地址
- 交换机收到广播后做泛红处理,除pc1外所有的主机收到arp请求消息,pc2以单播方式发送arp广播应答,并在自己的arp缓存表中缓存pc1的IP地址和mac地址的对应关系,而其他主机则丢弃这个arp请求消息
- pc1在自己的arp表中添加pc2的IP地址和mac地址的对应关系,以单播方式与pc2通信
ARP报文
ARP指令
命令 | 含义 |
---|---|
dis mac-address | 查看mac地址信息 |
arp static | 绑定arp |
undo arp static | 解除绑定arp |
reset arp all | 清除mac地址表 |
传输层协议
TCP/IP
tcp/ip协议分为:
tcp协议:传输控制协议
ndp协议:用户数据协议
作用:
tcp协议:面向连接,在发送真正的数据前,回测试和对面是否可以通信,如果可以通信那么就会发送数据,否则不会发送数据
udp协议:非面向连接,不管是否能通信,直接发
共定义了四层,和osi参考模型的分层有对应关系
区别
tcp协议:面向连接,传输速度慢,稳定,有重传报错机制
udp协议:无连接,传输速度快,不稳定,没有重传机制
TCP格式
- 源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信。源端口、目标端口是用16位表示的,可推算计算机的端口个数为2^16个,即 65536 (0-65535)
端口0是不可以用的,代表未知端口·
0~1024,代表超级管理员
1024及以上,代表不同用户
知名协议端口号
http80、tcp80
tcp20
tcp21
怎么知道是服务端还是客户端
服务端的端口一般是固定的,客户端的端口是随机的,所有谁主动发送数据谁就是客户端,谁被动接受数据谁就是服务端
- 序列号:表示本报文段所发送数据的第一个字节的编号
- 确认号:(ack)表示接收方期望收到发送方下一个报文段的第一个字节数据编号
- 数据偏移/首部长度:表示tcp段文段的首部长度,共4位,由于tcp首部包含一个长度可变的选项部分,需要指定这个tcp报文段到底有多长
- 控制位:控制目前两台机器的状态
URG(紧急位):表示本报文段中发送的数据是否包含紧急数据
ACK(确认位):表示前面确认号字段是否有效
PSH(急切位):提示接收端应用程序应该立即从tcp接受缓冲区中读走数据,为接收后数据腾出空间
RST(重置位):如果收到一个RST=1的报文,说明与主机的连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接。
SYN(同步位):在建立连接时使用,用来同步序号
FIN(断开位):表示通知对方本端要关闭连接了,标记数据是否发送完毕
- 窗口大小:表示允许对方发送的数据量
- 校验和:提供额外的可靠性紧急指针,标记紧急数据在数据字段中的位置
- 选项部分:其最大长度可根据TCP首部长度进行推算
TCP三次握手
当pc1想和pc2建立起连接,将连接信息写入报文
- pc1会发送一个序列号为x,同步位为1的SYN报文给pc2,请求建立连接
- pc2收到pc1发来的请求建立连接的报文,会回复一个序列号为y,确认号为x+1,同步位为1,确认位为1的SYN+ACK报文给pc1,同意建立连接
- pc1收到pc2发来的同意建立连接的报文后,会回复一个序列为x+1,确认号y+1,确认位为1的ACK报文
TCP三次握手的状态
SYN-SENT:同步已发送
LISTEN:收听
SYN-RCVD:同步收到
ESTAB-LISHED:已建连接
TCP四次挥手状态
- FIN-WAIT-1 主动关闭,主机已发送关闭连接请求,等待对方确认
- FIN-WAIT-2 主动关闭,主机已收到对方关闭传输连接确认,等待对方发送关闭传输连接请求
- TIME-WAIT 完成双向传输连接关闭,等待所有分组消失
- CLOSE-WAIT 被动关闭,收到对方发来的关闭连接请求,并已确认
- LAST-ACK 被动关闭,等待最后一个关闭传输连接确认,并等待所有分组消失
- CLOSING 双方同时尝试关闭传输连接,等待对方确认
总结:只有服务端的ACK,是进入半断开的状态
既有服务端的ACK,又有FIN,是完全断开的状态
UDP协议
UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议,它位于网络层之上,提供了面向事务的简单、不可靠信息传送服务。
telnet协议
telnet是远程控制指令
`R1:
[R1]telnet server enable -----默认已经开启
[R1]user-interface vty 0 4----虚拟用户终端接口编号0~4;同时允许5个用户管理这台设备
[R1-ui-vty0-4]authentication-mode password
Please configure the login password (maximum length 16):123
[R1-ui-vty0-4]protocol inbound telnet -----默认配置
[R1-ui-vty0-4] user privilege level 15 ------设置权限
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24
[R1-GigabitEthernet0/0/0]dis th
R2:
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.1.2 24
[R2-GigabitEthernet0/0/0]q
[R2]q
telnet 12.1.1.1----用户视图telnet
Press CTRL_] to quit telnet mode
Trying 12.1.1.1 …
Connected to 12.1.1.1 …
Login authentication
Password:123
—成功登录R1
修改用户权限
[R1]user-interface vty 0 4
[R1-ui-vty0-4]user privilege level 15`
路由器原理
路由器:能够将数据转发到正确的目标,而在这一转发过程中选择最佳路径
路由器原理:根据IP地址转发数据、
路由器通过什么方式获得路由表的信息?
直连路由自动学习
静态路由手动配置
动态路由自动学习
路由表:记录转发的路径
路由表生成:
- 手动配置
- 路由器自己学习
路由器命令
含义 | 命令 |
---|---|
查看路由表 | display routing-table |
静态路由配置 | IP route-static 网段 子网掩码 下一跳 |
路由表含义
命令 | 含义 |
---|---|
Destination/Mask | 目标网段/子网掩码 |
proto | 路由获取方式:直连、静态、动态 |
pre | 优先级:越小优先级越高 |
cost | 花销值 |
flags | 标志:目前此条路由的状态 |
nexthop | 下一跳地址:不在自己身上,是接收数据的路由器和自己最近的一个接口 |
interface | 接口 |
路由表的形成
1、自动学习
- 直连路由:只要给路由器的端口配置ip地址,那么路由器就会自动将该端口的IP地址以及网段记入路由表中
- 动态路由:通过发送报文的形式互相学习路由条目
2、手动配置:工程师按照命令的格式手动添加路由条目
静态路由
静态路由的缺点
- 由管理员配置的,是单向的
- 缺乏灵活性
静态路由的配置
AR1配置
sys
sys R1
int g0/0/0
ip add 192.168.1.254 24
int g0/0/1
ip add 10.0.0.1 24
q
ip route-static 192.168.2.0 24 10.0.0.2
AR2配置
sys
sys R2
int g0/0/0
ip add 10.0.0.2 24
int g0/0/1
ip add 192.168.2.254 24
q
ip route-static 192.168.1.0 24 10.0.0.1
路由器在转发的时候,IP地址不变,mac地址一直在变
默认路由
默认路由是特殊的静态路由,如果数据包没有找到路由条目,就会走默认路由
默认路由格式:ip route-static 0.0.0.0 0 下一跳IP地址
路由器两边都是路由,不能做默认路由,数据有可能无限循环,路由器一边来连接1终端pc,一边连接路由,可以当默认路由
VLAN
vlan即虚拟局域网,是一种通过软件实现的网络隔离技术,它通过物理网络划分多个逻辑子网,实现不同部门,不同业务之间的网络隔离和互通
vlan的范围0~4095
不同的vlan要是不同的网段
为什么会出现vlan技术
二层设备如果设备从多会产生广播风暴,泛洪以及病毒等问题,使用vlna技术可以划分广播域,减少广播域消息的产生的垃圾流量问题
vlan作用
vlan用来划分广播域,控制广播消息传递范围
vlan划分广播域的两种方法:
- 物理分割
- 逻辑分割
vlan分类
vlan种类:
- 静态vlan:基于端口划分静态vlan
- 动态vlan:基于mac地址划分动态vlan
vlan优势
- 控制广播
- 增强网络安全性
- 简化网络管理
VLAN数据帧
VLAN接口类型
access接口类型:接入模式,一般用于连接计算机或者路由器的端口,access模式一般只能属于一个vlan
trunk(中继)类型端口:可以允许多个vlan通过,可以接受和发送多个vlan报文,一般用于交换机和交换机相关的端口
trunk使用一条线路使得不同交换机的相同vlan相互通信
hybrid:华为特有,可以手动配置,放性或拒绝的vlan
VLAN命令
命令 | 含义 |
---|---|
vlan batch 标题 | 批量建立vlan |
port link-type access / trunk | 设置vlan类型 |
port default vlan 标签 | 设置允许vlan标签通过 |
port trunk allow-pass vlan all | 设置允许所有vlan通过 |
dis vlan | 显示所有vlan信息 |
dis port vlan | 显示指定端口vlan信息 |
dis port vlan active | 显示指定端口上激活的vlan配置信息 |
VLAN配置
LSW1配置
vlan batch 10 20
int e0/0/1
port link-type access
port default vlan 10
int e0/0/2
port link-type access
port default vlan 10
int e0/0/3
port link-type access
port default vlan 20
int e0/0/4
port link-type access
port default vlan 20
int e0/0/5
port link-type trunk
port trunk allow-pass vlan all
LSW4配置
vlan batch 10 20
int e0/0/1
port link-type trunk
port trunk allow-pass vlan all
int e0/0/2
port link-type access
port default vlan 10
int e0/0/3
port link-type access
port default vlan 20
单臂路由
单臂路由就是路由器的物理接口可以分化为多个逻辑子接口,每个子接口对应一个vlan网段的网关,实现不同vlan之间通信
原理
单笔路由实现不同vlan之间通信的原理:路由器重新封装mac地址,转换vlan标签
链路类型
- 交换机连接主机的端口为access链路
- 交换机连接路由器的端口为trunk链路
单臂路由配置
LSW1配置
u t m
sys
sys SW1
vlan batch 10 20
int e0/0/1
port link-type access
port default vlan 10
int e0/0/2
port link-type access
port default vlan 20
int e0/0/3
port link-type trunk
port trunk allow-pass vlan all
AR1配置
u t m
sys
sys R1
int g0/0/0.10
dot1q termination vid 10
arp broadcast enable
ip add 192.168.1.254 24
int g0/0/0.20
dot1q termination vid 20
arp broadcast enable
ip add 192.168.2.254 24
三层交换
三层交换机拥有三层的功能,但是三层交换机不等于路由器
三层交换技术可以实现vlan间通信
路由表
路由表是网络设备中用于存储和管理网络路由信息的重要数据结构,路由表并不是真正确定如何转发的表(软件转发)
FIB表
FIB表即转发信息库,是网络设备中用于快速查找和转发数据包的关键组件,它的主要作用根据路由表生成,用于指导数据包的转发过程以及提供了一种高效的方式来查找下一跳地址
工作原理
三层交换机实现vlan之间通信的原理:每一个vlan都会虚拟出一个虚拟接口,然后再虚拟接口上配置IP地址
- 主机a给主机b发送单播数据包
- 交换机查找FIB表,找到下一跳地址
- 查找下一跳地址对应的邻接关系的2层封装信息
邻接关系表
邻接关系表包含邻接主机和交换机mac地址的对应关系用来提供二层重写信息
三层交换配置
LSW1配置
u t m
sys
sys SW1
vlan batch 10 20 30
int e0/0/1
port link-type access
port default vlan 10
int e0/0/2
port link-type access
port default vlan 20
int e0/0/3
port link-type access
port default vlan 30
int g0/0/1
port link-type trunk
port trunk allow-pass vlan all
LSW2配置
u t m
sys
sys SW2
vlan batch 10 20 30 100
int vlaif 10
ip add 192.168.1.254 24
int vlanif 20
ip add 192.168.2.254 24
int vlanif 30
ip add 192.168.3.254 24
int vlanif 100
ip add 192.168.4.1 24
int g0/0/1
port link-type access
port trunk allow-pass vlan all
int g0/0/2
port link-type access
port default vlan 100
q
ip route-static 192.168.5.0 24 192.168.4.2
AR1配置
u t m
sys
sys R1
int g0/0/0
ip add 192.168.4.2 24
int g0/0/1
ip add 192.168.5.254 24
q
ip route-static 0.0.0.0 0 192.168.4.1
总结
- 单臂路由和三层交换机都可以实现vlan之间的通信
- 单臂路由工作原理:路由器重新封装mac地址,装换vlan标签
- 三层交换机:一次路由,多次交换
一次路由:数据流的第一个数据包由三层引擎来处理,重新封装mac,再路由转发数据包
多次交换:第一个数据包转发后,会在硬件创建一个MSL条目,MSL包含FIB、邻接关系表、通过查询FIB和邻接关系表重新封装数据帧,从相应端口转发数据
三层交换机具有路由功能可转发数据,IP地址是配置再虚拟接口上而不是物理接口上,物理接口对接交换机配置trunk,对接pc机配合access
DHCP工作原理
- 客户端会发送一个广播dhcp discover报文去寻找dhcp服务器
- 客户端只会接收到第一个回复的dhcp服务器
- 服务端会发送一个offer报文,报文中携带相关配置信息(IP地址、子网掩码、网关等)
- 客户端收到这个offer报文后,会自动配置相关信息并且回复一个request报文
- 服务器收到request报文会将分配的地址从地址池抹去,并且回复ack报文
DHCP操作
dhcp enable
开启dhcp功能
基于接口
int g0/0/0
ip add 192.168.1.254 24
网关
dhcp select interface
选择接口模式
dhcp server lease day 10
租期
dhcp server dns-list 8.8.8.8
设置dns的IP地址
基于地址池的配置
dhcp enable
ip pool ky23
gateway-list 192.168.1.254
network 192.168.1.0 mask 255.255.255.0
lease day 10
dns-list 8.8.8.8
VRRP协议
vrrp 能够再不改变组网情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份
版本协议
协议版本:VRRPv2和VRRPv3
VRRPv2仅适用于IPv4,VRRPv3适用于IPv4和IPv6两种网络
vrrp协议报文
vrrp协议报文:只有一种报文Advertisement报文(通告报文);其目的IP地址是224.0.0.18,协议号是112
利用VRRP,一组路由器(同一个LAN中的接口)协同工作,但只有一个处于Master状态,处于该状态的路由器(的接口)承担实际的数据流量转发任务。在一个VRRP组内的多个路由器接口共用一个虚拟IP地址,该地址被作为局域网内所有主机的缺省网关地址。 VRRP决定哪个路由器是Master,Master路由器负责接收发送至用户网关的数据包并进行转发,以及响应PC对于其网关IP地址的ARP请求。 Backup路由器侦听Master路由器的状态,并在Master路由器发生故障时,接替其工作,从而保证业务流量的平滑切换。
VRRP基本结构
状态机
- 都不是255,设备都先为备用,等待看看网络中是否有主设备
- 发送报文,等待时间是3倍的hello时间
- 始终没有收到,变成主设备
- 收到比我小的成为主设备
- 收到比我大的成为备用设备
- 收到优先级为0
优先级:
- 默认0~255
- 0代表要退出
- 255代表有设备和虚拟IP冲突
- 可手动配置1~254
- 优先级相同会比较接口地址大的优先
- 优先级默认为100
- 缺省:默认值
VRRP状态机
VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于活动状态的设备才可以转发那些发那些发送到虚拟IP地址的报文。
当路由器处于Master状态时,它将会做下列工作:
- 定期发送VRRP报文。
- 以虚拟MAC地址响应对虚拟IP地址的ARP请求。 虚拟路由器 封装的时候 都封装 虚拟路由器的 mac地址
- 转发目的MAC地址为虚拟MAC地址的IP报文。
- 如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。
- 如果收到比自己优先级大的报文则转为Backup状态。
- 如果收到优先级和自己相同的报文,并且发送端的主机IP地址比自己的主IP地址大,则转为Backup状态。
- 当接收到接口的Shutdown事件时,转为Initialize。
当路由器处于Backup状态时,它将会做下列工作:
- 接收Master发送的VRRP报文,判断Master的状态是否正常。
- 对虚拟IP地址的ARP请求,不做响应。
- 丢弃目的MAC地址为虚拟MAC地址的IP报文。
- 丢弃目的IP地址为虚拟IP地址的IP报文。
- Backup状态下如果收到比自己优先级小的报文时,丢弃报文,不重置定时器;如果收到优先级和自己相同的报文,则重置定时器,不进一步比较IP地址。
- 当Backup接收到MASTER_DOWN_TIMER定时器超时的事件时,才会转为Master。
- 当接收到接口的Shutdown事件时,转为Initialize。
当路由器处于Initialize状态时:
设备启动时进入此状态,当收到接口Startup的消息,将转入Backup或Master状态(IP地址拥有者的接口优先级为255,直接转为Master)。在此状态时,不会对VRRP报文做任何处理。
VRRP工作原理
(1) 虚拟路由器中的路由器根据优先级选举出Master。Master路由器通过发送免费ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务;
(2) Master路由器周期性发送VRRP报文,以公布其配置信息(优先级等)和工作状况;
(3) 如果Master路由器出现故障,虚拟路由器中的Backup路由器将根据优先级重新选举新的Master;
(4) 虚拟路由器状态切换时,Master路由器由一台设备切换为另外一台设备,新的Master路由器只是简单地发送一个携带虚拟路由器的MAC地址和虚拟IP地址信息的免费ARP报文,这样就可以更新与它连接的主机或设备中的ARP相关信息。网络中的主机感知不到Master路由器已经切换为另外一台设备。
(5) Backup路由器的优先级高于Master路由器时,由Backup路由器的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
VRRP主备份过程
- 设置优先级,优先级大的优先,优先级一样的比较接口的IP地址
- 路由器配置好以后,互相是不知道对面的配置,会互相发送通告报文,选举出主备路由器
- 选举出主备后,backup就不会在发送报文了
- master始终再周期性发送通告报文
- master每间隔1s发送一个通告报文,backup始终监听master,backup一段时间收不到master的报文会成为主
- master发生故障时,backup再3秒的时间没收到master的报文,
- backup就会变成master,而原本的master就会成为backup
VRRP配置
R2配置
int g0/0/0
ip add 192.168.1.10 24
vrrp vrid 1 virtual-ip 192.168.1.254
vrrp vrid 1 priority 120
vrrp vrid 1 preempt-mode timer delay 5
vrrp vrid 1 track int g0/0/0 reduced 30
R3配置
int g0/0/1
ip add 192.168.1.20 24
vrrp vrid 1 virtual-ip 192.168.1.254
报文解析
ACLACL:访问控制列表,是由一系列permit或deny语句组成的,有序规则的列表,是一个匹配工具,能够对报文进行匹配和区分
ACL应用
- 应用在接口的ACL:过滤数据包
- 应用在路由协议:匹配相应的路由条目
- NAT、IPSEC VPN、QOS:匹配感兴趣的数据流
ACL工作原理
当数据报从接口经过时,由于接口启用了acl,此时路由器会对高温进行检查,然后做出相应的处理
ACL种类
- 编号2000~2999:基本ACL:依据数据包当中的源ip地址匹配数据
- 编号3000~3999:高级ACL:依据数据包当中源、目的ip,源、目的端口、协议号匹配数据
- 编号4000~4999:二层ACL:MAC、VLAN-id、802.1q
ACL书写规则
acl 2000:建立acl表格2000
rule 编号 处理动作 source IP地址 通配符
通配符
子网掩码:用连续的1
反掩码:用连续的0
通配符掩码:0不可变,1可变;可以0和1穿插
ACL配置
AR1配置
acl 2000
rule deny source 192.168.1.1 0
int g0/0/0
ip add 192.168.1.254 24
int g0/0/1
ip add 192.168.2.254 24
traffic-filter outbound acl 2000
int g0/0/2
ip add 192.168.3.254 24
高级acl 3000
acl 3000
rule deny tcp source 192.168.1.1 0 destination 192.168.2.1.0 destintion-port eq www
阻止来自IP地址为192.168.1.1的设备通过TCP协议访问IP地址为192.168.2.1的设备的80端口
int g0/0/1
undo traffic-filter outbound acl 2000
traffic-filter outbound acl 3000
ACL的应用原则
基本ACL:只控制源IP地址,所以影响范围大,尽量用在目的点
高级ACL:可以控制较多,影响较小,尽量用在靠近源的地方
匹配规则
- 一个接口的同一个方向,只能调用一个acl
- 一个acl里面可以有多个rule规则,按照规则id从小到大排序,从上往小依次执行
- 数据包一旦被某rule匹配,就不再继续向下匹配
- 用来做数据包访问控制时,默认隐含放过所有
NAT
NAT(网络地址转换,Network Address Translation)是一种在计算机网络中使用的技术,它允许多个设备共享一个公共IP地址。NAT的主要目的是解决IPv4地址短缺的问题,同时还可以提供一定程度的网络安全。
NAT工作原理
- 当内部网络的主机发送数据包到外网时,
- NAT设备会检查数据包中的源IP地址,并在NAT转换表中查找匹配的映射规则
- 如果找到匹配的规则,NAT设备将源ip地址替换为映射后的外部IP地址
- 当外网的响应数据包返回时,NAT设备会将目的IP地址还原内部主机的私有IP地址
出去时候:将源ip地址,由私网变成公网回来的时候:将目的ip地址,由公网成私网
静态NAT
NAT表条目是通过手动配置的方式添加进去的
私有IP地址和公有ip地址是1对1的关系,不节省公网IP地址
AR3配置
int g0/0/0
ip add 192.168.1.254 24
int g0/0/1
ip add 200.1.1.1 24
nat static enable
nat static global 200.1.1.100 inside 192.168.1.1
AR4配置
int g0/0/0
ip add 200.1.1.2 24
nat static global 200.1.1.100 inside 192.168.1.1
将私网地址192.168.1.1映射到公网地址200.1.1.100
动态NAT
动态NAT是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对是不确定的,是随机的,所有被授权访问Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。
nat address-group 1 200.1.10 200.1.1.50
建立地址池
acl 2000
建立表格
rule permit source 192.168.0.0 0.0.0.255
给需要地址转换的网段建立规则
int g0/0/1
nat static enable
开启nat
nat outbound 2000 address-group 1
建立规则
dis nat session all
查看流量
easy-ip
- 使用列表匹配私网的IP地址
- 将所有的私网地址映射成路由器接口的公网地址
acl 2000
rule permit source 192.168.1.0 0.0.0.255
int g0/0/1
ip add 200.1.1.1 24
nat outbound 2000
NATPT(端口映射)
NAT Server----内网服务器对外提供服务,针对目的ip和目的端口映射
内网服务器的相应端口映射成路由器公网ip地址的相应端口
在企业出口路由器上 的g0/0/1 口配置
int g0/0/1
ip address 200.1.1.1 255.255.255.0
undo nat static global 200.1.1.100 inside 192.168.1.1 netmask 255.255.255.255
nat server protocol tcp global current-interface www inside 192.168.1.100 www
nat static enable