当前位置:网站首页>Network foundation - header, encapsulation and unpacking

Network foundation - header, encapsulation and unpacking

2022-07-07 07:03:00 abs(ln(1+NaN))

Catalog

One 、 understand " Headlines "

1、 What is a header ?

2、 Why do I need a header ?

3、 What information does the header contain ?

Two 、 understand " encapsulation "

3、 ... and 、 understand " Unpack "

1、 How to unpack

 2、 Who is going to pass it on to the upper level


The following is an example of express delivery , To understand the header 、 Package and unpack .

Suppose you buy a bottle of shampoo online , The seller helped you put it in the box , The quality of this product is marked on the box ( How many grams? ) Etc , And then gave it to the express station , The express station pasted the express bill and sent the express .

One 、 understand " Headlines "

1、 What is a header ?

There are two things mentioned above , The product information on the express order or box here 、 The seller's address is similar to the information contained in the header .

From the perspective of network , This product is data , Before the application layer sends this data to the transport layer , Need to add a header , The header contains the effective length of the data 、 What is the upper layer protocol .

2、 Why do I need a header ?

Take a counterexample , If there is no header , That is to say, there are no express orders and product boxes , We have no idea where this thing comes from , I don't know where to send it , In this case, data transmission cannot be carried out .

3、 What information does the header contain ?

From the application layer to the data link layer , Each layer has its own protocol , And almost every layer will add a header , The header contains two important information as follows , These two information will be of great use in the unpacking process !

- The length of the current layer header

- The protocol used by the current layer

Because different hosts need to communicate , The protocol used by the corresponding layer must be the same , For example, you ship goods in SF , The other party is waiting for express delivery in Yuantong , This is obviously unreasonable .

Two 、 understand " encapsulation "

So what is encapsulation ?? We put shampoo in a box , Stick the express bill on the box , This process is encapsulation !!

The blue square in the above figure represents the header added by the application layer —— Including the length of the payload ( Later, the data is uniformly called load )

The orange square in the figure above represents the addition of the transport layer " Headlines " —— It includes who the upper layer agreement is ( That is, where it came from )、 Added by the current layer " Headlines " length .

Network transmission , Every time a layer is passed down, a layer of content will be added at the top .

3、 ... and 、 understand " Unpack "

Suppose the seller receives the express , The outer layers of packaging 、 Express bill 、 And the product box for sellers , It's all unnecessary , The seller disassembles the express , The process of unpacking is called unpacking !

Each layer only unlocks the header corresponding to the current layer , Now the two important contents in the header can be used

- The length of the current layer header ( For unpacking )

- Upper layer protocol ( Which agreement to pass to the upper layer )

1、 How to unpack

Standing on the OS The kernel angle , We only have a pointer to the beginning of the packet , Now we know the length of the header of the current layer , We just need to move the pointer to the right by the corresponding position .

 2、 Who is going to pass it on to the upper level

Now unpacking is over , Then continue to pass up , Who should I give it to ? You may ask , This is not a direct layer " Transport layer " Do you ? 

To be exact, which agreement should be given to the upper layer , For example, the seller is SF shipping , But you are waiting at Yuantong Express Station , This must be unreasonable .

From the perspective of network , The other side of using UDP agreement , The header contains this information , You should send it to the transport layer UDP

原网站

版权声明
本文为[abs(ln(1+NaN))]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207070218464542.html