Linux以太网卡软硬件架构

34 篇文章 0 订阅 ¥299.90 ¥99.00

一、Linux网络结构

Socket

与字符设备和块设备不同, 网络设备比较特殊并不对应于/dev目录下的文件,因此网卡不能利用设备文件访问。原因在于网络通信期间,数据打包到了各种协议层中。在接收到数据时,内核必须针对各协议层的处理,对数据进行拆包与分析,然后才能将有效数据传递给应用层。在数据发送时,内核必须首先根据各个协议层的要求打包数据,然后才能发送。

为了支持通过文件接口处理网络连接,Liunx使用了源于BSD的套接字(Socket)抽象。因此在Linux中,TCP/IP协议实现的最上层是BSD套接口层,BSD套接口提供了一整套网络编程socket()函数,一般的网络应用程序都采用socket()函数(Linux内核支持的协议栈种类较多, 如Internet、 UNIX、 CAN、 NFC、 Bluetooth、 WiMAX、 IrDA等,上层的应用程序统一使用套接字接口)。

因此Socket可以看作应用程序、文件接口、内核的网络实现之间的代理,应用程序最终使用Socket完成与网络设备的接口;在网络设备身上并不能体现出“一切都是文件”的思想。

但是需要注意网络接口与虚拟文件系统之间时有联系的,比如虚拟文件系统利用网络接口支持网络文件系统NFS。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张帅峰_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值