E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
网络协议栈
【Linux 内核
网络协议栈
源码剖析】网络栈主要结构介绍(socket、sock、sk_buff,etc)
通过前面的分析,可以发现,
网络协议栈
中的数据处理,都是基于各类结构体,所有有关于网络栈中数据包的状态,地址,端口等信息都封装在对应的结构中,可以说,了解这些数据结构是理解网络栈源码的基础,这里我们就来了解下
网络协议栈
中的各类数据结构
selfimpr1991
·
2020-07-12 18:03
TCP/IP
OpenSource
DDNS 的工作原理及其在 Linux 上的实现
本文通过分析DDNS的工作原理,简单演示了其在Linux
网络协议栈
的内核空间及用户空间创建ne
xingliyuan22
·
2020-07-12 17:51
redis 性能优化
UNIXDomainSocket是在socket架构上发展起来的用于同一台主机的进程间通讯(IPC),它不需要经过
网络协议栈
,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程
jackytse_
·
2020-07-12 17:59
redis
tcpdump源码分析(1)——介绍
同时能起到细化linux
网络协议栈
知识点的功效。第一篇从整体上来进行介绍,以及源码出处。Tcpdump由美国的LawrenceBerkeleyNationalLaboratory开发。
weixin_33772645
·
2020-07-12 07:06
Linux
网络协议栈
收消息过程-Ring Buffer
想看能不能完整梳理一下收消息过程。从NIC收数据开始,到触发软中断,交付数据包到IP层再经由路由机制到TCP层,最终交付用户进程。会尽力介绍收消息过程中的各种配置信息,以及各种监控数据。知道了收消息的完整过程,了解了各种配置,明白了各种监控数据后才有可能在今后的工作中做优化配置。所有参考内容会列在这个系列最后一篇文章中。RingBuffer相关的收消息过程大致如下:图片来自参考1,对raiseso
大哥您好
·
2020-07-12 04:59
net
Linux内核架构及内核裁剪
系统调用接口SCI:系统封装给用户空间的应用函数调用接口进程管理PM:管理进程调度虚拟文件系统VFS:针对各种文件系统封装的统一调用接口层内存管理MM:与CPU无关的内存管理代码,与CPU相关的在ARCH路径下
网络协议栈
弯弯的丝瓜
·
2020-07-12 03:54
linux
深入解析Glide源码
Glide是Google的开源项目,Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何
网络协议栈
里。
伯努力不努力
·
2020-07-12 02:25
安卓源码解析
开源框架解析
Go Ethereum P2P : 实现[2] RLPX EIP-8 详解
Ethereum
网络协议栈
、上一节,我们分析了基本的Ethereum网络通信的控制流程。
superwiles
·
2020-07-12 00:25
区块链
socket编程
滴滴打车应用使用socket编程接口来通过TCP/IP协议进行通信#requests库底层也是通过调用socket编程接口,到操作系统这层,通过TCP/IP协议就行传输#http协议是基于TCP/IP
网络协议栈
两种协议栈模型
一手代码,一手诗
·
2020-07-11 18:34
网络编程
python
linux内核
网络协议栈
--数据包的接收过程(二十)
本文将介绍在Linux系统中,数据包是如何一步一步从网卡传到进程手中的。本文只讨论以太网的物理网卡,不涉及虚拟设备,并且以一个UDP包的接收过程作为示例.本示例里列出的函数调用关系来自于kernel3.13.0,如果你的内核不是这个版本,函数名称和相关路径可能不一样,但背后的原理应该是一样的(或者有细微差别)网卡到内存网卡需要有驱动才能工作,驱动是加载到内核中的模块,负责衔接网卡和内核的网络模块,
bob62856
·
2020-07-11 15:16
云
Zero-copy
[1]Principle各种操作系统上的Zero-copy方式例如设备驱动程序,文件系统,
网络协议栈
,大大提高了某些应用程序的性能和系统资源利用率。在数据拷贝过到另外一个机器的过程中,
火焰雪人
·
2020-07-11 08:44
性能优化
JVM
杂谈
存储
基于DPDK+VPP实现高性能防火墙
多年来,各大操作系统(Linux/Windows/Freebsd)的
网络协议栈
一直都在内核中实现。其实
网络协议栈
只是一个应用,而不是操作系统的范畴,没有人规定
网络协议栈
一定是要早内核实现的。
网络安全研发随想
·
2020-07-11 06:10
网络安全
云计算和虚拟化
一个简单的回调函数模型
最近在参与一个项目
网络协议栈
SDK的开发,大部分功能都是用回调函数来实现的。现整理了一个简单的回调函数模型,算是对这一阶段工作的小总结吧。回调函数定义及调用在DLL中。
chexlong
·
2020-07-11 03:26
C/C++
走进Linux内核网络 报文是什么—sk_buff
如果把内核
网络协议栈
比作一个人,那么sk_buff就是流淌在他体内血管里红血球,它运输养分(数据)走遍全身(协议栈每一层)。一个sk_buff就是一个报文。
187J3X1
·
2020-07-11 03:08
packetdrill:测试TCP协议栈行为的利器
1.简介packetdrill是一个非常有用的用于测试
网络协议栈
的工具,由Google开发,它常用于对
网络协议栈
进行回归测试,确保新的功能不会影响原有功能。
187J3X1
·
2020-07-11 03:08
TCP协议栈
Linux
网络协议栈
开发基础篇(七)—— 网桥br0
一、桥接的概念简单来说,桥接就是把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。交换机就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。于是,与交换机相连的若干主机就能够通过交换机的报文转发而互相通信。如下图:主机A发送的报文被送到交换机S1的eth0口,由于eth0与eth1、eth2桥接在一起,
zqixiao_09
·
2020-07-10 15:01
Linux网络协议栈开发
数据包的linux 2.4
网络协议栈
之旅
Thejourneyofapacketthroughthelinux2.4networkstack作者:
[email protected]
,2000/10/1420:27:43翻译:
[email protected]
本文描述网络数据包在linux内核2.4.x中的传递过程。由于自2.2版本以来,序列化底半部被性能更优越的软中断系统所取代,该传
weixin_33851429
·
2020-07-10 07:13
openstack neutron(tap、qvb、qvo详解)(转)
TAP设备是一种工作在二层协议的点对点网络设备,每一个TAP设备都有一个对应的Linux字符设备,用户程序可以通过对字符设备的读写操作,完成与Linux内核
网络协议栈
Better_Mee
·
2020-07-10 03:33
OSI 开放互联模型 网络分层
虽然目前没有完全按照这种模型实现的
网络协议栈
,但是这种模型对于理解
qq_42247231
·
2020-07-10 00:05
Zigbee基础知识笔记
Zigbee基础知识笔记平台协议TIZStack-CC2530-2.5.1azigbee相关概念无线传感
网络协议栈
IEEE802.15.4标准概述ZigBee协议体系结构ZigBee协议物理层(PHY)
秋风知我意i
·
2020-07-09 22:37
Zigbee
linux内核
网络协议栈
--kernel bridge转发逻辑(十一)
1.netdev_rx_handler_register在分析之前首先要介绍一个重要函数:netdev_rx_handler_register,这个函数是2.6内核所没有的。netdev_rx_handler_register/**dev:要注册接收函数的dev*rx_handler:要注册的接收函数*rx_handler_data:指向rx_handler_data使用的数据*/intnetde
bob62856
·
2020-07-09 22:25
云
linux
网络协议栈
(链路层)
1.intnetif_receive_skb(structsk_buff*skb),该函数是网络设备驱动到链路层协议栈的接口函数,该函数最后会调用__netif_receive_skb_core函数,下面主要介绍函数流程1.1list_for_each_entry_rcu(ptype,&ptype_all,list){//遍历ptype_all,如果有则做相应处理,例如rawsocket和tcpd
编程老鸟
·
2020-07-09 21:14
linux
Linux 内核
网络协议栈
------sk_buff 结构体 以及 完全解释 (2.6.16)
在2.6.24之后这个结构体有了较大的变化,此处先说一说2.6.16版本的sk_buff,以及解释一些问题。一、先直观的看一下这个结构体~~~~~~~~~~~~~~~~~~~~~~在下面解释每个字段的意义~~~~~~~~~~~[cpp]viewplaincopystructsk_buff{/*Thesetwomembersmustbefirst.*/structsk_buff*next;struc
奔跑的路
·
2020-07-09 19:15
linux网络内核
了解linux
网络协议栈
(三)——协议栈实现
【Linux4.1.12源码分析】virtio_net之NAPI机制【Linux4.1.12源码分析】virtio_net之中断注册【Linux4.1.12源码分析】收包软中断和NAPI【Linux4.1.12源码分析】VXLAN之remcsum实现分析【Linux4.1.12源码分析】UDP层csum计算【Linux4.1.12源码分析】VXLAN之csum和remcsum实现分析(发包)【Li
奔跑的路
·
2020-07-09 19:43
linux网络内核
OpenvSwitch分析(一)
我会直接从源码开始,了解
网络协议栈
的实现,理解OVS的具体实现
珂兮
·
2020-07-09 18:12
虚拟化技术
Linux 网络编程之ioctl函数
1.介绍Linux网络程序与内核交互的方法是通过ioctl来实现的,ioctl与
网络协议栈
进行交互,可得到网络接口的信息,网卡设备的映射属性和配置网络接口.并且还能够查看,修改,删除ARP高速缓存的信息
chenjin_zhong
·
2020-07-09 14:45
Linux
网络编程
Linux
网络协议栈
之数据包处理过程
转贴于http://blog.csdn.net/wangxing1018/archive/2009/05/29/4224129.aspx感谢作者辛勤劳动1前言本来是想翻译《Thejourneyofapacketthroughthelinux2.4networkstack》这篇文章的。但在查阅相关的资料时,发现需要补充一些技术细节,才使得我这种菜鸟理解更加深刻,所以综合了上面两篇文档,在加上自己的裁
aaa6695798
·
2020-07-09 13:24
4G EPS 中的 Bearer
E-RABRadioBearerS1BearerS5/S8BearerDedicatedBearer的建立流程前文列表《4GEPS第四代移动通信系统》《4GEPS的架构模型》《4GEPS的
网络协议栈
》《
范桂飓
·
2020-07-09 11:42
4G
EPS
第四代移动通信网络
[LTE] LTE基本架构
这篇文章主要介绍LTE的最基础的架构,包括LTE网络的构成,每一个网络实体的作用以及LTE
网络协议栈
,最后还包括对一个LTE数据流的模型的说明。
轻舞飞扬SR
·
2020-07-09 08:15
LTE
Linux 802.1Q VLAN网络报文收发分析
VLAN网络报文接收:Linux
网络协议栈
接收处理物理网卡的网络报文,基本由neti
赤焰军
·
2020-07-09 07:29
linux
Virtual Routing and Forwarding
一简介VRF策略和路由规则配合在Linux
网络协议栈
中提供了一种创建虚拟路由与转发域地能力。一个典型的例子就是多租户问题,租户有自己地路由表,并且是不同的网关。
confirmwz
·
2020-07-09 07:52
linux
网络协议栈
【Linux 内核
网络协议栈
源码剖析】recvfrom 函数剖析
继前篇介绍完sendto数据发送函数后,这里介绍数据接收函数recvfrom。一、应用层——recvfrom函数对于这个函数有必要分析一下,先看看这个dup例子。服务器端中调用recvfrom函数,并未指定发送端(客户端)的地址,换句话说这个函数是一个被动函数,有点类似于tcp协议中服务器listen之后阻塞,等待客户端connect。这里则是服务器端recvfrom后,等待客户端sendto,服
selfimpr1991
·
2020-07-09 03:11
OpenSource
TCP/IP
Socket(套接字)基础概念
Socket编程Socket(套接字):本质是编程接口(API),是对TCP/IP协议的封装套接字上联应用进程,下联
网络协议栈
,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口一
嗨,阿良
·
2020-07-09 00:00
linux
网络协议栈
(六)传输层 (3)UDP协议 4)报文接收 recv/recvfrom/recvmsg
6.2.2.2.5、报文接收:recv/recvfrom/recvmsg和send族系统调用的道理是一样的,如下图:sock_recvmsg函数最终调用套接字类型ops的recvmsg方法,对于数据报套接字为函数sock_common_recvmsg,它实际调用传输层协议ops的recvmsg方法,对于UDP协议为函数udp_recvmsg,注意传输层协议ops的三类recvmsg也是各异的;注意
FSak47
·
2020-07-08 08:23
linux网络协议栈
收藏夹
USB.org-Defined1.0ClassCodesTheLinux-USBHostSideAPILinuxidentifiersearch"usb_driver_list"-LinuxCrossReference-FreeElectrons人家的文章,sk_buff,再转载,太经典了-
网络协议栈
分析
steve_wchunxing
·
2020-07-08 06:49
知识工具箱
无线传感器网络(期末重点)
文章目录com1.无线传感器网络定义com2.传感器节点基本组成部分com3.无线传感器
网络协议栈
结构com4.无线传感器网络的实际应用举例com5.WSN物理层工作频段com6.WSN常见的编码调制技术
Asurada-Sugo
·
2020-07-08 00:55
CS专业课
Android系统架构研究笔记
Linux内核层Android以Linux操作系统内核为基础,借助Linux内核服务实现硬件设备驱动,进程和内存管理,
网络协议栈
,电源管理,无线通信等核心功能。
Dementors
·
2020-07-07 22:41
Android开发
Android Framework 学习笔记
负责进程管理、内存管理、安全性、
网络协议栈
等。Linux内核也同时作为硬件和软件栈之间的抽象层。
qq_30785507
·
2020-07-07 21:23
Android JB2 Wifi scan机制
wpa_supplciant调用kernel
网络协议栈
,
网络协议栈
然后再下发到wifidriver,driver下发到firmware。
kuanshang
·
2020-07-07 12:29
Android技术
Java
android
wi-fi
scan
Linux
网络协议栈
之TCP 状态机处理函数
本文把Linux-2.6.11.12源码中文注释版中的注释收集出来,整理在下面。如有侵权,请告知。TCP状态有如下11种:enum{TCP_ESTABLISHED=1,//"Established"TCP_SYN_SENT,//"SynSent"TCP_SYN_RECV,//"SynRecv"TCP_FIN_WAIT1,//"FinWait1"TCP_FIN_WAIT2,//"FinWait2"T
hui6075
·
2020-07-07 10:58
移植 lwip,在 windows 内核构建一个 TCPIP 协议栈
移植lwip,在windows内核构建一个TCPIP协议栈亲,当你点开看这篇文章,就说明你知道我想要干什么事情,或者说,你知道在Windows的内核种绕开它的网络协议,再独立构建一个
网络协议栈
的意义。
吹泡泡的小猫
·
2020-07-06 17:21
网络安全
【Linux 内核
网络协议栈
源码剖析】网络栈主要结构介绍(socket、sock、sk_buff,etc)
http://blog.csdn.net/wenqian1991/article/details/46700177通过前面的分析,可以发现,
网络协议栈
中的数据处理,都是基于各类结构体,所有有关于网络栈中数据包的状态
ztguang
·
2020-07-06 14:32
Linux内核/操作系统原理
网络协议—TCP/IP
Linux
网络协议栈
开发基础篇(十三)——TCP/IP协议各报文头格式
一、TCP报文TCP是TCP/IP体系中面向连接的运输层协议,提供全双工的和可靠交付的服务。TCP报文段的格式如下图所示源端口和目的端口:各占2个字节,是运输层与应用层的服务接口。序号:占4个字节。TCP连接传送的数据流中的每一个字节都被编上一个序号。首部中序号字段的值指的是本报文段所发送的数据的第一个字节的序号。确认号:占4个字节,是期望收到对方下一个报文段的数据的第一个字节的序号。数据偏移:占
zqixiao_09
·
2020-07-06 14:55
Linux网络协议栈开发
Linux
网络协议栈
开发(八)—— 基于VLAN的二层转发
一、VLAN是什么(这里不详细介绍VLAN,只做简单说明)VLAN(VitualLocalAreaNetwork,虚拟局域网)是将物理网络划分成多个逻辑局域网的技术。一个VLAN就是一个广播域,亦即一个逻辑子网,在其内的站点可位于不同物理LAN上,但站点间像在同一个普通局域网上那样自由通信而不受物理位置的限制。利用VLAN技术,网络管理者可根据实际应用需要,在二层交换机上把同一物理局域网中的用户逻
zqixiao_09
·
2020-07-06 14:54
Linux网络协议栈开发
Linux
网络协议栈
开发(二)—— 二层桥转发基础
做为网络设备,二层转发是最基本的功能。要想继续学习linux内核协议栈,必须明白二层转发的流程。这篇文章举例讲一讲二层转发的流程。二层转发是根据报文的目的MAC直接进行转发,转发过程中不用对报文的头部做任何的修改。三层转发是根据报文的ip地址来进行转发,并且要对报文的二层头部进行相应的修改。进行二层转发的设备一般叫做网桥(bridge)。桥可以是一个单独的一台网桥设备,也可以是运行在设备内的软件实
zqixiao_09
·
2020-07-06 14:54
Linux网络协议栈开发
Linux
网络协议栈
开发(五)—— 二层桥转发蓝图(上)
一、看一张桥转发时函数调用的一个基本蓝图。这张图中,简单的展示了,数据的接收和发送,其中还包括netfilet的钩子点所处的位置。需要说明的是:1).我们先暂时忽略数据包从一开始是怎么从驱动进入到netif_receive_skb的,因为这个暂时不影响我们理解这幅图的流程。2).由于桥转发的篇幅较大,图中没有标示出,数据包中途被丢弃的情况。约定数据包会发送成功。现在数据包(skb)已经准备好了装备
zqixiao_09
·
2020-07-06 14:54
Linux网络协议栈开发
Linux
网络协议栈
开发(六)—— 二层桥转发蓝图(下)
上一节我们了解到,数据包如何走进桥,这一节我们简单看看,入口帧处理函数br_handle_frame_finish.作用:br_handle_frame_finish函数主要是决策将不同类别的数据包做不同的分发路径。其函数处理的过程如下图所示:首先判断该数据包是否符合桥转发的条件:(1)桥端口状态是否是开启状态,如果没有开启则丢掉数据包(2)是否允许从该桥上转发,如果不允许,则直接返回0获得桥转发
zqixiao_09
·
2020-07-06 14:54
Linux网络协议栈开发
Linux
网络协议栈
开发基础篇(一)—— TCP/IP协议报文格式解析
一、传输层报文1、TCP数据包的头typedefstruct_TCP_HEADER{USHORTnSourPort;//源端口号16bitUSHORTnDestPort;//目的端口号16bitUINTnSequNum;//序列号32bitUINTnAcknowledgeNum;//确认号32bitUSHORTnHLenAndFlag;//前4位:TCP头长度;中6位:保留;后6位:标志位16bi
zqixiao_09
·
2020-07-06 14:54
Linux网络协议栈开发
Linux
网络协议栈
开发代码分析篇之VLAN(三)—— VLAN收发处理
转自:http://blog.chinaunix.net/uid/28541347/year-201606-list-1.htmlVLAN报文格式基于802.1Q的VLAN帧格式如下:Type:长度为2字节,取值为0x8100,表示此帧的类型为802.1QTag帧。PRI:长度为3比特,可取0~7之间的值,表示帧的优先级,值越大优先级越高。该优先级主要为QoS差分服务提供参考依据(COS)。VLA
zqixiao_09
·
2020-07-06 14:54
Linux网络协议栈开发
STM32W
M3内核的高性能、低功耗、内嵌
网络协议栈
的无线射频单片机。
zhaowb82
·
2020-07-06 12:14
HardWare
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他