网络数据接收过程经历了什么

简介: 网络数据接收过程经历了什么

解析数据接收的过程经历了什么

1.物理网卡

  • 物理网卡接收(vmware的网络适配器就是一个网卡,是vmware模拟的)
  • 物理网卡是光信号或者电信号与数字信号的相互转换

2.NIC

  • 接收后每个网卡都会配对的有一个网络适配器(NIC
  • 问题,NIC什么数据结构存?
  • 使用ifconfig就是查看NIC的数量以及相关信息
  • 网卡每来一帧数据NIC都会将它组织成sk_buff(其中有很多指针,指向数据包中的各个层的头部),发送给协议栈,协议栈就解析其各个头

3.内核协议栈

  • NIC把数据抛给内核协议栈,协议栈解析其sk_buff中指向的各个头,注意这个协议栈是所有网卡共用的
  • 协议栈与NIC驱动的数据交互是怎样的
  • 网卡每来一帧数据NIC都会将它组织成sk_buff(其中有很多指针,指向数据包中的各个层的头部),发送给协议栈,协议栈就解析其各个头

4.标准接口层Posix API

  • 标准接口层调用各种网络系统调用

5. 应用层

应用层就接收到了…

上述过程发生的拷贝

  1. 网卡数据拷贝到NIC,组织出sk_buff
  2. APP调用recv..将数据从内核态拷贝到用户态
相关文章
|
5月前
|
存储 监控 Cloud Native
剖析Linux网络包接收过程:掌握数据如何被捕获和分发的全过程(上)
剖析Linux网络包接收过程:掌握数据如何被捕获和分发的全过程
|
5月前
|
缓存 网络协议 Linux
网络的救命稻草:重传机制如何确保数据顺利传输?
在网络传输中,数据的可靠性和稳定性一直是一个重要的挑战。幸运的是,重传机制应运而生,为我们解决了这个问题。本文将深入探讨重传机制在网络中的应用和工作原理。我们将介绍TCP中最常见的超时重传和快速重传,以及SACK和D-SACK这两种高级重传机制。了解这些机制如何工作可以帮助我们更好地理解数据传输的可靠性和稳定性的保障。
123 1
网络的救命稻草:重传机制如何确保数据顺利传输?
|
5月前
|
网络协议 Linux 应用服务中间件
数据包的奇妙旅程:揭秘网络传输的7个关键步骤
在发送数据包的过程中,不同层次的网络协议扮演着不同的角色。数据包在经过多层封装后,通过网络设备和路由器进行转发,并最终到达目标设备。在每个层次中,都会进行相应的处理和解封装,以确保数据包能够正确传输和被接收端处理。整个过程涉及到了物理层、数据链路层、网络层、传输层和应用层等多个层次的协议和设备。尽管在简化的示例中,发送数据包的过程相对简单,但实际情况中会更加复杂,需要通过路由表选择最佳路径来保证数据包的快速、高效传输。整个过程展示了网络分层结构的重要性和协同工作的复杂性。
127 0
数据包的奇妙旅程:揭秘网络传输的7个关键步骤
|
5月前
|
存储 网络协议 Linux
剖析Linux网络包接收过程:掌握数据如何被捕获和分发的全过程(下)
剖析Linux网络包接收过程:掌握数据如何被捕获和分发的全过程
|
9月前
|
运维 网络协议 应用服务中间件
C/S UDP通信实践踩坑记录与对于ICMP的进一步认识
C/S UDP通信实践踩坑记录与对于ICMP的进一步认识
|
网络协议 数据挖掘 程序员
计网之初识网络(理解网络传输的基本流程)
计网之初识网络(理解网络传输的基本流程)
28244 0
计网之初识网络(理解网络传输的基本流程)
|
Web App开发
浅析WebRtc中视频数据的收集和发送流程
本文是基于PineAppRtc开源项目github.com/thfhongfeng… 因为一个需求,我们需要将一个视频流通过WebRtc发送出去,所以就研究一下WebRtc是如何采集视频数据并进行处理发送的,于是有了这篇文章。
394 0
|
机器学习/深度学习 算法 安全
主动学习方法实践:让模型变“主动”
在机器学习的监督学习中,我们的目标是让模型不断学习带有标签的历史数据,从而提高模型在该领域的泛化能力。一般情况下,在上述的过程中,模型所学习的历史数据都是事先准备好的(数据采集,预处理,打标),有多少数据,模型就学习多少数据。换言之,模型在被动地学习我们事先提供的数据。本文分享一种主动学习方法,让模型参与“学习样本”的选择,根据不同策略,对样本池中的所有样本进行区分,提升模型性能。
742 0
主动学习方法实践:让模型变“主动”