网络原理(7)——以太网数据帧和DNS协议(数据链路层和应用层)

目录

一、以太网数据帧(数据链路层)

二、DNS协议(域名解析系统,应用层协议)


一、以太网数据帧(数据链路层)

        以太网横跨了数据链路层和物理层,这里只做简单介绍,因为普通程序员用不到这一块,除非是做交换机开发的;下图是数据帧的格式。

目的地址和源地址:和IP协议上表达意思差不多,但这里是mac地址。

数据:以太网数据帧的载荷最小46字节,最大1500字节;这里的大小限制是因为受到了物理设备的特性46字节是因为ARP1500字节是因为硬件的限制(和以太网的网口 / 网线这些物理设备有关系),称为“MTU”在IP数据报拆包组包的过程中,原因往往不是因为自身大小超过64KB了,而是因为MTU的原因。(数据链路层不仅仅只有以太网这种协议,还有许多其他的协议,不同的协议,MTU也会有所差异)。

类型:标识了载荷数据的含义。有以下三种(上图的三种):

        IP数据报:如果载荷类型是这个,此时以太网数据帧大概率是能够携带业务数据的报文(大概率携带的是业务数据,也可能携带的是syn这种)。

ARP和RARP可以认为这两个横跨了 网络层 和 数据链路层 的协议。

        ARP:效果是让路由器 / 交换机 建立一个内部的结构,可以通过映射,找到mac的地址,映射关系:IP -> mac(类似哈希表这种)。

        RARP:效果也是让路由器 / 交换机 建立一个内部的结构,也是映射,不过找到的是IP地址,映射关系:mac -> IP

        前面通过路由表,可以拿着IP查询下一步走哪个网络接口(通常指路由器的 WAN / LAN口);但也还需要根据当前环境,获取当前对应要转发的mac地址(需要知道通向的设备具体的mac地址)。

        数据链路层这里,引用的地址协议和IP协议不一样,它有它自己的独立的一套地址体系:mac地址(或物理地址)mac地址 和 IP地址是独立的两条地址体系

        其实这两个地址协议是可以合并在一起的,但是因为历史的原因,这两个地址协议是两伙人搞出来的,而且既然搞出来了,就拿出来用了。

        之前说的IP协议 侧重于 全局的转发,从起点到终点,这整个转发过程,是通过IP协议完成的;而mac协议 侧重于 局部的转发,两个相邻的设备之间的转发(一个电脑连着路由器,电脑和路由器就是相邻的关系)。

        因为mac地址是6个字节的地址,所以可以表示的地址的个数比IP地址多很多,大概是:42亿9000万 * 65535,所以mac地址还是很充足够用的,这里用的就是静态地址硬件设备网卡,在出厂的时候就已经把mac地址给写死,所以每个电脑设备上的mac地址都是唯一的网卡和mac地址也是一对一绑定的;基于mac地址,有些程序,可以通过mac地址来作为你机器的身份表示,例如外挂,只有在你电脑上插u盘才能用,其他电脑插上就不能用,原因就是制作外挂者这里的服务器,用户这边的客户端,服务器利用mac地址就知道哪些人是从自己这买的外挂,然后允许他用外挂(声明:制作外挂、售卖外挂均为违法行为,请遵纪守法,做好合法公民)

        mac地址是用16进制方式表示的,字节之间则是用 “-” 或 “:” 来分隔的,如图是我电脑上的mac地址(Windows系统的物理地址就是mac地址):

        这里的mac地址和IP地址也有其他方面的不同,如图是以太网数据帧:

        源 / 目的mac地址类似一个小阶段的目标,而源 / 目的IP是类似终极目标这种。举个例子:

我要去陕西,途中我要经过:广东 -> 湖南 -> 湖北 -> 陕西。

        这里有不同的阶段,对应不同的mac地址,但IP地址一直都是相同的,如下:

        广东 -> 湖南        源IP:广东,目的IP:陕西        源mac:广东,目的mac:湖南

        湖南 -> 湖北        源IP:广东,目的IP:陕西        源mac:湖南,目的mac:湖北

        湖北 -> 陕西        源IP:广东,目的IP:陕西        源mac:湖北,目的mac:陕西

        mac地址和IP地址的不同如上(还有其他的不同),mac地址这里侧重的是局部(相邻)的转发(两个相邻的设备)IP地址这里侧重的是全局的转发,从起到到终点,这转发的整一个过程。        


