【网络原理】数据链路层 和 应用层 重点协议

article/2025/11/1 12:51:34

请添加图片描述

✨个人主页:bit me👇
✨当前专栏:Java EE初阶👇

目 录

  • 🍀一. 以太网协议(数据链路层)
  • 🌻二. DNS (应用层)
  • 🌿三. 网络原理知识面试总结

🍀一. 以太网协议(数据链路层)

以太网就是平时我们插网线的协议,平时插的网线也叫做 “以太网线”

  • 以太网帧格式:

在这里插入图片描述

  • 这里的 目的地址 源地址 是 mac 地址(物理地址)不是 IP 地址
  • 6 个字节的 mac 地址要比 IP 地址多很多!42亿9千万 * 65535,mac 地址还可以做到唯一的(网卡出厂的时候就被写死在网卡上了)
  • 第二行就是载荷,载荷就是数据报。46 - 1500 其中 1500 就是表示以太网数据帧的长度上限 1500,不同的数据链路层协议的最大长度不相同的,把这个最大长度称为 MTU。(如果一个以太网数据帧是一辆卡车,MTU 就是载重量,如果达到了这个量,就会触发 IP 的分包操作!1500其实非常小,也就 1 KB 多点,IP 分包不是因为数据长度达到了 64KB,主要是受到了 MTU 的限制。其中 1500 的大小是和硬件介质相关)
  • CRC :校验和,放在末尾了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

IP 数据报记录的是最初的起点和最终的终点,而以太网数据帧记录的是相邻节点的转发
 

  • ARP 效果是根据 IP 地址找到对应的 mac 地址
  • RARP 效果是根据 mac 地址找到对应的 IP 地址

 
路由器进行这种相邻节点转发的过程中,需要能够建立好一套转发的规则(转发表)
使用 ARP 和 RARP 主要是用来在转发之前,把转发表构造好,毕竟网络环境经常发生变化


🌻二. DNS (应用层)

DNS :域名解析(域名:网址)

例如 www.xxx.com 这就是域名,IP 地址,虽然写成了点分十进制,更方便人来理解了,但是仍然不是特别的直观!为了进一步简化人对 IP 的理解,方便传播,就引入了 “域名”。域名可以通过 DNS 系统自动转换成对应的 IP 地址,如果未来的 IP 地址有变化(机器迁移了)

最早的 DNS 系统是一个文件,称为 hosts 文件
在这里插入图片描述
在这里插入图片描述

这个方式比较原始,现在基本不用了,现在的成千上万的网站不能够把所有的映射关系都写到文件中,因此,更科学的办法就是使用专门的 DNS 服务器来保存这个文件,使用服务器把这些映射关系都储存好,哪个电脑需要 DNS 解析,就访问这个 DNS 服务器即可!

全世界要上网的设备非常多,每个设备都要请求 DNS 服务器?DNS 服务器扛得住这么大的访问量吗?(每个服务器在给客户端提供服务的时候,都需要消耗一定的硬件资源,如 CPU,内存,网络带宽…,并且每个服务器能提供的硬件资源是有限的)如何解决 DNS 服务器访问量太高的问题呢?

  1. 主机在请求 DNS 之后,会对映射关系在本地进行储存 (域名 - > IP 这个映射关系,虽然会变短,但是频率比较低),这就可以大大减少客户端访问 DNS 服务器请求的数量。
  2. 在全世界,架设很多的 DNS 镜像服务器。最初的 DNS 服务器,称为 “根服务器”,其他的 DNS 服务器,从服务器上同步数据 “镜像服务器”。(“镜像服务器” 非常多,一般各种大的网络运营商都会在自己业务的各个片区里面去部署镜像服务器)

DNS 既是一个协议,也是一套系统(分布式的服务器系统)


🌿三. 网络原理知识面试总结

