JAVAEE初阶相关内容第十九弹--网络原理之TCP_IP【续集2】

news2025/2/25 2:00:37

写在前

上一篇博客主要介绍的是关于网络层协议-IP协议的重点介绍。需要掌握关于IP协议的协议头格式,关于IPV4分配不够的解决办法。地址管理与路由选择。

点击跳转上一篇博客

本篇博客将继续学习关于计网中协议的内容。

本篇博客主要介绍关于数据链路层的重点协议-以太网。

补充关于应用层协议-DNS以及网络层协议-DHCP的相关内容。

目录

1. 以太网

1.1 认识以太网

1.2 以太网帧格式

1.3 认识MTU

2. DNS协议

3. DHCP协议


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

1. 以太网

数据链路层的典型协议也有很多,其中最知名的就是“以太网”。【以太是物理学上的概念,咱们使用的网线,就叫做“以太网线”,遵守以太网协议的网线】

1.1 认识以太网

“以太网”不是一种具体的网络,而是一种技术标准,既包含了数据链路层的内容,也包含了一些物理层的内容,例如:规定了网络拓扑、访问控制方式、传输速率等等。

例如以太网中的网线必须使用双绞线;传输速率有10M、100M、1000M等。

以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网、无线LAN等。

1.2 以太网帧格式

目的地址和源地址是指网卡硬件地址(也叫MAC地址),长度是48,是在网卡出场时固化的。

当下的IP地址和MAC地址是如何相互配合的?

IP用来描述整个传输过程的起点终点,MAC则用来描述两个相邻结点的起点终点。

1.3 认识MTU

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

载荷具体多长和使用的物理地址有很大关系,和数据链路层使用的协议也有很大关系。比如以太网协议,MTU 1500(字节)【这个和物理层有很大关系】

以太网帧中的数据长度规定最小是46字节,最大是1500字节,ARP数据报的长度不够46字节,要在后面补填充位。

最大值1500称为以太网的最大传输单元【MTU】,不同的网络类型有不同的MTU。

如果一个数据报从以太网路由到拨号链路上,数据报长度大于拨号链路的MTU了,则需要对数据报进行分片【fragmentation】

不同的数据链路层标准的MTU是不同的。

2. DNS协议

DNS是应用层的一个协议-域名解析系统、互联网的基石.

网络上的服务器进行访问需要的是IP地址,但是IP地址过于晦涩,于是使用了一些简单的字符串来表示这个地址。每个域名都对应着1个/n个IP地址。

所以就需要将域名和IP地址对应起来,最原始的做法是使用一个hosts文件,像哈希表一样,建立出ip与域名之间的映射关系,过去的互联网上的机器寥寥无几,每个用户手动维护自己的hosts文件就够用了,但是随着互联网的发展,网站越来越多,手工维护已经不靠谱了。所以就出现了DNS服务器,当访问某个域名的时候,就会自动请求一下DNS服务器,它就会帮你进行查询,把得到的结果返回给你【结果就是具体的IP地址】

如果电脑的DNS服务器配置的不对或者挂了,此时就会出现一个典型的问题:QQ可以正常使用但是网页不能打开。

要求网站的域名不能重复,要保证唯一,但是全世界的网站很多,如何保证唯一?

分级--一级域名、二级域名、三级域名。

域名分级了,DNS服务器也是分级了,有一级域名的DNS服务器,还有二级域名、三级域名;查询DNS服务器也是分级来查询的,可以往下分,一般常见的就是三级四级左右。

现在我们想要注册一个网站,申请一个域名,把域名和服务器的ip地址进行关联【把数据写到DNS服务器里,全世界有千千万万的DNS服务器,这些服务器的数据来自于根域名服务器,除了根域名服务器外,其他的都是“镜像服务器”,数据都需要从根域名服务器进行同步】。

3. DHCP协议

组网的时候,一个自动分配IP地址的协议。组网时,局域网中的每个设备,IP都是可以手动配置的,但是手动配置又太麻烦,所以就研究出来了DHCP协议【网络层】。电脑上设置自动获取IP地址,也就是基于DHCP,让路由器来给电脑进行安排IP。


关于计网的相关知识就介绍这么多的内容,后续有其他所学知识点会进行同步更新。

一道经典题目:

在浏览中输入www.baidu.com 按下回车键之后到最终展示的页面,这个过程中发生了哪些事情?

此问题将在后续的博客中进行梳理。

JAVAEE的第一阶段已经完成,主要记录了一些原理性的知识点,接下来将进入真正的web开发,继续努力!

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

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

相关文章

深信服行为管理AC设置禁止用户使用向日葵等远程软件

需求:在特定的时间内禁止内外网用户使用向日葵、todesk等远程软件;只禁止使用专业的远程软件,内网的ssh、telnet、RDP需要正常放行 AC版本:AC13.0.62.001 Build20221107 通过访问权限策略来控制 1、行为管理→访问权限策略→新…

封装校验-----Vue3+ts项目

登录校验页面 <script setup lang"ts"> import { ref } from vue import { mobileRules, passwordRules } from /utils/rules const mobile ref() const password ref() </script><!-- 表单 --><van-form autocomplete"off">&l…

实战oj题——设计循环队列

前言&#xff1a;今天我们来实现循环队列。 各个接口的实现 创建队列&#xff1a; typedef struct {int* a;int front;int back;int k;} MyCircularQueue;我们的队列是由数组储存的&#xff0c;所以我们队列中得定义一个数组&#xff0c;front代表我们的首元素&#xff0c;ba…

项目中使用之Maven BOM

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 工具教程 ✨特色专栏&#xff1a; MyS…

Python中的匿名函数是什么

