以太网协议和DNS

news2025/1/12 1:50:03

目录

🐕今日良言:跨过困难,去迎接更好的自己.

🐳一、以太网桢格式

🐳二、DNS


🐕今日良言:跨过困难,去迎接更好的自己.

🐳一、以太网桢格式

数据链路层考虑的是相邻两个节点(通过网线/光纤/无线直接相连的两个设备)之间的传输

数据链路层的典型协议也很多,其中最知名的就是"以太网".

以太网协议规定了数据链路层,也规定了物理层的内容.

我们使用的网线就叫做"以太网线"(遵守以太网协议的网线)

接下来,先来看一下以太网桢的格式:

 

以太网数据帧 = 桢头+载荷+桢尾

桢头:包括目的地址 源地址 类型

这里的不是使用IP表示地址了,而是使用了一个mac地址(物理地址),这个是和IP地址完全独立的另外一套地质体系.

mac地址:6个字节(比IPv4地址要大很多)当前每个设备都会有一个唯一的mac地址.

这个mac地址不是动态分配的,而是网卡出厂的时候就会被设置好的.

类型:帧协议类型字段有三种值,分别对应IPARPRARP

 IP:普通的以太网数据帧的载荷部分就是一个完整的IP数据报.

ARP:载荷部分是一个ARP报文

        这是另外的一个协议:ARP协议,通过这个协议,就可以让路由器/转发机可以认识局域网里面的其它设备.

        ARP 不是一个单纯的数据链路层的协议,而是一个介于数据链路层和网络层之间的协议;
        ARP协议建立了主机 IP地址 和 MAC地址 的映射关系:

       通过ARP协议会在交换机/路由器 里面建立一个表,这个表相当于一个hash表,能够建立出IP和mac之间的映射关系.

RARP:载荷部分是一个RARP报文

载荷:一个完整的IP数据报.

既然有了IP地址,为什么还要有mac地址呢?

假设只有一套地址体系(比如IP地址和以太网都使用IP地址/mac地址)完全可以.

但是,在最初大佬们研发初代的协议栈的时候,研发网络层协议的大佬和研发数据链路层协议的大佬是两伙人,于是就各自研发除了一套地址体系.所以当前就演化成了两套地址体系相互配合的现状.

IP用来描述整个传输过程中的起点和终点.

mac用来描述两个相邻节点(起点和终点).

数据链路层考虑的是两个相邻节点之间怎么走.

接下来介绍一下MTU:

MTU是一个数据链路层的数据帧能够承载数据的最大长度(载荷的长度)

 载荷具体多长,和使用的物理介质有很大关系,当然也和数据链路层使用的协议有很大关系.

比如以太网协议 MTU 1500字节.

 正是这个MTU引起了IP协议来进行分包组包,IP的分包组包通常不是根据这个IP最大长度64Kb来分的, 大概率情况下,数据链路层的MTU都比64kb要小.

 

🐳二、DNS

这里补充一个应用层的协议:DNS  域名解析系统

这个协议也是当前互联网的基石.

什么是域名呢?

实际上就是网址.比如:www.baidu.com

要访问网络上的服务器需要使用的是IP地址,但是IP地址不好记,于是使用一些简单的单词构成字符串来表示这个地址.

每个域名都对应了一个/N个 IP地址.

所以说,就需要将域名和IP地址给对应上.

1).最原始的做法:使用hosts文件.

像hash表一样,建立了IP和域名的映射关系.

早期的时候,互联网上的服务器寥寥无几,此时每个用户手动维护自己的hosts文件够用了,

但是,后来互联网蓬勃发展,现在的网站成千上万,每天都有新的网站诞生,也有旧的网站消亡,此时再使用手工维护已经不靠谱了.

于是,大佬们搞了个DNS服务器.

2).DNS服务器

当用户想访问某个域名的时候,就自动请求一下DNS服务器,DNS服务器就进行查询,把得到的结果返回给用户(这个返回的结果就是一个具体的IP地址).