经典面试题(高频面试题):

  • 从浏览器中输入 URL 开始,到最终看到页面位置,中间都发生了哪些事情?
  1. 浏览器是客户端,从这里输入 URL,就会访问对应的服务器。
    应用层角度:1.DNS 解析 2. 构造 HTTP 请求

  2. 传输层角度:对应到 TCP 协议
    1.对应三次握手,建立连接 2. 传输数据(确认应答,超时重传,滑动窗口,流量控制,拥塞控制…)

  3. 网络层的角度:网络数据报转发过程,一跳一跳的方式来转发。(路由表,路由表匹配规则,下一条相关内容)

  4. 数据链路层的角度:以太网数据帧,mac 地址,mac 在转发过程中如何变化,MTU,MTU 影响到的 IP 分包。

  5. 物理层的角度:上述数据会转成"光信号""电信号"进行编码,传输~~

  6. 总结:发送的过程中,涉及到从上到下,封装.接收方,涉及到从下到上的分用~~

上述过程是客户端给服务器发送请求的过程,后面服务器还需要根据请求计算响应,把响应按照类似的流程转发给客户端。(根据请求计算响应取决于业务代码了,后面慢慢更新此处的神秘面纱)

与此同时,上述回答,也是站在 “后端开发” 的角度来看待问题,站在前端开发的角度,网络工程师的角度,回答的方式就不一样了。


http://chatgpt.dhexx.cn/article/FNZdwNuZ.shtml

相关文章

数据链路层六大协议详解

数据链路层六大协议详解 一些假设1.无限制的单工协议(乌托邦协议)五点假设发送方接收方接受方 2.单工停-等协议3.有噪声信道的单工协议 本文图片截取自 学堂在线-华南理工大学的计算机网络课程 一些假设 物理层、数据链路层和网络层各自是独立的处理进程机器A希望向B发送的是…

数据链路层相关协议

网络类型 ---根据数据链路层协议进行划分 MA ---多点接入网络(BMA广播型,NBMA非广播型)P2P---点到点的网络 以太网协议---需要使用MAC地址对不同的主机设备进行区分和标识 ---主要因为利用以太网组件的二层网络可以包含(两个和两…

网络安全——数据链路层安全协议

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.数据链路层安全协议简介 1.数据链路安全性 二.局域网数据链路层协议 1…

数据链路层协议

一、数据链路层概述 1.数据链路层的功能: 1)链路管理:负责数据链路的建立、维持和释放,主要用于面向连接的服务; 2)帧同步:接收方确定收到的比特流中一帧的开始位置和结束位置; …

数据链路层主要协议

PPP:点对点的协议,华为路由器默认封装,是面向字符的控制协议。HDLC:高级数据链路控制协议,Cisco路由器默认的封装,是面向位的控制协议。fram-relay:表示帧中继交换网,它是x.25分组交…

【计算机网络】数据链路层-基本数据链路层协议

【计算机网络】数据链路层-基本数据链路层协议 协议1:一个乌托邦式的单工协议 单工协议即数据只能单向传输。这个协议假设信道永远不会丢失或损坏帧,接收方的处理能力足够快,缓冲区足够大。 发送程序无限循环,接受程序响应事件&am…

数据链路层协议(Ethernet、IEEE802.3、PPP、HDLC)

​​​​​数据链路层协议 首先Ethernet、IEEE802.3、PPP和HDLC都是数据链路层的协议,只不过后面三个不常用而已,数据链路层最常用的协议是Ethernet以太网协议。 Ethernet和IEEE802.3属于以太链路层协议 广域网中经常会使用串行链路来提供远距离的数据…

计算机网络之数据链路层协议总结

数据链路层 1.数据链路层介绍2.ARP协议2.1 ARP的工作流程2.2 ARP数据报格式 3.NAT技术3.1 NAT转换过程3.2 NAPT技术(动态NAT重载) 4.DNS技术4.1 域名层级关系4.2 域名解析流程 5. ICMP协议5.1 ICMP功能5.2 ICMP类型 1.数据链路层介绍 数据链路层主要负责…

(SQL)修改表结构[字段类型]、表字段长度,

