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

一、基于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地址是单播、组播还是广播地址

相关推荐
小刘爱玩单片机17 小时前
【stm32协议外设篇】- PAJ7620手势识别传感器
c语言·stm32·单片机·嵌入式硬件
烛衔溟18 小时前
C语言算法:排序算法入门
c语言·算法·排序算法·插入排序·冒泡排序·选择排序·多关键字排序
Laity______18 小时前
指针(2)
c语言·开发语言·数据结构·算法
是苏浙18 小时前
零基础入门C语言之C语言实现数据结构之顺序表经典算法
c语言·开发语言·数据结构·算法
Jerry丶Li19 小时前
二十七、通信接口
c语言·stm32·单片机·嵌入式硬件
老蒋新思维20 小时前
2025 创客匠人全球创始人 IP + AI 万人高峰论坛:破局创业困境,拥抱无限未来
大数据·网络·人工智能·网络协议·tcp/ip·创客匠人·知识变现
yongshao821 小时前
KUKA机械臂使用EthernetKRL配置与C#上位机实现TCP通讯
tcp/ip·机器人·c#·信息与通信
培林将军21 小时前
Visual Studio Code 之C/C++开发编译环境搭建
c语言·c++·vscode
召唤神龙1 天前
代理IP资源怎么选?实测推荐这些高性价比服务商
tcp/ip
召唤神龙1 天前
Scrapy爬虫多IP代理配置指南:避开反爬还能提速的实战技巧
爬虫·tcp/ip