关于链路层的网络数据处理总结

一、基于mac地址的socket通信(无需IP地址)

c 复制代码
// PF_PACKET	表示创建链路层socket
// SOCK_RAW		接收的数据从mac层开始
// ETH_P_ALL	接受所有的协议类型数据
int fd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));

二、基于mac地址的网络广播通信

单播mac地址,第一个字节最低位为0(0x xxxxxxx0 XX XX XX XX XX),

组播mac地址,第一个字节最低位为1(0x xxxxxxx1 XX XX XX XX XX),

广播mac地址,mac地址为全F(FF:FF:FF:FF:FF:FF),

三、自定义网络协议的socket通信

例如 arp,udp,tcp,igmp等,都是网络层协议,

这里我们可以自定义协议来完成自定义数据的通信


linux下c语言使用mac地址进行socket通信
raw_socket用mac地址进行通信实例(C语言)
Linux小知识--原始套接字(raw socket)之自定义以太网帧发送与接收
如何区分MAC地址是单播、组播还是广播地址

相关推荐
德迅云安全-上官4 分钟前
德迅云安全游戏盾与DDoS高防IP对比:差异、优势及选型指南
tcp/ip·游戏·ddos
C++ 老炮儿的技术栈1 小时前
基于MFC+原生GDI手动自绘仪表盘控件
c语言·c++·visual studio·控件·工业控制·gdi·自绘
小肝一下1 小时前
3. 单链表
c语言·数据结构·c++·算法·leetcode·链表·dijkstra
炸膛坦客10 小时前
单片机/C/C++八股:(二十六)IIC 专题(I²C)---- 上集
c语言·c++·单片机
程序员Rock17 小时前
上位机开发-MODBUS面试常见问题
c语言·c++·面试·职场和发展·上位机
blevoice1 天前
抖抖燃脂机单 AC6966B 主控调试踩坑:Type-C 整机供电喇叭无声排障
c语言·开发语言·单片机
小小晓.1 天前
C++小白记:C风格字符串和数组用法
c语言·开发语言·c++
深念Y1 天前
开发者如何清理和迁移C盘堆积的垃圾
c语言·开发语言
十月的皮皮1 天前
STM32从零到量产开发:四路继电器工业控制模块开发实战笔记(小白视角)
c语言·笔记·stm32·stm32cubemx·hal库
treesforest1 天前
你以为只是一串数字?你的IP地址,正在悄悄暴露这些信息
网络·网络协议·tcp/ip·网络安全·ip归属地查询·ip风控