【Java EE】网络初识

目录

1.网络发展史

2.局域网LAN

2.1组建方式

2.1.1基于网线直连

2.1.2基于集线器组建

2.1.3基于交换机组建

2.1.4基于交换机和路由器组建

3.广域网WAN

4.网络通信基础

4.1 IP地址

4.1.1概念

4.1.2格式

4.1.3端口号

4.1.3.1概念

4.1.3.2格式

4.2认识协议

4.2.1概念

4.2.2作用

4.3五元组

4.4协议分层

5.OSI七层模型

6.TCP/IP五层(或四层)模型

6.1网络设备所在分层

6.2网络分层对应

7.封装和分用


1.网络发展史

独立模式:计算机之间相互独立。

网络互联

随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互联。

网络互联:将多个计算机连接在一起,完成数据共享。

数据共享的本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。

根据网络互联的规模不同,可以划分为局域网和广域网。

2.局域网LAN

局域网,即local Area Network,简称LAN。

Local即标识了局域网是本地,局部组建的一种私有网络。

局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法进行通信的。

2.1组建方式
2.1.1基于网线直连

2.1.2基于集线器组建

2.1.3基于交换机组建

2.1.4基于交换机和路由器组建

3.广域网WAN

广域网,即Wide Area Network,简称WAN。

通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网。

4.网络通信基础

网络互连的目的是进行网络通信,也就是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据。

那么,在组建的网络中,如何判断到底是从那台主机,将数据传输到那台主机呢?这就需要使用IP地址来标识。

4.1 IP地址
4.1.1概念

IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。

就像我们发送快递一样,需要知道对方的收获地址,快递员才能将包裹送到目的地。

4.1.2格式

IP地址是一个32位的二进制数,通常被分割成4个“8位二进制数”(也就是4个字节),如:01100100.00000100.00000101.00000110。

通常用“点分十进制”的方式来进行表示,即a,b,c,d的形式(a,b,c,d都是0~255之间的十进制整数)。如:100.4.5.6。

4.1.3端口号
4.1.3.1概念

在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接受数据的过程。

简单说:端口号用于定位主机中的进程。

类似于发快递时,不光需要指定收货地址(IP地址),还需要指定收货人(端口号)。

4.1.3.2格式

端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送即=及接受网路数据。

4.2认识协议
4.2.1概念

协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须要共同遵从的一组约定、规则。如怎样建立连接,怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信和交流。

协议最终体现在网络上传输的数据包的形式。

4.2.2作用

为什么需要协议?

计算机之间的传输媒介是光信号和电信号。通过“频率”和“强弱”来表示0和1这样的信息。要想传各种不同的信息,就需要约定好双方的数据格式。

  • 计算机生产厂商有很多;
  • 计算机操作系统,也有很多;
  • 计算机网络硬件设备,还是有很多;

约定一个共同的标准,大家来遵守,这就是网络协议;

4.3五元组

在TCP/IP协议中,用五元组来标识一个网络通信:

  1. 源IP:标识源主机
  2. 源端口号:标识源主机中该次通信发送数据的进程。
  3. 目的IP:标识目的主机。
  4. 目的端口号:标识目的主机中该次通信接受数据的进程。
  5. 协议号:标识发送进程和接收进程双方约定的数据格式。
4.4协议分层

对于网络协议来说,往往分成几个层次进行定义。

分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这规范来对接。

在代码中,类似于定义好一个接口,一方为接口的实现类(提供方,提供服务),一方为接口的使用类(适用方,使用服务):

  • 对于使用者来说,并不关心提供是如何实现的,只要使用接口即可。
  • 对于提供者说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。

5.OSI七层模型

OSI:即Open System Interconnection,开放系统互联

  • OSI七层网络模型是一个逻辑上的定义和规范:把网络从逻辑上分成了7层。
  • OSI七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;

OSI七层模型划分以下七层:

OSI七层模型既复杂又不实用:所以OSI七层模型没有落地、实现。

