当前位置:网站首页>[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
边栏推荐
猜你喜欢

倍福NC轴状态转移图解析

Biff TwinCAT can quickly detect the physical connection and EtherCAT network through emergency scan

倍福通过CTU和TON实现时间片大小和数量的控制

Detailed explanation of C const: definition and use of C constant

5月产品升级观察站

Word document export (using fixed template)

倍福PLC基于CX5130实现数据的断电保持

mysql讲解(一)

Beifu PLC realizes data power-off maintenance based on cx5130

Beifu PLC based on NT_ Shutdown to realize automatic shutdown and restart of controller
随机推荐
Electron official docs series: Best Practices
Electron official docs series: Examples
Opencv high speed download
What are the common categories of software testing?
QT . Establishment and use of pri
倍福CX5130换卡对已有的授权文件转移操作
Machine learning notes - seasonality of time series
Reflect the technical depth (unable to speed up)
IDC报告:百度智能云AI Cloud市场份额连续六次第一
UVA10341 solve it 二分
Electron official docs series: Development
Vivado error code [drc pdcn-2721] resolution
What should the software test report include? Interview must ask
倍福Ethercat模块网络诊断和硬件排查的基本方法
Electron official docs series: Contributing
倍福将EtherCAT模块分到多个同步单元运行--Sync Units的使用
Uva5009 error curves three points
Copy multiple Excel files and name them different
Electron official docs series: Distribution
OPLG: 新一代云原生可观测最佳实践