OSI七层参考模型:
应用层:接收用户的数据,人机交互的接口,面向的应用程序。(可以理解为不同的软件产生了数据,这些数据要有对应的协议或者服务定义,应用层定了这些服务例如HTTP 、DHCP、DNS、SMTP 等等)
表示层:将逻辑语言(软件语言)转换为机器语言(二进制语言),翻译 。(数据的编码解码、数据的加密解密、数据的压缩和解压缩等等)
语言介绍: 1.自然语言(中文 英文 日文等等)2.逻辑语言(也称为编码语言,通过不同的编码方式进行编码定义,例如国际码 Unicode 中国的GBK、GB2312、BIG5等等)3.机器语言(也就是计算机能够直接处理的二进制语言)
会话层: 管理通信,针对传输的每一种数据建立(管理:建立、维持、终止)一条会话虚链接。
上三层为控制层面
下四层为数据层面
传输层:定义数据的传输方式,以及定义用于在数据层面区分不同流量。
1.区分流量: 通过传输层端口号进行区分(不同的端口号代表了不同的流量)
端口号范围:0-65535
端口号分类:静态端口号(也称为知名端口号):1-1023
动态端口号:1024-65535
静态端口:每个端口号定义了特定的服务(流量),特点:端口号与流量之间存在一一对应并绑定的关系
常见端口号:
- 域名系统 (DNS)— TCP/UDP 端口 53
- 超文本传输协议 (HTTP) — TCP 端口 80
- 简单邮件传输协议 (SMTP)— TCP 端口 25
- 邮局协议 (POP)— TCP 端口 110
- Telnet — TCP 端口 23
- 动态主机配置协议 (DHCP)— UDP 端口 67 和端口 68
- 文件传输协议 (FTP)— TCP 端口 20 和端口 21
动态端口:大多数服务使用随机的动态端口号进行区分,特点:动态端口与流量之间存在一一对应关系(但并无绑定)
2.定义数据的传输方式:分为可靠和不可靠传输方式。
不同传输方式特点分析:
使用不可靠传输方式数据特点:1.大流量 2.同步性要求较高 3.对数据的丢失不敏感
TCP:传输控制协议,是一种面向连接的可靠的传输协议。
什么是可靠的传输协议?如何保障可靠传输?
保证可靠性: 1.确认机制 2.重传输机制
什么是面向连接?如何保障面向连接?
面向连接是在传递数据之前进行协商,确保数据在后续的发送过程中双方能够发送以及能够发送到数据。
保障面向连接:TCP三次握手机制
TCP会话断开机制:四次断开
TCP优化机制:1.重排序 2.滑动窗口机制
TCP主要应用环境: web浏览器 、电子邮件、FTP 等协议
UDP:用户数据报协议,是一种非面向连接的不可靠传输协议。
特点: 1.无连接(没有三次握手不需要提前进行协商)2.不可靠传输(尽力而为) 3.简单 4.低开销
UDP主要使用环境:视频流、IP语音(VOIP)
4层数据称为segment
抓包:使用wireshake 抓包工具分析 TCP UDP数据结构
网络层:编址、寻址(路由)
编址协议: IPV4、IPV6、IPX、Appletalk 等
IPV4:互联网协议版本4 ,采用了32个二进制进行标识
组成方式:32个二进制
书写方式:点分十进制
完整的IP地址:IP地址部分+网络掩码
IP地址:32个二进制,0和1组成
网络掩码:32个二进制,连续的1和连续的组成,连续的1代表网络位,连续的0代表主机位。
网络位 主机位
1101 1000.0001 0001.0000 0001.0000 0001
216.17.1.1
255.255.0.0
1111 1111.1111 1111.0000 0000.0000 0000