gpt4 book ai didi

icmp - 在 ICMP 套接字上接收数据

转载 作者:行者123 更新时间:2023-12-02 06:45:34 24 4
gpt4 key购买 nike

在 ICMP 套接字上接收时(SOCK_RAW 和 IPPROTO_ICMP),因为ICMP协议(protocol)中没有“端口”的概念,怎么能应用程序确定接收到的数据包不是其他数据包的一部分TCP/UDP/任何套接字传输也发生在同一时间?

例如,假设您有一个具有 2 个线程的应用程序。线程 1建立一个 TCP 服务器套接字,并不断地从一个连接的客户端。线程 2 不断发送回显请求包使用 ICMP 套接字 (ping) 到同一个客户端,然后接收回显回复。什么是阻止线程 2 接收 TCP 之一数据包代替?

最佳答案

ICMP 是不同于 TCP 和 UDP 的协议(protocol),由 IP header 中的协议(protocol)字段确定。 .当您使用 IPPROTO_ICMP 打开套接字时,您是在告诉套接字仅发送和接收带有协议(protocol)字段设置为 ICMP 的 IP header 的数据包。

同样,使用 IPPROTO_TCPIPPROTO_UDP 打开的套接字仅响应其 IP header 包含分别设置为 TCP 或 UDP 的协议(protocol)字段的数据包。

关于icmp - 在 ICMP 套接字上接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1128825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com