【JavaEE】——初始网络原理

8e19eee2be5648b78d93fbff2488137b.png

阿华代码,不是逆风,就是我疯

你们的点赞收藏是我前进最大的动力!!

希望本文内容能够帮助到你!!

目录

一:局域网

1:概念

二:局域网的连接方式

1:网线直连

2:集线器组建

3:交换机组建

4:基于交换机和路由器组建

二:广域网

1:概念

2:交换机和路由器的区别(面试)

三:网络通信

1:IP地址

2:端口号

3:通信所用端口

四:协议

五:五元组

六:协议分层

1:概念

2:优点

3:TCP/IP五层网络协议

4:设备所在层级

七:封装(数据发送过程)

八:分用(数据接收过程)

九:经典交换机的封装分用

十:经典路由器的封装分用


一:局域网

1:概念

局域网Local Area Network 简称LAN

局域网是本地,局部组建的一种私有网络

二:局域网的连接方式

1:网线直连

2:集线器组建

意识把一个网口扩展成多个,但扩展出来的多个网口彼此间会影响。而交换机则不会出现这种情况

3:交换机组建

交换机上所有的口都是一样的,连上的电脑就构成了局域网那个

4:基于交换机和路由器组建

路由器:就是我们常说的wifi、猫。上面有两种接口——WAN和LAN,

WAN口:WAN口接运营商给的网线

LAN口:构成局域网的电脑连到LAN口

路由器下面的LAN口还可以继续接交换机,(即对现有的路由器的端口进行扩展)交换机还能再接路由器,层层套娃

二:广域网

1:概念

广域网,Wide Area Network 简称WAN

通过路由器,把多个局域网连接起来,(可以理解成事几个局域网的集群),内部的局域网属于广域网的子网。


 

2:交换机和路由器的区别(面试)

路由器工作在网络层,交换机工作在数据链路层。

三:网络通信

1:IP地址

描述一个设备在网络上的位置,32位二进制数——由4个字节组成

用“点分十进制”方式表示——三个点分割开4个字节

2:端口号

描述主机上的每一个应用程序都有一个不同的整数端口号

主机收到网络数据之后,通过端口号来确定,把这段数据交给哪个应用程序使用。

3:通信所用端口

在一次网络通信过程中,涉及到的IP和端口,其实各有两个。

收件人地址——目的IP

收件人电话——目的端口

发件人地址——源IP

发件人电话——源端口

四:协议

通信过程中的一种约定,发送方和接收方提前约定好数据的格式,这样双方才能正确的沟通(就像电报,摩斯密码)

尽管双方的计算机不是同一个厂商生产的,但是在同一种协议下,两者能进行相互配合

五:五元组

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

1:源IP

标识源主机

2:源端口号

标识源主机中该次通信发送数据的进程

3:目的IP

标识目的主机

4:目的端口号

标识目的主机中该次通信接收数据的进程

5:协议号

标识发送进程和接受进程双方约定的数据格式

六:协议分层

实际中,协议涉及到非常多的细节,庞大又复杂,不利于维护和更新。

于是我们就把协议进行了拆分——协议分层。

1:概念

上层协议会调用下层协议,下层协议给上层协议提供服务。只有相邻层次的协议可以沟通,不能跨层调用

2:优点

(1)上层协议直接使用下层协议,无需了解下层协议的细节

(2)某一层协议进行替换后,对其它层没有影响

(相当于下层协议内部怎么实现的,不用管,只要下层把协议封装好提供给上层一个接口就行了,好比我们写代码中调用函数的方法,只要达到目的就行,管你方法内部是怎样一个逻辑算法)

3:TCP/IP五层网络协议

(以下为通俗理解)OSI网络协议是大佬们搞出来的协议分层(共七层),但是实际开发中用不了那么多层,就简化成了五层也就是下图中的TCP/IP(这五层中,除了应用层,其它四层在计算机中都已经内置好了,作为程序员我们能影响到的就是应用层)

(1)应用层

传输的数据在应用程序中怎么使用        

(2)传输层

关注网络数据包的起点和终点,从哪里来要到哪里去,端和端之间的传输

(3)网络层/互联网层

关注起点和终点之间,走哪条路,传输路径的规划

(4)数据链路层/网卡层

负责两个相邻节点之间的传输细节

(5)物理层/硬件

通信过程中的基础设施,都是一些硬件啥的

4:设备所在层级

以下谈到的设备都是“经典”的,现实中的路由器和交换机功能更复杂和强大

主机:操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP的下四层

路由器:实现了网络层到物理层,TCP/IP的下三层(主要工作在网络层)

交换机:实现从数据链路层到物理层,TCP/IP的下两层(主要工作在数据链路层)

集线器:实现了物理层

七:封装(数据发送过程)

注:封装和分用时网络传输数据过程中,最核心的流程

数据传输常用的单词

