一、OSI参考模型-----OSI/RM-----开放式的系统互联参考模型
(1)产生背景
(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)产生背景
(2)模型类型及区别
(3)通讯过程(封装与解封装)
PDU:协议数据单元
三、TCP/IP协议簇及抓包分析
1、TCP协议------传输控制协议
(1)头部:
固定的头部长度20字节,范围:20-60字节
source port:源端口号
Ack number:确认序列号:标识请求对方下次发送的数据报文的编号;表示已经收到对方的数据报文了
URG=1,urgent pointer ,紧急指针位,优先发送紧急数据
(2)TCP的可靠机制:
TCP连接机制:
TCP三次握手:
SYN:连接建立
第一次:由客户端发出连接请求到服务器,服务器收到后可以确定客户的发送与自身的接收没问题。
第二次:再由服务器回话个客户,让客户知道自己的发送与接受没问题,这时服务器还不知自己的发送是否有碍,
第三次:需客户在此回话表示服务器的发送无碍时,方可以稳定建立连接,三次握手完成后就可以进行数据传输。
MSS---最大分段长度-----1500字节
TCP的四次挥手:
FIN:标志着断开连接
TCP四次挥手总结:
第一次:若由客户端发出断开请求时,当服务器收到后,表明了客户没有要给服务器发送数据的事。
第四次:客户端收到后,再次给服务器发送同意的信息时,就会关闭连接,此时当客户端等待2msl时,客户端依旧没有收到信息时,则证明服务器已正常关闭,此时客户端就可以正常关闭。
TCP确认重传机制:
滑动窗口机制:通过窗口大小,通告本机的接收能力,从而实现流量控制
完整性校验机制:通过checksum字段,实现对数据完整性的校验,保证数据在传输中的完整性
Ack=上一次的seq+上一次的len
滑动窗口机制:通过窗口大小,通告本机的接收能力,从而实现流量控制
完整性校验机制:通过checksum字段,实现对数据完整性的校验
(3)TCP协议的特点
1.面向连接,可靠协议;
(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数据报文
fragment offset:分片偏移,表示在原始数据报文中分片后的位置
header checksum:头部校验和,对IP协议的头部做个校验
(2)tcp分段和IP分片
4、ICMP协议-----网际报文控制协议
(1)作用:
差错(或异常)报告;----ping
网络探询;----tracert
(2)头部
(3)实现工具
特定情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由
tracert命令:路由跟踪
5、以太网帧协议
(1)头部
前同步码:调整接收端的时钟周期使其与发送端一样