JAVAEE——网络初始

文章目录

  • 网络发展史
    • 独立模式
    • 网络模式
      • 局域网LAN
      • 路由器的诞生
  • 网络通信的基础
    • IP地址
    • 端口号
  • 认识协议
    • OSI七层模型
    • TCP/IP五层模型

网络发展史

独立模式

在原始的年代中电脑间想要通信需要两台电脑连接一根网线,但是一台电脑基本上只有一个接口。因此想要链接更多的电脑是不可以的。

网络模式

随着时代的发展越来越多的计算机需要进行通信,那么这时候原来的是无法满足人们的需求的,这时候该怎么办呢?于是就进入了网络时代。
网络共享:将多台电脑连接起来完成数据共享。

局域网LAN

进入网络时代后我们以网络覆盖范围为基准将网络分为了局域网,城域网,广域网局域网的建立是通过一个设备叫做集线器诞生的。他是什么样子的呢?换句话说我们为什么需要集线器呢?我们来看看下述示意图
在这里插入图片描述
在没有集线器的时候主机(可以理解为电脑)之间是通过一根网线进行直链接的,这时候有一个弊端那就是这里面的消息会通过这一根网线传向所有的电脑并且,更为严重的问题是假如我们的电脑越多,那么这一根网线的传输效率就非常的慢,这时候怎么 解决呢?那就是用集线器,实现各个电脑通过集线器可以将自己与其他主机进行连接。
在这里插入图片描述
此时多个电脑之间的网线只需要链接集线器就可以了,并且自己想要发送的消息只需要交给集线器由集线器交给目标就可以了那么这时候一个局域网就组成了。


但是这时候只是解决了当需要链接的主机过多,导致的网线太长之类的问题还没有解决我们的数据传输的问题呢,因为集线器发送消息就像老师点名一样把自己的数据发给与自己相连的所有主机,那么就没有私密性可言了,所以人们又发明了交换机
在这里插入图片描述
交换机是可以实现我们说的主机与主机之间的发消息的私密性问题,可是如果我们的电脑很多怎么办?这时候导致我们所需要的交换机也变多了,那么这时候怎么办?聪明的人们就想到了我再发明一个机器用来让交换机链接不就好了这时候路由器诞生了

路由器的诞生

在这里插入图片描述
此时就可以用路由器组成局域网了。

网络通信的基础

现在网络通信的硬件上的基础我们满足了我们已经组成了一个网络空间了,那么如何在这个网络内发送和接受消息呢?这时候我们要解决两个问题。

  1. 要能够在这个网络内找到某个主机
  2. 在找到这个主机后要找到这个主机中进行通信的那个进程

第一点大家应该比较容易理解就是第二点不懂,我们来讲述一下。我们用QQ进行举例,我们两个人用QQ互相发消息。
在这里插入图片描述
而如何确定一个唯一的进程呢?那么就需要知道这个进程运行在哪个主机上,并且需要知道这个进程在这台主机的端口号是多少由此才可以确定唯一的一个进程。

IP地址

有了上面的了解我们可以知道IP地址是用来确定一台主机的。
地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:
01100100.00000100.00000101.00000110。
通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:
100.4.5.6。

端口号

端口号是用来确定这个主机上唯一的一个进程的。
端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数
据。

认识协议

那么有了上面的基础我们来认识一下协议,什么是协议呢?协议就是规定,一种约定的意思,就像两个公司之间合作需要有合同一样,两台主机间进行交流也是需要协议的,可是我们要知道一台主机发出一条消息是涉及到方方面面的,从上到下一次分为了很多层。

OSI七层模型

在这里插入图片描述
在这里插入图片描述
从上到下依次为,应用层,表示层,会话层,表示层,传输层,网络层,数据链路层,物理层。
但是这个模型不仅复杂繁琐,而且还没啥实际用处,因此在开发的时候我们用的一般都是TCP/IP五层协议

TCP/IP五层模型