如果电脑的DNS服务器的配置不对,或者DNS服务器挂了,此时就会出现一种情况:

QQ能用,但是网页会打不开...

此时,就可以进行配置:

 

 注意:此处是自动获取的----->从路由器获取.

从路由器上获取到DNS以后,就可以对域名进行正确解析了,如果这里挂了,就会出现上述情况(QQ能用,但是网页打不开)


当前要求网站的域名不能重复(保证唯一).那么全世界这么多网站,如何保证唯一呢?

针对域名进行分级.

一级域名  二级域名   三级域名

 域名分级了,DNS服务器也分级了.

有一级域名的DNS服务器,也有二级、三级的..

域名只要有一级不重复即可.

如果某个用户想要注册一个网站,就需要申请一个域名,然后想要将域名和服务器的IP关联起来就需要将用户的数据写到DNS服务器里.

但是全世界有千千万万个DNS服务器,这些服务器的数据都来自于:根域名服务器.

除了根域名服务器以外,其他的都是"镜像服务器",数据要从根域名服务器这里同步.

这里再补充一个网络层的协议:DHCP协议

这个协议是组网的时候,规定的一个自动分配IP地址的协议.

组网的时候,局域网里面的每个设备的IP地址都是可以手动配置的,但是手动配置太过于麻烦,于是大佬们就制定了这个DHCP协议,用来自动分配IP地址.

电脑上设置自动获取IP地址,此时就是基于DHCP,让路由器来给电脑分配个IP地址. 

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

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

相关文章

有趣的表盘布局环绕动画

前言 C端的介绍页中,设计师设计动画特效都非常有意思。这次遇到了“表盘内容元素环绕效果”,类似于表盘中的分针在一格一格运动一样,只是这次动画运动的元素不一样。 效果如下: 实现表盘布局 合理的运用JavaScrip的三角函数&am…

Malware Dev 01 - 免杀之 PPID Spoofing 原理解析

写在最前 如果你是信息安全爱好者,如果你想考一些证书来提升自己的能力,那么欢迎大家来我的 Discord 频道 Northern Bay。邀请链接在这里: https://discord.gg/9XvvuFq9Wb我会提供备考过程中尽可能多的帮助,并分享学习和实践过程…

第十五天笔记