①:更改字段类型长度 ALTER TABLE 表名 ALTER COLUMN 字段名 类型的长度–varchar(50) 例:把城市表的城市字段原来长度为20改为30 ALTER TABLE city ALTER COLUMN cname varchar(30) ALTER TABLE #temp ALTER COLUMN bmmc NVARCHAR(30)②&#xff1…

表字段长度的修改

设置后,即可完成sqlserver数据库表字段长度的修改 超时修改:

用命令语句修改mysql某字段长度

在MySQL中修改某个字段的长度,需要使用ALTER TABLE语句,具体操作如下: 假设要修改表A中的字段col1的长度为50。 ALTER TABLE A MODIFY col1 VARCHAR(50); 以上语句中,MODIFY关键字用于修改表结构,VARCHAR(50)用于指定…

开发人员各种鄙视链

最近几年经常在网络上看到各种程序员鄙视链,其实真实情况是我们都很忙,每天 Bug 都调不玩,哪里有空鄙视这,鄙视那。所以很多的的鄙视链大家自己看看,笑一笑就过了,不要太过认真。 1、穿衣服也是有讲究的 2、…

趣图《程序员鄙视链》

小编推荐:Fundebug提供JS错误监控、微信小程序错误监控、微信小游戏错误监控,Node.j错误监控和Java错误监控。真的是一个很好用的错误监控费服务,众多大佬公司都在使用。 最近几年经常在网络上看到各种程序员鄙视链,其实真实情况是…

程序员鄙视链至今还存在,你咋想不通呢?看完给你理清思绪

前天本来想去githup上交流一下技术问题,顺便薅点源码玩玩。结果不小心打开了一个阿里朋友的博客。在他的文档下有特别多奇葩的留言: 什么PHP是世界上最好的语言~ Python是能上天的语言~ java最无敌~ C藐视一切 Gonang牛皮~ 这样的观点至今在互联网上…

从程序员鄙视链看IT圈职场晋升密码,你修炼到了第几层?

作为一名IT程序员工程师,在2020年疫情后严峻的就业环境下,对于求职择业和职场晋升可谓体会颇深了。 亲眼目睹身边的好友因企业业务收缩而被辞退的痛楚,汇智妹猛然发现:“优胜劣汰”的生存法则,不光存在于自然界的食物链…

无代码开发,站到了程序员鄙视链顶端

文章目录 无代码开发,站到了程序员鄙视链顶端1.只花 72 小时完成一个危机管理软件项目2.巨头们已经开始激战3.无代码给 IT 技术人带来的挑战后记 无代码开发,站到了程序员鄙视链顶端 “无代码”不是在"淘汰”开发者,而是给予开发者更大挑…

程序员鄙视链python_程序员的鄙视链,请勿对号入座

原标题:程序员的鄙视链,请勿对号入座 在软件工程师(中国叫做「程序员」或「码农」)的圈子里,文人相轻的现象可是非常严重的,在程序设计的各个领域里都有着错综复杂的「鄙视链」。 最近这几年在世界各地突然吹起了一股全民写程序的…

图解程序员鄙视链(这回称得上是真的链表了吧)

简评:自古文人相轻,程序员的世界也存在着错综复杂的「鄙视链」。从程序语言、编辑器、平台到{ 是写在 if 的同一行还是下一行,不同阵营的人都习惯鄙视来鄙视去。而「你用什么程序语言?」更是大家最热衷的一条鄙视链。本文就为大家…

程序员鄙视链至今还存在,你为什么还想不通?

前天本来想去github上交流一下技术问题,顺便薅点源码玩玩。结果不小心打开了一个阿里朋友的博客。在他的文档下有特别多奇葩的留言: 什么PHP是世界上最好的语言~ Python是能上天的语言~ java最无敌~ C藐视一切 Gonang牛皮~ 这样的观点至今在互联网上还能…

站在程序员鄙视链的最顶端,真香!!

作为程序员你被鄙视过吗? 程序员群体中有一条无形的鄙视链。在现实中最直观的表现就是薪资差异。 据最新调查报告显示,全国范围内,程序员年薪达到50万以上的,仅占1.9%。 △数据来源: 《2018年中国程序员薪资生活调查报告》 如果你…