linux网络结构体
一 链路层:
(1)局域网(以太网ethernet):
*struct eth_header:以太网头部。
(ethernet/eth.c)
*struct net_device:每一个网络设备都用这个结构体来表示,比如网卡等。(include/linux/netdevice.h)
*struct sk_buffer:存储数据包,全部网络分层都使用这个结构来存储其报头、有关用户数据的信息,以及其他协调工作的内部信息。(include/linux/skbuff.h)
(2)桥接相关(net/bridge):
*struct net_bridge:单个网桥的配置信息。(br_private.h)
*struct net_bridge_port:网桥的端口。(br_private.h)
*struct net_bridge_fdb_entry:网桥转发库的记录项。
(br_private.h)
(3)ARP协议:
*struct arphdr:arp头部。
(include/linux/if_arp.h)
二 网络层:
(1)IP协议:
*struct iphdr:IP数据报头部。
(include/linux/ip.h)
*struct net:(include/net/net_namespace.h)
(2)ICMP协议:
*struct icmphdr:icmp报文头部。
(include/linux/icmp.h)
三 传输层:
*struct socket{}:套接字结构体。(include/linux/net.h)
四 应用层:
linux网络结构体的更多相关文章
- Linux线程体传递参数的方法详解
传递参数的两种方法 线程函数只有一个参数的情况:直接定义一个变量通过应用传给线程函数. 例子 #include #include using namespace std; pthread_t thre ...
- Esp8266 网络结构体
Esp8266建立网络连接相关结构体如下: 结构体头文件espconn.h /** Protocol family and type of the espconn */ enum espconn_ty ...
- linux 文件结构体和文件描述符号的学习
https://blog.csdn.net/cywosp/article/details/38965239
- Linux 下wifi 驱动开发(三)—— SDIO接口WiFi驱动浅析
SDIO-Wifi模块是基于SDIO接口的符合wifi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈.可以实现用户主平台数据通过SDIO口到无线网络之间的转 ...
- 【Linux探索之旅】开宗明义+第一部分第一课:什么是Linux?
内容简介 1.课程大纲 2.第一部分第一课:什么是Linux? 3.第一部分第二课预告:下载Linux,免费的噢! 开宗明义 我们总听到别人说:Linux挺复杂的,是给那些追求逼格的程序员用的.咱 ...
- 使用 PuTTY 从 Windows 连接到 Linux 实例
启动您的实例之后,您可以连接到该实例,然后像使用您面前的计算机一样来使用它. Note 启动实例后,需要几分钟准备好实例,以便您能连接到实例.检查您的实例是否通过了状态检查 - 您可以在 Instan ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- AWS之SSH登录:使用 PuTTY 从 Windows 连接到 Linux 实例
使用 PuTTY 从 Windows 连接到 Linux 实例 启动您的实例之后,您可以连接到该实例,然后像使用您面前的计算机一样来使用它. 注意 启动实例后,需要几分钟准备好实例,以便您能连接到实例 ...
- linux 网络安全不完全笔记
一.安装Centos二.Linux网络网络环境设置 a.配置linux与客户机相连通 b.配置linux上网三.Yum详解 yum 的基本操作 a.使用 yum 安装新软件 yum install – ...
随机推荐
- Android(java)学习笔记199:JNI之JNI概念
1. JNI是什么? java native interface (java本机接口) 比如方法声明: public final native Class<?> getClass(): ...
- web pack 生成本地dist后 本地可以访问 路径由/ 改 ./
config / index.js 里面将 / 改成 ./ 有两个 都改了 反正管用 然后npm run build 如果涉及到字体 css里面不会改 需要手工改成 ../../ 反正一般用到字体也不 ...
- MySQL索引的用处
MySQL索引在MySQL数据库中,可以有效提高查询的效率,尤其是查询数据量非常大时,效果更为明显,往往能使查询速度加快成千上万倍. MySQL索引是很重要的概念,应用的范围非常广.那么,MySQL索 ...
- Javascript中的For循环
在开发的过程中,遍历是一个经常遇到的.而for循环则是Javascript工具箱里一个好用的,也常用的工具.每个人的习惯不同,for循环的写法也不尽相同. 1.不写声明变量的写法: for(var i ...
- jquery toggle()设置
很多朋友对jquery toggle()比较熟练,甚至经常用到,而且对toggle的三个参数也比较了解$(selector).toggle(speed,callback,switch).但是当你设置$ ...
- vue 组件用法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- css3新特性学习系列 -- border
css3新特性 border属性(border-radius.border-image.box-shadow)详解 1.border-radius 圆角 支持:IE9+ 用法: border-rad ...
- 洛谷 1197 [JSOI2008]星球大战
[题解] 把询问离线,倒着加点,并查集维护连通性即可. #include<cstdio> #include<cstring> #include<algorithm> ...
- Codeforces Round #413 B T-shirt buying (STL set)
链接:http://codeforces.com/contest/799/problem/B 题意: 给定n件衣服,对于第i(1<i<=n)件衣服,分别有价格pi,前颜色ai,后颜色bi三 ...
- layer弹层content写错导致div复制了一次,导致id失效 $().val() 获取不到dispaly:none div里表单的值
错误之源: $("a.consult").click(function () { lib_consult_html = $('#consult-html').h ...