一、OSI参考模型-----OSI/RM-----开放式的系统互联参考模型
ISO-----国际标准化组织
(1)产生背景
1、各大厂商都有自己的协议
2、跨厂商设备不兼容;
3、用户购买维护设备成本高
(2)每层作用:
应用层:为应用程序提供网络服务
表示层:定义数据的格式,对数据进行加密、解密、压缩、解压缩
会话层:对通信双方的会话进行建立、维护、拆除------session id----同一个应用程序的不同进程间
传输层:建立端到端的连接(逻辑上的连接)---端口号
端口号:0-65535,其中0和65535系统保留端口号
知名端口号:1-1023,众所周知的协议提供端口号
HTTP:超级文本传输协议---80----TCP
HTTPS:安全的超级文本传输协议----8080---TCP
FTP:文件传输协议---20、21----TCP
SMTP:简单邮件传输协议,发送邮件---25---TCP
POP3:邮局协议,接收邮件---110----TCP
DNS:域名解析系统------将域名和IP地址做个转换----53------TCP/UDP
DHCP协议:动态主机配置协议,自动获取IP地址----67、68------UDP
telenet协议:远程登录协议---23----TCP
动态端口号:1024-65534,客户端
网络层:IP寻址,提供路由----路由器
数据链路层:交换机----MAC地址寻址,封装成帧、差错检测、流量控制
物理层:传输比特流(传输二进制)、定义一些参数标准(定义电压、接口、线缆、传输距离、信号传输的模式等物理参数)
信号传输的模式:
单工模式:同一时刻,只有一个设备进行收或者发消息(收音机)
半双工模式:同一时刻,两端的设备不能同时发送或者接收数据 (对讲机)
全双工模式:同一时刻,两端的设备都能同时发送或者接收数据
(3)通讯过程(封装与解封装)
封装:在原始数据的基础上额外加了一些头部信息
解封装:拆掉封装的额外头部信息,漏出最原始的数据
过程:
数据发送:从上到下层层封装
接收时:从下至上层层解封装
二、TCP/IP参考模型
(1)产生背景
1、OSI抢占市场失败
2、OSI划分的层次太多,会话层和表示层存在的意义不大
(2)模型类型及区别
三、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三次握手:
SYN:连接建立
TCP一次连接建立的三次过程
第一次:由客户端发出连接请求到服务器,服务器收到后可以确定客户的发送与自身的接收没问题。
第二次:再由服务器回话个客户,让客户知道自己的发送与接受没问题,这时服务器还不知自己的发送是否有碍,
第三次:需客户在此回话表示服务器的发送无碍时,方可以稳定建立连接,三次握手完成后就可以进行数据传输。
TCP三次握手抓包图
MSS---最大分段长度-----1500字节
TCP的四次挥手:
FIN:标志着断开连接
TCP四次挥手抓包图:
TCP四次挥手总结:
第一次:若由客户端发出断开请求时,当服务器收到后,表明了客户没有要给服务器发送数据的事。
第二次:当服务器收到后,再次回复给客户端表明同意你的请求。
第三次:再次由服务器给客户端发送关闭连接的请求。
第四次:客户端收到后,再次给服务器发送同意的信息时,就会关闭连接,此时当客户端等待2msl时,客户端依旧没有收到信息时,则证明服务器已正常关闭,此时客户端就可以正常关闭。
TCP确认重传机制:
滑动窗口机制:通过窗口大小,通告本机的接收能力,从而实现流量控制
完整性校验机制:通过checksum字段,实现对数据完整性的校验,保证数据在传输中的完整性TCP确认重传机制
Ack=上一次的seq+上一次的len
seq=上一次的Ack
滑动窗口机制:通过窗口大小,通告本机的接收能力,从而实现流量控制
完整性校验机制:通过checksum字段,实现对数据完整性的校验
(3)TCP协议的特点
面向连接,可靠协议;
实现流量控制;
进行数据分段;
(4)适用场景:
对传输效率要求比较低,可靠性要求高,浪费带宽资源
2、UDP协议----用户数据协议
(1)头部
(2)UDP特点:
不面向连接,不可靠协议;
没有流量控制机制;
(3)使用场景
对传输效率要求比较高,可靠性要求低,不浪费带宽资源
3、IP协议----互联网协议
(1)IP头部格式
version:版本号,IPV4/IPV6
IHL:IP报文的头部长度,固定长度:20字节 ,范围:20-60字节
type of service:服务类型,QOS(服务质量),控制数据的优先级
total length:总长度=IP头部+从上层传下的数据长度
identification:标识符。保证数据被分片后,区别与网络中其他IP数据报文
MTU----最大传输单元----1500字节
flags:标志位
DF=1,不分片
MF=1,分片
fragment offset:分片偏移,表示在原始数据报文中分片后的位置
TTL:生存时间,代表数据包经过的路由器数量,0-255
protocol:标识上层协议
header checksum:头部校验和,对IP协议的头部做个校验
(2)tcp分段和IP分片
TCP分段:MSS
IP分片:MTU
4、ICMP协议-----网际报文控制协议
(1)作用:差错(或异常)报告;----ping
网络探询;----tracert
(2)头部
(3)实现工具
ping命令 :测试网络连通性
查询报文:我们可以通过发包数量与回报数量来判断目标的状况
ECHO REquest:ping命令请求
ECHO REPLY:ping命令回复
差错检测报文:
网络不可达:网络故障
主机不可达:寻找的IP地址有问题
协议不可达:协议不兼容
端口不可达:防火墙禁ping服务,端口不连通
重定向:
指导数据报文的流向,使数据流向正确的网关;
特定情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由
tracert命令:路由跟踪