java---网络初始

一.局域网和广域网

随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互连。
网络互连:将多台计算机连接在一起,完成数据共享。数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。根据网络互连的规模不同,可以划分为局域网和广域网。
局域网,即 Local Area Network,简称LAN。Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。
在这里插入图片描述
局域网在一定的区域内两两互相建立链接,但这种方式的缺点也很明显,随着电脑的增多,产生的链接线路成倍增长。
广域网通过路由器和交换机解决了局域网的缺点,路由器有4个lan口和一个wan口,让lan口链接电脑,wan口链接上一层的路由器。
在这里插入图片描述
虽然路由器只有4个lan口,实际上组建局域网的时候可以有更多设备,让lan口链接交换机。交换交换机的口不分lan口和wan口,所有的口都是等价的。
在这里插入图片描述
企业级网络,往往需要一个企业级路由器+若干个交换机,这样的效果等于延伸出许多网线。
在这里插入图片描述

二.网络通信基础

IP地址:IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。
端口号:在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简单说:端口号用于定位主机中的进程。
协议:协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。网络通讯协议,虽然复杂但本质上也是人为出来的一些规定、为什么要做这么一份规定呢?因为电脑的种类很多,设备的产商也有很多,必须要有一份统一的协议标准。

三.协议分层

网络通信是一个复杂的过程,会设计到一系列繁琐的工作,靠一个协议解决所有的问题会导致这个协议非常复杂庞大,因此就对协议进行了拆分,这么一拆拆出的类型有点多,于是就对协议进行了分层,上层协议调用下层协议,下层协议协调上层协议。这样给协议搞了明确的层级关系,避免阶层级的跨越,降低耦合,提高整个系统的可行性。协议主要分为OSI七层模型(只在教科书里面),TCP/IP五层网络模型(真实的存在)。

一. TCP/IP协议

在这里插入图片描述

物理层:描述网络通信基础设施需要遵守的规范
数据链路层:相邻的节点之间数据如何传输
传输层:只关心传输的起点和终点,不关注中间的过程
应用层:拿到这个数据具体要干嘛
网络层:从起点到终点有多少种不同的走法

在这里插入图片描述

二. 数据的发送

1.应用层
当数据发送时首先会经过应用层,比如在qq中发送信息时,很多程序里面都会有应用层协议,qq使用的程序假设是如图(发送hello):
在这里插入图片描述
应用层会构成应用层数据报,然后调用传输层提供的接口,把上述数据交给传输层去处理。
2.传输层
传输的协议有很多种,TCP和UDP,假设传输的是UDP协议。传输层就会把应用层传来的数据交给UDP,构成UDP数据报。
在这里插入图片描述
UDP报头最主要的是源端口和目的端口。UDP不关心载核里面是什么内容,只是把应用层数据当一个字符串,构建一个UDP报头。此时会传给网络层。
3.网络层
网络层最主要的是IP协议,IP协议会根据自己的格式来构建出IP数据报。
在这里插入图片描述
接下来会传输给数据链路层
4.数据链路层
数据链路层最主要的是以太网,以太网会针对IP数据报进行进一步的封装,在添加数据头和数据尾。
在这里插入图片描述
5.物理层
硬件设备就需要对数据链路层传来的数据进行转换,本质上会转变为二进制的数据(01构成),可能为光信号/电信号/电磁波
到这里就完成了一次发送

三.数据的接收

1.物理层
物理层收到光信号、电信号。电磁信号需要把收到的信号进行解调(数字信号处理课程和通信原理课程学过),得到一串0101二进制数据序列。
在这里插入图片描述
这个数据就要交给上一层数据链路层
2.数据链路层
数据链路层的以太网协议就会针对这个数据进行解析,此时把载核给上层IP协议
在这里插入图片描述
在这里插入图片描述
3.网络层
IP协议针对IP报头进行解析,载核交给传输层
4.传输层
根据UDP数据报进行解析,去掉报头,取出载核交给应用层
5.应用层
UDP报头中有一个字段目的端口,根据目的端口找到关联的应用程序,交给这个程序即可.
在这里插入图片描述
qq遇到这个数据就会按照qq协议进行解析,把hello字符显示到界面上,至此接收完成。
从应用层到物理层叫封装,从物理层到应用层叫分用。

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

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

相关文章

开发反应式API

开发反应式API 开发反应式API1 使用SpringWebFlux1.1 Spring WebFlux 简介1.2 编写反应式控制器 2 定义函数式请求处理器3 测试反应式控制器3.1 测试 GET 请求3.2 测试 POST 请求3.3 使用实时服务器进行测试 4 反应式消费RESTAPI4.1 获取资源4.2 发送资源4.3 删除资源4.4 处理错…

基于springboot+vue实现养老服务管理系统项目【项目源码+论文说明】计算机毕业设计

基于springbootvue实现养老服务管理系统演示 摘要 医疗水平和生活水平的不断提高造就了我们现在稳定、发展的社会,带来受益的同时也加重了人口老龄化程度。随着人口老龄化程度的不断加深,越来越多的社会资源在对养老方面注入。那么面对如此快速发展的养…

Go微服务实战——服务的注册与获取(nacos做服务注册中心)

背景 随着访问量的逐渐增大,单体应用结构渐渐不满足需求,在微服务出现之后引用被拆分为一个个的服务,服务之间可以互相访问。初期服务之间的调用只要知道服务地址和端口即可,而服务会出现增减、故障、升级等变化导致端口和ip也变…

