网络原理——TCP/IP--数据链路层,DNS

在这里插入图片描述

T04BF

👋专栏: 算法|JAVA|MySQL|C语言

🫵 今天你敲代码了吗

目录

      • 数量链路层
        • 目的地址和原地址
        • 类型
        • 校验和
      • DNS

数量链路层

主要的协议是以太网协议.一个横跨数据链路层和 物理层的协议,既包含了数据链路层的内容, 也包含了⼀些物理层的内容

我们来了解一下以太网协议的格式
在这里插入图片描述
是像UDP一样比较简单的协议

目的地址和原地址

在这里插入图片描述
这是实际上指的是mac地址/物理地址

实际上,mac地址 和 IP地址,都是为了区分不同的主机上的设备,是由两伙人独立各自提出的,区别在于,mac地址是6个字节,数量目前来说还是够用的,因此可以认为是 每个设备都有唯一的mac地址,因此物理地址,也可以作为是 一台主机上面的一种身份标识

到后面,两种方式都被保留了下来,但是给他们分配了不同的工作

Ip地址的作用是支持整个传输过程转发

而Mac地址的作用是 支持两个相邻节点之间的转发

假设有一种情况是这样的
在这里插入图片描述
此时一个网络数据从A想要发给B

总的,目标IP是5.6.7.8

此时程序员写代码的时候,就直接告诉计算机,数据要往5.6.7.8这个主机发送

主机A就查询路由表,发现这个Ip在路由表里面没有,就将数据交给下一跳

那么IP层就决定了要找那个朋友,到了数据链路层就要决定,具体要怎么找(即数据包要从路由器的哪个接口发送出去)

此时主机 / 路由器在数据链路层里面也维护了一张表,这个表就维护了每个网口,以及网口对应端的设备的mac地址关联关系,就会根据这个来发

类型

在这里插入图片描述
就是用来区分,当前数据在分用的时候,是交给哪个协议

比如说分用的时候,发现类型是 0x0800的时候,此时就会将这个数据交给网络层的IP协议
在这里插入图片描述
但是我们这里会注意到,实际上一个以太网数据帧携带的最大的数据报的长度就只是1500字节

完全不够用

但是,实际上我们在IP协议讲到的拆包 组包问题,其实当IP协议达到1500字节的时候,就已经触发了
目的就是确保 数据报能够被以太网数据报装下

此处的1500也称为MTU,是和硬件结构相关联的

MTU这个东西,对于不同的数据链路层协议,是不一样的

至于这里的ARA 和 PARP,都不会携带业务上载荷数据,而是针对转发数据的过程起到"辅助"的作用

ARA协议是为了给每个路由器 / 交换机建立一个"转发表"(不是路由表)

这个表里面就记载了IP地址 =>mac地址映射

表项里面只是包含,路由器 / 交换机 周围的邻居设备

我们刚刚谈到的转发数据的过程中,确定接下来往哪里走,当路由器 / 交换机知道 下一跳的Ip(查路由表)

根据下一跳的Ip,就会去查转发表,此时就知道Ip对应的mac / 端口是哪个,然后再发

实际上这个东西的生成就比较简单,该设备在局域网中 通过广播地址,发送ARP数据包,收到的设备,都会返回ARP响应,响应里面就会包含每个设备,IP和mac

设备的转发表就可以保存上述的信息了

校验和

在这里插入图片描述
和我们之前讲过的校验和一样
此处也是只管报头的即可

DNS

DNS是一种重要的应用层协议,指的就是域名解析系统

我们之前讲过的IP地址,是32位的整数(IPV4),我们通过点分十进制将他更好的表示

为了让Ip地址给人使用更加方便,就引入DNS

域名就是一串单词,就可以通过这一串单词,来表示某个 / 某组IP地址了

比如我们常见的 baidu.com

在很早的时候,是有一个专门的文件,用来维护域名和Ip的映射关系,这个文件就是hosts文件

这个文件至今还存在
在这里插入图片描述
在以前,计算机访问各种域名,就会在这里进行查询

曾经很有用

但是现在不再使用了

之前每个人的电脑上,都会存有这样一个很大的文件,存有 所有的网站的域名对应的情况

