数据封装与解封

主要是了解在OSI七层参考模型中数据是怎样传递的。

发送方:

1.png

例如A主机位发送方,B主机为接收方,A主机开了一个QQ应用进程,发了一个Hello这样的应用层数据,B主机也开了一个QQ进程,接收Hello这个数据。

这个数据的封装过程是发送方从应用层一直到物理层,接收方是从物理层还原到应用层。

传输层:

以发送方为例,QQ这个进程发了Hello这个消息,这个消息到达传输层,会封装进传输层的包头,在传输层包头中最重要的是源端口和目标端口,指明Hello这个消息是由哪一个应用程序发出来的,要去往哪一个应用程序。

2.png

网络层:

到达网络层的时候,在传输层的报文前面封装一个IP包头,IP包头指明这个消息是从那一台主机过来的,要去往那一台主机,网络层的包头主要是IP协议,IP协议主要是有一个源地址和一个目标地址。

3.png

数据链路层:

从网络层到达数据链路层的时候,数据链路层在OSI七层参考模型中定义了两层,LLC子层和MAC子层,实际上只用了MAC子层,就是在IP数据报文前面封装一个链路层的首部,在报文后面封装了一个FCS(帧校验序列),这个MAC层地址指的是每一段链路它的源MAC和目的MAC。

物理层:

最后到达物理层,物理层把帧变成比特,把比特进行编码,通过网络透明的传输到接收方。

接收方:

接收方物理层接收到信息之后,看那一个比特大哪一个比特是一帧,然后交付给链路层。

链路层去掉MAC层的首部,交付给对应的网络层。

网络层去掉IP首部交付给传输层。

传输层看里面的端口是交给谁的,具体交付给接收方的应用程序,接收方就可以发现Hello这个信息。


二维码

发表评论