我们当今使用电子设备都离不开网络,通过网络我们可以聊天、玩游戏、看电影都操作。
网络的本质就是交换数据。
本文我们就来看下数据是如何在网络中传输的。
计算机网络模型
现在有两种计算机网络模型,分别为OSI七层模型和TCP/IP四层模型
OSI将计算机网络分为了7层,TCP/IP将计算机网络分为了4层
计算机网络书中为了更好的解释运行原理,将TCP/IP模型改变成了五层模型,将TCP/IP四层模型中的网络接口层分为了数据链路层和物理层。
本文也采用五层模型来解释数据在网络中的传输流程。
TCP/IP五层模型从上到下分为五层,下层为上层提供服务。
1、应用层
应用层是最顶层,直接为用户提供各种各样的传输功能,比如超文本传输协议HTTP用于网页浏览、电子邮件传输协议SMTP用于邮件传送等。
2、传输层
应用层的提供的传输功能多种多样,传输层会对应用层的数据进行包装,通过引入端口号来唯一标识一种传输功能,并且保证数据传输的流量控制、差错控制。
3、网络层
网络层又是对传输层的包装,网络层引入IP地址的逻辑地址信息,将数据在网络中传输。
4、数据链路层
5、物理层
传输流程详解
本文以一个数据包的传输为例,来说明传输流程。我们就以一个HTTP请求数据包为例子来说明。
发送数据的计算机叫做源计算机,接收数据的计算机叫做目标计算机。
应用层
首先一个HTTP数据包在应用层中大概包含以下信息,比如HTTP协议的版本号、各种字段属性值、最后是包含的要发送的实际数据。
传输层
传输层对应着有UDP和TCP两种协议,HTTP采用的是TCP协议,因为TCP能够提供差错