• 数据链路层


    引言

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

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

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

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

    网络层:
    可选路线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 ( 数据帧 )

  • 相关阅读:
    人在囧途,你该怎么办?
    Java随谈(六)我们真的理解 Java 里的整型吗?
    有车型(CarModel),车厂(CarFactory),经销商(Distributor)三个表
    操作系统—内核态和用户态
    Spring Boot中异步消息JMS的讲解与通信实例
    Camera-ISP DP/DM/EE/NR/CR
    Vuex安装失败
    Java架构师内功嵌入式技术
    DES|3DES|AES|RSA|DH | CA | SSL(HTTPS)
    11月第2周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩)发布!
  • 原文地址:https://blog.csdn.net/lfm1010123/article/details/126026677