初识网络 --- 浅了解一些基础概念

文章目录

  • 初识网络
    • 局域网与广域网
  • 初识协议
    • 协议分层
  • OSI七层模型
  • TCP/IP 四层(五层)模型
  • 网络传输基本流程
    • 协议报头
    • 局域网通信原理
    • 传输流程图
    • 数据包封装和分用

初识网络

在每台计算机独立的情况下:假设现在有三台计算机,每台计算机各持有一个业务。那么现在有个程序员处理业务时,如果想要处理业务1就要操作计算机1,处理业务2就要操作计算机2,这样的效率明显不高

那么如果能将三台计算机都连接到一台服务器中,那么三台计算机就可以通过将业务发送到服务器,服务器再发送到指定的计算机中,就可以实现只操作一台计算机就可以处理三个业务。这就是网络互联的基本原理

局域网与广域网

那么假如现在有不同地方的多台计算机想要互联怎么办呢。同样的网络连接原理,将同个地方的多台计算机的数据上传到一台可以称为“交换机”的机器,交换机在将数据发送到中间的一系列实现网络连接的机器上,再发送到另一个地方的交换机最后传入另一个地方的多台计算机中。像这样的在一个区域内可以通过中间的桥梁实现互联的就可以称为局域网

image-20230719173839845

事实上中间的这块桥梁在现实中就是各运营商为用户实现的,这是一个非常庞大的工程量。

相对于局域网和广域网而言,这两个只是一个相对的概念,并不能具体化。一个家庭;一个学校;一个国家都可以被看作是一个局域网

初识协议

本篇文章首先对协议有一个初步的认识

协议就是一种‘约定’,而协议存在的本质:是为了减少通信成本。为什么这么说呢?

举个例子:现在有两个人在近距离的进行交流,一个人向另一个人提问一个是否问题,这个人可以根据另一个人回答的语言进行判断。但如果这两个人相距了1公里双方都可以看到对方肢体动作进行交流的情况下,因为距离较远所以想要让对方听到所讲的话就得需要很大声,这样双方的通信成本就提高了。所以这种情况下,双方就可以通过提前约定好另一种的回答方式,例如点头表示肯定,摇头表示否定。这样子通过对方的肢体动作就可以判断出答案。

像上述的例子就是在两人约定好某种规则后,可以在一定程度上减少了通信的成本。

对于网络而言亦是如此,现实生活上网络是可以在很大的范围内进行通信的,所以距离肯定也会有较长的情况,因此通信的问题和成本就会随着距离的变长而提高。因此网络问题的本质就是传输的距离变长了

同时在计算机之间会存在着多种的计算机产商,多种的操作系统,多种的网络设备型号。因此为了实现这些有不同的操作系统不同的产商组成的计算机之间的通信,所有的产商或者操作系统之间就必须要指定一个协议,然后大家共同遵守这个协议,这就是网络协议

协议分层

假如现在有两个人在打电话,那么为了防止两个人各说一门语言导致通信出现障碍,那么两人就约定好都说普通话,这就是语言层面的协议。然后两个可能用的是不同品牌的电话,为了这部电话能够接收到对方传来了语音,所以电话之间也需要制定好协议。那么像这种打电话之间就会出现两层的协议,这就是协议分层

对于网络而言肯定不止就两层协议这么少,网络通信是一个更加复杂的过程,因此会有很多层的协议。

分层的特点:

  1. 把软件进行模块化,可以很好的进行解耦,解耦以后如果把通信设备进行更换,上层不用改变,而如果上层语言改变,底层不需要改变。所以对任何一层做任何修改并不影响其他层
  2. 功能比较集中,耦合度比较高的模块放在一层,也就是高内聚,每一层解决特定的问题,功能解耦

OSI七层模型

分层名称功能功能概览
7应用层针对特定应用的协议针对每个应用的协议
6表示层设备固有数据格式和网络标准数据格式的转换接受不同表现的信息
5会话层通信管理,负责建立和断开网络连接何时建立、断开连接,保持多久连接
4传输层管理两个节点之间的数据传输,负责可靠传输是否有数据丢失
3网络层地址管理和路由选择经过那个路由器传递到目的地址
2数据链路层互联设备之间传送和识别数据帧数据帧和比特流之间的转换
1物理层以0 1 代表电压的高低,界定连接器和网线的规格比特流和电子信号之间的转换

TCP/IP 四层(五层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.
TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求

物理层负责光/电信号的传递方式,物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层
数据链路层负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步、数据差错校验等工作
网络层负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)
传输层负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机
应用层负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。网络编程主要就是针对应用层

因为物理层考虑较少,所以通常会叫作TCP/IP四层模型

网络传输基本流程

数据传输条件:

