JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)

news2024/11/14 2:20:49

文章目录

  • 一、简单了解网络发展
  • 二、网络通信基础认识
  • 三、利用UDP举例解释网络信息传输

一、简单了解网络发展

总的来讲,网络的发展史就是,先是一小部分的计算机之间连接通信,随着技术发展,逐渐扩大范围,形成了我们当前使用的互联网。在这之中,最主要的改变就是网络组建的方式

  1. 局域网组建
  • 基于集线器组建
    在这里插入图片描述

  • 基于交换机组建
    在这里插入图片描述
    只是组建局域网(不能跨局域网)

  • 以路由器组建
    在这里插入图片描述
    路由器将多个局域网进行联系。

  1. 广域网组建

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

通过路由器,将多个局域网连接起来,在物理层面上组成大范围的网络,就形成了广域网。广域网中的局域网都属于子网。 如图:

在这里插入图片描述

二、网络通信基础认识

  1. IP 地址
    简单来讲就是用来定为主机的网络地址

  2. 端口号
    标识一个具体的应用程序,格式为(0 - 65535)之间的数字。

  3. 认识协议
    概念: 通俗来讲,就是通信双方进行的一种约定。通过这个约定,让双方互相理解对方的含义。

对于网络通信,是一个比较复杂的事情,需求的场景复杂了,实现的功能也就会复杂。因此,在实际情况中,会将这些庞大,繁杂的协议拆分成相对简单较小的协议,再将这些小的协议分层整合进行使用

在当前互联网世界,分层方式大致分为两种:

  1. OSI 七层网络模型
    因为该网络模型既复杂有不实用,所以在这里就简单了解一下即可。
    在这里插入图片描述

  2. TCP/IP 五层网络模型

在这里插入图片描述
如上图所示,越往下层,越接近硬件设备,越往上越接近用户。
在这里我们要明白一点,上层协议要调用下层协议,下层协议要给上层协议提供服务。

解释每层模型的含义

  • 物理层: 约定了网络通信中的基础硬件设备是什么样。
    例如:通信使用的 网口 网线 的规格。

  • 数据链路层: 主要负责两个相邻两个节点之间具体如何传输。(就像是在网上买了一件快递,商家发货)

  • 网络层: 主要负责路径的规划,信息传输走那条路合适。(快递在运输时,快递公司考虑沿着那条路走)

  • 传输层: 只关心起点和终点,不在乎之间的过程。

  • 用户层: 应用程序描述出传递的数据,用户如何进行使用。

三、利用UDP举例解释网络信息传输

发送方

假设编写 hello 字符串,以qq这个引用程序进行发送。

  1. 应用层

在这里插入图片描述
如上图所示,用户在应用层生成了一个数据报,程序通过调用操作系统 api 将应用层数据传递给传输层。

这里的 应用层数据报 本质上就是一个遵守了约定格式的字符串。

  1. 传输层(进入操作系统内核)

在传输层中,需要将上面传输下来的应用层数据报 构造成 传输层数据报

在传输层使用到的协议,最知名的就是 UDP 和 TCP 。假设此处构造 UDP 数据报。
在这里插入图片描述
如上图所示:此处就像是字符串拼接一样,将报头和后面的数据拼接在一起

这里的 “报头” 就是一个标签,通过该标签表示出当前需要将数据怎样传输。

最后,传输层将这个 UDP数据报 传递给网络层。

  1. 网络层

通过知名协议 IP 协议。IP 协议基于上述的数据报,打包成为一个 IP 数据报。

在这里插入图片描述
同样的,这里的 IP报头 也是相当于一个字符串。包含着核心信息:源IP 和 目的 IP

在这里,我们还需要了解一个重点概念
一次通信中,基础的五元组。
在这里插入图片描述
形象的用一句话来解释就是,如下图:
在这里插入图片描述

网络层数据报构建好后,进一步交给 数据链路层。

  1. 数据链路层

