国际标准化组织(ISO)1984年颁布的开放系统互连(OSI)参考模型: 应用层:人机交互窗口,用户将信息输入到计算机中(即用户看到的界面) 表示层:数据的表示、安全、压缩(将接收到的信息翻译成计算机语言,即二进制数,并对 数据进行压缩或者解压、加密或者解密) 会话层:建立、管理、终止会话(管理是否允许建立不同机器之间的会话) 传输层:定义传输数据的协议端口号,以及流控和差错校验,即不同软件端口号的区别(例如是微信或是QQ的区别) 网络层:进行逻辑地址搜寻,实现不同网络之间的路径选择,相当于家庭住址 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等 物理层:建立、维护、断开物理连接(网线、无线电波等硬件)
另外一个著名的模型就是TCP/IP模型,TCP/IP是传输控制协议/网络互联协议(Transmission Control Protocol/Internet Protocol)的简称。如下图所示,早期的TCP/IP模型是一个四层结构,从下往上依次为网络接口层、互联网层、传输层和数据链路层。在后来的使用过程中借鉴OSI的七层模型,形成了一个新的五层模型。TCP/IP是一系列协议的组合,所以严格的称号应该是TCP/IP协议簇。
TCP/IP协议簇的传输层协议主要有两个:TCP协议和UDP协议
数据封装过程 在应用层,数据被翻译成计算机语言,即二进制编码 在传输层 ,上层数据被分成小的数据段,并且每个分段都会封装成TCP报文头部,在TCP报文头部有个关键字段信息----------源端口号和目的端口号,端口号用于标识上层的协议或应用程序,确保上层应用数据的正常通信 在网络层,上层数据(这里的上层数据包括TCP头部)被封装成一个新的IP头部,IP头部包括源IP和目的IP,就像寄信需要我们在信封上写上寄件人地址和收件人地址一样,IP地址就相当于我们在网络上的家庭地址,上层数据和IP地址被封装成一个数据包送往下一层 在数据链路层,上层数据和MAC地址被封装成MAC头部,MAC头部包括源MAC地址和目的MAC地址,MAC地址为硬件设备中的物理地址,具备全球唯一性,上层数据和MAC地址被封装成一个数据帧送往下一层 在物理层,之前封装的报文头部和上层数据都为二进制,物理层的作用就是将这些二进制组成的比特流转化成电信号在网络中传输
数据解封装过程 数据被封装完毕通过网络传输到接收方后,将进入数据的解封装过程,这就是封装过程的一个逆过程