但是弊端就在,这里的数据不方便更新,每天都有新的网站出现,也会有旧的网站消亡

导致文件就需要频繁更新

取而代之的就是搭载的DNS服务器,就是将这样的映射关系,使用DNS服务器来保存

此时我们的电脑就不必保存hosts了

如果要访问域名,就可以通过访问DNS服务器来查询到对应的IP地址了

但是越来越多的上网设备都需要使用DNS服务器,就会给DNS服务器造成很大的压力

解决方法就是:

(1)客户端缓存

当我们的电脑访问某个域名的时候,就会得到IP,此时就记住了,下次再访问同一个域名的时候,就不会重新查询DNS服务器了

这样的操作之后,就会使得DNS的服务器的压力减小不下百倍

(2)分布式的方式

全世界的各个地方,建设了很多DNS镜像服务器

比如国内的联通,电信,移动…,他们也会搭建DNS镜像服务器,此时我们请求的DNS服务器,就只需要就近访问我们附近的镜像服务器即可

但是同时也会引入新的麻烦,假设某个区域的DNS服务器挂了,可能就会对这一区域的设备造成影响(网页打不开了)

当前的域名体系是"分级"的体系
在这里插入图片描述
com就是一级域名,sogou就是2级域名,pic就是3级域名

DNS服务器是按照分组的方式,来存储不同的域名服务器的

域名有很多结尾:

com => 公司

org => 组织…

感谢您的访问!!期待您的关注!!!

在这里插入图片描述

T04BF

🫵 今天记得敲代码

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32作业实现(五)温湿度传感器dht11

目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…

官网上线,一款令人惊艳的文本转语音模型:ChatTTS

近日,一个名为 ChatTTS 文本转语音模型的项目在github上横空出世,一经推出便引发极大关注,短短四天时间,已经狂揽了14.2k的Start量。 ChatTTS是一款专为对话场景设计的支持中英文的文本转语音(TTS)模型&…

AGM DAP-LINK 离线烧录报错信息分析

DAP-LINK 支持离线烧录。 即:先把要烧录的bin 烧录到DAP-LINK 中;然后DAP-LINK 可以脱离PC,上电后通过按键对目标板进行烧录。 CMSIS-DAP模式 跳线JGND断开,状态LED D4快闪,D3常亮(串口状态)。…

服务失败后如何重试?

服务失败后如何重试? 在分布式系统和网络应用程序中,重试策略对于有效处理瞬时错误和网络不稳定性至关重要。 重试策略能让系统在发生故障时多次尝试操作,从而提高最终成功的可能性。 下图显示了 4 种常见的重试策略。 01 线性回退 线性回…

LabVIEW开发中对RS-232、RS-485、RS-422通讯的比较及注意事项

本文介绍了LabVIEW开发中常用的RS-232、RS-485和RS-422通讯方式的区别及各自特点,详细说明了它们的适用场景和开发过程中需要注意的问题,帮助开发人员在选择和实现通讯方式时做出最佳决策。 详细说明 RS-232、RS-485、RS-422通讯简介 RS-232、RS-485和…

虚幻引擎5 Gameplay框架(四)

Gameplay重要类及重要功能使用方法(三) 虚幻的委托机制 虚幻委托之间的区别序列化就是是否可以在蓝图中执行 多播与单播的创建 制作功能:使用多播与单播将血条与血量进行实时更新首先新建一个单播与一个多播委托 实例化这两个委托的标签…

西门子电梯控制保姆级教程

一、电梯运行控制 1.电梯控制系统结构 可以理解是通过ip进行访问的 2.基于PLCSIM Adv与电梯仿真软件的控制环境搭建 虽然都是用一台电脑来控制,但是还是用以太网来连接 在FC块里面也要用两个DB块来放输入和输出 二、电梯对象的分析 在eet里面,用手动控制…

关于高版本 Plant Simulation 每次保存是 提示提交comm对话框的处理方法

关于高版本 Plant Simulation 每次保存是 提示提交comm对话框的处理方法 如下图 将model saving history 修改为None即可 关于AutoCAD 2022 丢失模板库的问题 从新从以下地址打开即可: D:\Program Files\Autodesk\AutoCAD 2022\UserDataCache\zh-cn\Template

LabVIEW步进电机的串口控制方法与实现