匿名函数 lambda x , y : xy 1.匿名的目的就是要没有名字&#xff0c;给匿名函数赋给一个名字是没有意义的。 2.匿名函数的参数规则、作用域关系与有名函数是一样的。 3.匿名函数的函数体通常应该是 一个表达式,该表达式必须要有一个返回值。 flambda x,n:x ** n print(f…

Linux 进程地址空间

文章目录 进程地址空间进程地址空间结构页表虚拟内存写时拷贝 进程地址空间 进程地址空间难以定义&#xff0c;因为它更像是一个中间件。 程序从磁盘中加载到内存&#xff0c;程序的执行需要硬件资源&#xff0c;所以每个程序启动时会创建至少一条进程&#xff0c;进程作为组…

[NAND Flash 2.3] 闪存芯片国产进程

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 目录 前言1 闪存介质1.1 NOR 闪存国产技术发展1.2 NAND 闪存国产技术 2 闪存国产厂商与产品2.1 NOR FLASH 国产厂商与产品2.2 NAND FA…

http和https的区别有哪些

目录 HTTP&#xff08;HyperText Transfer Protocol&#xff09; HTTPS&#xff08;HyperText Transfer Protocol Secure&#xff09; 区别与优势 应用场景 未来趋势 当我们浏览互联网时&#xff0c;我们经常听到两个常用的协议&#xff1a;HTTP&#xff08;HyperText Tra…

AI有多恐怖?

恐怖片大行其道之季到了。世界各地的人们纷纷观看恐怖片&#xff0c;前往鬼屋等进行自我吓唬式娱乐。受控的“妖魔鬼怪”可能很有趣&#xff0c;但无法控制的事情可能真的很恐怖。例如&#xff0c;对某些人而言&#xff0c;未来的不确定性可能是场噩梦。对其他人而言&#xff0…

Linux文件部分知识

目录 认识inode 如何理解创建一个空文件&#xff1f; 如何理解对文件写入信息&#xff1f; 如何理解删除一个文件&#xff1f; 为什么拷贝文件的时候很慢&#xff0c;而删除文件的时候很快&#xff1f; 如何理解目录 ​编辑 文件的三个时间 ​编辑 Access&#xff1a; …

InnoDB的数据存储结构

一 数据库的存储结构&#xff1a;页 索引结构提供了高效的检索方式&#xff0c;不过索引信息和数据记录都是保存在文件上的&#xff0c;确切的说是存储在页结构中。另一方面&#xff0c;索引是在引擎中实现的&#xff0c;MySQL服务器上的存储引擎负责对表中数据的读取和写入。…

前端编码中快速填充内容--乱数假文

写前端页面的时候&#xff0c;如果要快速插入图片&#xff0c;可以使用 https://picsum.photos/ 详见笔者这篇博文&#xff1a; 工具网站&#xff1a;随机生成图片的网站-CSDN博客 可是&#xff0c;如果要快速填充文字内容该怎么做呢&#xff1f; 以前&#xff0c;我们都是…

c# OpenCV安装(一)

一 通过NuGet 安装四个拓展包 OpenCvSharp4、OpenCvSharp4.Extensions、OpenCvSharp4.runtime.win、OpenCvSharp4.WpfExtensions C#使用OpenCV的一些代码 需要加头文件 using OpenCvSharp; //为了使用opencv using Point OpenCvSharp.Point; //为了确定我们使用的poin…

一对一聊天

1.创建包 .服务界面 package yiduiy;import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.uti…

IOday4作业

使用两个子进程完成两个文件的拷贝&#xff0c;子进程1拷贝前一半内容&#xff0c;子进程2拷贝后一半内容&#xff0c;父进程用于回收两个子进程的资源 #include<myhead.h>int main(int argc, const char *argv[]) {int pid-1;int fd -1;int fa -1;int fb -1;//求出文…

ahk系列-windows超级运行框-表达式计算(4)—len计算字符串长度

1、环境准备 windows 7&#xff0c;8&#xff0c;10&#xff0c;11操作系统ahk 2.x_64位 2、使用方式 len 用于计算字符串长度&#xff0c;同时也可以计算 “ 剪切板 ” 数据长度 输入winR打开windows运行框 在运行框中输入&#xff1a;len 你好呀&#xff01;&#xff0…

书-用数组存储高于60低于70的人单独存起来

#include<stdio.h> # define N 10 //书-用数组存储高于60低于70的人单独存起来 int main(){float s[N]{68.2,62.3,63.4,34.5,45.6,56.7,67.8,78.9,89.0,100};int i;float diyu[100];int j0;for(i0;i<N;i){if(s[i]>60 && s[i]<70)diyu[j]s[i];//这里的范…

近期复习三

目录 nginx.conf文件介绍 一.文件共享功能 1.清空html目录下文件并新建你要共享的文件 2.修改nginx.conf文件&#xff0c;开启autoindex功能 3.测试 二.状态模块 1.修改nginx.conf文件 2.测试 &#xff08;1&#xff09;使用刚才定义的IP/nginx_status进行访问 &#…

c++新经典模板与泛型编程:const修饰符的移除与增加

const修饰符的移除 让你来写移除const修饰符&#xff0c;你会怎么样来写&#xff1f; &#x1f602;&#x1f602;trait类模板&#xff0c;如下 #include <iostream>// 泛化版本 template<typename T> struct RemoveConst {using type T; };// 特化版本 template…

学完就能涨薪5k的接口自动化测试框架pytest-多线程、多进程执行用例

有些项目的测试用例较多&#xff0c;测试用例时需要分布式执行&#xff0c;缩短运行时间。 pytest框架中提供可用于分布式执行测试用例的插件&#xff1a;pytest-parallel、pytest-xdist&#xff0c;接下来我们来学习这两个插件的使用方法。 pytest-parallel pytest-paralle…