【计算机网络】数据链路层——以太网

这篇具有很好参考价值的文章主要介绍了【计算机网络】数据链路层——以太网。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【计算机网络】数据链路层——以太网,JavaEE,计算机网络,网络,以太网

前言

前面我们学习了关于应用层——自定义协议、传输层——UDP、TCP协议、网络层——IP协议,今天我将为大家分享关于数据链路层——以太网方面的知识。

什么是以太网

  • “以太网” 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等;
  • 例如以太网中的网线必须使用双绞线;传输速率有10M,100M,1000M等;
  • 以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等;

以太网是一种计算机局域网技术,它使用带碰撞检测的载波侦听多址访问(CDMA/CD)方法进行介质访问控制。以太网主要指数据传输所经过的物理电缆,而Wi-Fi指无线连接的互联设备的网络。以太网基本上是电缆,是计算机和Internet之间的连接,它是一种有线连接,可以通过USB电缆或以太网电缆直接连接计算机。而Wi-Fi更像是一种网络技术,允许移动设备无线连接到Internet。

以太网的发展很快,从单根长电缆的典型以太网结构开始演变。单根电缆存在的问题,比如找出断裂或者松动位置等连接相关的问题,驱使人们开发出一种不同类型的布线模式。在这种模式中,每个站都有一条专用电线连接到一个中央集线器。

以太网帧格式

【计算机网络】数据链路层——以太网,JavaEE,计算机网络,网络,以太网

6位目的地址和源地址

目的地址和源地址就是指该数据帧的发送地址是哪里以及要发送到哪里,在这里目的地址和源地址都不是用 IP 地址来描述的,而是用 MAC 地址来描述的。

MAC地址即介质访问控制地址,或称为MAC位址、硬件地址,用来确认网络设备的位置的位址。它是由48位的二进制数字组成的,通常以12位十六进制数表示。这些数字通常由网卡生产厂家写入网卡的EPROM芯片中,芯片中的数据可以通过程序进行擦写。
MAC地址的前6位数字代表“组织唯一标识符”(OUI),后6位数字由制造商自行分配。这种编号方式有助于确保每个网卡都有一个唯一的MAC地址。
在以太网中,MAC地址是用来进行数据传输的标识符。当数据从一个节点发送到另一个节点时,源节点会将数据包发送到目标节点的MAC地址。通过MAC地址,目标节点可以识别发送方是谁,从而接收并处理数据包。

MAC 地址是用 6 个字节来表示的,比 IP 地址能表示的数量更多,现在的 MAC 地址是可以满足人们的需求的。那么既然有了 IP 地址为什么还会有 MAC 地址呢?

在最开始网络开始出现的时候,网络层和数据链路层是各自独立被发明的,所以各自出现了用来表示的地址的 IP 地址和 MAC 地址,虽然这两个都是用来表示地址的,但是它们的使用场景是不同的。并且就目前来说,一个设备具有唯一的 MAC 地址,这是网卡出厂的时候就写死的,一般不能修改。IP 地址是用来表示网路上两个主机的起始地和目的地,而 MAC 地址则表示在这两个地点之间各个节点的地址。

例如:我从武汉到西藏去旅游,需要途径武汉、长沙、重庆、成都、拉萨。在这个过程中,武汉是起始位置,拉萨是目的位置,这两个源地址和目的地址就是用的 IP 地址来描述的,而中间途径的从武汉到长沙的过程中,源IP地址就是武汉,目的 IP 是拉萨,以太网数据帧中的源MAC地址就是武汉,而目的 MAC 地址就是长沙;从长沙到重庆的源 IP 地址是武汉,目的 IP 地址是重庆,而源 MAC 地址就是长沙,目的 MAC 地址是重庆……源 IP 地址和目的 IP 地址从始至终都是同一个,而源 MAC 地址和目的 MAC 地址则是需要根据两个相邻的节点不断变化。

【计算机网络】数据链路层——以太网,JavaEE,计算机网络,网络,以太网

大家在 Windows 下可以在 cmd 中使用 ipconfig /all 来查看自己设备的 MAC 地址。

【计算机网络】数据链路层——以太网,JavaEE,计算机网络,网络,以太网

2位类型

2位类型字段,用于标识数据帧的类型。这个字段是用来区分不同的以太网帧类型的,比如以太网帧、IP数据报、ARP请求和应答等。通过这个字段,接收端可以知道接下来要处理的数据是什么类型,从而进行正确的处理。

常见的以太类型有:0x0800,代表IPv4;0x86DD,代表IPv6;0x0806,代表ARP;0x8100,代表IEEE 802.1q;等等。不同的类型字段值可以用来区别不同的帧类型。

数据长度

在以太网帧格式中 IP 数据包的最大程度为 1500 字节,这个数据链路层数据报能携带的最大载荷长度也叫做 MTU。 而 IP 数据包的分包和组包大概率是因为 MTU 引起的,而不是触发上限 64 kb引起的。不同数据链路层的 MTU 大小是不一样的,这个跟物理层的介质有关,就类似于你一个路能曾受的最大重量。

MTU 对 IP 协议的影响

由于数据链路层MTU的限制,对于较大的IP数据包要进行分包。

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