假设现在应用A要给应用B发送数据,发送过程主要操作为A

1:应用层

在应用层,应用数据包会根据应用层数据协议进行构造,再由应用程序调用操作系统的API,把数据包发给传输层

2:传输层

传输层会把应用层发过来的数据包,再构造成一个传输层数据包,此处构造遵循的协议,主要就是:TCP和UDP

假设用UDP协议——UDP数据包=UDP报头(header)+载荷(payload)

UDP报头:承载一些关键的用来转发数据的信息,最重要的信息就是源端口和目的端口

添加报头的过程就是对数据包进行封装成API

3:网络层

网络层涉及到最核心的协议,IP协议

同样,网络层调用传输层封装好的API,拿到UDP数据包,在IP(主要)协议的基础山,对数据包添加上报头,构造成一个IP数据包。

IP报头:承载一些辅助转发的关键信息,最关键的信息就是源IP和目的IP了

4:数据链路层

数据链路层涉及到最核心的协议,以太网

注:以太网就是我们日常中见到的有线网络,用到的网线也叫做“以太网线”,用到的网口叫做“以太网口”,用到的交换机叫做“以太网交换机”

以太网数据帧:以IP数据包为一个整体,在头和尾分别加上以太网帧头和以太网帧尾

5:物理层

物理层拿到以太网数据帧之后,把二进制这样的数据,转化为光信号、电信号、电磁波等进行发送

八:分用(数据接收过程)

假设现在应用A要给应用B发送数据,接受过程主要操作为B

1:物理层

B的物理层接收到信号后,把信号转换为二进制数据,得到一个以太网数据帧,把这个帧交给数据链路层处理

2:数据链路层

数据链路层按照以太网的格式,来解析,去除载荷,再交给上层协议

3:网络层IP协议

按照IP协议的格式进行解析,取出载荷,再交给上层协议

4:传输层UDP协议

按照UDP协议格式来解析,取出载荷,再交给上层协议

 

5:应用层

按照应用层相应的应用协议解析数据

九:经典交换机的封装分用

 ①交换机,拿到信号,进行二进制解析后,把以太网数据帧交给数据链路层

②数据链路层 解析:一方面取出载荷部分,一方面解析帧头中的信息,这并添加新的帧头帧尾构造出新的以太网数据帧

③传输给物理层,物理层在发送出去

十:经典路由器的封装分用

比交换机多了一层协议

①物理层拿到信号,转化成二进制以太网数据包,发给数据链路层

②数据链路层,解析拿到载荷,发给网络层

③网络层根据IP协议解析报头,取出载荷,重新封装,发送给数据链路层

④数据链路层加上帧头帧尾,发送给物理层

⑤物理层把二进制数据包转换为信号发送出去

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

flask项目框架搭建

目录结构 blueprints python包,蓝图文件,相当于路由组的概念,方便模块化开发 例如auth.py文件 from flask import Blueprint, render_templatebp Blueprint("auth", __name__, url_prefix"/auth")bp.route("/login") d…

空间解析几何3-空间点到线段和平面的距离【附MATLAB代码】

目录 空间中点到线段的距离 空间中点到平面的投影和距离 matlab代码 空间中点到线段的距离 空间中点到平面的投影和距离 matlab代码 function [dis,P2,t] point2Line (A1,B1,C1) %求空间一点到一线段的最短距离 %[dis,P2,Q2]pointSegmentDistance(A,B,C) %A B为线段首末端…

问卷调查毕设计算机毕业设计投票系统SpringBootSSM框架

目录 一、引言‌ ‌二、需求分析‌ 用户角色‌: ‌功能需求‌: ‌非功能需求‌: ‌三、系统设计‌ ‌技术选型‌: ‌数据库设计‌: ‌界面设计‌: ‌四、实现步骤‌ ‌后端实现‌: …

蓝桥杯【物联网】零基础到国奖之路:十八. 扩展模块之光敏和AS312

蓝桥杯【物联网】零基础到国奖之路:十八.扩展模块之光敏和AS312 第一节 硬件解读第二节 CubeMX配置第二节 代码 第一节 硬件解读 光敏和AS312如下图: 光敏电阻接到了扩展模块的5号引脚,5号引脚接了2个电阻,R8和光敏电阻。我们通过ADC读取这…

vue+ElementUI—实现基础后台管理布局(sideBar+header+appMain)(附源码)

后台管理的模板很多,vue本身就提供了完整的vue-template-admin,vue-admin-beautiful等后台管理系统化框架,但是这些框架正是因为成体系而显得繁重。假如你想搭建一个静态的后台管理模板页面和几个单独的菜单页面,直接就上框架是否…

维生素对于生活的重要性

在探索健康奥秘的旅途中,维生素作为人体不可或缺的微量营养素,扮演着至关重要的角色。它们虽不直接提供能量,却是酶促反应、细胞代谢、免疫功能乃至心理健康的基石。今天,让我们一同深入探讨人体所需补充的维生素,这些…

