-
ARP报文在Linux内核协议栈传输时,不经过PREROUTING链而直接到达netfilter的INPUT链,主要是因为ARP协议工作在数据链路层(L2),而不是网络层(L3)。在TCP/IP协议栈中,PREROUTING链主要用于处理进入本机的网络层数据包,而ARP报文并不包含IP头部,因此不会被视为网络层数据包。
-
当ARP报文到达网络接口时,它首先由数据链路层处理,然后根据ARP协议进行解析和响应。由于ARP报文不涉及IP路由决策,因此它不会触发PREROUTING链的处理。相反,如果ARP请求是针对本机的,它将被直接处理并生成ARP响应;如果ARP请求不是针对本机的,则通常会被忽略。
-
因此,ARP报文在Linux内核中的处理路径与网络层数据包不同,它不会经过PREROUTING链,而是直接由数据链路层和ARP协议处理机制来管理。
ARP报文在linux内核协议栈传输时,为什么没有经过PREROUTING,而是直接到达netfilter的INPUT
最新推荐文章于 2024-09-25 15:20:18 发布