Linux——以太网协议

一、数据链路层

功能:负责相邻设备之间的数据传输

MAC地址:48位数字;是物理网卡的硬件地址(出厂设置),是网卡(通信设备)的唯一标识

二、以太网协议

  • 源端mac地址+对端mac地址:用于相邻设备之间的定位描述
  • 数据协议:描述内部数据的协议类型,以便于进行数据解析
  • 校验和:校验数据一致性

对端MAC地址如何获取?------ARP协议

ARP协议:介于网络层和数据链路层之间的协议

功能:通过IP地址,获取指定相邻设备的MAC地址

  1. 组织ARP请求数据包
    1. 填入发送方自身IP地址+自身MAC地址+目标IP地址+其他各项要素
    2. 目标MAC填全1,表示广播发送给同网段内所有设备
  2. 相邻设备收到ARP请求后,对比目标IP是否与本机IP一致;若一致,则组织ARP应答,将自己的MAC地址填充进去,回复给请求方
  3. 请求方收到ARP回复后,会在本地建立IP地址与MAC地址映射缓存数据(缓存数据默认维持30min:因为DHCP会动态分配IP,导致一台设备的IP地址是不固定的,可能会发生变化)

如何获取相邻设备的IP地址?

DHCP动态地址分配

  1. 一台主机接入网络后,会在本网段广播发送DHCP请求,寻找DHCP服务器
  2. 如果该网段内存在DHCP服务器(可以是路由器自带DHCP功能,也可以是独立DHCP服务器),收到请求后,就会进行DHCP回复:IP地址、子网掩码、**网关地址(路由器的IP地址)**等信息

因此,每台主机连接到一个网络后,就能知道自己所连接的路由器的IP地址

ARP局域网欺骗攻击

  • 攻击路由器(欺骗网关)
    • 一台设备接入局域网后,持续的向路由器发送伪造的ARP回复,冒充局域网内其他主机的IP
    • 效果:路由器会认为这台设备就是网络中的所有设备,路由器就会将发往局域网内所有设备的数据,全部发送给该主机)
  • 欺骗局域网所有主机(冒充网关)
    • 一台设备接入局域网后,伪造IP地址(路由器),持续广播伪造ARP回复
    • 效果:局域网内所有设备都认为这台设备是路由器,所有设备的数据都会发往该设备
  • 解决方案:在路由器中设置MAC地址白名单

MTU

MTU:最大传输单元,是链路层所能承载的上层数据最大长度(不含链路层头部)

  • 不同链路技术,MTU的值不同

MTU的影响:决定数据在网络层是否需要进行数据分片

  1. UDP报文的理论上限是64K,以太网MTU=1500B:IP头部 + UDP头部 + UDP数据,总长度不能超过1500 B;若超出,在网络层就会进行分片发送
  2. 这些分片到达接收端之后,会进行分片重组
    1. 重组时,任意一个分片丢失,整个报文都会被丢弃,不会重传;分片数量越多,失败概率越大
    2. 因此,开发UDP程序时,就需要控制应用层提前分包,尽量避免网络层的数据分片
    3. TCP不需要考虑分片问题:因为TCP在传输层会根据MTU计算出MSS,然后进行数据分段传输
相关推荐
csdn_aspnet11 分钟前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
爱和冰阔落2 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall4 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
无奈笑天下13 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
我不会插花弄玉16 小时前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
火云代理16 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
威嵌神州17 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__18 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo18 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
xbzb19 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定