在这里插入图片描述
那么上面说了那么多其实就是想要告诉各位我们的主机发送消息这中间时经过很多层的,因此我们要知道,想用一个协议去规范这么多层的程序和硬件时不可能的,因此我们就需要对每一层都设计出不同的协议,那么一个消息究竟时如何传递的呢?
在这里插入图片描述
这时候我们知道一个消息的发送是分为发送方,和接受方的,发送方发送消息从上而下要经过应用层,传输层,网络层,数据链路层,物理层的。那么在这些层的消息是如何传递的呢?
在这里插入图片描述
此时用户输入的数据在经过每层的时候每一层都需要按照特定的协议在这个数据前加自己的报头,这个作用是什么呢?主要是为了使得用户数据在传递过程中可以有效的识别,我们可以理解为送快递,你的快递每当经过一个网点的时候都会将包装上的信息和二维码进行更新。并且往里面加入新的信息这个过程就是加报头的过程,可是这个根协议有什么关系我们来看一下下面的图
在这里插入图片描述
发送方到接受方的消息传播就是这样的一张图,发送方输入消息,消息从上到下经过各个层级的时候,会加报头,那么接收方的设备接受到消息后,为了能把你需要的信息呈现出来就会对收到的信息从下往上进行解报头。也就是分用,那么如何保证你的主机加的报头我这个主机可以进行正确的分用呢?那就是在各个层之间规定好固定的协议,这样就可以保证每个层可以按照这个规定正确的解报头以及正确的分用了。

	努力挣钱让家庭幸福美满吧。

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

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

相关文章

HCIP课后习题之一

1、路由协议用工作机制上分为那几种?分别是? A:两种。分别是静态路由和动态路由(可分为IGP和EGP) 2、IGP和EGP协议有哪些? A:IGP: RIP、OSPF、ISIS、EIGRP EGP: BGP 3、路由优先级的用途&…

自动化测试selenium(2)

目录 WebDriver介绍 WebDriver使用 使用WebDriver驱动操作浏览器(打开一个百度) WebDriver 相关API 定位元素 操作元素 上一篇主要介绍了自动化测试的概念以及selenium的基本原理, 这里我们来讲一下如何利用selenium来写测试用的脚本. WebDriver介绍 Selenium是一个用于…

1043: 利用栈完成后缀表达式的计算

解法&#xff1a; #include<iostream> #include<stack> using namespace std; int main() {char a;stack<int> sk;while (cin >> a && a ! #) {if (a > 0 && a < 9) {sk.push(a - 0);}else {int num2 sk.top();sk.pop();int n…

javaWeb项目-外面点餐系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、Spring Boot框架 …

书生·浦语大模型全链路开源体系-第3课

书生浦语大模型全链路开源体系-第3课 书生浦语大模型全链路开源体系-第3课相关资源RAG 概述在 InternLM Studio 上部署茴香豆技术助手环境配置配置基础环境下载基础文件下载安装茴香豆 使用茴香豆搭建 RAG 助手修改配置文件 创建知识库运行茴香豆知识助手 在茴香豆 Web 版中创建…

逆向IDA中Dword,数据提取

我们可以看见数据是这样的&#xff0c;第一个是1cc 但是我们shifte就是 这个因为他的数据太大了&#xff0c;导致高位跑后面去了 这个时候&#xff0c;我们右键——convert——dword 这样就可以提取到争取的数据了 比如第一个数据 0x1cc a0xcc b0x1 print(hex((b<<8…

【Java】maven的生命周期和概念图

maven的生命周期&#xff1a; 在maven中存在三套"生命周期"&#xff0c;每一套生命周期,相互独立,互不影响的,但是中同一套生命周期里,执行后面的命令会自动先执行前面的命令 CleanLifeCycle&#xff1a;清理的生命周期 clean defaultLifeCycle&#xff1a;默认的…

“成像光谱遥感技术中的AI革命:ChatGPT在遥感领域中的应用“

遥感技术主要通过卫星和飞机从远处观察和测量我们的环境&#xff0c;是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型&#xff0c;在理解和生成人类语言方面表现出了非凡的能力。本文重点介绍ChatGPT在遥感中的应用&#xff0c;人工智能…

智能物联网远传冷水表管理系统

智能物联网远传冷水表管理系统是一种基于物联网技术的先进系统&#xff0c;旨在实现对冷水表的远程监测、数据传输和智能化管理。本文将从系统特点、构成以及带来的效益三个方面展开介绍。 系统特点 1.远程监测&#xff1a;系统可以实现对冷水表数据的远程监测&#xff0c;无…

