- 博客(9)
- 资源 (14)
- 收藏
- 关注
原创 Linux IGMP SNOOPING 学习笔记 之二 igmp数据包处理
上一节分析了igmp snooping初始相关的流程,这一节主要是分析igmp 数据包处理流程。 一、br_multicast_rcv该函数是igmp snooping留给网桥子系统的外部接口函数,当网桥接收了igmp数据包后就会调用该函数进行后续处理。 什么时候会调用到函数br_multicast_rcv?主要有2个地方会调用到这个函数a)网桥数据转发流程当网桥端
2014-04-28 00:36:11 13843
原创 Linux igmp snooping 学习笔记 之一 相应的数据结构与初始化
一、igmpsnooping相关的数据结构组播相关的数据结构主要有三个,下面分别分析: 1、struct net_bridge_mdb_htable /*组播组数据库转发表,该结构体将所有的组播组数据库转发项通过hash数组连接到一起*/struct net_bridge_mdb_htable{ structhlist_head
2014-04-27 15:10:52 7317 3
原创 Linux IGMP 学习笔记 之一 IGMP协议格式
一、IGMP定义及分类IGMP:INTERNET组管理协议,与广播最大的不同是,IGMP允许每一个网络设备决定是否参与到一个特定的多播群组中。 IGMP的ip地址,组播ip地址的范围为224.0.0.0-239.255.255.255。其中224.0.0.1代表子网上的所有计算机,224.0.0.2代表子网上的所有路由器。另外,多播ip地址只可作为目的地址,而且不能生成关于多播
2014-04-24 19:38:07 13320
原创 Linux icmp 学习笔记 之三 icmp相关疑问分析
在上一节的分析中,曾留下3个疑问:在分析icmp数据包处理流程之前,我有如下疑问:1、为什么要为每一个cpu创建一个仅用于发送icmp报文的socket呢,不使用socket不也是可以把icmp报文发送出去吗?2、ping的工作原理是什么呢?3、Traceroute的工作原理是什么呢?1、对于第一个问题,通过上一节的分析,应该有如下原因a)加锁访问,保证同一时刻只能发送一个
2014-04-21 21:52:56 2088
原创 Linux icmp 学习笔记 之二 icmp数据处理流程
在分析icmp数据拜处理流程之前,我有如下疑问:1、为什么要为每一个cpu创建一个仅用于发送icmp报文的socket呢,不使用socket不也是可以把icmp报文发送出去吗?2、ping的工作原理是什么呢?3、Traceroute的工作原理是什么呢? 一、imcp协议的初始化1)ICMP接收处理函数的初始化我们知道icmp协议是附属于ip层的3层协议,且是将icmp数
2014-04-21 00:27:35 16756
原创 Linux icmp 学习笔记 之一 icmp协议相关的格式
前段时间看了 ICMP协议是网络层中一个非常重要的协议,其全称为Internet Control Message Protocol(因特网控制报文协议),ICMP协议弥补了IP的缺限,它使用IP协议进行信息传递,向数据包中的源端节点提供发生在网络层的错误信息 反馈。 在实现中,路由器会使用该协议来报告问题,而主机则会使用该机制来测试目的站是否可达。该报文的最终目的地不是一个应用程序或
2014-04-17 23:45:25 6743
原创 Linux邻居协议 学习笔记 之七 arp数据包处理流程
上面一节分析了arp协议的初始化过程。本节主要是arp数据包的处理流程,在arp初始化时,通过调用dev_add_pack将arp协议的接收处理函数添加到了三层协议数据包处理函数相关的hash链表ptype_base中(关于三层协议数据包处理函数相关的hash链表,请参考文档)。当底层接收到属于本机的arp数据包时,就会调用arp_rcv进行后续处理。 下面我们就分析arp_rcv以及与
2014-04-07 13:37:08 9245 1
原创 Linux 三层、四层接收数据处理函数相关的链表
在底层接收到数据后,通过底层网卡驱动处理完成后,会调用函数netif_receive_skb进行二层mac子层进行处理,对于需要本机处理的三层数据包,是如何调用各三层处理函数的呢?对于ip子层处理完以后,需要发送到本地上层继续处理的数据包,又是如何调用相应四层处理函数的呢? 三层数据接收处理相关的链表及处理流程1、 三层的协议有arp、ipv4、ipv6、ipx等,我比较熟悉且用
2014-04-03 23:21:15 2861
原创 Linux邻居协议 学习笔记 之六 arp协议处理初始化
上面分析完了通用邻居层的架构以及代码处理,下面分析ipv4的邻居协议arp。对于linux邻居协议层,我认为通用邻居层是最重要的实现,arp协议层的处理,主要是涉及三个方面:1、处理arp请求、应答,并创建相应的邻居项 2、发送arp请求,并创建相应的邻居项 3、处理应用层通过ioctl创建或者删除邻居项的请求。它们最终都好调用通用邻居层的函数。 1、arp协议的格式
2014-04-02 23:43:35 3766
hwmon_driver_V1.0.tar.gz
2020-05-16
virtual_tty_driver.tar.gz
2020-04-13
virtual_tty_driver.tar.gz
2020-04-12
virtual_spi_controller_test.tar.gz
2020-03-25
virtual_i2c_controller_test.tar.gz
2020-03-23
linux-kconfig.tar.gz
2019-09-01
Linux netfilter 学习笔记
2019-02-24
linux platform架构解析资料
2019-02-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人