一、OSI参考模型---开放系统互连参考模型---OSI/RM
ISO---国际标准化组织
(1)产生背景
各大厂商之间的设备是不兼容的;
各大厂商都有自己的协议;
用户购买、维护设备的成本过高
(2)每层作用
应用层:为应用程序提供网络服务
表示层:定义了数据的格式,对数据进行加密、解密、压缩、解压缩
会话层:建立、维护、拆除通信双方的会话 ---session id
传输层:建立端到端的连接(逻辑上的连接)---依靠端口号
端口号的取值范围:0-65535,其中0和65535是系统保留的端口号
知名端口号:1-1023
动态端口号:1024-65534
DNS:域名解析系统 ,端口号53
HTTP协议:超文本传输协议,端口号80
POP:邮局协议,POP3,发送邮件的时候 端口号:110
SMTP:简单邮件传输协议:接收方,端口号:25
FTP协议:文件传输协议,20、21
SSH:安全的远程登录 22
telnet:远程登录服务 ,端口号23
DHCP协议:动态主机配置协议 端口号:67、68
网络层:网络IP地址寻址和路由,路由器是网络层设备(3层设备)
数据链路层:MAC地址寻址,交换机一般是2层设备、封装成帧、差错检测、流量控制
LLC子层:逻辑链路控制子层,为数据的传输提供一个可靠性的保证,减少数据帧出现丢失、重复、失序
MAC子层:媒体接入控制子层,负责识别网络层的协议
物理层:传输电信号,传输比特流,定义了一些参数的标准(定义了电压、接口、线缆标准、传输介质、信号传输模式的标准)
信号传输模式:
单工模式:同一时刻,只能有一个设备收或发消息 (听收音机广播)
半双工模式:同一时刻,只有一端的的设备都可收发消息(传呼机)
全双工模式:同一时刻,两端都可以同时收发消息
(3)通讯过程(封装与解封装)
封装:在原始数据的基础上,添加一些字段信息,形成新的数据
解封装:拆掉封装的额外信息,还原成原始数据的数据
过程:发送端:数据从上到下逐层封装
接收端:数据从下到上逐层解封装
OSI分层的好处:
各层协作,完整的传输数据;
各层功能独立,能快速定位故障问题。
二、TCP/IP参考模型-----传输控制协议/互联网协议
(1)产生背景
1、OSI抢占市场失败
2、OSI划分的层次太多,会话层和表示层存在的意义不大
(2)模型类型及区别
(3)通讯过程(封装与解封装)
PDU:协议数据单元
三、TCP/IP协议簇及抓包分析
1、TCP协议------传输控制协议
(1)头部:固定的头部长度20字节
source port:源端口
destination port :目标端口
sequence number:序列号,标识本机发送的数据报文的编号
Acknowledgment number:确认号,表示收到了对方的消息,请求对方下次发送的数据报文的编号
data offset:数据偏移,标识数据分段在完整数据中的位置
reserved:保留,留给将来要开发的功能去使用
Window:窗口,通告本机的接收能力
1字节=8位 1Byte=8bit
checksum:校验和
urgent pointer:紧急指针
options:可选项
padding:填充
data:数据
URG:紧急指针的标志
PSH:推,让缓冲区的数据能够尽快到达接受者这边
RST:重置,重置TCP的连接
(2)TCP的可靠机制:
TCP三次握手:
SYN:标志连接的建立
ACK:标志着对对方消息的确认
TCP的四次挥手:
FIN:标志着断开连接
TCP确认重传机制;
Ack=上一次的seq+上一次的len
seq=上一次的Ack
滑动窗口机制:通过窗口大小,通告本机的接收能力,从而实现流量控制
完整性校验机制:通过checksum字段,实现对数据完整性的校验
(3)TCP协议的特点
面向连接、可靠协议;
有流量控制机制;
保证数据的完整性;
进行数据分段;
(4)适用场景:
对传输效率要求低,准确性要求高的场景(发送文件、邮件)
2、UDP协议----用户数据协议
(1)头部
length:在传输层整体数据的长度(UDP头部+从应用层传输的数据长度)
(2)UDP特点:
无连接、不可靠协议,传输数据时,尽最大努力交付
没有流量控制机制;
(3)使用场景
对传输效率要求高,准确性要求低的场景(聊天、直播)
3、IP协议-----网络层事实上的,标准的、唯一的协议
(1)IP头部格式
version:版本(IPV4 IPV6)
IHL:IP的头部长度,IP头部的固定长度20字节
type of service:服务类型,标识业务的优先级
total length:总长度=IP头部长度+从传输层传下的数据长度
identification:标识,区分网络上不同的IP数据
flages:标志位,是否分片
DF:DF=1,表示不分片
MF:MF=1,表示分片
fragment offset:片偏移,表示该IP包在该片分组中的位置
time to live:生存时间,经过路由器的数量,每经过一个路由器TTL值减1
protocol:协议,表示从上层板传下来的数据所使用的协议
header checksum:头部校验和
source address:源地址(源IP地址)
destination address:目的IP地址
(2)tcp分段和IP分片
TCP分段:MSS ---最大数据分段长度,1460字节
IP分片:MTU-----最大传输单元,1500字节
4、ICMP协议-----网际报文控制协议
(1)头部
ping命令 :ICMP协议的执行者
ECHO REPLY:ping命令回复
网络不可达:网络故障
主机不可达:寻找的IP地址有问题
协议不可达:协议不兼容
端口不可达:防火墙禁ping服务,端口不连通
ECHO REquest:ping命令请求
5、以太网帧协议
(1)头部
FCS:MAC帧的尾部,帧校验序列
帧开始定界符:标识数据帧的开始