• 数据链路层


    引言

    数据链路层负责的工作:两个相邻节点之间数据的传输。

    传输层:管理两个节点之间的数据传递,即只考虑起点和终点,不考虑中间过程。
    网络层:地址管理和路由选择,即规划好路径。
    数据链路层:互联设备之间传送和识别数据帧,交换机的工作就在数据链路层。即负责两个相邻节点之间数据的传输。

    举个例子:如果说小明从上海出发去安徽合肥。

    传输层:
    起始位置:上海
    目标位置:合肥

    网络层:
    可选路线1:上海 -> 无锡 -> 南京 -> 安徽
    可选路线2:上海 -> 泰州-> 扬州-> 安徽

    数据链路层:
    可选路线1:从上海到无锡,可以坐大巴,从无锡到南京,可以坐高铁…
    可选路线2:…

    可以看到数据链路层是更加的详细,它只负责对两个相邻的节点进行数据传输。

    以太网帧格式

    数据链路层的核心协议:以太网 ( 涉及到数据链路层 + 物理层协议 )

    1

    MAC 地址

    MAC:Media Access Control Address ( 媒体存取控制位址 )
    MAC 地址也叫物理地址、硬件地址。

    网络层负责 IP地址,而数据链路层负责 MAC位址。

    MAC 地址共 6个字节,显而易见,它的表示范围要比 IPv4 的地址要大得多。
    IP地址 是动态分配,即连上设备的网络才会被分配地址;而 MAC 地址由网络设备制造商生产时写在硬件内部,所以 MAC 地址是写死的,即当网卡出厂的时候,就被默认为是唯一的了。

    因为 MAC地址 是 6个字节,48位的,通常表示为 12个 十六进制数,每 2个 十六进制数之间用冒号隔开,如 00:01:20:0A:5C:6D 就是一个 MAC地址。

    MAC 地址的数据传输

    在下图中,我们看到 MAC 地址只负责两个节点之间的传输,这一点与 IP 事先决定好的起点终点有很大不同。

    1

    拓展

    另外,在不同的 TCP / IP 层级上,描述一个数据使用的术语,其实是不一样的。

    传输层:segement ( 数据段 )
    例如:同步报文段(SYN),确认报文段(ACK),结束报文段(FIN),复位报文段(RST)

    网络层:packet ( 数据包 )

    数据链路层:frame ( 数据帧 )

  • 相关阅读:
    6G物理层安全技术综述
    Sympy-nonlinsolve-只保留实数解问题
    mysql创建数据库sql语句
    coco_eval.py详解
    【面试经典150 | 数组】删除有序数组中的重复项
    ARP欺骗攻击
    安卓app客户端测试---Drozer使用
    卷积网络(Xception)动物识别
    从零手搓一个【消息队列】实现数据的硬盘管理和内存管理(线程安全)
    docker网络模式和数据管理
  • 原文地址:https://blog.csdn.net/lfm1010123/article/details/126026677