JavaEE初阶---网络原理(四)--IP协议/DNS协议

news2024/12/23 7:02:53

文章目录

  • 1.初识网络层(了解即可)
  • 2.地址管理
    • 2.1动态分配
    • 2.2网络地址转换
    • 2.3IP-v6最终解
  • 3.网段划分
  • 4.以太网协议--数据链路层
  • 5.DNS应用层协议

1.初识网络层(了解即可)

网络层做的事情就是下面的两个:

1)地址管理:就是对于这个地址的分配;

2)路由选择:两个节点之间的路径有很多,我们需要进行规划;

​ 网络层主要就是学习这个IP协议:

image-20241030215156220

​ IP-v4:这个图上面的4位版本;

​ IP-v6:如果上面的这个是6位版本就是我们的IP-v6;

​ 上面的两个就是最常见的两个情况

3)16位总长度:IP数据包的总长度;

​ IP协议支持拆包组包的功能,协议自己是支持的,不需要我们自己手动实现;

4)16位标识:如果一个大包需要拆成多个小包,我们的小包的这个属性就是一样的;

13位偏移:越小数据越靠前,越大数据越靠后,对于我们的数据进行排序;

3位标记:是不是最后一个包,是否可以拆包;

​ 上面的三个就是我们的IP协议实现的拆包组包的相关的设计~~

5)8位生存时间:我们的这个数据包还可以生存多久数据包转发经过路由器,经过一个,这个TTL就会-1,表 示我们可以经过的这个路由器的个数,经过这个之后还没有到达我们的目的地,就会被丢弃;

我们的数据包被创建出来的时候,这个TTL就会被分配一个固定的数值,然后被我们使用;

6)8位协议:查看我们的数据包是UDP数据包还是TCP数据包;

7)下面的这个是我们的IP里面最重要的,我们的这个IP地址就是一个32位的数据,只不过为了理解,写成了点分式的形式;

image-20241030221244544

2.地址管理

IP地址,就是一个32位的整数,这个是有限的,但是我们的这个上网设备很多,但是又不可以重复,因此就会出现这个IP地址不够用的情况;近几年更是出现了物联网的情况,因此这个IP地址的使用就显得捉襟见肘;

如何缓解这个IP地址不够用的问题:

2.1动态分配

1)动态分配:提高IP地址的利用率,这个方案不可以根治我们的这个问题,只能说是一个过渡方案,但是这个方式在现在还是广泛存在的;

2.2网络地址转换

2)网络地址转换NAT:一个IP地址代表一批设备,而不是一个IP一个设备;

IP地址分为两类:

2.1)内网IP:10. 或者是172.16.-----172.31.或者是172.168.

​ 内网IP之间是可以重复的;就是不同的局域网里面的这个IP是可以重复的,在这个局域网李米娜,我们的这个IP是不可以重复的;

2.2)外网IP:不可以重复,一个外网IP就是一个设备;

网络地址转换的过程:我们的一个局域网里面的这个电脑,经过这个运营商服务器的时候会进行这个IP的转换,我们的转换之后的这个IP才是可以进入这个广域网的,然后传输给我们的这个服务器;

我们的这个服务器收到的就是我们的转换之后的IP地址;

我们的这个服务器返回响应的时候,根据这个端口号分配给这个局域网里面的不同的电脑;

即使我们的局域网里面的这个不同设备的端口号也是一样的,这个时候经过路由器进行转换的时候,这个IP和这个端口号都会进行转换,否则我们到时候这个响应返回的时候无法根据这个端口号进行设备的区分,因此这个端口号会进行转换,但时候相应的时候再转换回去;路由器会记住这个端口号转换前后的这个映射的关系,方便到时候返回的时候可以把这个响应发送到对应的设备;

image-20241031085242804

2.3IP-v6最终解

IP-V6使用16字节表示网络上面的地址;

4字节:2^(4*8);

16字节:2^(16*8)—这个数据其实就是非常非常大的;-----从根本上解决问题;

实际上这个IP-v6的普及程度非常低的,虽然他们的这个诞生时间相近;

IP-V4和我们的IP-v6不兼容,我们只能买新的路由器替换掉原理的这个,才可以使用我们的这个IP-v6,这个也是我们的这个IP-v6没有很大程度上进行普及的原因;

3.网段划分

IP地址====网络号(标识局域网)++主机号(标识这个局域网里面的设备);

192.168.1.10:这个IP里面的这个前面的三个部分就是我们的网络号,最后一个部分就是主机号(使用这个点号座位分隔符,分割为了4个部分);

相邻的局域网之间的这个网络号不可以是一样的;

4.以太网协议–数据链路层

数据链路层:通过网线,光纤进行通信进行通信----以太网,横跨数据链路层和物理层;

以太网数据帧:帧头+载荷+帧尾

image-20241031095239639

