【计算机网络】数据链路层重点协议

简介: 源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播

1. 认识以太网

以太网是一种局域网的技术规范,而不是一种具体的网络,以太网既包含了数据链路层的内容,也包含了一些物理层的内容,如:规定网络拓扑结构,访问控制方式,传输速率等

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

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

1.1 以太网帧格式

image.png


源地址和目的地址为网卡的硬件地址(MAC地址),长度为48位,网卡出场时就确定了

帧协议类型字段有三种,为IP,ARP,RARP

帧尾是CRC校验码


2. 认识MTU

MTU规定了以太网最大的传输数据长度,超过了这个长度就会分片(实际在网络层就会分片),比如网购了一个桌子,桌子整张太大了,快递就分开包装,如:桌子腿,桌子面,固定桌子的材料等,快递到货后,我们在对其进行组装成一个完整的桌子


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

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

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

不同的数据链路层标准的MTU是不同的

2.1 MTU对IP协议的影响

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


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

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

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

到达对端后,再将这些小包按顺序进行重组,拼装到一起返回给传输层

一旦这些小包中任意一个小包丢失,接收端的重组就会失败,但是IP层不会负责重新传输数据

2.2 MTU对UDP协议的影响

数据包分片后,如果多个分片的数据报有任意一个丢包,整个数据报就没有用了(UDP只管发送,不管接收),接收端根据多个分片还原的时候就会重组失败,只能丢弃,这意味着,如果UDP数据报在网络层被分片,整个数据被丢弃的概率大大增加了


2.3 MTU对TCP协议的影响

TCP数据报也不能无限大,也受限于MTU,TCP单个数据报的最大长度称为MSS(双方约定最大传输端大小)

TCP建立连接的时候,通信双方会进行MSS协商,双方在发送的SYN的时候在TCP头部写入自己能支持的MSS值

双方知道对方的MSS值后,选择min(MSS,MTU)值作为最终的MSS

如果真实发送的数据超过MSS,就会分片,如果任意一个分片丢包,整个数据报就没用了,但是TCP协议有超时重传机制会重新发生,所以丢包的影响不大


3. ARP协议

ARP协议不单纯是数据链路层的协议,它是介于数据链路层和网络层之间的协议 ,ARP协议建立了主机IP地址与MAC地址的映射关系,主机和路由器中都维护了一张ARP缓存表(基于ARP协议,可以通过IP地址找到对应的MAC地址)


3.1 ARP协议的作用

发送数据到同网段主机时,目的IP和目的端口肯定都知道,但是可能不知道目的主机的MAC,这时候基于ARP缓存表通过目的主机IP找到对应目的主机MAC(找不到就喊话)

发送数据到不同网段主机时,先往网关设备发,也要基于ARP协议通过网关IP找到网关MAC

网关设备封装完数据报,根据路由功能,找到下一跳设备的IP,此时基于网关设备的ARP缓存表,通过IP找到下一跳设备得MAC

3.2 ARP协议的工作流程

image.png


源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播

目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中

每台主机都维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址


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

热门文章

最新文章