CRC 校验和

校验和用来校验数据在网络的传输过程中是否出现了错误。以太网中校验和不是在帧头位置,而是位于帧尾文章来源地址https://www.toymoban.com/news/detail-736667.html

数据在数据链路层是如何转发的

  1. 封装成帧:在数据链路层将网络层协议封装成帧时,会在首部和尾部分别添加SOH以及EOT这两个特殊字符,接收方是根据这两个字符来确定帧首和帧尾的。
  2. 添加校验和:链路层会在数据部分添加校验和,用于检测数据传输过程中的错误。
  3. 透明传输:为了避免对帧的数据产生干扰,可以在数据部分的SOH、EOT字符前添加一转义字符ESC。这样,如果接收时直接接收到SOH、EOT字符还是表示为帧的开始与结束标志,但是如果接收时接收到ESC然后接收到SOH、EOT,就说明这两个字符不是帧的开始与结束标志,是帧数据的一部分。
  4. 差错控制:链路层还具有差错控制功能,能够检测出数据传输过程中的错误并进行纠正。
  5. 解封装和转发:当路由设备收到报文后,会先解封装,发现目的IP不是自己,同时也不是同网段,会查看自己的路由表中是否记录匹配目的IP网段的路由条目,如果存在此路由信息,则将数据包交给对应的接口进行转发。

到了这里,关于【计算机网络】数据链路层——以太网的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络-数据链路层

    \\\"以太网\\\" 不是⼀种具体的网络,而是一种技术标准; 既包含了数据链路层的内容, 也包含了⼀些物理 层的内容。 例如:规定了网络拓扑结构,访问控制方式,传输速率等; 例如:以太网中的网线必须使用双绞线; 传输速率有10M, 100M, 1000M等; 以太网是当前应用最广泛的局域网技术

    2024年03月14日
    浏览(51)
  • 计算机网络—数据链路层

    该层中的帧数据结构: 帧头部会因为不同的局域网协议而不同,因此会在另一篇博文中继续介绍不同的帧数据报,不在本博文介绍。( 不过除了PPP协议外一般都是目标MAC,源MAC,类型,占8字节,每个MAC占6字节,类型占2字节)帧尾一般是用于校验的数据。 在数据链路层传输

    2024年02月11日
    浏览(47)
  • 【计算机网络】——数据链路层

    数据链路层之所以要把比特组合成帧为单位传输,是为了出错的时候,只重发出错的帧,而不必重发全部数据,从而提高效率。 组帧主要解决帧定界、帧同步、透明传输等问题。 透明传输:不管所传输的数据是什么样的比特组合都能在链路上传送。(数据中出现与定界符相同

    2024年02月12日
    浏览(31)
  • 【计算机网络】数据链路层

    数据链路层位于网络层之下,物理层之上。是我们程序员需要了解的最下层协议。 该层的主要功能就是在物理网络上提供可靠的数据传输,确保从一个节点(设备)到另一个节点的数据传输是无差错、有序、可靠和高效的。 将数据一跳一跳地从当前主机发送到目标主机,需

    2024年02月14日
    浏览(43)
  • 计算机网络——数据链路层

    这篇文章是计算机网络系列文章的第二篇 计算机网络——物理层 计算机网络——数据链路层 计算机网络——网络层 计算机网络——传输层 计算机网络——应用层 问:数据链路层在现在的社会起到什么作用? 答:数据链路层在现在的社会起到关键性作用,比如:数据传输和

    2024年02月09日
    浏览(35)
  • 计算机网络 数据链路层

         

    2024年02月13日
    浏览(28)
  • 计算机网络之数据链路层

    在研究数据链路层时,我们可忽略网络体系中的其他层只关注与数据链路层本身。 链路(Link)是指从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。 数据链路(Data Link)是基于链路的。当在一条链路上传送数据时,除需要链路本身,

    2024年01月25日
    浏览(36)
  • 计算机网络(三)数据链路层

    数据链路层功能 : 在物理层提供服务的基础上向网络层提供服务,主要作用是加强物理层传输原始比特流的功能, 将物理层提供的可能出错的物理连接改在为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路 为网络层提供服务 : 无确认的无连接服务: 源机

    2024年04月17日
    浏览(28)
  • 计算机网络-数据链路层下篇

    目录 计算机网络 七、MAC地址,IP地址及ARP地址 (一)MAC地址 (二)IP地址 (三)ARP地址 八、集线器和交换机的区别 九、以太网交换机自学习和转发帧的流程 十、以太网交换机的生成树协议STP 十一、虚拟机与网VLAN (一)VLAN概述 (二)虚拟局域网VLAN的实现机制 1、IEEE 80

    2024年02月11日
    浏览(103)
  • 计算机网络-数据链路层上篇

    目录 一、数据链路层概述 二、封装成帧 三、差错检测 (一)奇偶校验 (二)循环冗余校验CRC 四、可靠传输 (一)停止-等待协议SW  (二)后退N帧协议GBN (三)选择重传协议SR 五、点对点协议PPP (一)点对点协议PPP的帧格式 ​(二)透明传输- 面向字节的异步链路采用插

    2024年02月11日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包