icmp协议
老王不让用
芝兰生于幽谷,不以无人而不芳; 君子修身立德,不为穷困而改节
展开
-
linux内核协议栈 icmp协议初始化
目录1 ICMP收包处理函数初始化2 ICMP协议模块初始化2.1icmp_sk_init()【核心】1 ICMP收包处理函数初始化我们知道icmp协议是附属于ip层的3层协议,且是将icmp数据存放于ip数据包的数据部分的3层协议。而tcp、udp也是将tcp、udp数据存放于ip数据包的数据部分的4层协议。虽然icmp与tcp等协议不属于同一个网络层,但是都是在3层ip协议处理完以后,才会交给icmp、tcp的处理函数去处理。因此在linux中,都是调用inet_add...转载 2020-11-09 18:08:38 · 487 阅读 · 0 评论 -
linux内核协议栈 icmp 报文收发流程
1 ICMP报文接收1.1 icmp_rcv() 实现在ip层判断是icmp报文之后,会调用icmp_rcv()来处理 icmp 类型的报文对数据包进行合理性检查 根据icmp的类型,分类处理/* * Deal with incoming ICMP packets. */int icmp_rcv(struct sk_buff *skb){ struct icmphdr *icmph; struct rtable *rt = skb_rtable(skb); str...转载 2020-11-09 15:32:50 · 5112 阅读 · 2 评论 -
linux内核协议栈 icmp 协议概述与数据结构
1 ICMP协议概述ICMP协议是网络层中一个非常重要的协议,其全称为InternetControlMessageProtocol(因特网控制报文协议),ICMP协议弥补了IP的缺限,它使用IP协议进行信息传递,向数据包中的源端节点提供发生在网络层的错误信息反馈。在实现中,路由器会使用该协议来报告问题,而主机则会使用该机制来测试目的站是否可达。该报文的最终目的地不是一个应用程序或者目的设备上的用户,而是目的设备上的网际协议软件,一般icmp报文的接收是linux内核里的icmp接收模块来...转载 2020-11-08 22:02:34 · 2420 阅读 · 0 评论