【网络】-数据链路层及其他协议

本文介绍了以太网作为广泛使用的局域网技术,包括其帧格式和MTU概念。接着讨论了ARP协议如何在IP和MAC地址间建立映射,以及其工作流程。最后,概述了DNS协议的作用,区分了递归查询和迭代查询,并解释了域名解析的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇学习数据链路层的重点协议


以太网

以太网(Ethernet)是一种常见的计算机网络技术,用于在局域网(LAN)中传输数据。它是一种基于标准化的物理层和数据链路层协议,可以以较高的速度和可靠性在计算机和其他网络设备之间传递数据。既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等

数据链路层接近底层

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

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

以太网 数据链路层/物理层

以太网帧格式

以太网的帧格式如下所示:
在这里插入图片描述
CRC是校验和
目的地址和源地址是mac地址 ,6个字节,而MAC地址是6个字节为单位的,地址足够使用,所有当前mac地址是可以做到每一个设备都是唯一的,并且mac地址也并不需要动态分配,正因如此,mac地址也可以作为网络上身份的一种有效标识

一个以太网数据帧最大的载荷长度计算1500,不同的数据链路层协议对应不同的硬件物理设备,所对应的传输上限也不同
这个数据链路层数据帧的最大载荷长度,称为MTU,如果承载的数据,长度超过MTU,就会在IP层进行分层,使每个分出来的结果,都能在MTU之内,保证数据的传输
虽然IP可以拆包,但是无法改变UDP最大长度位64kb,由于拆出的这些ip数据报中只有一份UDP首部,这些首部里能够填写UDP长度的地方,也还是只有2个字节,无法改变64k大小这个限制

类型为0800,是用来传输数据的以太网帧
类型0806,和类型8035 是特殊的以太网数据帧

ARP协议

ARP不是一个单纯的数据链路层的协议,而是一个介于数据链路层和网络层之间的协议;

ARP协议的作用

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

  1. 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址;
  2. 数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃;
  3. 因此在通讯前必须获得目的主机的硬件地址;

ARP协议的工作流程

  1. 源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播);
  2. 目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中;
  3. 每台主机都维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址

DNS协议

NS(Domain Name System,域名系统)是一种用于将域名(例如www.example.com)转换为对应IP地址的网络协议。它充当互联网的“电话簿”,使得用户可以通过友好的域名来访问网站,而无需记住复杂的IP地址。

DNS中的递归查询和 迭代查询?

  1. 递归查询:是一般主机和本地DNS服务器之间就属于递归查询,就是当主机所询问的域名本地DNS服务器不知道时,本地DNS服务器就会以DNS客户的身份向其他域名服务器发出查询请求,直到得到结果并转交给主机;
  2. 迭代查询:一般DNS服务器之间属于迭代查询,就是假如DNS服务器A不能响应DNS服务器B的请求,那他会告诉DNS服务器B,下一步应该去找哪个DNS服务器,然后让其进行后续的查询;
    `

域名的解析过程?(A查abc.com)

  1. 主机A先想本地服务器进行递归查询;
  2. 本地服务器采用迭代查询,向一个根域名服务器查查询;
  3. 根域名服务器告诉本地服务器,我这里查不到, 然后发给他下一步应该查询的顶级域名服务器的IP地址;
  4. 本地域名服务器再去顶级域名服务器查询
  5. 顶级域名服务器告诉本地服务器,我这里也查不到,然后发给他下一步应该查询的权限域名服务器的IP地址;
  6. 本地域名服务器向权限域名服务器查询;
  7. 权限域名服务器告诉本地服务器,所查询域名对应的IP
  8. 本地域名服务器最后再把查询结果告诉主机A;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值