本文主要是介绍数据链路层知识分享【计算机网络】【以太网帧 | MTU的影响 | ARP技术】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
博客主页:花果山~程序猿-CSDN博客
文章分栏:Linux_花果山~程序猿的博客-CSDN博客
关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长!
目录
前文
一, 以太网帧格式
(1).理解局域网通信原理
第一种:在同一网段中
第二种:在不同网段中
二,MTU对上层的影响
mtu对IP协议的影响
MTU对UDP协议的影响
MTU对TCP协议的影响
如何理解滑动窗口&MSS的联系,区别
三,ARP技术
四,其他重要协议或技术
1.DNS——域名解析(了解)
2.NAT技术(了解)
NAPT策略
NAT & 代理服务器
嗨!收到一张超美的图,愿你每天都能顺心!
前文
经历过网络层,我们开始向下继续探索。首先我们先了解一下什么是以太网(防止误导,这里使用AI回答)?
以太网是一种广泛使用(目前最广泛)的局域网(LAN)技术,它让相连的计算机和设备在一个有限区域内共享资源和交换数据,和以太网并列的还有令牌环网, 无线LAN等。
以太网标准由IEEE 802.3定义,涵盖了物理层的连线、信号及数据链路层的介质访问控制协议。最初运行在同轴电缆上,现多使用双绞线和光纤,数据传输速率已从10Mbps发展到10Gbps甚至更高。以太网采用CSMA/CD(载波监听多路访问/冲突检测)机制来管理网络中数据的发送,确保多设备公平访问网络。随着技术演进,现代以太网常见于星型拓扑结构中,使用交换机连接设备,提高了网络效率和速度。
生活例子:
如何查看本机网络属性:
ifconfig // linux
ipconfig // windows
一, 以太网帧格式
数据在不同层会有不同的叫法,在传输层UDP(报文),TCP(TCP段),网络层(IP数据包),而在数据链路层数据将以 " 帧 " 作为数据传输单位
什么?为什么不使用IP地址,它不是也可以标识主机了?答:理论上IP地址已经可以达成标识唯一主机的功能,这样设计是为了—— 解藕网络层和数据链路层,这样不至于网络层IP修改,导致数据链路层也得修改。
(1).理解局域网通信原理
这里用比较通俗的方式讲解局域网中基本的通信原理,如果想查看详细技术可以查阅相关书籍。
第一种:在同一网段中
下面我们了解一下网桥(采用AI回答)
网桥(Bridge)是一种传统的局域网(LAN)设备,工作在数据链路层(OSI模型的第二层),主要用于连接两个或多个网络段,实现它们之间的数据传输。网桥的基本功能是对收到的网络数据帧进行分析,根据帧中的MAC地址决定是否转发以及转发到哪个网络段,从而实现网络分段和通信控制。
总之,网桥用于局域网,将局域网划分为多网络段,显著减少网络碰撞即可。
第二种:在不同网段中
假设主机A向主机B,就需要在多个网段移动,这里以帧经过路由器A为例,我们可以知道关于帧格式的变化:目的IP不变,目的mac变化,源mac地址将变成路由器A的,而里面的NAT技术我们后面再说。
这样我们可以再次理解 mac地址与IP地址
在一次信息传递的过程中,mac地址(指的是源mac地址&目的mac地址)可能会多次变化,更多表示的是一个网段的起点&终点地址;目的IP地址则不会改变。
二,MTU对上层的影响
什么是mtu,是做什么的?
MTU是数据链路层的一个特性,它不仅限于以太网,不同类型的网络技术(如PPP、帧中继、Wi-Fi等)都有各自默认的MTU值,这些值根据物理媒介和协议规范而定。
这里我们了解以太网下的MTU:
以太网是最常见的局域网技术,其标准MTU值通常为1500字节。
mtu对IP协议的影响
由于数据链路层MTU的限制, 对于较大的IP数据包要进行分包
- 将较大的IP包分成多个小包, 并给每个小包打上标签;
- 每个小包IP协议头的 16位标识(id) 都是相同的;
- 每个小包的IP协议头的3位标志字段中, 第2位置为0, 表示允许分片, 第3位来表示结束标记(当前是否是最
- 后一个小包, 是的话置为1, 否则置为0);
- 到达对端时再将这些小包, 会按顺序重组, 拼装到一起返回给传输层;
MTU对UDP协议的影响
MTU对TCP协议的影响
如何理解滑动窗口&MSS的联系,区别
首先我们先回顾一下滑动窗口:
滑动窗口是TCP协议中实现流量控制的一个机制。它通过动态调整发送方和接收方的窗口大小来控制数据的发送速率,从而保证数据的可靠传输且不致接收方缓冲区溢出。滑动窗口分为发送窗口(sender's window)和接收窗口(receiver's window)两部分。
联系
MSS影响了单个TCP段的大小,从而间接影响了滑动窗口的使用效率。如果MSS设置得合适,可以减少数据传输过程中的分片和重组,使得每个TCP段能更有效地利用滑动窗口的容量。在计算实际发送数据量时,发送方会考虑当前的滑动窗口大小和MSS,确保不会发送超过接收方窗口大小或单个段超过MSS的数据。
区别
- 关注点不同。滑动窗口大小是用于流量控制的策略,关注的是数据传输效率和可靠性,并不关注下层协议如何实现传递(决策者视角);MSS则需要根据连接时的数据包的传输效率和网络兼容(真正做事的)
- 变化方式不同。滑动窗口大小是动态改变的;而MSS是在进行建立连接时,就保持不变,除非重新连接。
三,ARP技术
为什么直接讲ARP技术?这里回答在前面埋的一个坑,我们已经知道了帧格式,那么问题在封装帧数据时,我们怎么知道目的mac地址?ARP技术就出现了
当 第一次用ARP向网络询问目标主机时,以太网目的地址设置为 FFF...全F的形式(广播),收到该ARP帧报文的机器都将进行接收, 交付给处在数据链路层的 ARP协议层进行分析,首先根据OP判断ARP类型,然后再判断IP正确性,随后封装ARP应答,返回目标mac地址。(并不是每次发数据,都需要ARP一躺,主机会缓存目标mac地址一段时间(一段时间进行一次ARP,防止主机下线);并不是只有主机与主机直接才进行ARP,路由器与路由器直接也会ARP交换mac地址,两主机之间需要通信,就需要ARP)
arp -a
四,其他重要协议或技术
1.DNS——域名解析(了解)
它负责将人类容易记忆的域名(如www.example.com)转换成用于网络通信的实际IP地址(如192.0.2.1)。这一过程称为域名解析。DNS的设计实现了域名与IP地址之间的映射,使得用户无需记住复杂的IP地址就能访问网站。主机拿到IP地址后,会对其进行缓存,方便下次访问。
如果一个新计算机要接入网络, 或者某个计算机IP变更, 都需要到信息中心申请变更hosts文件.其他计算机也需要定期下载更新新版本的hosts文件才能正确上网.
一个组织的系统管理机构, 维护系统内的每个主机的IP和主机名的对应关系.如果新计算机接入网络, 将这个信息注册到数据库中;用户输入域名的时候, 向DNS服务器发送 UDP请求报文, 由DNS服务器检索数据库, 得到对应的IP地址.
www.badu.com
2.NAT技术(了解)
背景:
NAT能够将私有IP对外通信时转为全局IP. 也就是就是一种将私有IP和全局IP相互转化的技术方法:很多学校, 家庭, 公司内部采用每个终端设置私有IP, 而在路由器或必要的服务器上设置全局IP;全局IP要求唯一, 但是私有IP不需要; 在不同的局域网中出现相同的私有IP是完全不影响的
NAPT策略
这时候 NAPT 来解决这个问题了。 使用 IP+port 来建立这个关联关系
说点好玩的:如内网穿透,一般都是我们向服务端提出请求,服务端响应,而服务端又如何在外边访问内网呢?而内网穿透就是干这个的,比如远程开机,操作等
总之,NAT技术在路由器上维护一个映射表,负责替你向公网发送与接收,最后转发给你。
NAT & 代理服务器
正向代理:
正向代理位于客户端和目标服务器之间,主要服务于客户端。它代表客户端向目标服务器发起请求,并将响应结果返回给客户端。
反向代理
反向代理位于服务器端,位于客户端和目标服务器集群之间,主要服务于外部客户端,对客户端透明。客户端并不直接知道它正在与哪个具体的后端服务器交互。
结语
本小节就到这里了,感谢小伙伴的浏览,如果有什么建议,欢迎在评论区评论,如果给小伙伴带来一些收获,请动动你发财的小手点个免费的赞,你的点赞和关注永远是博主创作的动力源泉。
这篇关于数据链路层知识分享【计算机网络】【以太网帧 | MTU的影响 | ARP技术】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!