一、OSI参考模型----开放系统互联参考模型(由国际标准化组织(ISO)开发)
(1)产生背景
1、各大厂商都有自己的协议;
2、各厂商之间产品不兼容;
3、用户购买维护设备的成本高
(2)每层作用
![](https://i-blog.csdnimg.cn/blog_migrate/a488474c6f6c42bfa7534a96ef0a7202.png)
应用层
:把人类语言转换为编码,为各种应用程序提供网络服务
表示层:
定义一些数据的格式,对数据进行加密、解密、编码、解码、压缩、解压缩
会话层:对通信双方之间的会话做一些建立、维护、拆除 (session id)session 会话
传输层:
建立端到端的连接(逻辑连接)----端口号
端口号范围:0-65535(0不能用)
知名端口号:0-1023-----应用标定特殊的服务
DNS(域名解析系统):端口号53 可以根据域名解析出对应的IP地址从而访问相应服务器
HTTP(超文本传输协议)----80 HTPPS(安全的超文本传输协议)
SMTP(简单邮件传输协议)----发邮件--25
pop3(邮局协议)---收邮件--110
telnet(远程登录协议)---23
FTP(文件传输协议)----20、21
TFTP(简单文件传输协议)
动态端口号:1024-65535----用来分配给一些不固定的服务
网络层:路由器,
提供路由,依据IP地址寻址,转发数据,
数据链路层:交换机,
MAC地址寻址、封装成帧、差错检测、流量控制
LLC子层:逻辑链路控制子层,为传输可靠性提供一个保障,减少出现帧丢失、重复、失序的情况
(CRC-----循环冗余计算码)
MAC子层:媒体接入控制子层,负责识别网络层的协议,然后对他们进行封装、解封装,MAC寻址、
流量控制
物理层:
集线器,传输比特流(由一串二进制位组成的数据流)
,定义一些参数(电压、接口、线缆标准、传输距离、传输介质、物理
拓扑、信号传输模式)
信号传输模式:
单工模式:同一时间内,通信双方只能有一方有收或者发消息
半双工模式:同一时间内,通信双方可以同时有收或者发消息,双方每人只能执行收或者发之中一个行为
全双工模式:同一时间内,通信双方可以同时有收发消息
(3)通讯过程(封装与解封装)
![](https://i-blog.csdnimg.cn/blog_migrate/e6cac428a5c462ad7c9323332f63ad32.png)
封装:在原始数据的基础上,额外加了一些信息,形成新的格式
解封装:拆封掉封装的额外信息,还原成原始数据
过程:
数据发送过程:从上到下层层封装
数据接收过程:从下到上层层解封装
二、TCP/IP参考模型(传输控制协议/互联网协议)
(1)产生背景
1、OSI参考模式抢占市场失败
2、OSI划分层次多
(2)模型类型及区别
![](https://i-blog.csdnimg.cn/blog_migrate/cdc1ae9c55ba5dbcaa7ad34a369a1553.png)
(3)通讯过程(封装与解封装)
![](https://i-blog.csdnimg.cn/blog_migrate/f0895d66a219f781dd9512a4e522a229.png)
PDU:协议数据单元
![](https://i-blog.csdnimg.cn/blog_migrate/2c00df3241d62dec7d2e940e6808fad0.png)
三、TCP/IP协议簇及抓包分析
![](https://i-blog.csdnimg.cn/blog_migrate/c3ed916668d2e1a841e41ac31666bb6b.png)
(1)TCP协议
![](https://i-blog.csdnimg.cn/blog_migrate/4d1b55e0570211a9325071f2982b4df5.png)
TCP固定的头部字节:20Byte(字节)
source port:源端口
destination port:目的端口
sequence number:序列号,标识本机发送的数据报文的编号
Ack : ACK=1,确认号,标识请求对方下次发送的数据报文的编号
date offest:数据偏移,标识数据分段在完整数据中的位置
reserved:保留,给未来开发的功能
padding:填充
options:选项
urg:当位置为1,urgent pointer紧急指针位会发挥作用,优先发送数据
PSH:TCP的推送位,在缓冲区未填满的情况下,尽快的将缓冲区的数据推送上前,交付给接收的应用
进程
RST:复位开关
SYN:连接建立的标志位
FIN:连接断开的标志位
WINDOW:窗口,通告本机接收能力
checksum:校验和
TCP的可靠机制:
TCP的三次握手:
![](https://i-blog.csdnimg.cn/blog_migrate/a296a9cfd8397d05509a90e09a0a9772.png)
SYN(连接建立的标志位)
sent发送 listen 侦听
第一次:由客户端发出连接请求到服务器,服务器收到后可以确定客户的发送与自身的接收没问题
。
第二次:
再由服务器回话个客户,让客户知道自己的发送与接受没问题,这时服务器还不知自己的发
送是否有碍,
第三次:
需客户在此回话表示服务器的发送无碍时,方可以稳定建立连接,三次握手完成后就可以进
行数据传输。
四次挥手:
![](https://i-blog.csdnimg.cn/blog_migrate/4151a7015e7eec3413fb0fd8efb5cd84.png)
SYN(连接建立的标志位)
sent发送 listen 侦听
第一次:若由客户端发出断开请求时,当服务器收到后,表明了客户没有要给服务器发送数据的事。
第二次:当服务器收到后,再次回复给客户端表明同意你的请求。
第三次:再次由服务器给客户端发送关闭连接的请求。
第四次:客户端收到后,再次给服务器发送同意的信息时,就会关闭连接,此时当客户端等待2msl时,
客户端依旧没有收到信息时,则证明服务器已正常关闭,此时客户端就可以正常关闭。
确认机制:
![](https://i-blog.csdnimg.cn/blog_migrate/8b61b20d93bdc321c27f1ccf6a5c9224.png)
Ack=上一次seq+上一次的len
(握手和挥手时未携带信息或长度为1)
seq=上一次的Ack
滑动窗口机制:
通过滑动窗口来通告本机的接收能力,实现流量控制
完整性校验机制
通过checksum来校验数据的完整性
TCP的协议特点:
可以实现流量控制;
进行数据分段;
面向连接的可靠协议;
使用场景:对传输效率要去求不高,对准确性要求高,占用带宽高
(2)UDP协议--用户数据协议
![](https://i-blog.csdnimg.cn/blog_migrate/f9c1e75ad7a59b682441fe1c7148697f.png)
UDP的协议特点:
不能实现流量控制;
连接无的不可靠协议;
使用场景:对传输效率要去求高,对准确性要求不高,占用带宽不高
(3)IP协议---互联网协议
![](https://i-blog.csdnimg.cn/blog_migrate/181eda2f90a97aacdeb7f08f3959757f.png)
version
:版本(4或
6
)
IHL
:
IP
地址的头部长度
20Byte
type of service :
服务类型
total length
:
IP
头部
+
从传输层传下来的数据
identification
:标识
FLAGS
:标识符,保证数据分片后,区别与网络中的其他
IP
数据报文
fragment offset
:片偏移,
标识数据分片在完整数据中的位置
ttl:生存周期,32、64、128、256
protocol:描述上层所使用的协议
header checksum:头部校验和
source address:源IP地址
destination address:目标IP地址
TCP分段:受MSS的影响(最大数据分段长度)
IP分片:受MTU的影响(最大传输单元)
例如:以太网接口(通过光纤上网),默认的MTU是1500字节
PPPOE(宽带拨号上网、网线上网),默认的MTU是1492字节
(4)ICMP协议----(网际报文管理协议)
![](https://i-blog.csdnimg.cn/blog_migrate/b2ad873663c8c82a8cf9a04066bea8a6.png)
Echo reply:ping回复
Echo rrquest:ping请求
(5)以太网帧协议
![](https://i-blog.csdnimg.cn/blog_migrate/0ea0c2a46a5055111c6e8d0894e5e97e.png)