二、DNS协议(域名解析系统,应用层协议)

        如果使用IP地址来描述设备的地址,又长又难记,如果访问某个服务器,需要记住它的IP地址的话,就很难记住,也可能记混的现象;所以,有更好的方法:使用域名(word),通过域名,把域名转换成对应的IP地址,就好记很多,也不容易错。

        DNS协议就是域名解析的一个协议,在上古时期,那时候是通过host文件把域名和IP一一对应起来,每一行都有域名和IP每次访问某个域名,就会通过这个域名,在host文件中查找对应的IP,从而找到这个访问设备在网络中位置

        但是随着互联网发展的越来越快,域名和服务器都越来越多,此时维护的成本就很大,所以大佬们就干脆 搭建一个服务器,提供域名解析的功能(之前的host内容也放到服务器上了),你的设备想要访问某个域名,就会先到域名解析服务器(DNS服务器)上查一下,找到对应的IP,拿着这个IP访问即可。

        但是,全世界那么多人,如果都访问这个DNS服务器,那不会很容易挂了,它能抗住这么多请求吗?显然是不能的,其实DNS服务器并非只有一份,而是有很多份。如下解释:

        最开始的DNS服务器称为根域名服务器这里的内容最全然后各个国家的运营商,就根据这个根域名服务器的内容,搭建出镜像服务器网民上网时,一般就是访问你附近的运营商搭建的镜像DNS服务器,而镜像服务器也会定期从根DNS服务器中同步数据

        域名还分为一级,二级,三级.....,这样就可以控制每个服务器管理的数据都差不多,如图:

        上图的com是一级域名,sogou是二级域名,www是三级域名其中根域名服务器里的内容非常重要,如果把其中一部分内容删除掉,就可能会导致一个地区 / 一整个国家网络瘫痪,无法上网。而根域名服务器一共有13个,大部分都是美国人维护的,所以,这也是我国迫切要升级IPv6的原因。

        有时候会出现一种情况,QQ、微信能等的上去,但是网页却打不开,可能就是你附近的运营商的DNS服务器挂了,这时候我们可以换个DNS服务器地址,如:8.8.8.8,这是谷歌搞得一套DNS镜像服务器,换完后,可能就可以打开网页了。


都看到这了,点个赞再走吧,谢谢谢谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/770877.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅谈linux下的进程地址空间(虚拟地址/线性地址)

目录 什么是地址空间 - 虚拟地址空间 地址空间是如何设计的 为什么要有地址空间 什么是地址空间? 示例: 运行之后发现:同一个变量,同一个地址,在运行一段时间后,竟然会在同一时间出现两个不同的值&…

阿里云短信平台收费价格表,短信服务优惠0.032元一条

2024年阿里云短信服务优惠价格表,阿里云短信多少钱一条?低至0.01元一条,200条短信仅需2元,最高可领2000条短信免费赠送,短信套餐包2000条、5000条、5万条等均有活动,阿里云百科aliyunbaike.com整理2024年最…

数字乡村战略实施:科技引领农村经济社会全面发展

随着信息技术的快速发展,数字化已经成为推动经济社会发展的重要力量。在乡村振兴战略的大背景下,数字乡村战略的实施成为了引领农村经济社会全面发展的关键。本文将从数字乡村战略的内涵、实施现状、面临挑战及未来展望等方面,探讨科技如何引…

MySQL数据库备份策略与实践详解

目录 引言 一、MySQL数据库备份的重要性 (一)数据丢失的原因 (二)数据丢失的后果 二、MySQL备份类型 (一)根据数据库状态 (二)根据数据的完整性 (三)…

线程的状态:操作系统层面和JVM层面

在操作系统层面,线程有五种状态 初始状态:线程被创建,操作系统为其分配资源。 可运行状态(就绪状态):线程被创建完成,进入就绪队列,参与CPU执行权的争夺。或因为一些原因,从阻塞状态唤醒的线程…

CCF-CSP认证考试 202212-2 训练计划 100分题解

更多 CSP 认证考试题目题解可以前往:CSP-CCF 认证考试真题题解 原题链接: 202212-2 训练计划 时间限制: 1.0s 内存限制: 512.0MB 问题背景 西西艾弗岛荒野求生大赛还有 n n n 天开幕! 问题描述 为了在大赛中取得…