目的地址:这个里面的目的地址指的不是我们上面说的这个IP地址,而是一套新的机制—mac地址;

MAC地址是6字节,表示的这个数据的范围比我们的IP地址大了很多,目前来说,这个MAC地址还是够用的,不像我们的IP地址出现这个不够用的情况;

IP地址:整条路线的这个源IP和目的IP;

MAC地址:就是我们的这个局部非源IP和目的IP;

北京------》天津------》上海:

这个例子里面,我们的这个北京到天津的过程中;我们的源IP就是北京,但是目的不一定,如果是这个IP地址,这个时候就是上海,但是如果是我们的这个MAC地址,这个时候就是我们的天津;

因此这个IP地址是从全局进行考量,进行路径的规划,我们的这个MAC地址则是从局部进行处理的,这个是两者的区别;

5.DNS应用层协议

IP地址描述网络上面不同设备的位置;

IP地址不适合进行宣传,我们使用域名进行宣传www.baidu.com这样的就是域名;

域名IP之间的这个相互转换,根据可以接受的域名转换为这个IP,域名需要进行购买,100左右一年;

有的域名比较贵,例如我们熟知的靓号:8888,6666之类的这个;

之前使用host文件表示记录这个域名和IP之间的关系,但是这个方法现在已经不再使用了;

后来我们搞了这个DNS服务器,这个是一组服务器,我们想要对于这个IP和域名之间的这个转换进行更新的时候,直接对于这个一组服务器进行操作,但是又有新的问题:

如果对于这组服务器的访问量过大,这个时候我们的这组服务器是不是会出现问题,这个是经常常见的,因此我们出现了下面的两个解决方案:

1)开源:让这个网络运行商进行我们的这个镜像服务器的搭建,就是这个数据内容是一样的,但是不是直接和我们的原本的服务器进行交互,而是去和我们的镜像服务器去交互,这样就可以让我们的这些镜像服务器去缓解我们的真实的服务器的压力;

2)节流:我们让这个访问的设备进行数据缓存,例如我们这个电脑想要一段时间里面10次访问这个服务器,这个时候我们把这个第一次访问的数据存储到我们的这个本地缓存里面去,后续的这个操作直接在我们的这个本地缓存的基础上面进行操作,而不是直接和这个服务器进行交互;(让这个域名的更换,没有那么频繁);

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

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

相关文章

邮件发送excel带预览excel功能

excel 打开后的内容: 思路: 1、邮件发送excel 是作为附件发送出去的; 2、excel 预览是,必须另外点击预览按钮,并不能直接预览邮件内容然后在邮件主体内容展示出来 根据以上两点基本没法实现 邮件发送后邮件自带 预览功能。 伪方法…

Spring Boot 3 + Spring Security + Knife4j 无法访问 Swagger 文档的问题及解决方案

背景介绍 在使用Spring Boot 3框架结合Spring Security进行项目开发时,我们可能会遇到集成Knife4j后Swagger文档无法正常访问的情况。本文将探讨可能的原因以及相应的解决办法。 常见问题 问题描述 当配置好Spring Security后尝试通过Knife4j访问API文档页面时&…

构建校园社团信息管理平台:Spring Boot技术的核心要点

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

Spring 框架中常见的注解(Spring、SpringMVC、SpringBoot)

1. Spring 中常见注解 还有Recourse:相当于AutowiredQualifier Value : 用于将配置文件中的值注入到Bean的字段中。 Bean : 用于在配置类中声明一个Bean。 Lazy : 用于延迟加载Bean。 2. SpringMVC 中常见注解 还有GetMapping PostMapping PutMapping DeleteMapp…

深度学习笔记之BERT(一)BERT的基本认识

深度学习笔记之BERT——BERT的基本认识 引言回顾:Transformer的策略回顾:Word2vec的策略和局限性 BERT \text{BERT} BERT的基本理念抽象的双向BERT的预训练策略 预训练与微调 引言 从本节开始,将介绍 BERT \text{BERT} BERT系列模型以及其常…

【华为HCIP实战课程二十八】中间到中间系统协议IS-IS邻居关系排错,网络工程师

一、ISIS邻居关系条件 1、同一层次(比如Level-2路由器不能和Level-1路由器形成邻居关系) 2、同一区域(L1必须同一区域) 3、同一网段 R1和R2之间分别配置如下IP地址和掩码: R1 的接口S1/0/0掩码为/24 R2的接口S1/0/0配置成掩码/28: 此时R1和R2依然可以建立ISIS邻居关系…

微信小程序,打开新的项目,调试遇见[ app.json 文件内容错误] app.json: 在项目根目录未找到 app.json

1,首先,在开发工具右上角,打开详情;设置基础库;3.6.3 2,第二步,在项目目录下,找到app.json文件存在 3,第三步,修改项目根目录下,project.config.j…