这里又有一个知名协议 “以太网” 。基于上述数据,这里要将以太网数据再次打包为 “以太网数据帧”
在这里插入图片描述
如上图所示,之后再将数据往下传输,交给物理层。

  1. 物理层

将上述二进制数据转换成 电/光 信号,此时就真正的将数据发送出去。

接收方

在这里接收方的工作就是将上面发送方产生的数据报,依次按不同协议层进行拆解,最终传递到应用层,显示到用户界面上。(在这里就不进行过多的解释)

总结: “封装分用”
总的来讲,在网络传输中,自上而下,从应用层到物理层,称之为 “封装”
自下而上,从物理层到应用层,称之为“分用”

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

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

相关文章

【Yolov5+Deepsort】训练自己的数据集(1)| 目标检测追踪 | 轨迹绘制

📢前言:本篇是关于如何使用YoloV5Deepsort训练自己的数据集,从而实现目标检测与目标追踪,并绘制出物体的运动轨迹。本章讲解的为第一个内容:简单介绍YoloV5Deepsort中所用到的目标检测,追踪及sort&Depp…

diffusion model2 扩散模型的文本信息融合、交叉注意力机制、lora

前言 在上一篇文章中,我们剖析了diffusion model的原理,而在这一篇文章中,我们探讨与扩散模型有关的其他话题,包括扩散模型的unet是如何在推理噪声的过程中,融入文本信息的考量?其原理为交叉注意力机制&am…

Kubernetes 整体架构介绍

架构图 Kubernetes 主要由以下几个核心组件组成: etcd 保存了整个集群的状态;kube-apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;kube-controller-manager 负责维护集群的状态&#xf…

【LeetCode】287. 寻找重复数

287 . 寻找重复数(中等) 方法 快慢指针 思路 要解决这道题首先要理解如何将输入的数组看作为链表。对于数组 nums 中的数字范围在 [1, n],考虑两种情况: 如果数组中没有重复的数字,以 [1, 3, 4, 2] 为例,将…

从8个新 NFT AMM,聊聊能如何为 NFT 提供流动性

DeFi 的出现,开启了数字金融民主化的革命。其中,通过 AMM 自由创建流动性池极大地增加了 ERC-20 Token 的流动性,并为一些长尾 Token 解锁了价值的发现,因而今天在链上可以看到各种丰富的交易、借贷和杠杆等活动。 而另一方面&am…

uni-app——下拉框多选