【Linux】进程的基本概念(进程控制块,ps命令,top命令查看进程)

目录 01.进程的基本概念 程序与进程 进程的属性 02.进程控制块(PCB) task_struct的内容分类 组织进程 03.查看进程 ps命令 top指令 在计算机科学领域,进程是一项关键概念,它是程序执行的一个实例,是操作系统的…

Mybatis的核心配置文件

MyBatis的全局配置文件mybatis-config.xml,配置内容如下: properties(属性)settings(全局配置参数)typeAliases(类型别名)typeHandlers(类型处理器)objectFa…

面试知识汇总——垃圾回收器(分代收集算法)

分代收集算法 根据对象的存活周期,把内存分成多个区域,不同区域使用不同的回收算法回收对象。 对象在创建的时候,会先存放到伊甸园。当伊甸园满了之后,就会触发垃圾回收。 这个回收的过程是:把伊甸园中的对象拷贝到F…

【物联网】Qinghub Kafka 数据采集

基础信息 组件名称 : kafka-connector 组件版本: 1.0.0 组件类型: 系统默认 状 态: 正式发布 组件描述:通用kafka连接网关,消费来自kafka的数据,并转发给下一个节点做相关的数据解析。 配置文…

网络七层模型之物理层:理解网络通信的架构(一)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

如何忽略Chrome最小字号的限制

通过控制台调整字体大小时,可以发现即便设置了小于12px的字号,也并不会变小,这是因为Chrome默认最小字号为12px。 在Chrome设置中的外观选项卡中可以发现,默认字体是16px。将最小字号改为0,就能随意设置小于12px的字号…

spring boot商城、商城源码 欢迎交流

一个基于spring boot、spring oauth2.0、mybatis、redis的轻量级、前后端分离、防范xss攻击、拥有分布式锁,为生产环境多实例完全准备,数据库为b2b2c设计,拥有完整sku和下单流程的商城 联系: V-Tavendor

文件编辑命令—vim

1.vim vim 是vi的升级版本.vi 文件名(vi方向键用不了) vim 的官方网站 (welcome home : vim online) 自己也说 vim 是一个程序开发工具而不是文字处理软件。 2.安装vim sudo apt install vim 如果出错了:apt update:刷新软件源; 出现"无法获得锁 之类的"sudo rm 文件…

后端常问面经之并发

volatile 关键字 volatile关键字是如何保证内存可见性的?底层是怎么实现的? "观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码发现,加入volatile关键字时,会多出一个lock前缀指令”lock前缀指令实际上相…

2015年认证杯SPSSPRO杯数学建模D题(第二阶段)城市公共自行车全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 D题 城市公共自行车 原题再现: 城市交通问题直接影响市民的生活和工作。在地形平坦的城市,公共自行车出行系统是一种很好的辅助手段。一般来说,公共自行车出行系统由数据中心、驻车站点、驻车桩、自行车&…

吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.1-3.5

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第三周:浅层神经网络(Shallow neural networks)3.1 神经网络概述(Neural Network Overview)3.2 神经网络的表示(Neural Network Representation…

【Java八股面试系列】中间件-Redis

目录 Redis 什么是Redis Redis解决了什么问题 Redis的实现原理 数据结构 String 常用命令 应用场景 List(列表) 常用命令 应用场景 Hash(哈希) 常用命令 应用场景 set(集合) 常见命令​编辑 应用场景 Sorted Set(有序集合) 常见命令​编辑 应用场景 数据持…

idea中gradle编译下运营main方法报CreateProcess error=206

问题描述 CreateProcess error206 文件名或扩展名太长 问题分析 解决方案 build.gradle文件里添加 buildscript {repositories {maven {url "https://plugins.gradle.org/m2/"}}dependencies {classpath "gradle.plugin.ua.eshepelyuk:ManifestClasspath:1.…

Pandas操作MultiIndex合并行列的Excel,写入读取以及写入多余行及Index列处理,插入行,修改某个单元格的值

Pandas操作MultiIndex合并行列的excel,写入读取以及写入多余行及Index列处理 1. 效果图及问题2. 源码参考 今天是谁写Pandas的 复合索引MultiIndex,写的糊糊涂涂,晕晕乎乎。 是我呀… 记录下,现在终于灵台清明了。 明天在记录下直…