OSI
网络:连接设备(路由器/交换机等)将终端设备(电脑/平板/手机等)通过传输介质(有线/无线)连接起来,进行数据的交互
OSI:定义数据产生过程的标准格式,不同的系统不同的软件在产生数据时定义了统一的标准
OSI将数据的产生分为了七层,提出了分层思想
分层:不同层有不同的功能,集合起来定义了数据的产生过程
分层优点:
- 降低了层与层之间关联性,减少了某些层协议对其他层的影响
- 各个层清楚自己的目标并相互之间独立,方便后期优化和改进
- 方便理解和学习
第七层 应用层
接受用户的信息,人机交互的接口
常见协议:FTP、HTTP、SMTP
第六层 表示层
将逻辑语言(软件语言)转化为机器语言(二进制语言),并翻译(数据的编码解码,数据的加密和解密,数据的压缩和解压缩)
语言的分类:
- 自然语言(人与人之间交流使用的语言)
- 软件语言(编码语言)
- 机器语言(二进制语言)
第五层 会话层
管理(建立、维持、终止)通信,针对每一种传输的数据创建一条数据虚链接
第七层、第六层和第五层组成控制层面
第四层 传输层
定义数据传输方式,在数据层面区分不同流量
数据传输方式分为两种:可靠传输(TCP)不可靠传输(UDP)
常见协议:TCP、UDP
TCP(Transportation Control Protocol):传输控制协议,是一种面向连接的可靠传输
保证可靠性:确认机制,重传输机制
面向连接:是在传递数据之前进行协商,确保数据在后续的发送过程中双方能发送和发送到数据
保证面向连接:TCP三次握手机制
TCP会话断开机制:四次断开
TCP主要应用环境:web浏览器、电子邮件、FTP等协议
UDP数据特点:1)大流量 2)同步性要求高 3)对数据流失不敏感
UDP(User Data Protocol)用户数据报协议,是一种非面向连接的不可靠传输
特点:1)无连接(不需要三次握手)2)不可靠传输(尽力为之,能行行,不行拉倒) 3)简单 4)低开销
UDP主要使用环境:视频流、IP语音(VOIP)
MTU:最大传输单元 默认为1500字节
PDU:协议数据单元,数据在不同层的表现形式
4层PDU:segment 数据段
区分流量:通过传输层端口号进行区分(不同端口号代表不同的流量)
端口号范围:0~65535
端口号分类:
1)静态端口号(也称知名端口号) 1~1023
2)动态端口号 1024~65535
静态端口:每个端口号定义了特定的服务(流量) 静态端口特点:端口号与流量之间存在一一对应且绑定的关系
动态端口:大多数服务使用随机端口号进行区分 动态端口特点:端口号与流量之间存在一一对应的关系
第三层 网络层
编址 寻址(路由)
常见协议:ICMP、IPX、IPV4、IPV6
三层数据称为packet(数据包)
编址协议:IPV4、IPV6、IPX、Appletalk等
IPV4(Internet Protocol Version 4):互联网协议版本4,采用了32个二进制进行标识
组成方式:32个二进制
书写方式:点分十进制
完整的IP地址:IP地址部分 + 网络掩码
IP地址:32个二进制,由0和1组成
网络掩码:32个二进制,连续的1和连续的0组成,连续的1代表网络位,联系的0代表主机位
IP地址分类:
A类地址:第一位固定为0
0XXX XXXX 范围: 0 ~ 127(1~126),网络掩码:255.0.0.0
B类地址:前两位固定为10
10XX XXXX 范围:128 ~191,网络掩码:255.255.0.0
C类地址:前三位固定为110
110X XXXXX 范围:192 ~ 223,网络掩码:255.255.255.0
D类地址:前四位固定为1110
1110 XXXX 范围: 224 ~ 239,组播地址,无掩码
E类地址:前四位固定为1111
1111 XXXX 范围:240 ~ 255,科研地址
- A B C 类地址为单播地址
- D类地址为组播地址
- E为保留地址
第二层 网络链路层
针对不同的传输介质定义不同的二层封装
二层数据称为frame(数据帧)
数据链路层分为两个子层
- 逻辑链路控制子层(标识上层使用了何种协议,相当于2.5层)
- 介质访问控制子层(二层进行地址的识别)
数据链路层的功能: 组帧、物理编址、流量控制、差错控制、接入控制
MAC地址介绍:,又称为物理地址、硬件地址、烧录地址 48个二进制构成,书写方式:减分或者点分十六进制标识
减分十六进制书写:60-F2-62-3C-E3-53
点分十六进制书写:60F2.623C.E353
构成:
- 前24位:OUI(统一资源标识符),也称为厂商ID
- 后24位:interface ID(接口标识符),也称为产品ID
第一层 物理层
将二层的数据帧转换为物理传输介质中比特流。
四层、三层、二层、一层组成数据层面
总结:OSI模型定义了软件产生数据的过程