day11 OSI与TCP-IP 5层协议
OSI与TCP-IP 5层协议
分层模型
1.分层思想
- 将复杂的流程分解为几个功能相对单一的子过程
- 整个流程更加清晰,复杂问题简单化
- 更容易发现问题并针对性地解决问题
- 同层使用相同协议,下层为上层提供服务
- 使用网络的未必知道数据的传输过程
2.OSI七层模型
-
OSI(Open System interconnection)
是开放的通信系统互联参考模型
-
历史:1947 年,ISO 组织发布了 OSI 参考模型
-
七层模型:
-
TCP/IP 5层协议簇(站):会话层,表示层,应用层三层合并成为应用层,最后为五层协议
-
这两个同时诞生,OSI 现有模型,TCP 先有协议
-
四层模型:把 数据链路层 和 物理层 合并为网络接口层
-
特点:上层对下层兼容,处于上层的设备一定可以识别所有下层的信息
数据传输过程
1.过程概述
-
假设要发送“Hello”这个数据
首先是封包
-
通过应用层,在软件中生成,进入传输层
-
传输层对数据进行 分装 ,进入网络层
分装:给数据加上 TCP/UDP 头
在加头之前判断数据是从应用层中的哪个软件生成的
然后在数据中加上原端口号和目标端口号
完成进程与进程之间的通信 *端口号是应用层的
UDP:速度快,但安全性不高,不可靠传输,像写信
TCP:速度不快,但安全性高,可靠传输,像打电话
分装完后整个数据为 数据段
-
网络层对数据再加上 IP包头 ,进入数据链路层
加上 IP 包头
完成点到点的通信,即电脑与电脑之间的通信
加上后整个数据为 IP包/报文
-
数据链路层(网卡)给数据加上 MAC子层 和 FCS ,进入物理层(网线)
交换机所在层
MAC子层:源 MAC 地址和目标 MAC 地址,帧头
FCS:4个字节,帧校验序列,循环校验算法 CRC(类似hash)中的值,帧尾
加上后整个数据为 帧
然后是解包:
-
数据链路层(网卡)检察帧的 MAC子层 和 FCS,没问题解封装,不对应就扔掉
-
网络层接着校验IP包/报文,然后解包
-
传输层对数据段解析,传给应用层的某个进程
-
图解:
2.要点总结
-
各层的数据名称:
-
数据/PDU 应用层
-
数据段/段 Fragment 传输层
-
报文/包/IP包 packet 网络层
-
帧 Franme 数据链路层
-
比特 bit 物理层
** 8 bit = 1 Byte字节 100Mb/s == 10MB/s +
-
-
各层对应的协议
-
DNS补充:客户机与服务器之间用 UDP,服务器与服务器之间用 TCP