一、组件components/my-selectCheckbox.vue <template><view class"uni-stat__select"><span v-if"label" class"uni-label-text">{{label &#xff1a;}}</span><view class"uni-stat-box" :class"…

SpringBoot实现数据库读写分离

SpringBoot实现数据库读写分离 参考博客https://blog.csdn.net/qq_31708899/article/details/121577253 实现原理&#xff1a;翻看AbstractRoutingDataSource源码我们可以看到其中的targetDataSource可以维护一组目标数据源(采用map数据结构)&#xff0c;并且做了路由key与目标…

《华为认证》SR-MPLS-TE

实验需求&#xff1a;运营商网络配置SR-MPLS-TE&#xff0c;实现CE1和CE2之间的互访流量通过PE1-P2-P4-PE3。 步骤1&#xff1a;配置运营商网络的IGP协议&#xff08;本实验采用ISIS协议&#xff09; PE1&#xff1a; isis 1is-level level-2cost-style widenetwork-entity 49…

一个.NET开发的Web版Redis管理工具

今天给大家推荐一款web 版的Redis可视化工具WebRedisManager&#xff0c;即可以作为单机的web 版的Redis可视化工具来使用&#xff0c;也可以挂在服务器上多人管理使用的web 版的Redis可视化工具。 WebRedisManager基于SAEA.Socket通信框架中的SAEA.RedisSocket、SAEA.WebApi两…

Python实现决策树算法:完整源码逐行解析

决策树是一种常用的机器学习算法&#xff0c;它可以用来解决分类和回归问题。决策树的优点是易于理解和解释&#xff0c;可以处理数值和类别数据&#xff0c;可以处理缺失值和异常值&#xff0c;可以进行特征选择和剪枝等操作。决策树的缺点是容易过拟合&#xff0c;对噪声和不…

云原生应用里的服务发现

服务定义&#xff1a; 服务定义是声明给定服务如何被消费者/客户端使用的方式。在建立服务之间的同步通信通道之前&#xff0c;它会与消费者共享。 同步通信中的服务定义&#xff1a; 微服务可以将其服务定义发布到服务注册表&#xff08;或由微服务所有者手动发布&#xff09;…

内网穿透:ngrok使用教程

一、前言 平时我们在本地8080端口创建一个服务的时候&#xff0c;都是使用localhost:8080访问我们的web服务。但是外网是不能访问我们的web服务的。这时&#xff0c;如果你要实现外网访问的功能就需要实现内网穿透&#xff0c;ngrok就是可以帮我们实现这个功能。 二、ngrok介…

岩土工程仪器多通道振弦传感器信号转换器应用于隧道安全监测

岩土工程仪器多通道振弦传感器信号转换器应用于隧道安全监测 多通道振弦传感器信号转换器VTI104_DIN 是轨道安装式振弦传感器信号转换器&#xff0c;可将振弦、温度传感器信号转换为 RS485 数字信号和模拟信号输出&#xff0c;方便的接入已有监测系统。 传感器状态 专用指示灯方…

unraid docker桥接模式打不开页面,主机模式正常

unraid 80x86版filebrowser&#xff0c;一次掉电后&#xff0c;重启出现权限问题&#xff0c;而且filebrowser的核显驱动不支持amd的VA-API 因为用不上核显驱动&#xff0c;解压缩功能也用不上&#xff0c;官方版本的filebrowser还小巧一些&#xff0c;18m左右 安装的时候总是…

QTableWidget对单元格(QWidget/QTableWidgetItem)的内存管理[clearContents()]

目录 现象结论代码验证clearContents() 会释放QTableWidgetItem 和QWidget 对象&#xff0c;但是不指向nullptrmemorytable.hmemorytable.cpp断点情况 验证clearContents()是延时释放QWidget 的而QTableWidgetItem 立即释放 现象 结论 clearContents() 会清除表格中的所有单元格…

小程序 view下拉滑动导致scrollview滑动事件失效

小程序页面需要滑动功能 下拉时滑动&#xff0c;展示整个会员卡内容&#xff0c; 下拉view里包含了最近播放&#xff1a;有scrollview&#xff0c;加了下拉功能后&#xff0c;scrollview滑动失败了。 <view class"cover-section" catchtouchstart"handletou…

eNSP:ospf和mgre的配置

实验要求&#xff1a; 第一步&#xff1a;路由、IP的配置 r1&#xff1a; <Huawei>sys Enter system view, return user view with CtrlZ. [Huawei]sys r1 [r1]int loop0 [r1-LoopBack0]ip add 192.168.1.1 24 [r1-LoopBack0]int g0/0/0 [r1-GigabitEthernet0/0/0]ip a…

部署Tomcat和jpress应用

静态页面&#xff1a;静态页面是指在服务器上提前生成好的HTML文件&#xff0c;每次用户请求时直接返回给用户。静态页面的内容是固定的&#xff0c;不会根据用户的请求或其他条件进行变化。静态页面的优点是加载速度快&#xff0c;对服务器资源要求较低&#xff0c;但缺点是无…

git报错:Error merging: refusing to merge unrelated histories

碰对了情人&#xff0c;相思一辈子。 打命令&#xff1a;git pull origin master --allow-unrelated-histories 然后等一会 再push 切记不要有冲突的代码 需要改掉~

Spring Cloud Eureka 和 zookeeper 的区别

CAP理论 在了解eureka和zookeeper区别之前&#xff0c;我们先来了解一下这个知识&#xff0c;cap理论。 1998年的加州大学的计算机科学家 Eric Brewer 提出&#xff0c;分布式有三个指标。Consistency&#xff0c;Availability&#xff0c;Partition tolerance。简称即为CAP。…