目录
分层思想
将复杂的流程分解为几个功能相对简单的子过程称为分层思想。
分层后可以使整个流程更为清晰,复杂问题简单化。更容易发现问题并针对性的解决问题。
OSI参考模型
国际标准化组织(International Standard Organization,ISO)
1984年颁布了开放系统互连(Open System Interconnection,OSI)参考模型,一个开放式体系结构。将网络分为了七层。每一层都有其特定的功能。
1.应用层:提供与用户的一个接口
2.表示层:定义传递信息的语法和语义、编码和解码、压缩解压缩、加密解密
3.会话层:建立用户间的会话关系,管理是否允许不同机器上用户建立会话连接关系
4.传输层:用户进程间的通信、承上启下。将上层的数据分片并且加上端口号,封装数据段,实现网络中不同主机用户进程之间的数据
5.网络层:数据包封装结构、源和目的方的逻辑地址、根据包头的逻辑地址选路,实现数据从源端到目的端的数据传输
6.数据链路层:数据帧封装结构、源和目的方的物理地址(MAC地址)差错效验功能,也就是将上层数据加上源和目的地址封装成数据帧,建立数据链路
7.物理层:物理接口的特性,通信双方如何建立和终止连接,数据传输是否可同时在两个方向进行,如何使用物理信号表示数据1和0,也就是将这些二进制数字组成比特流转换成电信信号在网络中传输
TCP/IP参考模型
TCP/IP是传输控制协议/网际协议的简称。早期的TCP/IP模型是一个四层结构,从下往上依次是网络接口层、互联网层、传输层、应用层。在后来的使用过程中,借鉴了OSI的七层参考模型,将网络接口层分为了物理层和数据链路层,形成了一个新的五层结构。TCP/IP是一系列协议的集合,所以严格的称呼应该是TCP/IP协议族。
TCP/IP模型与OSI模型参考模型在很大程度上都是功能都是相似的
数据封装及解封过程
1.数据封装过程
数据在网络传输中是一步步的进行传输的,经过每一层都会加上对应的头部信息,而这一层封装上去的内容,就是“协议数据单元“,也就是PDU
数据封装是应用层将接收的数据转化成二进制数据在进行压缩和加密成上层数据,往下走,在传输层加上TCP头部,打包后在网络层再加上IP头部,打包后在数据链路层再加上MAC头部,打包后在物理层封装成信号发出去。
2.数据解封过程
数据解封和数据封装过程是相反的是从物理层>数据链路层>网络层>传输层>应用层
数据解封是从物理层将电信信号转化成二进制数据包传输给数据链路层;数据链路层会查看MAC地址,地址符合拆掉MAC头部,继续传输网络层,地址不符合,丢弃数据;网络层查看IP地址,符合就拆掉IP头部,再传输给传输层,地址不符合就丢弃数据;传输层查看TCP端口,符合就拆掉TCP头部,判断数据类型重组数据传输到相应的应用层上,不符合就丢弃数据;应用层就把上层数据转化成原始数据,读取.
PDU(Protocol Data Unit)
计算机分层网络结构中,每一层都将建立协议数据单元PDU(Protocol Data Unit)
PDU包含来自上层的信息和当前层的实体附加的信息,这个PDU会被传送到下一较低的层。物理层实际以一种编帧的位流形式传输这些PDU,这些PDU由协议栈的较高层建造。接收系统自下上传送这些分组通过协议栈,并在协议栈的每一层分离出PDU中的相关信息。
设备与层的对应关系
各层间通信
每一层都是通过对应的协议进行通信
TCP/IP协议栈中各层的主要协议
数据在TCP/IP协议栈中的封装和解封装