数据包交付能力:如果两台很远的主机之间要传递数据,首先要先有把数据交付给另一台主机的能力
路径选择的能力:要明确数据传输到哪台主机。
容错纠错的能力:如果出错了就要重新传递一份。
数据解析能力:数据传递过去主机要识别这是什么,然后才能使用这个数据。

而这里的每一层都有自己的协议,每一层协议都解决当前层的问题。

协议报头

协议每一层都有,而每个协议都要有报头

报头:

例如快递,除了买的商品还有快递单,这个快递单就是快递的报头。快递小哥通过快递单找到买家,快递单就是快递公司自己定的协议

因此传输数据时总会有多一点的数据,多出来的就叫报头

协议通常是通过协议报头来表达的。每一份数据最终在被发送或者在不同的协议层中,都要有自己的报头

局域网通信原理

同一个局域网里的不同主机是可以直接连接的

每一台主机都有网卡,每一张网卡都有自己的地址,叫做MAC地址用来标识网卡的唯一性MAC地址虽然全球唯一,但是不应用于全球,只是在局域网中标识自己的唯一性云服务器的MAC地址是个虚拟地址

在操作系统中输入指令— ifconfig 就可以看到MAC地址

一个局域网中会有很多的主机,如果主机1想要跟主机2发送消息的时候其他所有主机也都能收到,但是其他主机在内部做协议判断后发现并不是发给自己的就会自动丢弃。最终只有主机2收到

以太网发送消息的原则是任意一个时刻只允许一个主机在局域网中发消息。否则就会发生碰撞,类似于系统中的临界资源

令牌环网:谁持有令牌环谁发送数据没有令牌的主机就不能发送消息,类似于系统中的锁

传输流程图

两台计算机之间通过TCP/IP协议通讯的过程:

image-20230719203957202

跨网段的主句进行传输需要通过一个或者多个路由器:

image-20230719203739750

数据包封装和分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame)。

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装

数据包封装:

  1. 向下交付的时候每一层都会添加自己的报头,报文=报头+有效载,再把报文向下交付
  2. 向上解包的时候,因为同一层有相同的协议,所以能识别报头,它会解开报头,把有效载荷在向上解包。这样就形成了对称的结构

一个设备至少要横跨两个网络才能实现数据报跨网络转发,路由器也必须至少横跨两个网络,所以路由器必须有两个网络接口。在路由器部分传递给令牌环驱动程序的时候,加上的报头是令牌环协议(重新封装报头),虽然这样跟左边不一样了,但是并不影响对称性

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

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

相关文章

2024考研408-操作系统 第五章-输入输出IO管理 学习笔记

文章目录 一、I/O管理概述1.1、I/O设备的概念与分类1.1.1、什么是I/O设备?1.1.2、I/O设备的分类:按照使用特性1.1.2、I/O设备的分类:按传输速率分类1.1.3、I/O设备的分类:按照信息交换的单位分类知识点回顾与重要考点 1.2、I/O控制…

SpringBoot Redis 使用Lettuce和Jedis配置哨兵模式

Redis 从入门到精通【应用篇】之SpringBoot Redis 配置哨兵模式 Lettuce 和Jedis 文章目录 Redis 从入门到精通【应用篇】之SpringBoot Redis 配置哨兵模式 Lettuce 和Jedis前言Lettuce和Jedis区别1. 连接方式2. 线程安全性 教程如下1. Lettuce 方式配置1.1. 添加 Redis 和 Let…

【目标跟踪】1、基础知识

文章目录 一、卡尔曼滤波二、匈牙利匹配 一、卡尔曼滤波 什么是卡尔曼滤波?——状态估计器 卡尔曼滤波用于在包含不确定信息的系统中做出预测,对系统下一步要做什么进行推测,且会结合推测值和观测值来得到修正后的最优值卡尔曼滤波就是利用…

git 和adb

一、git 1、git的作用 git是一个版本控制系统,是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 我的理解就是代码管理器: 第一点你可将代码备份到git仓上; 第二点可记录的你修改记录; 第三点…

周训龙老兵参观广西森林安全紧急救援装备演练

7月21日上午,周训龙老兵参观广西紧急救援促进中心在南宁市青秀山举行森林安全紧急救援装备演练,多功能水罐消防车、无人救援机等先进设备轮番上阵,展示了广西应对突发事件的紧急救援速度和水平。广西壮族自治区应急厅不情愿参此次演练活动。 …

Python Flask构建微信小程序订餐系统 (十)

🔥 编辑会员信息 🔥 编辑会员信息可以通过点击会员列表操作,也可以点击会员信息详情点击进行操作 🔥 修改编程会员信息列表布局 🔥 修改 web/templates/member/index.html 文件,添加跳转到编辑会员信息的页面 web/templates/member/set.html 🔥 创建用于会员…

Mybatis单元测试,不使用spring

平时开发过程中需要对mybatis的Mapper类做单元测试,主要是验证语法是否正确,尤其是一些复杂的动态sql,一般项目都集成了spring或springboot,当项比较大时,每次单元测试启动相当慢,可能需要好几分钟&#xf…