在OpenStack架构中,Controller节点的配置(基础)

虚拟机的安装 新建虚拟机,选择自定义 默认选择即可 操作系统的镜像稍后选择 客户及操作系统选择Linux,注意选择centos 7 64位 给虚拟机命名 处理器的配置建议1:2 内存大小选择建议为:4GB 网络连接选择为:NAT 默认即可…

蓝桥杯2022年第十三届省赛真题-灭鼠先锋

LLLV solution1 必输:只有一个格子 手算可以模拟出来~ solution2 OOOO状态下,谁先下谁必输 》问题转化为谁先下满第一排,谁必赢,可以非常容易的模拟出来

Vue.js+SpringBoot开发天沐瑜伽馆管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 瑜伽课程模块2.3 课程预约模块2.4 系统公告模块2.5 课程评价模块2.6 瑜伽器械模块 三、系统设计3.1 实体类设计3.1.1 瑜伽课程3.1.2 瑜伽课程预约3.1.3 系统公告3.1.4 瑜伽课程评价 3.2 数据库设计3.2.…

uniapp实现点击标签文本域中显示标签内容

先上一个效果图 实现的效果有: ①.点击标签时,标签改变颜色并处于可删除状态 ②.切换标签,文本域中出现标签的内容 ③.点击标签右上角的删除可删掉标签,同时清除文本域中标签的内容 ④.可输入内容,切换时不影响输入…

考研C语言复习进阶(5)

目录 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 ​编辑 ​编辑 4.1 对比一组函数: ​编辑 5. 文件的随机读写 5.1 fseek 5.2 ftell 5.3 rewind…

tomcat中把项目放在任意目录中的步骤

java web 项目由idea开发&#xff0c;路径如下图所示&#xff1a; 1.在tomcat安装目录conf\Catalina\localhost 里面&#xff0c;编写lesson1.xml文件内容如下&#xff1a; <Context path"/lesson1" docBase"C:\Users\信息技术系\Desktop\2024\学校工作\jav…

基于51单片机的微波炉温度控制器设计[proteus仿真]

基于51单片机的微波炉温度控制器设计[proteus仿真] 温度检测系统这个题目算是课程设计和毕业设计中常见的题目了&#xff0c;本期是一个基于51单片机的微波炉温度控制器设计 需要的源文件和程序的小伙伴可以关注公众号【阿目分享嵌入式】&#xff0c;赞赏任意文章 2&#xff…

【矩阵】240. 搜索二维矩阵 II【中等】

搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a;每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22…

C++:2024/3/12

作业1&#xff1a;试编程&#xff0c;封装一个类 要求&#xff1a;自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(…

如何打造知识管理平台,只需了解这几点

随着企业的发展&#xff0c;知识资源日益丰富和复杂&#xff0c;如果不加以有效管理和整合&#xff0c;这些知识很可能会被埋没或丢失。打造知识管理平台可以将这些知识资源进行统一存储和分类&#xff0c;便于员工查找和使用&#xff0c;从而充分发挥知识的价值。有很多工具可…

蓝桥杯每日一题:血色先锋队

今天浅浅复习巩固一下bfs 答案&#xff1a; #include<iostream> #include<algorithm> #include<cstring>using namespace std; typedef pair<int,int> PII;const int N510; int n,m,a,b; int dist[N][N]; PII q[N*N]; int hh0,tt-1;int dx[]{1,0,-1,…

2024年【安全员-A证】复审考试及安全员-A证模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-A证复审考试参考答案及安全员-A证考试试题解析是安全生产模拟考试一点通题库老师及安全员-A证操作证已考过的学员汇总&#xff0c;相对有效帮助安全员-A证模拟试题学员顺利通过考试。 1、【多选题】《安全生产…

【深度学习笔记】9_6 目标检测数据集

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;部分标注了个人理解&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 9.6 目标检测数据集&#xff08;皮卡丘&#xff09; 在目标检测领域并没有类似MNIST或Fashion-MNIST那样的小数据集。为了快速测试模型…

Java项目:53 springboot校园管理系统的设计与实现014

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 1、关于校园管理系统的基本要求&#xff1a; &#xff08;1&#xff09;功能要求&#xff1a;可以管理首页、个人中心、院校管理、用户管理、单位类别…

2023年全球软件质量效能大会(QECon上海站):智慧碰撞,质量与效能的新篇章(附大会核心PPT资料下载)

在数字化浪潮席卷全球的今天&#xff0c;软件行业正以前所未有的速度发展。作为推动这一进程的重要力量&#xff0c;软件质量与效能的提升显得尤为关键。2023年全球软件质量&效能大会&#xff08;QECon上海站&#xff09;的盛大召开&#xff0c;无疑为业界提供了一次难得的…

VSCode ARM CortexM 开发

VSCode ARM CortexM 开发: http://coffeelatte.vip.cpolar.top/post/software/applications/vscode/vscode_arm_cortexm_开发/ 文章目录 VSCode ARM CortexM 开发: <http://coffeelatte.vip.cpolar.top/post/software/applications/vscode/vscode_arm_cortexm_%E5%BC%80%E5%…

lwip优化任务优先级

在lwIP中&#xff0c;ethernetif_input线程负责接收和处理从以太网接口接收到的数据包&#xff0c;而tcpip主线程则负责处理lwIP协议栈中的各种事件和数据包。一般情况下&#xff0c;ethernetif_input线程的优先级应该设置为低于tcpip主线程的优先级。 这是因为在实时操作系统…