ping的并发实现如何区分多个进程,如何不乱序

来源:百度知道 编辑:UC知道 时间:2024/06/15 10:47:54
在windows下可以打开两个cmd程序进行ping操作,而ping运行的是ICMP协议,是网络层的协议,那两个并发的ping进程是如何区分的呢?因为网络层没有端口可用于区分,那主机是如何区分是哪个ping程序发出的数据包,应答消息又传递给哪个ping程序呢

操作系统内核把从网卡收到的所有ICMP报文复制给每一个关心ICMP协议的原始套接字,并行执行的每个ping程序都能收到一份复本,并通过进程pid来区分是不是自己发送的,也即协议里带了进程pid。