当前位置:网站首页>[how to connect the network] Chapter 2 (next): receiving a network packet
[how to connect the network] Chapter 2 (next): receiving a network packet
2022-06-26 13:16:00 【Currybeefer】
Previously, we discussed the sending of a network packet , Now let's take a look at what a computer or server will do when it receives a network packet .
In a half duplex Ethernet , Packets sent by a device will be received by all devices connected to the hub , So the receive operation will receive many packets that may not be sent to itself .

First PHY(MAU) The module first converts the signal into a general format and then sends it to MAC modular ,MAC The module reads the synchronization clock of the header and the start frame delimiter , Convert everything behind the section break into digital information , Check the tail again FCS See if there is any error in this package , If something goes wrong, throw it away .
If FCS That's right ,MAC The module is about to query MAC Receiver's in the header MAC Address and own network card MAC Is the address consistent , To determine whether the bag was sent to you , If not, discard the bag . If yes, drop the packet into the buffer of the network card , Then the network card will call the interrupt of the operating system , Let the operating system protocol stack look at the newly received package .
After the protocol stack comes , Namely IP The work of the module ,IP The module will view the data package IP Header information , confirm IP The address of the receiver in the header is not itself . If not ,IP The module will send ICMP The message informs the sender of the error .
If correct , Then give it to TCP The module handles ,TCP Module will view IP Sender of header IP Address and receiver IP Address , as well as TCP The port numbers of the sender and receiver of the header are used to find out whether there is a corresponding socket in their protocol stack , Find the corresponding socket , Then you can carry out the corresponding operation . for example , If the contents of the package are data , Then return to confirm the received packet , Then put the data into the buffer and other upper applications ( browser ) To read . If it is a connected or disconnected package , Then the corresponding response control package , Then tell the upper application the corresponding status .
There's also a little Tips
Send the whole , forward , The whole process of receiving can refer to this animation , Very detailed :
https://www.bilibili.com/video/BV1c4411d7jb?p=9&vd_source=5898cd61d2d78c3c6feae32e4c4101c6
边栏推荐
猜你喜欢

Mode pont

Composite mode

Decorator

倍福EtherCAT Xml描述文件更新和下载

Electron official docs series: Get Started

Beifu PLC model selection -- how to see whether the motor is a multi turn absolute value encoder or a single turn absolute value encoder

首批通过!百度智能云曦灵平台获信通院数字人能力评测权威认证
Summary of wechat applet test points

倍福PLC通过程序获取系统时间、本地时间、当前时区以及系统时间时区转换

Detailed explanation of C const: definition and use of C constant
随机推荐
Typescript
解中小企业之困,百度智能云打个样
What are the common categories of software testing?
Processing random generation line animation
UVa11582 [快速幂]Colossal Fibonacci Numbers!
HDU1724[辛普森公式求积分]Ellipse
Chapter 01_ Installation and use of MySQL under Linux
倍福将EtherCAT模块分到多个同步单元运行--Sync Units的使用
Adapter mode
Angle de calcul POSTGIS
倍福PLC实现绝对值编码器原点断电保持---bias的使用
8. [STM32] timer (TIM) -- interrupt, PWM, input capture experiment (proficient in timer)
Electron official docs series: Testing And Debugging
倍福PLC基于CX5130实现数据的断电保持
倍福EtherCAT Xml描述文件更新和下载
Power Designer - Custom Comment button
Processsing function random
Beifu PLC obtains system time, local time, current time zone and system time zone conversion through program
C - Common Subsequence
Fire warning is completed within 10 seconds, and Baidu AI Cloud helps Kunming Guandu build a new benchmark of smart city