VSCode 使用 EmmyLua 对lua进行调试

时间:2024年10月 其他:win10,EmmyLua v0.8.20 参考:https://blog.csdn.net/ShenHaoDeHao/article/details/140268354 有几个概念搞清楚就好理解了。一般开发中,我们编写的lua文件由宿主程序的来解析、执行&#xff1…

【计算机网络 - 基础问题】每日 3 题(三十九)

✍个人博客:https://blog.csdn.net/Newin2020?typeblog 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞…

软件设计师(软考学习)

数据库技术 数据库基础知识 1. 数据库中的简单属性、多值属性、复合属性、派生属性简单属性:指不能够再分解成更小部分的属性,通常是数据表中的一个列。例如学生表中的“学号”、“姓名”等均为简单属性。 多值属性:指一个属性可以有多个值…

目标检测——YOLO11算法解读

作者:Ultralytics公司 代码:https://github.com/ultralytics/ultralytics YOLO系列算法解读: YOLOv1通俗易懂版解读、SSD算法解读、YOLOv2算法解读、YOLOv3算法解读、YOLOv4算法解读、YOLOv5算法解读、YOLOR算法解读、YOLOX算法解读、YOLOv6算…

分布式数据库的进度管理:TiDB 备份恢复工具 PiTR 的原理与实践

导读 对于一款企业级数据库产品而言,数据的安全性和可恢复性是至关重要的。PiTR(Point in Time Restore)作为 TiDB 备份工具的核心功能之一,提供了一种精细的数据恢复能力,允许用户将数据库集群恢复到过去的任意时间点…

1.MySQL存储过程基础(1/10)

引言 数据库管理系统(Database Management System, DBMS)是现代信息技术中不可或缺的一部分。它提供了一种系统化的方法来创建、检索、更新和管理数据。DBMS的重要性体现在以下几个方面: 数据组织:DBMS 允许数据以结构化的方式存…

8.优化存储过程的性能(8/10)

优化存储过程的性能 1.引言 存储过程是数据库系统中预先编写好的SQL语句集合,它们被保存在数据库服务器上,可以在需要时被调用执行。存储过程的使用可以提高数据库操作的效率,减少网络通信,并且可以封装复杂的逻辑,使…

无人机之交互系统篇

一、系统构成 无人机交互系统通常由多个子系统组成,包括但不限于: 多模式人机交互装置:这是人机交互系统的基础层,通常包括计算机、局域网、传感器等设备,用于实现操作员与无人机之间的数据交互和指令传递。例如&…

新型物联网电力数据采集器 智能网关通讯协议有哪些?

随着智能化技术的快速发展,电气监测与管理在各个域的应用愈发重要,在物联网(IoT)应用的发展中,网关扮演着至关重要的角色。它作为连接设备与云平台或数据中心的桥梁,负责数据的收集、处理和传输。网关不仅支…

鸿蒙开发之ArkUI 界面篇 三十四 容器组件Tabs一

当页面较多时,可以通过Tabs组件进行展示,如下图,支持顶部、底部、侧边栏 Tabs页面需两个组件,分别是TabContent和TabBar。TabContent必须有,TabBar是导航标题,可以没有也能显示,只是没有标题提示…

uniapp__微信小程序使用秋云ucharts折线图双轴

1、子组件 <template><view class"charts-box"><qiun-data-charts type"line":opts"computedOpts":chartData"chartData"/></view> </template><script> export default {props: {chartData: {t…

【论文阅读】Learning a Few-shot Embedding Model with Contrastive Learning

使用对比学习来学习小样本嵌入模型 引用&#xff1a;Liu, Chen, et al. “Learning a few-shot embedding model with contrastive learning.” Proceedings of the AAAI conference on artificial intelligence. Vol. 35. No. 10. 2021. 论文地址&#xff1a;下载地址 论文代码…

沉浸式娱乐新纪元,什么是5G+实时云渲染VR大空间解决方案?

近年来&#xff0c;虚拟现实&#xff08;VR&#xff09;技术在娱乐、教育、医疗等多个领域展现出巨大的潜力&#xff0c;尤其是VR大空间体验&#xff0c;更是以其沉浸式和互动性的特点&#xff0c;迅速成为市场的新宠。据Statista数据显示&#xff0c;2023年&#xff0c;全球虚…

【笔记】Day2.5.1查询运费模板列表(未完

&#xff08;一&#xff09;代码编写 1.阅读需求&#xff0c;确保理解其中的每一个要素&#xff1a; 获取全部运费模板&#xff1a;这意味着我需要从数据库中查询所有运费模板数据。按创建时间倒序排序&#xff1a;这意味着查询结果需要根据模板的创建时间进行排序&#xff0…