实际组建网络时,只是以OSI七层模型设计中的部分分层,也即是以下TCP/IP五层(或四层)

模型实现。

6.TCP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

  • 应用层:负责应用程序间的沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。
  • 传输层:负责两台主机之间的数据传输。如传输控制协议(TCP),能够确保数据可靠的从源主机发送到目标主机。
  • 网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器工作在网络层。
  • 数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。由以太网、令牌环网,无限LAN等标准。交换机工作在数据链路层。
  • 物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器工作在物理层。

6.1网络设备所在分层
  • 对于一台主机,它的操作系统内核发现了从传输层到物理层的内容,也即是TCP/IP五层模型的下层;
  • 对于一台路由器,它实现了从网络层到物理层,也即是TCP/IP五层模型的下三层;
  • 对于一台交换机,它实现了从数据链路层到物理层,也即是TCP/IP五层模型等待下两层;
  • 对于集线器,它只实现了物理层。
6.2网络分层对应

网络数据传输时,经过不同的网络节点(主机、路由器)时,网络分层需要对应。

以下为同一个网段内的两台主机进行文件传输:

7.封装和分用

  • 不同的协议层对数据包有不同的称谓,在传输层叫做段,在网络层叫做数据报,在链路层叫做帧。
  • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装。
  • 首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息。
  • 数据封装成帧后发到传播介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的“下层协议字段”将数据交给对应的上层协议处理。

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

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

相关文章

Qt 跨平台开发的一丢丢总结