OpenCV图像处理-图像分割-MeanShift

MeanShift 1. 基本概念2.代码示例 1. 基本概念 MeanShift严格说来并不是用来对图像进行分割的,而是在色彩层面的平滑滤波。它会中和色彩分布相近的颜色,平滑色彩细节,侵蚀掉面积较小的的颜色区域,它以图像上任意一点P为圆心&…

优思学院|六西格玛案例分析 - 降低焊接缺陷率

大家都知道六西格玛方法中的控制图有助于监测流程的稳定性和识别特有原因的发生。对流程周期性地采样,当测量结果在控制上限和下限内,而且围绕着一条中心线时,我们就说流程是受控的。注意上述控制上限和下限有别于规范限。 我们来看看一家工…

电脑安装双系统ubuntu18.04+windows后开机直接进入Windows解决方法

电脑型号:联想拯救者Y9000K2021H 系统:Windows11Ubuntu18.04双系统 问题:笔记本安装双系统后,Windows系统下处理word或者看论文;Ubuntu18.04系统安装ros进行机械臂控制等的研究。但最近开机后发现没有系统选项了&#…

知识库数据导出为excel-使用JavaScript实现在浏览器中导出Excel文件

我们智能客服知识库机器人已经开发完成,后端数据库是使用的qdrant向量数据库,但是该数据库并没有导出备份功能,所以我按简单的纯前端实现知识库导出excel数据 使用第三方库(如SheetJS) SheetJS是一个流行的JavaScript库,可帮助处理…

App隐私及合规评估服务

随着移动应用种类和数量呈爆发式增长,APP侵害用户权益事件层出不穷,为规范个人信息的收集使用,打击涉及个人信息违法犯罪行为,我国相继出台多个涉及个人信息保护相关法律法规。与此同时,中央网信办、工信部、公安部、市…

获取大疆无人机的飞控记录数据并绘制曲线

机型M350RTK,其飞行记录文件为加密的,我的完善代码如下 gitgithub.com:huashu996/DJFlightRecordParsing2TXT.git 一、下载安装官方的DJIFlightRecord git clone gitgithub.com:dji-sdk/FlightRecordParsingLib.git飞行记录文件在打开【我的电脑】&am…

Istio Pilot源码学习(二):ServiceController服务发现

本文基于Istio 1.18.0版本进行源码学习 4、服务发现:ServiceController ServiceController是服务发现的核心模块,主要功能是监听底层平台的服务注册中心,将平台服务模型转换成Istio服务模型并缓存;同时根据服务的变化&#xff0c…

OpenHarmony与HarmonyOS联系与区别

目录 1. 背景 2.OpenHarmony 3.HarmonyOS 4.鸿蒙生态 5.OpenHarmony与HarmonyOS的技术上实现区别 1.语言支持 2.SDK 的不同 3.运行调测方式不同 4.对APK的兼容性不同 5.包含关系 6.调试命令 6.何时选择OpenHarmony或是HarmonyOS? 1. 背景 开篇就说“关于…

2023最新谷粒商城笔记之Sentinel概述篇(全文总共13万字,超详细)

Sentinel概述 服务流控、熔断和降级 什么是熔断 当扇出链路的某个微服务不可用或者响应时间太长时,会进行服务的降级,**进而熔断该节点微服务的调用,快速返回错误的响应信息。**检测到该节点微服务调用响应正常后恢复调用链路。A服务调用B服…

Spring Security 身份验证的基本类/架构

目录 1、SecurityContextHolder 核心类 2、SecurityContext 接口 3、Authentication 用户认证信息接口 4、GrantedAuthority 拥有权限接口 5、AuthenticationManager 身份认证管理器接口 6、ProviderManager 身份认证管理器的实现 7、AuthenticationProvider 特定类型的…

数字孪生管控系统,智慧园区楼宇合集

智慧园区是指将物联网、大数据、人工智能等技术应用于传统建筑和基础设施,以实现对园区的全面监控、管理和服务的一种建筑形态。通过将园区内设备、设施和系统联网,实现数据的传输、共享和响应,提高园区的管理效率和运营效益,为居…

【Spring Cloud Gateway 新一代网关】—— 每天一点小知识

💧 S p r i n g C l o u d G a t e w a y 新一代网关 \color{#FF1493}{Spring Cloud Gateway 新一代网关} SpringCloudGateway新一代网关💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客&a…

中医药行业如何进行数字化转型?看天津同仁堂谈“有道有术有零代码”

张伯礼院士曾指出,中药制造的现代化水平,还停留在10%左右的阶段。中医药行业,老字号企业,该如何通过数字化焕发新活力? 天津同仁堂通过与伙伴云合作,零代码构建数字化系统,让技术与思维共同成长…