一、OSI参考模型-----OSI/RM-----开放式的系统互联参考模型 ISO-----国际标准化组织
(1)产生背景
1、各大厂商都有自己的协议
2、跨厂商设备不兼容
3、用户购买维护设备成本高
(2)每层作用
应用层:为应用程序提供网络服务
表示层:定义数据的格式,对数据进行加密、解密、压缩、解压缩
会话层:对通信双方的会话进行建立、维护、拆除------session id----同一个应用程序的不同进程间 传输层:建立端到端的连接(逻辑上的连接)---端口号
网络层:IP寻址,提供路由----路由器
数据链路层:交换机----MAC地址寻址,封装成帧、差错检测、流量控制
物理层:传输比特流(传输二进制)、定义一些参数标准(定义电压、接口、线缆、传输距离、信号 传输的模式等物理参数)
单工模式:同一时刻,只有一个设备进行收或者发消息(收音机)
半双工模式:同一时刻,两端的设备不能同时发送或者接收数据 (对讲机)
全双工模式:同一时刻,两端的设备都能同时发送或者接收数据
(3)通讯过程(封装与解封装)
封装:在原始数据的基础上额外加了一些头部信息
解封装:拆掉封装的额外头部信息,漏出最原始的数据 过程:
数据发送:从上到下层层封装
接收时:从下至上层层解封装
二、TCP/IP参考模型
(1)产生背景
1、OSI抢占市场失败
2、OSI划分的层次太多,会话层和表示层存在的意义不大
(2)模型类型及区别
(3)通讯过程(封装与解封装)
PDU:协议数据单元
三、TCP/IP协议簇及抓包分析
1、TCP协议------传输控制协议
(1)头部:固定的头部长度20字节,范围:20-60字节
source port:源端口号
destination port:目标端口号
seq number:序列号,表示本机发出的数据报文的编号
Ack number:确认序列号:标识请求对方下次发送的数据报文的编号;表示已经收到对方的数据报文 了
reserved:保留字段,留给未开发的功能
URG=1,urgent pointer ,紧急指针位,优先发送紧急数据
PSH:push,推,让缓冲区中的数据能尽快的到达发送端
RST:重置,重新发送数据
window:窗口,通告本机接收或发送数据的能力
checksum:校验和,保证数据在传输中的完整性
data:从应用层传下来的数据
(2)TCP的可靠机制:
TCP三次握手:
TCP三次握手抓包图
TCP的四次挥手:
FIN:标志着断开连接
TCP四次挥手抓包图:
TCP确认重传机制
Ack=上一次的seq+上一次的len
seq=上一次的Ack
滑动窗口机制:通过窗口大小,通告本机的接收能力,从而实现流量控制 完整性校验机制:通过 checksum字段,实现对数据完整性的校验
2、UDP协议----用户数据协议
(1)头部
3、IP协议
(1)IP头部格式
(2)tcp分段和IP分片
4、ICMP协议-----网际报文控制协议
(1)作用:差错(或异常)报告; 网络探询
(2)头部
(3)实现工具
ping命令 :测试网络连通性
查询报文:我们可以通过发包数量与回报数量来判断目标的状况
ECHO REquest:ping命令请求
ECHO REPLY:ping命令回复
差错检测报文:
网络不可达:网络故障
主机不可达:寻找的IP地址有问题
协议不可达:协议不兼容
端口不可达:防火墙禁ping服务,端口不连通
重定向: 指导数据报文的流向,使数据流向正确的网关; 特定情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机 改变路由
tracert命令:路由跟踪
5、以太网帧协议
(1)头部
前同步码:调整接收端的时钟周期使其与发送端一样
帧开始定界符:标识数据帧的开始
FCS:MAC帧的尾部,帧校验序列