使用RabbitMQ实现微服务间的异步消息传递

使用RabbitMQ实现微服务间的异步消息传递 RabbitMQ简介 安装RabbitMQ 在Ubuntu上安装RabbitMQ 在CentOS上安装RabbitMQ 配置RabbitMQ 创建微服务 生产者服务 安装依赖 生产者代码 消费者服务 消费者代码 运行微服务 消息模式 直接模式 生产者代码 消费者代码 扇出模式 生产…

数字教学的创新引擎:构建数字教学知识库

在教育行业,数字化转型正成为推动教育现代化的重要力量。数字教学知识库作为这一转型的核心组成部分,对于整合教育资源、提升教学质量、促进教育公平具有重要意义。本文将探讨数字教学知识库的构建策略、应用价值,并分析其在教育行业的深远影…

【ArcGISPro】制作简单的ArcGISPro-AI助手

【python】AI Navigator的使用及搭建本机大模型_anaconda ai navigator-CSDN博客 【Python】AI Navigator对话流式输出_ai大模型流式输出效果(打字效果) python-CSDN博客 【C#】调用本机AI大模型流式返回_怎么实现调用本地大模型时实现流式输出-CSDN博客 【ArcGISPro】宣布推…

web文件包含include

php伪协议 在 PHP 中,伪协议(Pseudo Protocols) 也被称为 流包装器,这些伪协议以 php:// 开头,后面跟着一些参数,用于指定 要执行的操作 或 需要访问的资源。 伪协议表明这些协议并不是一个 真实的外部协议…

【力扣打卡系列】验证二叉搜索树

坚持按题型打卡&刷&梳理力扣算法题系列,语言为go,Day17 验证二叉搜索树 题目描述 解题思路 前序遍历:先访问节点值,再访问左右子树有效二叉搜索树的定义 节点的左子树只包含小于当前节点的数节点的右子树只包含大于当前节…

【天线&空中农业】蜜蜂检测系统源码&数据集全套:改进yolo11-ASF

改进yolo11-dysample等200全套创新点大全:蜜蜂检测系统源码&数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.30 注意:由于项目一直在更新迭代,上面“1.图片效果展示”和“2.视频效果展示”展示的系统图片或者视频可…

hive将包含逗号的字段拆分为多列

目录 一、概述 二、行动 1.准备数据 2.数据清洗 3.substring_index函数 4.split函数实现 一、概述 想将hive表中包含逗号的字段按逗号做分隔符进行分列操作 二、行动 1.准备数据 --1 select {1,2,3,4,5,6,7,8} as num_str --使用的数据2.数据清洗 --2 select num_s…

基于MPC控制器的混合动力EMS能量管理系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 MPC 控制器原理 4.2 能量管理模块 4.3 动力模型 5.完整工程文件 1.课题概述 整个系统可以划分为如下几个模块。 其中,能量管理模块其包括:MPC控制器模块,驱动扭…

11-Python基础编程之错误和异常

Python基础编程之错误和异常 概念错误异常 常见的系统异常异常的解决预防捕捉处理异常with语句 手动抛出异常自定义异常 概念 错误 可以通过代码进行修复; 异常 需要提前考虑,设定限制条件;不能通过代码进行修复; 常见的系…

使用 Elastic、OpenLLMetry 和 OpenTelemetry 跟踪 LangChain 应用程序

作者:来自 Elastic Bahubali Shetti Langchain 应用程序的使用正在增长。构建基于 RAG 的应用程序、简单的 AI 助手等的能力正在成为常态。观察这些应用程序更加困难。考虑到现有的各种选项,本博客展示了如何将 OpenTelemetry 检测与 OpenLLMetry 结合使…

b站小土堆PyTorch视频学习笔记(二)

Dataloader:提供不同类型的数据集;为后面的网络提供不同的数据形式 Dataset:提供一种方式去获取数据及其label(标签) 主要实现以下两个功能: {如何获取每一个数据及其lable;告诉我们总共有多少数据} fr…

操作系统实验记录

实验零:虚拟机安装 一、安装vmware虚拟机 与vmware匹配搜索结果 - 考拉软件 (rjctx.com),下载17.5.1版本即可下载后对照教程安装 二、下载iso虚拟驱动 搜索清华大学镜像网站,点击再搜ubuntu,下载这个4.1GB的iso文件安装后打开vmware虚拟机 三、配置vmware虚拟机 右键管…

【YOLO 系列】基于YOLO的行人口罩检测系统【python源码+Pyqt5界面+数据集+训练代码】

前言 在当前全球公共卫生形势下,戴口罩已成为预防呼吸道疾病传播的重要措施。然而,确保每个人都遵守这一规定仍然是一项挑战。为了提高公共场合的口罩佩戴合规性,我们开发了基于YOLO V8的行人口罩检测系统。该系统利用深度学习技术&#xff…