当前位置:网站首页>[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 .

 Insert picture description here

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
 Insert picture description here
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

原网站

版权声明
本文为[Currybeefer]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/177/202206261206175877.html