数据是怎样在两台主机之间进行传送的呢?

 假设我们有两台主机A和B,我们要从A主机向B主机发送数据,数据的传送路线是怎样的呢?

 现在我以QQ这个应用程序为例,来讲解双方互相通信的过程。

比如你正在用QQ正在和你的好朋友通信,你用QQ给它发了句“睡了吗”,那这句睡了吗?是通过怎样的路径到对方的qq中,让对方看到呢?

首先:我们的QQ会以“app+睡了吗”这样的形式先进行第一次封装,这一层是在操作系统内核的用户区进行的第一次封装。即只是进行一个普通的标识。

(2)这个消息被传送到传输层,传输层会以“tcp报头+应用数据”这样的形式进行封装。这个操作是内核做的,所谓内核即就是操作系统。

(3)然后这个消息到达网络层,网络层会以“IP报头+应用层数据”这样的形式进行封装,这个操作当然也是内核做的。

(4)再然后这个消息到达数据链路层,数据链路层会”以太网首部+应用数据+以太网尾部”这样的形式进行最后的封装,现在我们将这个数据已经封装好了。

(5)最后这个数据通过总线到达主机接口,再通过网线被送到主机A的接口,然后通过协议我我们在把报头层层去掉,最后数据到达我们的应用层。即实现了数据传输。

以上就是数据传输的5步,当然这是根据tcp/ip协议来进行传输的。

当我们的数据到达主机接口处时,其实我们的数据以经封装好了,而我们的网线只是负责传输即可。即以下4层都是由我们的内核实现的。

  • 我们暂且不讨论加每一层报头的作用。

猜你喜欢

转载自blog.csdn.net/weixin_40797414/article/details/81151081
今日推荐