TCP/IP模型
应用层(Application Layer)
应用程序对被传输数据进行加工处理。此处交互的数据单元称为报文(Message)
传输层(Transport Layer)
负责向两台主机中进程之间的通信提供数据传输服务。
主要使用以下两种协议:
TCP(Transmission Control Protocol)传输控制协议
UDP(User Datagram Protocol) 用户数据报协议
此处数据的单位是报文段(Segment)。
网络层(Internet Layer)
负责为分组交换网上的不同主机提供通信服务。此处数据的单位是包或者是数据报。
数据链路层(Data Link Layer)
在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点间的链路上传送帧。此处数据的单位是帧。
物理层(Physical Layer)
此处数据的单位是比特。
注:四层协议指的是数据链路层与物理层合并在一层,称为网络接口层
OSI开放系统互联(Open System Interconnection)
应用层(Application Layer)
通过人机交互的界面提供各种各样的服务
表示层 (Presentation Layer)
编码、解码 加密、解密
会话层(Session Layer)
建立、维持、终止会话进程
传输层(Transport Layer)
通过端口号区分上层不同的服务,数据分段。
提供可靠的传输机制:确认、重传、排序、流控。
网络层 (Network Layer)
决定如何将发送方的数据传到接收方。常用设备:路由器。
数据链路层 (Data Link Layer)
保证数据的顺序性、无错性和完整性。常用设备:网桥、交换机。
物理层(Physical Layer)
通俗的来说,物理层的作用是告诉一个设备如何将信号传送到一个通讯媒介,以及另一个设备如何从通讯媒介中接收到这个信号。
常用设备:中继器/集线器
OSI模型提出背景:
为了使不同体系结构的计算机网络都能互连,国际标准化组织 ISO 于 1977 年成立了专门机构研究该问题。他们提出了一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型 OSI/RM (Open Systems Interconnection Reference Model),简称为 OSI。
OSI模型失败原因:
OSI 的专家们在完成 OSI 标准时没有商业驱动力;
OSI 的协议实现起来过分复杂,且运行效率很低;
OSI 标准的制定周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场;
OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。
TCP/IP模型与OSI模型的区别:
1、层数不同----OSI为7层,TCP/IP为5层
2、TCP/IP模型的第三层仅支持IP协议,OSI支持所有的网络层协议
3、TCP/IP模型支持跨层封装;OSI模型不支持;
注:跨层封装主要用于非终端设备间相互沟通的流量,非远距离;
正常的应用程序流量必须全面封装;当没有传输层时,IPV4报头将对应用层流量进行分片,之后将分片信息填充于IPV4的报头中;并使用
协议号来标记应用层流量;
协议号(范围:0-255)
如:协议号6表示传输层为TCP,协议号17表示传输层为UDP;其余所有号码对应跨层封装流量;
正常存在三层的数据包在数据链路层使用第二代以太网报头。
仅存在源、目MAC地址,以及类型号;无法实现分片。
故若需要流量跨层封装到二层时,需要使用第一代以太网报头:
第一代以太网报头存在两个层----LLC逻辑链路控制子层 + MAC介质访问控制子层