Qt 跨平台开发 文章目录 Qt 跨平台开发摘要第一 \ & /第二 神奇{不能换行显示第三 预处理宏 关键字: Qt、 win、 linux、 lib、 MSVC 摘要 最近一直在琢磨Qt跨平台开发的问题,缘由有以下几个, 首先第一个,我们目前开发…

医院敏感文件交互 如何保障安全和效率?

医院会产生大量的敏感文件,这些敏感文件交互时,都需要使用特殊的手段,来保障数据的安全性。 医院的敏感数据主要包括以下几类: 1、患者基本信息:包括患者的姓名、身份证号码、户籍地或现住址、联系方式、文化程度、既…

【数据结构】二叉树链式结构的实现《遍历,实现》(题库+解析+源码)

前言 二叉树的学习离不开对堆的理解,这是上篇堆的传送门 http://t.csdnimg.cn/F6Jp3 1.二叉树链式结构的实现 1.1 前置说明 在学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。由于现在大家对二 叉树结构掌握还…

【LLM】向量知识库

文章目录 认识向量知识库向量Embeddings向量数据库向量数据库的作用向量数据库与传统数据库的区别 Embedding API使用公有Embedding API自定义一个Embeedding API 常见文本数据的预处理搭建并使用向量数据库思考向量数据库在LLM中的价值体现向量的妙用,可行&#xf…

gcc,软硬链接和制作动静态库

gcc的操作 预处理 gcc -E file.c -o file.i -E选项表示预处理完就停下来,在编译时-o file.i可以省略,编译器会默认生成同名的.i文件 编译 gcc -S file.i -o file.s -s表示生成完汇编码就停下来,在编译时-o file.s可以省略,编…

kaggle电子邮件分类xgboost建模可视化模型评估混淆矩阵范例

目录 概述 依赖环境 代码解读 库的导入 数据读取 扇形图可视化统计 词云图可视化 分布条形图可视化 数据预处理 划分数据集 模型训练 模型预测和评估 ROC曲线评估 混淆矩阵评估 多维度交叉评估 配套源码和数据集 xgboost邮件分类配套数据集和源码下载地址 概述…

DenseDiffusion:Dense Text-to-Image Generation with Attention Modulation

1 研究目的 该文献的研究目的主要是: 探讨一种更为广泛的调制方法,通过设计多个正则化项来优化图像合成过程中的空间控制。论文的大致思想是,在现有的基于数据驱动的图像合成系统基础上,通过引入更复杂的调制策略,实现…

pip下载包opencv出错(报错failed building wheel for opencv-python解决方法)

文章目录 1 报错2 原因3 解决方法参考 1 报错 ERROR: Could not build wheels for opencv-python, which is required to install pypr2 原因 版本不兼容的问题,当使用pip install opencv-python命令安装的是最新版本,当前python版本不支持。需要安装当前版本pyth…

认识产品经理

一、合格的产品经理 1、什么是产品 解决某个问题的东西,称为产品 键盘可以打字,想喝水了可以用水壶,在超市想找一款扫把会有导购员服务 产品有颜色、大小等等区别,也有有形和无形的区别 2、什么是产品经理 想清楚怎么设计产品…

Leetcode - 周赛394

目录 一,3120. 统计特殊字母的数量 I 二,3121. 统计特殊字母的数量 II 三,3122. 使矩阵满足条件的最少操作次数 四,3123. 最短路径中的边 一,3120. 统计特殊字母的数量 I 本题就是统计有多少个字母的大小写同时出现…

Kimi Chat四大更新详细解读!模型能力提升,支持语音输入输出!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…

SpringBoot集成Sharding-JDBC实现主从同步

SpringBoot集成Sharding-JDBC实现主从同步 1.mysql主从配置2.application.properties文件配置3.测试3.1 查询数据3.2 添加数据 1.mysql主从配置 详细内容请参考上一篇文章:MySQL8.0以上实现主从同步配置 2.application.properties文件配置 # ShardingSphere conf…

阿斯达年代记怎么下载 阿斯达年代记三强争霸下载教程

阿斯达年代记怎么下载 阿斯达年代记三强争霸下载教程 阿斯达年代记是一款三国争霸类型的游戏,在游戏中大家可以体验到三权争霸的刺激场景,在战场中大家不仅可以体验到体验到文化交织还可以感受到战场的残酷,本期小编将会给大家带来阿斯达年代…

基于vue+node+mysql的视频校对系统

一、登录注册:包括登录,注册,忘记密码,验证码等常用点。 二、用户管理:包括用户的增删改查 三、权限管理(请增加这个权限:任务分配——只有管理者才能发布和删除任务;管理员设置。 四…

R语言绘制动态网络图Network教程WGCNA

今天分享的笔记是使用NetworkD3对WGCNA的共表达网络进行可视化,创建交互式动态网络图,展示基因之间的相互关系,可以用于转录组或者其他调控网络展示。 加权基因共表达网络分析 (WGCNA, Weighted correlation network analysis)是用来描述不同…

MQTT服务器EMQX的安装和使用(Windows)

一、下载地址: 下载 EMQX 二、安装环境: Windows Server2016 16G 500G 三、启动服务: 下载文件解压后放入以下目录(注意,目录名一定是英文,否则会造成启动不成功!)&#xff1a…

mybatis与mybatisplus

mybatis 基本使用 整合springboot 1.添加依赖 2.添加配置 spring:# 数据源相关配置datasource:username: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver#时区必须配置否则报错,注意数据库名切换为自己的数据库名称url: jdbc:mysql://127.0.0.1/ithei…

论文略读:OpenGraph: Towards Open Graph Foundation Models

arxiv 2023 1 intro Graph大模型希望OpenGraph能够捕捉通用的拓扑结构模式,对测试数据进行Zero-shot预测 仅通过前向传播过程,就可以对测试图数据进行高效的特征提取和准确预测模型的训练过程在完全不同的图数据上进行,在训练阶段不接触测试…

【2024年5月备考新增】】软考极限冲刺 《项目质量管理1》

1 知识点 1.1 质量成本 一致性成本 项目花费资金规避失败 预防成本:(打造某种高质量产品) 培训文件过程设备完成时间评估成本:(评估成本) 测试破坏性试验损失检查非一致性成本 项目前后花费的资金(由于失败) 内部失败成本:(项目中发现的失败) 返工报废外部失败成本:…

windows安装nc命令的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…