OSI参考模型
产生背景
各大IT设备厂商只支持自己的私有协议,跨厂商设备兼容性差
用户购买和维护成本高
不利于网络技术发展
概念
定义了网络中设备所遵守的层次结构
优点
开放的标准化接口,协议不再封闭
多厂商设备兼容
易于理解、学习和更新协议标准
实现模块化工程,降低开发难度
便于故障排除
分层
1.物理层
•定义电压、接口、线缆标准、传输距离、传输介质等物理参数(中继器,集线器)
2.数据链路层(交换机):MAC地址寻址(具体寻找到某一个地方)
3.网络层
•网络地址层寻址(IP寻址,寻到一个数据所在的范围)、路由(维护和建立两个网络范围的一条通讯路径,在多条路径中选出最快最优的一条)
4.传输层(防火墙)
• 数据分段、建立端到端连接、维护传输可靠性
• TCP:可靠的传输
• UDP:不可靠的传输
5.会话层
•建立、维护、拆除应用程序间的会话
(区分同一个应用程序的不同访问者)
6.表示层
•定义数据格式、结构;数据加密、压缩
7.应用层
•为应用程序进程提供网络服务(把收到的数据展示在显示器上)
OSI参考模型的问题
划分层次过多,会话层、表示层存在意义不大
IP协议成为事实的网络层唯一协议
TCP/IP参考模型(书面文章上使用)
4层划分方法
1.网络接口层
• 物理层
• 数据链路层
2.网络层
3.传输层
4.应用层
• 会话层
• 表示层
• 应用层
5层划分方法(实际标准上使用)
1.物理层
2.数据链路层
3.网络层
4.传输层
5.应用层
• 会话层
• 表示层
• 应用层
数据封装和解封装
定义
封装:在原始数据的基础上加入一些额外信息形成新的格式
解封装:拆除掉封装的额外信息,还原成原始数据
TCP/IP分层封装
1.物理层:比特流
2.数据链路层:数据帧
3.网络层:数据包
4.传输层:数据段
5.应用层:数据
数据封装和解封装过程
数据发送时,从上至下逐层封装
数据接收时,从下至上逐层解封装
只有拆除外层封装,才能看到内层封装
封装和解封装的具体过程:
过程说明:首先设置两个主机的IP地址为1.1.1.1 1.1.1.2 Mac地址为A,B.假设A向B发送一条数据,在应用层上会完全转码成1101001101010100010.完成后,往下给到传输层,在传输层会进行数据分段,分成110100110,101100010,给每一段前面加上TCP头部(加在原始信息的前面,而不是后面)既可以加TCP(可靠的)也可以加UDP(可靠的)。这两段信息是一样的,下面以一段信息为列子,从传输层送到网络层,在网络层就会把传输层中的数据再加上一个IP头部,其中IP头部主要包含目的IP地址和源IP地址,A向B发送数据,目的IP为1.1.1.2,源IP为1.1.1.1(注意目的IP在前,源IP在后)数据段转换成数据包。在数据链路层,就会在数据包加上一个MAC头部,包含目的MAC B和源MAC地址A,数据包变为数据帧,再交给物理层,把数据帧转换为1010.。。。。。。。。。(高压电低压电)的比特流,以线缆传递到对面,首先在物理层感知到数据,解调成二进制,给数据链路层,检查数据帧的目的MAC地址,是不是找自己的,若不是,则直接丢弃,若是,则拆掉MAC头部,形成数据包,交到网络层,在网络层中检查是不是找自己的,若不是,丢弃,若是,则拆掉IP头部,形成数据段,交到传输层,把多个分段头部拆掉,完成数据重组,重组成不带任何头部的内容,上交给应用层,展现原始的数据。