【Java EE初阶十九】网络原理(四)

本文详细介绍了数据链路层的以太网协议,包括其数据帧格式和MAC地址的作用。同时探讨了IP地址和MAC地址的区别,以及DNS域名解析系统的工作原理,包括DNS服务器的负载均衡和本地缓存策略。
摘要由CSDN通过智能技术生成

4. 数据链路层

        数据链路层也有很多种协议,其中一个比较常见常用的,就是“以太网协议”(通过网线/光纤, 来通信所使用的协议叫做以太网协议,以太网是横跨数据链路层 + 物理层);

4.1 以太网数据帧格式

        帧头 + 载荷(IP 数据报)+ 帧尾,以太网数据帧格式如下图所示:

        如上图所示:

目的地址:6字节

源地址:6字节

        这里的6 个字节,不是 IP 地址,而是网络中的另一套地址体系,mac 地址(物理地址)

        由于最开始搞网络的时候,网络层协议和数据链路层协议,是各自独立的,所以地址这个东西就被搞了两份出来, 故此这俩地址就被用到了不同的场景中, mac 地址由于是 6 个字节,能表示的范围,比IP 地址大了6w 多倍。

        IP 地址虽然早都不够用了,但是 mac 还是够用的。目前来说,每个设备都是有唯一的 mac 地址(网卡出厂的时候,就写死的,一般来说也不能修改,mac 也可以作为一台网络设备的身份标识)

q1:IP 地址和 Mac 地址各自的用途是什么?
        IP 协议立足于全局,完成整个通信过程的路径规划工作。
        以太网则是关注于局部,即相邻两个设备之间的通信过程。

类型:

        描述载荷数据是一个啥样的数据,关于ip数据报的相关知识如下所示:

        像交换机这样的设备,收到以太网数据帧的时候,就需要进行转发,(这个转发过程就需要能够根据 mac 地址,判定出数据要走哪个网口),这里的网口是"物理意义"上插网线的口(IP 协议,路由器,走哪个网络接口,其实是抽象的概念,最终还是要在数据链路层才能决定是走哪个网口...)

        q2:具体如何转发?
        交换机内部也有一个数据结构"转发表”,和前面说的路由表有点像,但其实还是有一系列差别;转发表是一个简单的像 hash 这样的映射,转发表主要就是通过 arp 协议来生成的;

5. DNS 域名解析系统 

        使用 IP 地址,来描述设备在网络上的位置,IP 地址不适合进行宣传,所以引入了“域名"这样的方式来解决上述问题,将ip地址换成单词如:www.bilinili.com,所以需要有一套自动的系统,把域名翻译成 IP 地址(将域名和IP 想象成一组键值对);

        最早的域名解析系统,是通过一个简单的文件来实现的-->hosts 文件,如下图所示:

        

        hosts 文件来维护域名和ip 的映射关系,,非常不方便,于是就搭建了一套 DNS 系统(一组服务器),把上述这样的映射关系都保存到这个服务器中了;如果你想访问某个域名,就先给这个 DNS 服务器发起请求,查询一下当前域名对应的 ip, 然后再访问目标网站

        每时每刻都有很多设备需要进行 DNS 的请求,这一组服务器能抗住这么多的访问嘛?

        首先一个服务器硬件资源是有限的(CPU,内存,硬盘,网络带宽...),服务器处理每个请求,肯定都是要消耗一定的资源的。如果单位时间内,请求太多,消耗的总资源超过了机器本身的资源上限,这样机器就挂了,这种所谓的"高并发" 问题,我们有两种核心思路,如下所示:

        1.开源;搭建DNS系统的大佬,就开始号召各个网络运营商都可以自己搭建一组"DNS 镜像服务器",镜像服务器的数据, 都从他们这边来同步,当用户向DNS服务器发出请求时,此时用户就会优先访问离自己最近的镜像服务;

        2、节流.;让请求量变少,即让每个上网的设备都搞本地缓存。如果我的电脑 1min 之内要访问 10 次 www.bilibili.com,只是让第一次请求 DNS 即可,把请求得到的结果保存到本地;后面9次请求都使用第一次的结果即可;

        一般进行 DNS 解析,访问的都是就近的运营商的镜像;

        运营商的镜像服务器,经常会出现,"QQ 能用,网页打不开”的问题,这时候就需要修改电脑上的 DNS 服务器的地址。

ps:本次的内容就到这里了,如果大家感兴趣的话就请一键三连哦!!!

  • 24
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值