一、OSI参考模型
开放系统互联(OSI)参考模型是由国际标准化组织(OSI)于1984年提出的分层网络体系饥饿而构模型,目的是支持异构网络系统的互联互通。
分为7层 :应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。
二、OSI参考模型通信过程与数据封装
数据在每一层被封装,直到物理层时传输比特。
Q:为什么要数据封装?
A:增加控制信息,构造协议控制单元(PDU)
控制信息主要包括:
- 地址(Address):标识发送端/接收端
- 差错简称编码(Error-detecting code):用于差错检测或纠正
- 协议控制(Protocol control):实现协议功能的附加信息,如:优先级(priority)、服务质量(QoS)、安全控制等
三、物理层功能
功能:在具体的物理介质上实现每一个比特的传输。
具体:
- 定义和规范接口特性:
机械特性:接口几何形状,插口插头在哪侧
电气特性:电瓶电压选择
功能特性:接口引脚的个数和功能
规程特性:接口工作过程 - 解决比特编码问题
- 数据率
- 比特同步
- 传输模式:单工、半双工、双工
四、数据链路层
- 负责结点-结点(node-to-node)数据传输(解决物理链路直接相连的两个相邻结点的数据传输)。
- 组帧(Framing):一般要加头加尾,主要目的在于让接收一端从物理层接收到一系列比特流的时候,能够成功的切分出一个个数据帧,从而分出头部和尾部信息,根据头部和尾部信息完成数据链路层协议规定的相关功能。
- 在数据链路层进行物理寻址(Physical addressing):在帧头中增加发送端和/或接收端的物理地址,标识数据帧的发送端和/或接收端。
应用举例:
以下物理介质共享时,20发送给62,其他主机也能收到数据帧,但他们不会去接收,只有62会去接收。
- 流量控制(Flow control):避免淹没接收端
- 差错控制(Error control):检测并重传损坏或丢失帧,并避免重复帧
- 访问(接入)控制(Access control):在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权
五、网络层功能
- 负责源主机到目的主机数据分组交付,可能穿越多个网络
- 逻辑寻址(Logical addressing):全局唯一逻辑地址,无论跨越多少网络都唯一,确保数据分组被送达目的主机,如IP地址
- 路由(Routing):路由器(或网关)互联网络,并路由分组至目的主机。进行路径选择。
- 分组转发
如图红色字母代表网络层全局唯一逻辑地址,绿色字母代表物理地址,可以看到源和目的网络地址是不变的
六、传输层功能
负责源-目的(端-端)(进程间)完整报文传输。
- 分段与重组:传输层会把会话层传输过来的完整报文切分成一个个数据段,再交付给网络层。
- SAP寻址:确保将完整报文提交给正确进程,如端口号。
传输层接收会话层的协议数据单元(PDU),之后传输层会对其进行分割,形成传输层的协议数据单元,其中x和y为源和目的的SAP地址。将数据进一步交给网络层,S和D为源和目的网络地址。数据交给数据链路层,添加物理地址。
- 连接控制:这里是逻辑连接
- 流量控制
- 差错控制
七、会话层功能
- 对话控制(dialog controlling):建立、维护
- 同步(synchronization):在数据流中插入“同步点”,目的是一旦数据传输在某个控制点附近中断,下次恢复时只要恢复在最近的控制点
- 功能单薄,实际Internet网络中无此层
八、表示层功能
处理两个系统间交换信息的语法和语义问题。
- 数据表示转化:转换为主机独立的编码,与具体系统无关
- 加密/解密
- 压缩/解压缩
- 实际开发中无此层,应用层会承担此层工作
九、应用层功能
- 支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)
- 典型应用层服务:文件传输(FTP)、电子邮件(SMTP)、Web(HTTP)等
十、TCP/IP参考模型
TCP/IP参考模型共四层。网络接口层并没有定义具体协议,只要能封装网际层的IP分组,即能将IP分组从一点传输到另一点就可以。
十一、五层参考模型
综合OSI和TCP/IP的优点
应用层:支持各种网络应用(FTP,SMTP,HTTP)
传输层:进程-进程的数据传输(TCP,UDP)
网络层:源主机到目的主机的数据分组路由与转发(IP协议,路由协议等)
链路层:相邻网络元素(主机、交换机、路由器等)的数据传输(以太网,WiFi,PPP)
物理层:比特传输