当前位置:网站首页>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 "
3、 What information does the header contain ?
Two 、 understand " encapsulation "
3、 ... and 、 understand " 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
边栏推荐
猜你喜欢
ANR 原理及实践
Data of all class a scenic spots in China in 2022 (13604)
如何给目标机器人建模并仿真【数学/控制意义】
Matlab tips (29) polynomial fitting plotfit
Stack and queue-p79-10 [2014 unified examination real question]
This article introduces you to the characteristics, purposes and basic function examples of static routing
健身房如何提高竞争力?
Master-slave replication principle of MySQL
途家、木鸟、美团……民宿暑期战事将起
[GNN] graphic gnn:a gender Introduction (including video)
随机推荐
【JDBC以及内部类的讲解】
MySql用户权限
带你刷(牛客网)C语言百题(第一天)
How can gyms improve their competitiveness?
libcurl返回curlcode说明
Complete process of MySQL SQL
LM11丨重构K线构建择时交易策略
Stack and queue-p78-8 [2011 unified examination true question]
Unable to debug screen program with serial port
请教一个问题,flink oracle cdc,读取一个没有更新操作的表,隔十几秒就重复读取全量数据
大咖云集|NextArch基金会云开发Meetup来啦
从零到一,教你搭建「CLIP 以文搜图」搜索服务(二):5 分钟实现原型
快速定量,Abbkine 蛋白质定量试剂盒BCA法来了!
linux系统rpm方式安装的mysql启动失败
请问 flinksql对接cdc时 如何实现计算某个字段update前后的差异 ?
Answer to the second stage of the assignment of "information security management and evaluation" of the higher vocational group of the 2018 Jiangsu Vocational College skills competition
MYSQL binlog相关命令
剑指offer-高质量的代码
Abnova循环肿瘤DNA丨全血分离,基因组DNA萃取分析
一条慢SQL拖死整个系统