1. 编程实现计算2023-2-1到2023-3-1相隔多少天? from datetime import datetimestart_date_str "2023-2-1"end_date_str "2023-3-1"start_date datetime.strptime(start_date_str, "%Y-%m-%d")end_date datetime.strptime(end_d…

pmp项目管理考完有什么好处?

作为曾经5A(现在改3A了)通过考试的老学姐说下经验 做好规划 一定要合理安排自己预习、复习和做题的时间,提前规划。其中不要小看课前预习这件事,带着问题去上课,绝对能事半功倍。同时也能及时知道老师到底在讲解哪个知…

网络安全入门:不可不知的8款免费Web安全测试工具

随着 Web 应用越来越广泛,Web 安全威胁日益凸显。黑客利用网站操作系统的漏洞和 Web服务程序的 SQL 注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使…

互联网时代,学什么专业就业好?

互联网时代的手机、智能电视、家具、机械设备等各种有形产品都将会嵌入智能芯片,都会有嵌入式软件或App与之相连,从而形成智能产品。这是我们开启智能化硬件的开始,在这样的环境下,如果要问学什么就业最好?当然首选Jav…

串口、终端应用程序 API termios

UART简介 串口全称为串行接口,也称为COM接口,串行接口指的是比特一位位顺序传输,通信线路简单。使用两根线就可以实现双向通信,一条为TX,一个为RX。串口通信距离远,但速度相对慢,是一种常用的工…

软测入门(二)测试用例、自动化测试理念

测试用例(test case) 特性 有效性:测试用例能够被使用,且被不同的人员使用测试结果一致可复用性:如回归测试的使用可评估性可管理性 八大要素 测试编码:方便归档和查询测试模块/功能预置条件&#xff1a…

2023年功能测试还值得入行吗?

前言 鉴于笔者从13年入行IT行业,经历了只有开发没有测试的阶段,经历了14年只要会基本的功能测试在一线就能薪资过万的阶段,经历了17年只要会一点自动化,会一点性能就能蒙骗过面试官的阶段,更经历了19年所有面试官对于…

操作系统发展历程

手工操作阶段(此阶段无操作系统) 用户在计算机上算题的所有工作都要人工干预。该阶段有两个突出缺点: 用户独占全机,虽然不会出现因资源已被其他用户占用而等待的现象,但资源利用率低。 CPU等待手工操作,CPU的利用不充分 唯一的…

【虚拟机搭建】win11搭建虚拟机两种方式:【virtualbox+vagrant】【VMware】(附centos系统、附安装包)

描述 本教程windows系统搭建虚拟机方式,主要包含两种方式,分别是:【vagrantvirtualbox】和【VMware】推荐大家使用【vagrantvirtualbox】方式进行安装,也可根据自己喜好进行选择本教程安装包 包含三种下载方式,分别是…

关于Could not build wheels for opencv-python-headless, which is...报错的解决方案

在通过最新版pip在线安装package:opencv-python-headless的时候,会产生报错信息,主要为 ERROR: Failed building wheel for opencv-python-headless ERROR: Could not build wheels for opencv-python-headless, which is required to insta…

Active Directory(活动目录)用户登录管理

活动目录用户登录管理 ADManager Plus 通过其预定义的用户登录报告简化了跟踪,监控和整合Active Directory用户登录特定数据的艰巨任务。Active Directory用户登录特定信息,如登录时间,登录历史记录,登录尝试,用户登录…

【钓鱼实测】写bug给new bing和chatGPT查。问他们林黛玉倒拔垂杨柳

BUG 错误代码 #include <iostream> #include <vector> using namespace std; int main() {vector<int> vec{1,2,3,2,4};for (auto iter vec.begin(); iter ! vec.end(); iter ){if (*iter 2) {vec.erase(iter);}}cout << vec.size() << endl…

Elasticsearch:如何正确处理 Elasticsearch 摄取管道故障

在我之前的文章 “Elastic&#xff1a;开发者上手指南” 中的 “Ingest pipeline” 章节中个&#xff0c;我有很多文章是关于 ingest pipeline 的。在今天的文章中&#xff0c;我将重点介绍如何处理在摄取管道中的错误。在我之前的文章 “Elasticsearch&#xff1a;如何处理 in…

Mybatis-Plus 开发提速器:mybatis-plus-generator-ui

Mybatis-Plus 开发提速器&#xff1a;mybatis-plus-generator-ui 1.简介 github地址 &#xff1a; https://github.com/davidfantasy/mybatis-plus-generator-ui 提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码&#xff0c;包括Entity,Mapper,Mapper.xml,Se…

Python(青铜时代)——模块与包

模块 模块是Python 程序架构的一个核心概念 模块好比是 工具包&#xff0c;要想使用这个工具包中的工具&#xff0c;需要使用 import 这个关键字进行导入这个工具包 每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块 在模块中定义的 全局变量、函数 都是模块能够提…

Laravel-admin之自定义操作日志

laravel-admin是封装性极好的框架&#xff0c;自带的就有操作日志的记录&#xff0c;但是对于非开发人员可能看不懂这个日志&#xff0c;所以就想着给修改一下&#xff0c;以谁修改了什么&#xff0c;谁删除了什么&#xff0c;谁审核了什么&#xff0c;谁添加了什么类似&#x…

【java web篇】数据库连接池Driud的使用

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…

Apache DolphinScheduler 3.1.4 版本发布,修复一键安装报错问题

点击蓝字 关注我们2 月 27 日&#xff0c;Apache DolphinScheduler 发布了 3.1.4 版本。此版本共计修复 11 个 bug&#xff0c;并更新 1 个文档修复。其中的较为重要的 Bug fix 为&#xff1a;修复任务唤醒失败会阻塞事件处理 (#13466)修复 k8s 任务运行失败 (#13348) 修复 Me…