C语言洛谷题目分享(9)奇怪的电梯

目录 1.前言 2.题目&#xff1a;奇怪的电梯 1.题目描述 2.输入格式 3.输出格式 4.输入输出样例 5.说明 6.题解 3.小结 1.前言 哈喽大家好啊&#xff0c;前一段时间小编去备战蓝桥杯所以博客的更新就暂停了几天&#xff0c;今天继续为大家带来题解分享&#xff0c;希望大…

MongoDB副本集部署(windows)

环境准备 本教程演示mongodb4.4 副本集部署&#xff08;一主两从&#xff0c;伪分布式&#xff09; 节点配置主节点localhost:27017从节点1localhost:27018从节点2localhost:27019 每一个节点&#xff08;实例&#xff09;都创建对应的数据文件&#xff08;data&#xff09;…

【JavaWeb】Day45.Mybatis——入门程序

什么是MyBatis? MyBatis是一款优秀的持久层框架&#xff0c;用于简化JDBC的开发。 &#xff08;持久层&#xff1a;指的是就是数据访问层(dao)&#xff0c;是用来操作数据库的。&#xff09; &#xff08;框架&#xff1a;是一个半成品软件&#xff0c;是一套可重用的、通用…

Redis实现延迟任务的几种方案

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 1.前言 2.Redis如何实现延迟任务&#xff1f; 3.代码实现 3.1. 过期键通知事…

论文速读:Do Generated Data Always Help Contrastive Learning?

在对比学习领域&#xff0c;最近很多研究利用高质量生成模型来提升对比学习 给定一个未标记的数据集&#xff0c;在其上训练一个生成模型来生成大量的合成样本&#xff0c;然后在真实数据和生成数据的组合上执行对比学习这种使用生成数据的最简单方式被称为“数据膨胀”这与数据…

#新版Onenet云平台使用(ESP8266 AT指令上报数据以及公网MQTT服务器连接测试)

1.上云方式&#xff1a;MQTT 参考&#xff1a; 新版ONENET物联网开放平台ATMQTT指令连接_at指令连接onenet的mqtt-CSDN博客https://blog.csdn.net/lilbye/article/details/131770196 ESP8266-01s入门&#xff1a;AT指令讲解、上云与MQTT通信教程-物联沃-IOTWORD物联网https:…

hadoop最新详细版安装教程 2024 最新版

文章目录 hadoop安装教程 2024最新版提前准备工作用户配置安装 SSH Server免密登录设置编辑 SSH server 配置文件配置Java环境查看java 版本验证 环境变量设置安装Hadoop下载hadoop解压hadoop查看hadoop 版本hadoop 配置编辑编辑配置文件core-site.xml编辑配置文件hdfs-site.xm…

系统边界图

系统边界图的定义&#xff1a; 系统边界图是系统工程和软件工程中的一种图形化工具&#xff0c;用于描述系统与外部世界之间的交互和界限。它展示了系统的组成部分以及这些组件如何与外部实体进行通信和交互。系统边界图通常包括系统内部的各个组件、外部实体以及它们之间的通信…

企业怎么建立自己的防泄密系统?

企业怎么建立自己的防泄密系统&#xff1f; 数据防泄密防泄密的关键是人&#xff0c;评估一家企业的数据安全现状&#xff0c;必须以人为本。企业领导是否有数据保密意识&#xff1f;员工是否能遵守保密制度&#xff1f;这都是关键。企业领导和员工具备良好的保密意识&#xf…

javaee初阶———多线程(三)

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享多线程专题第三篇,关于线程安全方面的内容 如果有不足的或者错误的请您指出! 目录 八、线程安全问题(重点)1.一个典型的线程不安全的例子2.出现线程不安全的原因3.解决线程不安…

家居网购项目(Ajax验证用户名+上传图片)

文章目录 1.Ajax验证用户名1.程序框架图2.修改MemberServlet3.修改login.jsp4.结果展示 2.Ajax判断验证码是否输入正确1.修改MemberServlet2.修改login.jsp3.结果展示 3.Ajax添加购物车1.程序框架图2.修改CartServlet2.修改index.jsp3.解决问题—未登录直接添加购物车&#xff…