计算机网络-数据链路层:以太网协议、ARP协议、MAC、MTU

简介: 【2月更文挑战第2天】

一、以太网协议

1. 认识以太网

       (1)以太网不是一种具体的网络,而是一种技术标准。其中既包含了数据链路层的内容,也包含了一些物理层的内容。比如:规定了网络拓扑结构、访问控制方式,传输速率等。

       (2)以太网中的网线必须使用双绞线,传输速率有10M、100M,1000M等。

       (3)以太网是当前应用最为广泛的局域网技术,和以太网并列的还有令牌环网,无线LAN等。

2. 协议格式

image.png

48位对端MAC地址,48位源端MAC地址,16位上层协议,数据,32位数据帧尾。

48位对端&源端MAC地址:

       描述了相邻的两个指定物理硬件设备。

16位上层协议类型:

       描述的是以太网帧中数据所使用的协议,用于数据分用时协议选择。

32位数据帧尾:

       包含了校验和(CRC校验码)。

二、 MAC地址

1. 认识MAC地址

MAC地址:物理硬件地址

(1)MAC地址是每一块网卡在出厂时设定的地址,固定且不可修改(早期)。(虚拟机中的MAC地址不是真实的MAC地址,可能会产生冲突)

(2)MAC地址用来识别数据链路层中相邻的节点。

(3)MAC地址长度为48位,及6个字节。一般用16进制数字加上冒号的形式来表示。

2. 对比MAC地址与IP地址

IP地址:描述的是路途总体的起点和终点。

MAC地址:描述的是路途上的每一个区间的起点和终点。

三、ARP协议

1. 认识ARP协议

       ARP协议是介于数据链路层和网络层之间的一个协议,作用就是通过IP地址获取指定设备的MAC地址。

2.  ARP协议的作用

ARP协议建立了主机IP地址和MAC地址的映射关系:

(1)在网络通讯时,源端主机的应用程序知道对端主机的IP地址和端口号,但是不知道对端主机的硬件地址。

(2)数据包是先被网卡接收到,再去处理上层协议,如果接收到的数据包的硬件地址与本机不符,则直接丢弃。

(3)所以在通讯前,必须先获得目的主机的硬件地址。

3. ARP协议的工作流程

(1)广播ARP请求,将目的端MAC地址设置为全1(广播地址),其中包含了自己的IP地址和MAC地址,以及指定设备的IP地址。

(2)收到ARP请求的主机,会验证目标IP地址与自己是否一致:一致,则组织ARP响应,填充自己的MAC地址进行回复;不一致,则丢弃。

(3)主机获取到指定主机的MAC地址后,会在arp缓存表中临时存储起来(默认保存30分钟)。

4. ARP欺骗攻击

       在局域网中有个恶意主机,不断的给局域网每个主机大量的进行发送ARP响应,覆盖主机上的ARP映射表,告诉主机自己是网关,然后给网关发送ARP响应,告诉自己是主机。

解决方法:设置防火墙,添加局域网的MAC白名单等方式。

四、MTU

1. 认识MTU

MTU:链路层限制的最大传输单元,以太网默认是1500字节。

(1)以太网帧中的数据长度规定,最小为46字节,最大为1500字节。若ARP数据包的长度不足46字节,需要在后面补填充位。

(2)最大值1500字节称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU

(3)若一个数据包从以太网路由到拨号链路上,数据包长度大于了拨号链路的MTU,则需要对数据包进行分片。

(4)不同的数据链路层标准的MTU不同。

2. MTU对IP协议的影响(了解)

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

(1)将较大的IP包分成多个小包,并给每个小包打上标签。

(2)每个小包IP协议头的16位标识(id)都是相同的。

(3)每个小包的IP协议头的3位标志字段中,第2位置0,标识允许分片,第3位来表示结束标记(当前是最后一个小包,则置1,否则置0)。

(4)到达对端时,再将这些小包按序重组,拼接到一起后再交付给传输层。

(5)一旦这些小包中任意一个包丢失,接收端就会重组失效,但是IP层不会负责进行数据重传。

3. MTU对TCP协议的影响

回顾一下TCP协议:

(1)TCP的一个数据报不能无限大,也是受限于MTU。TCP的单个数据报的最大信息长度,称为MSS。

(2)TCP在建立连接的过程中,通信双方就会协商MSS。

(3)最理想的情况下,MSS的值正好是IP不会被分片处理的最大长度(这个长度,仍然是受限于数据链路层的MTU)。

(4)双方在发送SYN的时候会在TCP头部写入自己所能支持的MSS值。

(5)双方得知对方的MSS值后,会选择较小的值作为最终的MSS。

TCP通信时,程序员通常不用过多考虑:

       因为MSS就是根据MTU计数得到的。tcp在传输层发送数据时,就是从缓冲区中取出不大于MSS大小的数据进行封装报头,然后进行传输。(在网络层不会出现数据分片)

       MSS = MTU - 最小IP报头大小 - 最小TCP报头大小

4. MTU对UDP协议的影响

回顾一下UDP协议:

(1)一旦UDP携带的数据超过1472字节(1500 - 20(IP首部) - 8(UDP首部)),那么就会在网络层分成多个IP数据报。

(2)这多个IP数据报一旦有任意一个丢失,都会引起接收端网络层重组失败。也就意味着,如果UDP数据报在网络层被分片,整个数据被丢失的概率就会大大增加。

       UDP通信时,不存在MSS协商过程,只要数据报整体大小小于64k就可以进行传输,但是在网络层会因为大于MTU而导致数据分片,分片后的数据到达对端主机后就需要进行分片重组,而一旦有一个分片有问题,整个数据报文就会被丢弃。

       所以程序员需要最好在应用层就考虑到更多的要素,如果数据过大,就要最好在应用层分包,分包大小需要考虑MTU,尽可能的减少分片可能。

相关文章
|
1月前
|
负载均衡 网络协议 算法
|
5天前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
7天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
44 1
|
1月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
67 11
|
1月前
|
网络协议 网络安全 数据中心
|
1月前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
60 3
|
2月前
|
存储 网络安全 数据安全/隐私保护
|
1月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
111 3
|
1月前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
53 4
|
1月前
|
网络虚拟化
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性。本文介绍了这三种协议的原理、特点及区别,并提供了思科和华为设备的命令示例,帮助读者更好地理解和应用这些协议。
74 4

热门文章

最新文章