首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    树莓派4有线网卡驱动调试笔记

    从树莓派底层玩家的角度上来看,树莓派4算的上一款比较好的开发板。在树莓派4之前,有线网卡的驱动都是接在USB设备上,也就是说之前的树莓派都是必须启用了USB协议,然后再开启网卡,这样网速的差别以及网络处理效率上的差别也就不敢恭维了。博通bcm的网卡芯片还是不错的,这次为树莓派4适配和千兆以太网口,配上树莓派4的a72的4核的芯片,真的算是非常的良心的开发板了。学习网络编程,除了熟悉各种TCP,UDP的协议之外,如果能够了解底层驱动的工作原理,那也算是锦上添花的事情。本文主要针对树莓派4有线网卡的驱动模型,以及数据收发的方式,进行梳理总结,同时学习一些比较好的网卡设计模式。

    01

    【Linux】数据链路层:以太网协议

    1. (1)IP提供了将数据包跨网络发送的能力,这种能力实际上是通过子网划分+目的ip+查询节点的路由表来实现的,但实际上数据包要先能够在局域网内部进行转发到目的主机,只有有了这个能力之后,数据包才能跨过一个个的局域网,最终将数据包发送到目的主机。 所以跨网络传输的本质就是跨无数个局域网内数据包转发的结果,离理解整个数据包在网络中转发的过程,我们只差理解局域网数据包转发这临门一脚了。 (2)而现在最常见的局域网通信技术就是以太网,无线LAN,令牌环网(这三种技术在数据链路层使用的都是MAC地址),早在1970年代IBM公司就发明了局域网通信技术令牌环网,但后来在1980年代,局域网通信技术进入了以太网大潮,原来提供令牌网设备的厂商多数也退出了市场,在目前的局域网种令牌环网早已江河日下,明日黄花了,等到后面进入移动设备时代时,在1990年,国外的一位博士带领自己的团队发明了无线LAN技术,也就是wifi这项技术,实现了与有线网一样快速和稳定的传输,并在1996年在美国申请了无线网技术专利。 今天学习的正是以太网技术。

    02

    tcpdump原理及常用命令

    Linux抓包是通过注册一种虚拟的底层网络协议来完成对网络报文(准确的说是网络设备)消息的处理权。当网卡接收到一个网络报文之后,它会遍历系统中所有已经注册的网络协议,例如以太网协议、x25协议处理模块来尝试进行报文的解析处理,这一点和一些文件系统的挂载相似,就是让系统中所有的已经注册的文件系统来进行尝试挂载,如果哪一个认为自己可以处理,那么就完成挂载。当抓包模块把自己伪装成一个网络协议的时候,系统在收到报文的时候就会给这个伪协议一次机会,让它来对网卡收到的报文进行一次处理,此时该模块就会趁机对报文进行窥探,也就是把这个报文完完整整的复制一份,假装是自己接收到的报文,汇报给抓包模块。(聊聊 tcpdump 与 Wireshark 抓包分析)

    03
    领券