OSI参考模型——开放系统互联参考模型
(1)产生背景
各大厂商都有自己的协议
各大长厂商之间产品不兼容
用户购买维护设备的成
(2)每层作用
应用层:把人类语言转换为编码,为各种应用程序提供网络服务
表示层: 定义一些数据的格式,对数据进行加密,解密,编码,解码,压缩,解压缩
会话层:对通信双方之间做一些建立,维护,拆除
传输层:建立端到端的连接(逻辑上的连接)----端口号
端口号范围:0-65535(0不能用)
知名端口号:0-1023-------一般用于标定特殊的服务
DNS(域名解析系统):端口号53
HTTP(超文本传输协议)---80 HTTPS(安全的超文本传输协议)
SMTP(简单邮件传输协议)----一般是邮件的发送方 25
POP3(邮局协议)----邮件的接受方 110
telnet(远程登入协议)23
FTP(文件传输协议)20 、21
TFTP(简单文件传输协议)
动态端口号:1024-65535------用来分配给一些不固定的服务
网络层:路由器,提供路由,依据IP地址寻址,转发数据
数据链路层:跟介质访问控制层相像,但功能更多。封装成帧,差错检测,流量控制
被分为了两个子层
LLC子层:逻辑链路控制子层,为传输可靠性提供一个保障,减少出现数据帧丢失、重复、失序的情况 (CRC---循环冗余计算码)
MAC子层:媒体接入控制子层,负责识别网络层的协议,然后对他们进行封装,解封装,MAC寻址、流量控制
物理层:传输比特流(电信号),定义一些参数(电压、接口、线缆标准、传输距离、传输介质、物理拓扑、信号传输模式)
信号传输模式:
单工模式:同一时间内,通信的双方只能有一方有收或发消息的动作 (例如对讲机)
半双工模式:同一时间内,通信双方可以同时收或发消息的动作 (要么一起发,要么一起收)
全双工模式:同一时间内,通信双发可以同时收和发消息
(3)通讯过程(封装与解封装)
封装:在原始数据的基础上,额外加了一些信息,形成了新的格式
解封装:拆封掉封装的额外信息,还原成原始数据
过程:
数据发送过程:从上到下层层封装
数据接收过程:从小至上层层解封装
二、TCP/IP参考模型(传输控制协议/互联网协议)
(1)产生背景
1、OSI参考模式抢占市场失败
2、OSI划分层次多
![](https://i-blog.csdnimg.cn/blog_migrate/0b066ba1f6b404720a5e29d078823ae4.png)
(3)通讯过程(封装与解封装)
PDU:协议数据单元
三、TCP/IP协议簇及抓包分析
- TCP协议---传输控制协议
TCP固定的头部字节:20Byte
Source port:源端口
Destination port:目的端口
Sequence number:序列号,标识本机发送的数据报文的编号
Acknowledgment number:(与ACK配套使用)确认号,标识请求对方下次发送的数据报文的编号
Date offset:数据偏移,标识数据在完整数据中的位置
Reserved:保留,留给未开发的功能
URG:当位置等于1的时候,urgent pointer紧急指针位会发挥作用,优先发送数据
ACK:
PSH:TCP的推送位,在缓冲区未填满的情况下尽快的将缓冲区的数据推送上前,交付给接收的应用进程
RST:复位开关
SYN:连接建立的标志位
FIN:连接断开的标志位
WINDOW:窗口,通告本机接收能力
Checksum:校验和
TCP的可靠机制:
·TCP的三次握手:
- 第一次由客户端发送连接请求到服务器,服务器收到后可以确认客户的发送与自身的接收没有问题
- 再由服务器回话给客户,让客户知道自己的发送与接收没问题,这时服务器还不知自己的发送是否有障碍
- 需客户在此回话表示服务器无碍时,方可以稳定建立连接,三次握手完成后就可以进行数据传输
四次挥手:
- 由客户端发出断开请求,当服务器收到后,表明了客户没有要给服务器发送数据的事
- 当服务器收到后哦,再次回复给客户端表明同意你的请求
- 再次由服务器发送关闭连接的请求
- 客户端收到后,再次给服务器发送同意的信息时,就会关闭连接,此时客户端等待2ms是,客户端依旧没有收到信息时,则证明服务器已正常关闭,此时客户端就可以正常关闭
确认机制:
Ack=上一次seq+上一次的len
Seq=上一次的Ack
滑动窗口机制:
通过滑动窗口来通告本机的接收能力,实现流量控制
完整性校验机制
通过checksum来校验数据的完整性
![](https://i-blog.csdnimg.cn/blog_migrate/91e3eb328455e4b0356fcb7c51aa00a3.png)
UDP的协议特点:
不能实现流量控制(因为没有WINDOW)
连接无的不可靠协议;
使用场景:对传输效率要求不高,对准确性要求高,占用宽带不高
Version:版本(4或6)
IHL:IP地址头部长度20Byte(字节)
Type of service:服务类型
Total length:IP头部+从传输层传下来的数据
Identification:标识
Flags:标识符,保证数据分段后,区别与网络中的其他IP数据报文
Fragment offset:片偏移,表示数据分片在完整数据中的位置
Time to live:生存周期,常见的(32、64、128、256)
Protocol:描述上层所使用的协议
Header checksum:头部校验和
Source address:源IP地址
Destination address:目标IP地址
TCP分段:受MSS(最大数据分段长度)的影响
IP分片:受MTU(最大传输单元)的影响
例如:以太网接口(通过光纤上网的接口),默认的MTU是1500个字节
PPPOE(通过宽带拨号上网,或者网线上网),默认的是MTU是1492字节