本文介绍了在LabVIEW环境中通过串口控制步进电机的方法,涵盖了基本的串口通信原理、硬件连接步骤、LabVIEW编程实现以及注意事项。通过这些方法,用户可以实现对步进电机的精确控制,适用于各种自动化和运动控制应用场景。 步进电机与串口通信…

python--面向对象-文件读写-异常

一、继承 定义一个类时,需要使用另外一个类的方法或属性,就可以通过继承实现 object是Python的顶级类,创建类是会自动继承,就拥有object中的方法 定义格式 # 类的定义 # 旧式类定义 一般在定义单个类时使用 class 类名:name N…

Nginx01-HTTP简介与Nginx简介(安装、命令介绍、目录介绍、配置文件介绍)

目录 HTTP简介HTTP原理查看访问网站的详细流程curl -vwget --debug 查看网站访问量HTTP协议版本HTTP协议交互HTTP 请求请求报文起始行请求头 HTTP响应响应报文起始行响应头 Nginx常见的Web服务常见网站服务 安装NginxNginx目录结构Nginx启动管理Nginx常用命令 Nginx配置文件主配…

牛客周赛 Round 45VP

这场应该是十分仁慈的一场了 1.签到&#xff1a;https://ac.nowcoder.com/acm/contest/84244/A AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int a,b,c,d,e; int main() {cin>>a>>b>>c>>d>>e;int sabcde;if(s>1…

关于nodejs单线程

Node是使用C++语言写的一款JavaScrip解析器。 高并发 一般来说,高并发的解决方案就是多线程模型,服务器为每隔客户端请求分配一个线程,使用同步I/o,比如Apache就是这种策略,由于I/O一般都是耗时操作,因为这种策略很难实现高性能,但非常简单,可以实现复杂的交互逻辑。…

深度学习复盘与论文复现B

文章目录 1、Knowledge Review1.1 NLLLoss vs CrossEntropyLoss1.2 MNIST dataset1.2.1 Repare Dataset1.2.2 Design Model1.2.3 Construct Loss and Optimizer1.2.4 Train and Test1.2.5 Training results Pytorch-Lightning MNIST :rocket::fire:1.3 Basic Convolutional Neu…

都说美国去工业化了,那美国人都做什么工作啊?

美国&#xff0c;这个全球经济的重要参与者&#xff0c;经历了一场深刻的变革——去工业化。这一过程意味着&#xff0c;曾经以制造业为荣的美国&#xff0c;逐渐将重心转移到了其他领域。那么&#xff0c;美国人都做什么工作呢&#xff1f;让我们走近这位“经济体巨人”&#…

Nginx企业级负载均衡:技术详解系列(17)—— 长连接优化策略与下载服务器高效搭建

你好&#xff0c;我是赵兴晨&#xff0c;97年文科程序员。 今天咱们来聊聊Nginx的两个知识点&#xff1a;Nginx的长连接优化、如何将Nginx配置成下载服务器。 长连接配置详解 在Nginx的配置中&#xff0c;长连接是一个重要的性能优化手段。它允许一个TCP连接上发送多个请求和…

centos7下安装MySQL,Oracle数据库

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 操作系统版本为CentOS 7 使⽤ MySQ…

“人工智能AI+” 应用场景盘点

在这个科技与梦想交相辉映的时代&#xff0c;人工智能已不再停留于遥不可及的概念构想&#xff0c;而是化身为一股汹涌的创新洪流&#xff0c;深刻塑造着社会的每一个角落。从文化艺术的智慧火花到生命科学的精密探索&#xff0c;从工业制造的革新升级到日常生活的细致入微&…

解决sd-webui中rembg插件使用报错问题

stable-diffusion-webui-rembg是我非常喜欢的sd-webui插件&#xff0c;PS抠图手残党的福音&#xff0c;一键抠图太爽啦。对于主体明确线条简单的图片&#xff08;如汽车、服饰简洁的人像等&#xff09;效果相当好&#xff1b;即便对于毛茸茸的对象&#xff08;如动物&#xff0…

轻松上手MYSQL:优化MySQL慢查询,让数据库起飞

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索MYSQL慢查询之旅✨ &#x1f44b; 大家好&#xff01;我是你们的…