码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [Linux] 数据链路层-----以太网帧协议、ARP协议


    数据链路层

    • 以太网帧格式
    • 最大传输单元----MTU
      • 1)是什么
      • 2)MTU对IP协议的影响
      • 3)MTU对UDP协议的影响
      • 4)MTU对于TCP协议的影响
    • ARP协议
      • 1)是什么?
      • 2)为什么?
      • 3)工作流程

    以太网帧格式

    以太网帧格式

    最大传输单元----MTU

    1)是什么

    • 以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充位;
    • 其中,最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU,不同的数据链路层标准的MTU是不同的。

    2)MTU对IP协议的影响

    • 将较大的IP包分成多个小包,并给每个小包打上标签;
    • 每个小包IP协议头的16位标识(id) 都是相同的,每个小包的IP协议头的3位标志字段中,第2位置为0,表示允许分片,第3位来表示结束标记(当前是否是最后一个小包,是的话置为1,否则置为0);
    • 到达对端时再将这些小包,会按顺序重组,拼装到一起返回给传输层;
    • 一旦这些小包中任意一个小包丢失,接收端的重组就会失败,但是IP层不会负责重新传输数据,导致数据报丢失。

    3)MTU对UDP协议的影响

    • 一旦UDP携带的数据超过1472(1500 - 20(IP首部) - 8(UDP首部)),那么就会在网络层分成多个IP数据报;
    • 多个IP数据报有任意一个丢失,都会引起接收端在网络层重组失败,意味着,如果UDP数据报在网络层被分片,整个数据被丢失的概率就大大增加了。

    4)MTU对于TCP协议的影响

    • TCP的一个数据报也不能无限大,还是受制于MTU;
    • TCP的单个数据报的最大消息长度,称为MSS,TCP在建立连接的过程中,通信双方会进行MSS协商,最理想的情况下,MSS的值正好是在IP不会被分片处理的最大长度。

    ARP协议

    1)是什么?

    • ARP协议建立了主机 IP地址和MAC地址 之间的映射关系;
      ARP数据报格式

    2)为什么?

    • 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址;数据包首先是被网卡接收到,再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃;因此在通讯前必须获得目的主机的硬件地址。

    3)工作流程

    • 在局域网中,发起方构建ARP请求,以广播的方式发送给局域网中的每一台主机;每台主机都能识别,然后根据以太网首部的帧类型0x0806交付给每个主机的arp层;其他不相关的主机会根据目的ip地址,在自己arp协议的内部丢弃arp请求;目标主机构建好ARP应答后,以1对1的形式把ARP应答数据返回给源主机;源主机根据op字段判定是ARP请求还是应答,如果是应答,就提取ARP应答中的发送端mac地址和ip地址。
  • 相关阅读:
    使用cgroup控制CPU使用率
    【EVENT】【表单】【存储】
    MVCC 脏读理解
    你真的了解C语言 if - else 、bool(布尔值)、浮点数损失吗 ?
    关于Python hydra库(OmegaConf)(yaml)
    年产200万件的超级工厂投产!巨头「闭环」汽车电子全产业链
    Python基础(6-1)函数
    什么是 NPM?
    统计力学中的概率论基础(一)
    Yolov8小目标检测(20):多尺度MultiSEAM,提高特征图的分辨率增强小目标检测能力
  • 原文地址:https://blog.csdn.net/Darling_sheeps/article/details/127652692
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号