导图社区 网络协议
网络协议包括物理层,数据链路层,网络层,传输层以及高层。感兴趣的小伙伴可以收藏观看,希望能够对大家有所帮助。
编辑于2022-05-08 09:18:33网络协议
物理层
作用
解决使用哪种信号传输比特的问题
机械特性
指明接口所用的尺寸和形状、针脚和排列、固定和锁定装置
电气特性
指明接口各条线上电压的范围
功能特性
指明各条线上某一种电压表示的意义
过程特性
指明对于不同功能的各种可能事件的出现顺序
功能
通过传输介质为通信主机建立、管理和释放物理连接,实现比特流的透明传输,保证比特流在传输介质的正常传输。
传输单位 Bit(流)
传输内容010101
5V表示1
每次变动代表 1bit
-5V表示0
每次变动代表 1bit
将传输信息按照ASCII编码转换成二进制代码
模拟信号
电平幅度连续变化的电信号,语音、电话线路用模拟信号传输
数字信号
电压跳变的脉冲信号表示两种不同的电平
比特流
前导码8字
前同步码7字
帧起始符1字
8字
MAC头(14字)
目的MAC(6字)
源MAC(6字)
类型(2字)
0X0800 代表此帧为IP协议帧
0X8100 代表此帧为802.1q
0X0806 代表此帧为ARP协议帧
0X0835 代表此帧为RARP协议帧
数据(46-1500字)
IP头部(20字)
详细说明查看网络层
TCP头(20字)
详细说明查看传输层
上层数据(1460字)
最小46字,不够使用0填充字段
帧校验序列(4字)
1518字
帧间隔时间
以太网中帧发送间隔时间:96bit时间
12字
传输速率
1Kbit/s=1000bit,8bit(比特)=1Byte(字节)
操作系统用字节Byte为单位 1Kbyte=1024byte
传输介质
协议(IEEE组织定义)
100base-T(百兆以太网)
双绞线
100Base-TX
传输介质:两对五类UTP(非屏蔽)、STP(屏蔽)双绞线
电阻标准:UTP-100欧、STP-150欧
最大长度:100m
100Base-T4
传输介质:四对三、四、五类UTP(非屏蔽)、STP(屏蔽)双绞线
最大长度:100m
工作模式半双工
10Base-T
两对3/4/5类双绞线
最长传输距离100m
光纤
100Base-FX (光纤)
传输介质:一对单模(SMF)、多模(MMF)光纤
特性标准:单模-芯线直径8um(微米),包层直径125um、多模-62.5um/125um
最大长度:单模-40km、多模-2km
同轴电缆
10Base2:最长传输距离185m,直径5mm
10Base5:最长传输距离500m,直径9.5mm
1000Base-T(千兆以太网)
IEEE 802.3z
1000Base-LX
传输介质:单模、多模,长波1270-1355nm
特性:单模10um、多模50、62.5um
传输距离:单模5km、多模550m
1000Base-SX
传输介质:多模 短波770-860nm
特性:多模50,62.5um
传输距离:550m
IEEE 802.3ab
1000Base-T
传输介质:四对五类UTP(非屏蔽)
电阻标准:100欧
传输距离:100m
IEEE 802.3ae(万兆以太网)
重要说明:只支持光纤、全双工模式,不使用CSMA/CD
速率
10Gbase-S
距离:300米 850nm短波
10Gbase-L
距离:10千米 1350nm长波
10Gbase-E
距离:40千米 1550nm长波
802.3af(POE)
通过双绞线48V直流供电
传输介质
双绞线
线序
568B(主流)
橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
568A
绿白、绿、橙白、蓝、蓝白、橙、棕白、棕
其他说明
同类设备使用交叉线,异类直通线,目前设备基本都支持自适应
EIA/TIA-568标准规定,信息插座到网卡使用双绞线最大距离为10米
百兆网络
八芯中使用1236传输数据,4578闲置
千兆网络
使用全部八芯传输数据
光纤
单模光纤
长距离传输,只传输一种模式的光,不存在模间色散
传输距离
5公里以上
光源
激光二极管LD
多模光纤(基本淘汰)
短距离传输,传输不同模式的光,因模间色散较大导致信号脉冲展宽严重
传输距离
550米内
光源
发光二极管LED
数据链路层
作用
解决数据包在同网段的传输问题
功能
1.物理地址寻址
2.数据成帧
给上层的数据添加帧头和帧尾使其变成“帧”
4.差错控制
根据接收数据帧的帧尾FCS检测是否有误码
CRC(循环冗余校验)
上层为可靠传输服务
1.反馈检测法
2.自动重发
3.空闲重发请求
4.连续重发请求
上层为不可靠传输
丢弃有误码的帧
CSMA/CD
CS(载波侦听)
在发送数据之前进行侦听,以确保线路空闲,减少冲突的机会
MA(多址访问)
每个站点发送的数据,可以同时被多个站点接收。
CD(冲突检测)
由于两个站点同时发送信号,信号叠加后,会使线路上电压的摆动值超过正常值一倍。据此可判断冲突的产生。边发送边检测,发现冲突就停止发送,然后延迟一个随机时间之后继续发送。
分类
非坚持型
先侦听,信道空闲立即发送,信道忙时等待N时间,再侦听,有空闲立即发送
特点
减少冲突,信道利用率低
1-坚持型
先侦听,有空闲立即发送,信道忙,侦听,等有空闲时立即发送
特点
信道利用率高,但冲突率也高
P-坚持型
先侦听,有空闲p概率发送,1-p概率发送下个数据,有冲突时,随机等待段时间,再侦听
特点
介于前两种之间
重要说明
全双工模式下没有冲突,无须冲突检测
重要说明
最小帧长
由于CSMA/CD算法限制,以太网中最小帧长为64字节,14字帧头+4字FCS帧尾+ DATE必须包含46字
单位换算
bit(比特) 8bit=1Bytes(字节),简写:比特=b、字节=B
MAC地址(IEEE管理)
48bit 十六进制,前24bit(IEEE管理和分配)、后24bit(厂商自行分配)
例:1234-5678-9ABC、FF-FF-FF-FF-FF-FF
传输单位Frame(帧)
地址标识:MAC最大帧长:1518字=帧头14字+IP头20字+TCP头20字+数据1460字+FCS 4字最小帧长:64字有些文档说千兆与万兆最少512字节
帧转发方式
单播
主机A--主机B(目的MAC:主机B的MAC),同冲突域中主机都能收到此单播帧,因目的MAC不符,丢弃此帧
广播
主机A--目的MAC:FFFF-FFFF-FFFF,广播方式会产生大量流量,影响网络性能
广播MAC地址
FFFF-FFFF-FFFF
组播
组播MAC地址
0100-5EXX-XXXX
0180-C200-0000
STP-BPDU帧
帧处理流程
1. 主机A发送帧
2. 帧到达交换机
检查设备中MAC地址表,源、目MAC
3. 帧到达主机B
1. 检查目的MAC
主机B检查目的MAC是否为本机MAC
否,丢弃此帧
是,接收此帧,进入2
2. 检查帧完整性
使用FCS对比与本机计算的值
不同,丢弃此帧
相同,进入3
3. 确定上层协议
通过帧中Type字段确定将此帧送给上层哪个协议处理
4. DATA送给上层协议
剥掉帧头和帧尾
帧结构
MAC头(14字)
目的MAC(6字)
源MAC(6字)
类型(2字)
0X0800 代表此帧为IP协议帧
0X8100 代表此帧为802.1q
0X0806 代表此帧为ARP协议帧
0X0835 代表此帧为RARP协议帧
数据(46-1500字)
IP头部(20字)
详细说明查看网络层
TCP头(20字)
详细说明查看传输层
上层数据(1460字)
最小46字,不够使用0填充字段
帧校验序列(4字)
1518字
二层协议
Ethernet II(以太网)
Vlan
全称:virtual local area network 中文:虚拟局域网
802.1Q帧结构
MAC头(14字)
目的MAC(6字)
源MAC(6字)
VLAN标记(4字)
1.TPID(16bit)
全称:Tag Protocol Identifier 中文:标签协议标识符
帧类型
该值为0X8100表示802.1Q的VLAN帧
2.PRI(3bit)
Priority 优先级
含义:数据帧的802.1Q优先级
取值范围0-7,优先发送优先级高的帧
3.CFI(1bit)
Canonical Format Indicator 标准格式指示位
含义:标准格式指示位,以太网中CFI为0
CFI值为0表示MAC地址以标准格式封装,1表示非标准
4.VID(12bit)
VLAN ID
含义:此帧的VLAN ID
VLAN ID取值0-4095,0和4095为协议保留ID不能分配
类型(2字)
0X0800 代表此帧为IP协议帧
0X8100 代表此帧为802.1q
0X0806 代表此帧为ARP协议帧
0X0835 代表此帧为RARP协议帧
数据(46-1500字)
IP头部(20字)
详细说明查看网络层
TCP头(20字)
详细说明查看传输层
上层数据(1460字)
最小46字,不够使用0填充字段
帧校验序列(4字)
1522字
常见Vlan
普通Vlan
5种划分方式
基于匹配策略
基于MAC
基于IP子网
基于协议
基于接口
优先级
匹配策略>MAC>子网>协议>接口,MAC响应速度快于子网和协议
其他->设备配置->vlan
Super Vlan
目的
使不同vlan属于同个子网,节省IP地址
QinQ Vlan
802.1ad
基础理论
定义
将物理的LAN逻辑划分成多个广播域,同VLAN内互通
主机较多会造成冲突严重、广播泛滥、性能下降
目的
限制广播域
广播域被限制在一个vlan内,节省带宽,提升网络质量
提高局域网安全性
不同VLAN内报文相互隔离
提高网络健壮性
VLAN内的故障不会影响其他vlan内的工作
灵活组建工作组
不同工作组划分不同vlan,不再局限于物理范围
STP
全称:Spanning Tree Protocol 生成树协议
分类
802.1d(STP 生成树协议)
5种端口状态
1. forwarding
转发状态:端口转发流量也转发bpdu,只有根端口和指定端口能进入
2. blocking
阻塞状态:端口只接收BPDU,不转发流量
3. disabled
关闭状态:端口关闭,既不处理bpdu,也不转发流量
4. listening
监听状态:确定端口角色,选举根桥、根端口、指定端口,15秒
5. leaning
学习状态:能接收流量但不转发,端口初始的过渡状态,15秒
802.1w(RSTP 快速生成树)
已淘汰
802.1s(MSTP 多生成树协议)
IEEE 2002年发布802.1s(MSTP)
3种端口状态
discarding
丢弃状态:不转发流量,只接收bpdu报文
leaning
学习状态:能接收流量但不转发,转发bpdu报文
forwarding
转发状态:端口转发流量也转发bpdu,只有根端口和指定端口能进入此状态
端口角色
root=RP(根端口)
在非根设备上,向根转发数据的端口,端口状态 forwarding,根桥中没有RP
designated=DP(指定端口)
向下游设备转发BPDU、数据的端口,端口状态 forwarding,根桥中所有端口都为DP
alternate=AP(替代端口)
非根中RP的备份端口,端口状态为discarding
backup=BP(备份端口)
非根中DP的备份端口,端口状态为discarding
edge(边缘端口)
手工配置,常用于连接终端,转发流量,只接收BPDU但不转发
端口图示
BPDU
BPDU:bridge protocol data unit 桥协议数据单元
目的MAC
组播MAC:0180-C200-0000
BPDU报文封装在以太帧中,DMAC-SMAC-length-LLC-BPDU-DATA-CRC
报文结构
protocol identifier
2字节
总是0
protocol version(STP版本)
1字节
0:STP
生成树协议
2:RSTP
快速生成树协议
3:MSTP
多生成树协议
BPDU TYPE(BPDU类型)
1字节
0x02
MST BPDU 或 RST BPDU
0x00
配置BPDU
初始连接时
每个桥主动发送配置BPDU
选举完成后
根桥
主动发送配置BPDU
非根桥
接收到根桥发的BPDU后,经过计算后再发送自己的BPDU
发送间隔为hello time,老化时间为max age
0x80
TCN BPDU,两种情况产生
端口状态变为forwarding状态时
下游设备感知到拓扑发生变化时,发送TCN BPDU到根桥
CIST flags
1字节
网络拓扑变化标志
TC:拓扑变化标志
TCA:拓扑变化确认标志
CIST root identifier
8字节
总根桥的BID
CIST external path cost
4字节
本端口到根桥的开销
bridge identifier
8字节
本设备的BID
用于检测最优配置BPDU
port identifier
2字节
发送该BPDU的端口ID
message age
2字节
该BPDU消息时间,根桥发出的为0,没经过一个桥Message age加1
max age(老化时间)
2字节
默认2000厘秒=20秒,如果message age大于Max age,非根设备直接丢弃改bpdu报文
hello time(BPDU发送间隔)
2字节
默认200厘秒=2秒,向周围设备发送bpdu报文,确认链路故障
forward delay
2字节
listening和learning的持续时间,默认1500厘秒=15秒
延迟时间:默认1500厘秒,新选出的根端口和指定端口经过2倍的“延迟时间”才进入转发状态,防止产生临时环路
基础理论
功能
消除环路
自动阻塞多余的链路,避免因环路造成广播风暴
环路的影响
MAC地址表震荡(不断变换MAC对应的接口)
消耗大量流量和设备性能
链路备份
链路发生故障时,自动激活备份链路
提高网络的可靠性、可用性
恢复故障时间
STP
直连到根桥
阻塞恢复到转发状态大约30秒,监听15秒-->学习15秒-->转发
非直连到根桥
阻塞恢复到转发状态大约50秒--阻塞20秒(BPDU老化时间)--> 监听15秒--> 学习15秒-->转发
MSTP
立即
根桥选举规则
根桥选举
比较BID
1. 优先级不同
默认32768,越小越优先
2. 优先级相同
比较MAC
越小越优先
根端口选举过程
比较到根桥的Cost
1. Cost不同
越小越优先
2. Cost相同
比较PID
1. 比较端口优先级
默认128,越小越优先
2. 比较端口序号
越小越优先
条件说明
BID
BID=STP优先级+MAC
PID
PID=端口优先级+端口序号
默认接口Cost
100Mbps=200,000
1Gbps=20,000
2Gbps=10,000
带宽越大,开销越小
链路聚合
功能
增加带宽
聚合接口的最大带宽为成员接口带宽之和
提高可靠性
某条活动链路故障时,流量自动切换到其他成员链路上
负载分担
同链路聚合中,活动链路负载分担
协议
PAGP
端口聚合协议
Cisco私有
LACP
链路聚合控制协议
802.3ad
802.1x
用户认证(在局域网基于端口做访问控制)
网络层
功能
寻找地址、路由选择
流量控制、差错控制
分组丢失
分组重复
分组失序
根据路由表进行IP分组转发
地址标识
IP地址
作用
实现网络互连,解决数据报在多个网段传输(路由)的问题
寻找地址
静态路由、动态路由协议
路由选择
子主题
传输单位(分组)
俗称数据包,教材称分组或IP数据报地址标识:IPMTU(最大传输单元)1500字--IP头(20字)+TCP头(20字)+数据(1460字)
包转发方式
单播
组播
定义
点到多点的通讯模式
组播与单播转发机制不同
单播关心报文到哪去
组播只关心报文从哪来
组播地址
本地协议预留
224.0.0.0-224.0.1.255
本地管理组
239.0.0.0-239.255.255.255
用户组播地址
224.0.2.0-238.255.255.255
范围:224.0.0.0-239.255.255.255
广播
定义
发往该网段所有主机
广播地址
受限广播地址
255.255.255.255
目的地址未知时,报文发送到本网段中所有主机
子网广播
192.168.1.255/24
网段中的最后一位,代表网络全部主机
包结构
IP头部(20字)
1. 版本(4bit)
作用
IP的版本,第一个字节的前四位
值
4
IPV4
6
IPV6
2. 头部长度(4bit)
作用
头部长度(范围20-60字节)第一个字节的后四位
值
0101
头部长度为20字节(转十进制为5,需要乘4)
3. TOS/DSCP(8bit)
TOS
TOS(type of service)服务类型
Services 前3位为优先字段权,现已被忽略。接着4位表示最小延迟、最大吞吐量、最高可靠性和最小费用。
前3位为优先级,后4位(relay、throughout、reliability、cost),最后一位保留
DSCP
DSCP(different service code point)差分服务代码点
前6位为优先级,后两位保留(现在用作拥塞通知),定义CS、AF、EF、BE等
4. 封包长度(16bit)
Total length:当前IP包的总长度,单位为字节
5. 封包标识(16bit)
identification:分片和重组程序依据该字段将分片的数据包重组
6. 标识(3bit)
1.保留、2.DF、3.MF
DF
为1时,表示禁止对此数据包分片
MF
为1时,表示此数据包不是分片数据包最后的包
7. 段偏移(13bit)
8. 生存时间(8bit)
TTL初始值为32,每通过一个路由器减一,当为0的时就会丢掉此包,并用ICMP消息通知源主机
9. 协议(8bit)
标识上层数据的协议
1:是ICMP
6 :上层是TCP
17:上层是UDP
47:上层GRE
50 :ESP(主流)
51 :AH(不常用)
89 :OSPF
112:VRRP
10. 校验和(16bit)
校验的首先将该字段设置为0,然后将IP头的每16位进行二进制取反求和,将结果保存在校验和字段。
11. 源IP(32bit)
发送者IP
12. 目的IP(32bit)
接收者IP
13. 选项+填充(0-40bit)
TCP报文(1480字)
详情说明查看传输层
1500字
三层协议
IP 0X0800
IPV4
地址分类
本地地址:用于内部网络,无法被公网转发,现网中是因为通过NAT将本地地址转换成公网地址
A类
地址范围
0.0.0.0--127.255.255.255
本地地址
10.0.0.0--10.255.255.255
可用地址数:16,777,214
B类
地址范围
128.0.0.0--191.255.255.255
本地地址
范围:172.16.0.0--172.31.255.255
可用地址数:65,534
C类
地址范围
192.0.0.0--223.255.255.255
本地地址
范围:192.168.0.0--192.168.255.255
可用地址数:254
D类(组播)
地址范围
224.0.0.0--239.255.255.255
本地地址
239.0.0.0--239.255.255.255
保留地址
224.0.0.0-224.0.0.255
作用:用于路由协议和其他下层协议拓扑发现协议以及维护管理协议等
224.0.0.1 代表本地子网所有主机
224.0.0.2 代表本地所有路由器
224.0.0.5 代表所有OSPF路由器
224.0.0.6 OSPF DR/BDR
224.0.0.9 RIPV2使用发送更新报文
224.0.0.12 代表DHCP服务器或中继代理
224.0.0.13 代表所有支持PIM的路由器等
特殊地址
0.0.0.0
主机刚启动时无IP时的临时地址
可作为源地址
未获取IP时,发送DHCP Discover报文的源地址
不可作为目的地址
缺省路由的目的地址
255.255.255.255
不可作源地址
可作目的地址
用于目的地址未知时,报文发送到本网段中所有主机
127.0.0.1/8
可做源地址、目标地址
用于测试设备自身的服务或应用
169.254.X.X/16
未获取DHCP IP地址时主机给自己分配的IP
可做源地址、目标地址
不可分配地址
网段中主机位第一位为网络号,代表网络本身
192.168.1.0/24
192.168.1.16/28
网段中最后一位为广播地址,代表网络全部主机
192.168.1.255/24
192.168.1.31/28
说明
名词含义
网络位
标识一个网段
主机位
标识网段中的主机
掩码/前缀
用于区分网络位和主机位
掩码
1表示网络位、0表示主机位,必须是连续的1和0
前缀
/数字,表示有多少位网络位
IP地址为32bit二进制代码,转换成十进制
二进制
I P 地址
11000000 10101000 00000010 00000001
子网掩码
11111111 11111111 11111111 00000000
十进制
192.168.2.1/24
24个1
IPV6
IPV6与V4优势
几乎无尽的地址
终端无需配置,甚至不需要DHCP
简化的报文头
自带安全性和QOS特性
IPV6地址格式
地址长度
128bit,使用十六进制,分八组,每组四个数,用“:”分隔
书写格式
每组开头的“0”可以省略
连续的“0”可用“::”代替,但只能用一次
前缀
前缀一致则表示同一网段
标示符
根据MAC地址计算,全球唯一
手动配置
前缀长度
IPV6地址分类
单播地址
全局单播地址(公网)
2000::/3
分层
001
3bit
全球路由前缀
48bit
子网ID
16bit
接口标识
64bit
中国地址块
2400:0000::/12
未指定地址
::/128
终端刚启动时无IP时的临时地址
不可作源地址,可作目标地址
相当于IPv4地址0.0.0.0
本地环回地址
::1/128
环回地址 可做源地址、目标地址
类似IPv4地址127.0.0.1
本地链路地址(私网)
FE80::/10
IPV6接口必须有本地链路地址,V6使用两个地址通讯
自动生成,用于局域网中通讯,不会被路由,类似IPV4的169网段
1111 1110 011
格式一般为 FE80::标示符/10
本地单播地址
FC00::/10 FD00::/8
类似IPV4的10、172、192网段
1111 1110 010
组播地址
FF00::/8
组播地址范围
1111 1111
常用组播地址
FF01::1
所有节点
在本地接口范围的所有节点
FF01::2
所有路由器
在本地接口范围的所有路由器
FF02::1
所有节点
在本地链路范围的所有节点
FF02::2
所有路由器
在本地链路范围的所有路由器
FF02::5
OSPF路由器
所有OSPF路由器
FF02::6
OSPF DR路由器
FF02::9
RIP路由器
FF02::13
PIM路由器
本地链路
FF05::2
所有路由器
一个站点范围内的所有路由器
任播地址
用于智能选路,寻找最近的下一跳
从单播地址中分配
报文结构
IPV6固定报头
version 版本
默认6
traffic class 流分类
默认0X00
flow label
流标签
默认0X00
payload length
next header
hope limit
固定报头40字节
IPV6扩展头部
1. 逐跳头部
2. 目的选项头
3. 路由选择头部
4. 分片
5. 鉴别
6. 封装安全
7. 目的站选项
特殊地址
2002::/16
保留,供6to4隧道技术使用
2001:0DB8::/32
保留,举例和编写文档时使用
ARP 0X0806
全称:address resolution protocol 地址解析协议
功能
ARP
已知对端主机IP地址,使用ARP获取MAC地址
免费ARP
通过发送免费ARP,检测本机IP是否被占用
目的MAC
全F(广播)
源MAC
本机MAC
ARP报文
源MAC
本机MAC
目的MAC
全0(未知)
源IP
本机IP
目的IP
本机IP
何时发送
IP更改时
VRRP切换时
网卡启动时
代理ARP
路由式
解决同一网段不同设备上互通问题
RARP
已知对端MAC,使用RARP获取IP地址
ARP帧结构
目的Mac
6字节
FF-FF-FF-FF-FF-FF
源Mac
6字节
源主机Mac
帧类型
2字节
0x0806
ARP报文 28字节
硬件类型
2字
类型:Ethernet
协议类型
2字
类型:IPV4
硬件地址长度
1字
MAC地址长度 6字
协议地址长度
1字
IPV4长度4字
Opcode
2字
数值1代表请求、2代表应答
发送端Mac
6字
源 Mac
发送端IP
4字
源 IP
目的Mac
6字
00-00-00-00-00-00,代表未指定MAC地址
目的IP
4字
目的主机 IP
CRC
4字节
转发流程
主机A已知主机B的IP
广播发送ARP报文
注意事项
ARP请求是广播报文,应答是单播报文,不能跨网段广播,ARP缓存表老化时间2分钟
ARP报文封装在以太帧中
IPV6不使用ARP
ICMP 0X0800
功能
IP数据包无法到达目标地址时,ICMP给发送端一个发生异常的通知
ICMP 协议号 1, 封装在IP包中
Ping基于ICMP协议
报文格式
类型
3
目标不可达
路由器判断IP数据包不能送达目标时,向源主机返回这种报文,另外主机找不到目的用户协议或上层服务访问点时
4
源抑制
目标主机向源主机发送
5
重定向
路由器向主机发出重定向报文,告诉主机更短的路径
8/0
回声 请求/响应
Ping发送回声报文,对端收到回声请求报文必须返回响应报文
13/14
时间戳请求/响应
测试通信延迟,请求方发送本地发送时间,对端返回接收时间和发送时间
17/18
地址掩码请求/响应
主机广播掩码请求报文,同网段路由器返回响应报文,告诉请求方需要的掩码
11
超时
目标在一定时间内无法完成重装配,则向源返回超时报文
12
参数错误
路由器或主机判断IP头中的字段或语义出错,则返回这种报文
路由协议
外部网关协议
BGP(边界网关协议)
TCP 179端口 协议号 6 目前版本为BGP4
功能
用于不同自治系统AS间的路由协议
通过TCP 179端口建立连接
支持增量更新
认证
可靠传输
报文类型
open
建立邻居关系
交换open信息,确认版本等参数,建立邻居关系
update
发送新的路由信息
交换所有BGP路由,同步后,后期只交换变化的路由信息
报文类型
网络层可达信息(NLRI):用来公布IP前缀和前缀长度
路径属性:为BGP提供环路检测,控制路由优选
撤销路由:用来描述无法到达且从业务中撤销的路由前缀和前缀长度
keepalive
回应open报文,后期周期性确认邻居关系,默认60s,报文长度19字节
notification
通告检测到的错误
出现问题,相互报告检测到错误
BGP报文流程
1. TCP三次握手
A 发送SYN
B 发送SYNACK
A 发送ACK
2. A 发送open
交换open信息,确认版本等参数,建立邻居关系
3. B 回应keepalive
4. B 发送open
5. A 回应keepalive
6. B 发送update
交换所有BGP路由信息,同步后,后期只交换变化的路由信息
7. A 发送update
8. B 周期性发送keepalive
9. A 周期性发送keepalive
10. 检查到差错,相互发送notification
BGP引入路由
import
引入OSPF和IS-IS等协议的路由,并支持静态路由和直连路由
network
逐条引入IP路由表中已存在的路由,比import精确
基础
BGP自身不发现路由,需要通过路由引入到BGP路由表
BGP通过原则
仅将自己最优的路由发布给邻居
通过EBGP获得的最优路由发布给所有BGP邻居
IBGP获得的最优路由不会发布给其他IBGP邻居
BGP与IGP同步
路由选择
1. 唯一到达目的路由,直接优选
2. 优先级
多条到达同一目的的路由,优选优先级最高
多条到达同一目的并相同优先级的路由,优选最细的路由
3. 依次优选手动聚合路由、自动聚合路由、network引入、import引入
4. AS路径最短的路由
5. 依次选择origin类型为IGP、EGP、incomplete的路由
6. 同一AS的路由,优选MED值最低的路由
7. 略,后面还有
收到update
当BGP邻居收到update报文时,执行路径选择算法,确定最佳路径
得出最佳路径存储到本地BGP路由表(lcoal_RIB)中,然后提交给本地IP路由表(IP_RIB)
得出最佳路径路由封装到update报文中,发给对端BGP邻居
内部网关协议
距离矢量路由协议
RIP(路由选择信息协议)
RIPV1
使用广播发送路由更新报文
RIP V2
三个方面改进
RIPV2使用组播更新报文,采用触发更新机制加速收敛,路由变化即向邻居发送更新报文,不必等更新周期
RIPV2是无类别协议,支持VLSM(可变长子网掩码)、CIDR(无类别域间路由)、路由聚合
RIPV2支持明文和MD5密文认证
华为定义RIP优先级100
使用224.0.0.9组播发送更新报文
解决环路四种方法
水平分割法
毒性翻转
触发更新
抑制时间
定时器
更新定时器
每个RIP节点只有一个更新定时器,设为30s。每隔30s路由器会向其邻居广播自己的路由表信息
超时
用来判定某条路由是否可用。每条路由有一个超时定时器,设为180s。当一条路由激活或更新时,该定时器初始化,如果在180s之内没有收到关于那条路由的更新,则将该路由置为无效。
清除
用来判定是否清除一条路由。每条路由有一个清除定时器,设为120s。当路由器认识到某条路由无效时,就初始化一个清除定时器,如果在120s内还没收到这条路由的更新,就从路由表中将该路由删除
延迟
为避免触发更新引起广播风暴而设置的一个随机的延迟定时器,延迟时间为1~5s
缺点
由于15跳为最大值,RIP只能应用于小规模网络;
根据跳数选择的路由,无法准确判断最优路由
每次路由更新均发送完整路由表,浪费带宽
收敛速度慢;
可能产生路由自环
链路状态路由协议
OSPF(开放最短路径优先)
工作流程
建立邻居和邻接关系
过程
down 初始状态
发送hello报文,因没有收到hello报文,主动发送hello报文发现和建立邻居关系
正常使用组播地址224.0.0.5发送
也支持通过单播方式建立邻居关系
hello报文
Router ID:10.1.1.1 neighbor:null
init 单向了解
收到hello报文,但报文中只有邻居的Router ID
hello报文
Router ID:10.1.2.1 neighbor:null
2way 双向了解
收到hello报文,且能看到本端的Router ID
hello报文
Router ID:10.1.1.1 neighbor:10.1.2.1
邻居状态
exstart 协商DR/BDR关系
选举DR/BDR
选举规则
1. 优先级大的优先
默认1,范围0-255,越大越优先,0不参与选举,255备用
2. Router-ID大的优先
手动配置(推荐)
IP格式,仅用来标识路由器身份
自动选举
以本设备环回口中最大的IP作为RID
以接口中最大的IP作为RID
3. OSPF没有抢占,选举完成后,新加入优先级再高也不会成为DR,除非重启OSPF进程或DR故障后重新选举
dd报文
DD(database description)数据库描述
exchange 交换DD报文,对比LSDB
dd报文
loading 同步LSDB
LS request
LSR(link state request)链路状态请求
请求LSA
LS update
LSU(link-state update)链路状态更新
发送LSAA
LS ack
LSACK(link-state acknowledgment) 链路状态确认
对LSU的确认
full LSDB同步完成,建立邻接关系
关系状态
DR与BDR建立邻接关系(Full)
DRother与DR建立邻接关系(Full)
DRother与BDR建立邻接关系(Full)
DRother之间只建立邻居关系(2-Way)
邻接状态
同步链路状态
过程
泛洪LSA报文
LSA(link state advertisement) 链路状态宣告
链路
路由器接口
状态
接口信息(地址、掩码、开销、网络类型、邻居关系等)
收集LSA创建LSDB
LSDB 链路状态数据库
计算路由
使用SPF算法计算到每个目标网络的最短距离,添加到路由表中
五种报文
Hello报文
用于发现和维持OSPF邻居关系
广播型
以太网
点对点
PPP
每10秒发送一次,,老化时间为hello时间的4倍
NBMA网络每30秒发送一次
帧中继、ATM
DD报文
发送者本地LSDB(路由数据库)的摘要信息
LSR报文
用于向对方请求路由数据库信息,只有在成功交换DD报文后才向对方发送LSR报文
LSU报文
向邻居路由器发送链路状态通告
LSCAck报文
对收到的LSA(链路状态)更新报文应答
LS age
链路状态老化时间
LSA已生存时间,单位秒
options
可选项
每bit对应OSPF支持的某种特性
LS type
链路状态类型
该LSA的类型
Link state ID
链路状态ID
不同的LSA对应不同字段
advertising router
通告路由器
产生该LSA路由器的router ID
ls sequence number
链路状态序列号
LSA每增加新实例,序列号随之增加
ls checksum
校验和
用于保证数据的完整性
length
长度
LSA长度,包含LSA头部在内
说明
特点
1.OSPF把自治系统划分成逻辑上的一个或多个区域
每个区域只维护所在区域的完整链路状态信息
减少路由条目
拓扑变化仅影响本区域内部
2.OSPF通过LSA报文发布路由
3.OSPF通过交互OSPF报文达到各设备路由信息统一
4.OSPF报文封装在IP报文内,通过单播或组播形式发送
路由器类型
IR
内部路由器
所有的接口都属于同一区域
DR
骨干路由器
BDR
DR发生故障,BDR升级成DR,并重新选举BDR,OSPF没有抢占,再故障时再选举原优先级高的成为DR
BR
骨干路由器
至少有一个接口属于骨干区域
ABR
区域边界路由器
连接一个或多个区域到骨干区域,至少有一个接口属于骨干区域
ASBR
自治系统边界路由器
把其他路由协议学习到的路由以引入的方式到OSPF进程中
注意
一台路由器可以属于多种类型
优点
1.采用组播收发报文
DR使用组播地址224.0.0.6向BDR发送链路状态更新
使用组播地址224.0.0.5向所有路由器发送
2.支持CIDR无类别域间选路
3.支持对等价路由进行负载分担
4.支持报文加密
不会出现环路
触发式更新
区域
主干区域
标识符:0.0.0.0
无法修改,OSPF必须有区域0
OSPF单区域问题
收到LSA通告太多,OSPF路由器负担大
内网震荡时引起全网路由器重新SPF计算
资源消耗多,LSDB庞大,设备性能下降,影响数据转发
路由表太大,单区域内无法做路由汇总
工作在IP层,协议号 89
使用Dijkstra算法计算最短路径,检测到链路变化即执行算法,快速收敛成新的路由拓扑
IS-IS
网工一般不考
传输层
功能
传输层提供端到端的交换数据的机制,检查分组编号与次序,传输层对其上三层如会话层等,提供可靠的传输服务,对网络层提供可靠的目的地站点信息主要功能在这一层,数据的单位称为数据段(segment)
1.为端到端提供传输服务
2.为端到端提供流量控制、差错控制、QOS(服务质量)等管理服务
停等协议
滑动窗口协议
停等ARQ协议
选择重发ARQ
后退N帧ARQ
地址标识
端口号:范围0-65535
熟知端口号:0-1023
指定给TCP/IP一些重要协议
登记端口号:1024-49151
必须已在IANA登记
动态或私有端口号:49152-65535
通信时临时分配,通信结束后可再分配给其他进程
说明
一般端口可任意指定,只是非公认和某些端口冲突
作用
解决进程之间基于网络的通信问题
传输单位(段)
传输单位:分段(Segment)地址标识:端口
TCP
传输单位:报文段(Segment)功能:面向有连接,有源、目的地址的传输层数据TCP报文段最大长度:1480字节,最小长度:40字节MSS(最大报文段长度)1460字=TCP报文长度(1480)-TCP头(20)
TCP头部(20-60字)
源端口(16bit)
Source Port-源端口和IP地址的作用是标识报文的返回地址。
目的端口(16bit)
Destination Port-目的端口指明报文接收计算机上的应用程序地址接口。
序列号(32bit)
Sequence Number:TCP连线发送方向接收方的封包顺序号
确认序号(32bit)
Acknowledge Number:接收方回发的应答顺序号
报头长度(4bit)
Header Length:表示TCP头的双四字节数,如果转化为字节个数需要乘以4
标识位(16bit)
1. URG:是否使用紧急指针,0为不使用,1为使用。
2. ACK:请求/应答状态。0为请求,1为应答。
3. PSH:以最快的速度传输数据。
4. RST:请求终止通信连接
5. SYN:同步连线序号,用来建立连线。
6. FIN:结束连线。如果FIN为0是结束连线请求,FIN为1表示结束连线
窗口(16bit)
Window:告诉发送端,想收到的每个TCP数据段大小。
校验和(16bit)
Check Sum:这个校验和和IP的校验和有所不同,不仅对头数据进行校验还对封包内容校验。
紧急指针(16bit)
Urgent Pointer:当URG为1的时候才有效。TCP的紧急方式是发送紧急数据的一种方式。
选项(最大40字)
数据
填充TCP数据
上层数据(6-1460字)
1480字
UDP
传输单位:用户数据报(Datagram)功能:面向无连接的数据传输层数据
UDP头( 8字)
源端口(16bit)
目的端口(16bit)
长度(16bit)
校验和(16bit)
数据
上层数据(1472字)
1480字
传输协议
TCP
功能
差错控制
通过
流量控制
滑动窗口
传输过程
建立(三层握手)
服务器开启某服务,使端口处于Listen
1.终端(主动)
发送 SYN=1 seq=x ,状态=SYN_SENT
序列号“x”为随机数,不携带数据
2.服务器(被动)
发送 SYN=1 ACK=1 ,seq=y ack=x+1 ,状态=SYN_RCVD
序列号“y”为随机数,不携带数据
3.终端
发送ACK=1 ,seq=x+1 ack=y+1 ,状态=Established
序列号仍为x+1(因上个报文未携带数据)可携带数据
服务器收到含有ACK=1,ack=y+1的报文后
进入Established状态,双方连接建立
断开(四次挥手)
双方处于连接状态
1.终端(主动)
发送FIN=1 ACK=1,seq=x,ack=y,状态=FIN_WAIT_1
x=前面最后传送数据的序列号+最后字节数
y=前面最后传送数据的确认号
终端停止发送数据
2.服务器(被动)
发送ACK=1 seq=y ack=x+1,状态=CLOSE_WAIT
通知应用进程,终端断开
TCP处半关闭状态,服务器可继续发送数据
终端收到服务器的应答报文
等待服务器方向最后的数据,状态=FIN_WAIT_2
3.服务器数据发送完毕(主动)
发送FIN=1 ACK=1 seq=f ack=x+1,状态=LAST_ACK
f=y,服务器并没最后的数据
f=发送最后数据消耗序号+1
4.终端收到确认报文(被动)
发送ACK=1 seq=x+1 ack=f+1,状态=TIME_WAIT
服务器收到ACK=1 seq=x+1 ack=f+1的报文后,进入CLOSED状态
终端需要经2*MSL的时间后,才进入CLOSED状态
MSL:最长报文寿命防止服务器未收到ACK回复报文,服务器不断重复发送FIN,所以在终端等待2*MSL的时间内,如再次收到FIN,重发ACK并再次等待2*MSL时间
说明
序列号 seq(4字)
发送端生成,全称:Sequence number
作用
标识报文数据的序列,用以验证报文的完整性
首包随机生成,后面为前面ack+1
报文不携带数据时,不消耗序列号
确认号 ack(4字)
接收端生成,全称:Acknowledge number
作用
用来确认前面接收的报文,确认号=接收报文sep+1(不携带数据不增加)
除请求建立报文外,其他连接报文都包含ack
如果发现前后序号不符,判断为丢包
同步标识位SYN (1字)
数据包初始序列号,全称:sequence number范围65000*65000 后期向上增加 容差5000
作用
标识该报文是用来请求建立TCP连接的报文
确认标识位ACK(1字)
全称:Acknowledgement
标识该报文是前面请求报文的确认报文
除请求建立连接报文外,其他连接报文都包含ACK
结束标识位FIN
全称:Finish
作用
不携带数据也消耗1个序列号
标识该报文是用来请求结束TCP连接的报文
常见TCP协议
HTTP:80
超文本传输协议
HTTPS:443
安全超文本传输协议
TELNET 23
TCP/IP远程终端协议
DNS 53
正常使用UDP
FTP:20 21
文件传输协议
SMTP:25
简单邮件传输协议
POP3:110
邮局协议第3版
Windows共享资源:445
Windows远程桌面:3389
UDP
功能
UDP面向无连接,不保证数据传输的可靠性
没有连接管理、差错校验和重传、流量控制等功能
优点:UDP头部8字节,比TCP开销更小,传输速度更快
支持单播、组播、广播
常见UDP协议
DNS 53
域名解析协议
TFTP 69
简单文件传输协议
DHCP:67/68
动态主机配置协议
RIP:520
距离矢量路由协议
TCP与UDP比较
TCP
面向连接协议
发送数据前,需先建立连接(三次握手)、结束需释放连接(四次挥手)
可靠传输服务
会确认报文的完整性,丢包、乱序等会重传报文
UDP
无连接协议
发送数据前,两端不需要建立连接,结束也无需释放连接
不可靠传输服务
发送端不关心报文的交付情况
接收端通过简单的校验,丢弃有差错的报文,不会要求重传报文
高层
真实网络,使用TCP/IP协议,(会话层、表示层、应用层)合并为应用层传输单位:报文地址标识:进程号
作用
解决应用进程的交互来实现特定网络应用的问题
会话层
作用
负责建立、维持、断开连接(数据流动的逻辑通路),记忆数据的分隔等数据传输相关的管理
表示层
作用
数据编码、数据压缩、语义翻译等
应用层
功能
为应用程序提供服务,并规定应用程序中通信相关的细节
传输单位(报文)
服务
HTTP
TCP:80
明文传输
HTTPS
TCP:443
用户向443发送连接请求,并提交支持的加密算法
服务器回复请求,并下发加密算法
过程
CA使用CA私钥加密(服务端公钥+CA公钥摘要)
使用80端口传输数据(源数据+摘要+算法)
原理
SSL/TLS
FTP
控制端口:TCP:21数据端口:TCP:20
服务器通过21端口建立控制连接
服务器通过20端口建立数据连接
客户端的端口必须大于1024
SSH
TCP:22
Telnet
TCP:23
明文传输
SMTP
TCP:25
邮件服务器使用SMTP发送邮件
POP3
TCP:110
连接模式C/S模式
使用POP3接收邮件,单向,与服务器无交互
IMAP4
TCP:143
使用IMAP4接收邮件,双向,可以服务器交互
DNS
UDP:53TCP:53
DNS服务器类型
主域名服务器
定义
维护区所有域名信息,信息存于磁盘,数据库中,可修改数据
作用
域中只能有一个主域名服务器,提供域名解析
辅助域名服务器
定义
主域名服务器备份,信息存于磁盘,数据库中,只能同步数据,不可修改
作用
主服务器备份,可与主域负载均衡
转发域名服务器
定义
负责非本地和缓存中无法查到的域名,收到请求先查询自身缓存,无对应转发到指定域名服务器查询
作用
负责域名转发,有缓存可以减少查询次数,有数据库
缓存域名服务器
定义
向其他域名服务器进行域名查询,将查询结果保存在缓存中
作用
改善网络中DNS服务器的性能,减少反复查询相同域名的时间缓存服务器没有域名数据库,解析速度最快
资源记录类型
A记录
域名映射为IP记录
AAAA记录
域名映射到IPV6记录
PTR记录
IP映射为域名的记录
MX记录
邮件资源记录
NS记录
域名服务器记录,指明该域名由哪台服务器解析
CNAME
规范名资源记录,允许多个名称对应同一主机
SOA
起始授权记录,记录区域主服务器和管理员邮箱
查询流程
解析查询顺序
1. 主机hosts文件或本机缓存
2. 本地域名服务器(企业自建或公共DNS服务器,缓存已解析记录)
3. 根域名服务器(不负责具体域名解析,只返回对应顶级域名服务器IP地址)
4. 顶级域名服务器(负责对应com、org等顶级域名解析)
5. 权限域名服务器(负责对应的jd、baidu等二级域名解析)
查询方式
递归查询
迭代查询
两种情况下使用迭代,其他使用递归
客户端没申请使用递归,DNS请求报文中RD字段的值非"1"
本地域名服务器禁止使用递归查询
考题
递归查询
查询次数
1、主机到本地域名服务器
2、本地域名服务器到其他
迭代查询
查询次数
本地域名服务器
主机有缓存,无需查询
其他
正常使用UDP协议,当UDP不可用时使用TCP
TFTP
UDP:69
DHCP
服务器UDP:67 主机 UDP:68
分配IP过程
1. 主机--寻找服务器
广播-DHCP Discover,使用UDP源端口68,源地址0.0.0.0,目的255.255.255.255
两种情况下发送
终端首次接入时
50%续租没成功,租约87.5%时
原服务器连接失败时
2. 服务器--分配IP
单播-DHCP Offer,使用UDP源端口 67,报文包含分配IP、掩码、网关、租期、DHCP服务器IP
3. 主机--接收IP
广播-DHCP Request,广播目的是告知所有服务器,自己已接受先达到的offer,request报文包含请求的IP,DHCP服务器IP等。
未接收到offer,重试4次,每隔4、6、8、12s加0-1000ms间的随机数的时间
4次尝试仍未收到,等待5分钟后再重新开始
4. 服务器--确认分配
单播-DHCP Ack,告知主机可以分配请求IP,报文包含分配IP、掩码、网关、租期、DHCP服务器IP
租约续期
更新租约
租期到50%
单播,发送DHCP Request报文更新租约
收到DHCP服务器发送的DHCP ACK报文后,延长租期
租期到87.5%
广播,发送DHCP Request报文更新租约
收到DHCP服务器发送的DHCP ACK报文后,延长租期
租期到100%
广播,发送DHCP Discover报文重新获取
租期未满
当主机重启或重新联网时,只需重新发送DHCP Request
IP可用
服务器发送DHCP ACK,主机收到ACK后更新租期
IP已分其他
服务器发送DHPC Nack,主机收到DHCP Nack后,主机发送DHCP Discover进行重新申请
相关报文
DHCP discover
广播,发现DHCP服务器
DHCP request
广播,告知所有DHCP服务器
DHCP release
单播,客户端主动释放地址
DHCP decline
单播,已收到ack,但无法使用分配地址
主机发送
DHCP offer
单播,对discover的回复
DHCP ack
单播,确认主机请求
DHCP nack
单播,通知主机无法满足请求
服务器发送
相关命令
ipconfig /renew
重新获取IP
ipconfig/release
释放IP,但不重获取
PING
基于ICMP协议
源地址全0时,代表未指定地址,一般出现在DHCP请求报文中
SNMP
161
简单网络管理协议
162
trap报文
L2TP
UDP:1701
MySQL
TCP:3306
Windows
远程桌面
TCP:3389
局域网共享
TCP:445
SMB
UDP:137/138
TCP:139
SQL数据库
TCP:1433
UDP:1434