计算机网络(1)——概述

1.计算机网络基本概念

1.1 什么是计算机网络

  • 计算机网络的产生背景
    在计算机网络出现之前,计算机之间都是相互独立的,每台计算机只能访问自身存储的数据,无法与其他计算机进行数据交换资源共享。这种独立的计算机系统存在诸多局限性:
  1. 资源利用率低:计算机的资源(如处理器、内存、硬盘等)只能被自身利用,无法被其他计算机共享,导致资源浪费
    
  2. 计算能力有限:单台计算机的处理能力有限,无法处理复杂的计算任务或者大规模的数据处理
    
  3. 数据共享困难:每台计算机都是独立的存储设备,无法被其他计算机访问,只能通过物理介质进行信息传递(如:利用U盘拷贝)
    

随着通信技术和计算机技术的不断发展推动了计算机网络的诞生,所以说:计算机网络是通信技术与计算机技术紧密结合的产物

定义:计算机网络就是互连的、自治的计算机集合
互连:计算机之间互联互通
自治:计算机之间无主从关系

在早期时,主机数量有限,因此主机之间可以使用物理介质进行直连
在这里插入图片描述

但随着主机数量的增减,物理直连的成本过高,交换网络的概念应运而生
在这里插入图片描述

1.2 什么是Internet

  • 从组成细节角度来看:
    Internet是全球最大的互联网络,由ISP(互联网服务提供商,Internet Service Provider)网络互连的网络之网络。换言之,Internet是由多个独立网络互联而成的一个庞大的网络系统,它主要有以下几个组成部分:
    (1)成千上万的互连的计算设备集合(PC、手机等)
    (2)通信链路(光纤、卫星等)
    (3)交换网络:实现数据的分组转发(路由器、交换机等)
    在这里插入图片描述
  • 从服务角度来看:能为用户提供什么服务
    (1)为网络应用提供通信服务基础设施:光纤、电缆、路由器等
    (2)为网络应用提供应用编程接口(API):如网络协议API,DNS API,数据库API等

Question:如果仅有硬件连接,能否保证网络通信中的数据交换?
Answer:不能,还需要协议

1.3 协议

1.3.1 什么是协议

硬件是计算机网络的基础,但是计算机网络中的数据交换必须遵守实现约定好的规则
以交通系统为例:交通系统中有交通规则,规定了车辆和行人如何安全有序地移动。比如,红灯停绿灯行,车辆靠右行驶等。如果一个交通系统中仅有道路(物理条件),而没有交通规则,那么该交通系统是一定会瘫痪的
在计算机网络中也一样,数据之间的交换必须要遵守一定的规则,保证通信的安全性、有序性,这种规则就叫做协议协议规定了通信实体之间数据交换的格式意义顺序以及针对收到的消息所采取的“行为”

1.3.2 协议的三要素

(1)语法:定义了数据在网络上传输时的结构格式

  • 1.数据格式:规定了消息中各个字段的顺序、长度、数据类型等
  • 2.编码方式:规定了数据在传输过程中如何编码和解码
  • 3.信号电平:规定了信号的电压、电流等

(2)语义:定义了协议中消息的含义目的

  • 1.字段的解释方式:消息中各个字段代表什么含义
  • 2.协议的功能:协议如何实现请求、响应、错误处理等功能
    例如:HTTP协议中,GET请求是请求服务器提供指定资源;POST请求是向服务器提交数据

(3)时序:定义了消息交换的顺序和时间关系

  • 1.事件顺序:规定了消息发送和接收的顺序
  • 2.时间间隔:规定了消息发送和接收的时间间隔
  • 3.超时和重传机制:规定了在特定时间内未收到响应时的处理方式 例如:TCP协议三次握手建立连接,这三次交互必须严格按照规定的顺序进行;HTTP协议中,服务器在收到请求后,必须在规定时间内返回响应

2.计算机网络结构

计算机网络结构分为三个部分:

  • 1.网络边缘(Network Edge):处于计算机网络的边缘地带
  • 2.接入网络:网络边缘和网络核心的中间部分
  • 3.网络核心:位于计算机网络的核心地带 在这里插入图片描述

2.1 网络边缘

主要由计算设备运行在计算设备上的应用程序组成,比如:我们的手机和手机上的应用(浏览器)就处于计算机网络边缘。这些计算设备有两种通信模型:

  • 1.客户端-服务器(client-sever)应用模型:客户端发送请求,服务器返回响应
  • 2.对等(peer-peer,P2P)应用模型:通信在对等设备之间直接进行
    以QQ为例:当你在某群聊中发送消息时,你的消息会先到达维护该群聊的服务器,服务器接收到你的消息后利用广播机制再转发给群聊中的其他人,这就是客户端-服务器(client-sever)应用模型;当你给某好友发送消息时,该消息会直接到达对方手机上,而不会再经由服务器转发,这就是对等(peer-peer,P2P)应用模型

2.2 接入网络

负责将处于网络边缘的设备接入到网络核心,主要由两部分组成

  • 1.物理介质:光纤、电缆等。这些物理介质提供了计算设备与网络核心之间连接的数据传输通道
  • 2.接入技术:调制解调器、无线局域网(WLAN)等。这些接入技术决定了计算设备接入网络的方式(独占/共享)和速度

2.3 网络核心

主要由多个相互连接的路由器组成,负责消息的路由转发目的是:将消息从源主机传输给目的主机

3.网络核心

Question:如何实现数据通过网络核心从源主机到达目的主机?
Answer:数据交换,一共有电路交换报文交换分组交换三种方式

3.1 电路交换

3.1.1 电路交换

  • 概念:在通信开始前,发送方和接收方之间建立一条专用的物理或逻辑连接。这条连接在整个通信过程中保持不变,直到通信结束
  • 最典型的电路交换网络:电话网络
  • 电路交换的三个阶段
  1. 建立连接(拨号->打通电话)
    
  2. 通信
    
  3. 释放连接(挂断电话)
    
  • 最显著的特点独占资源(当两个人打通电话之后,第三个人是打不进来的)
    在这里插入图片描述

Question:以上图为例,电话A和电话B建立连接后是独占整个电话网络吗?
Answer:不是的,多个交换机互联组成的电话网络的承载能力,往往可以同时支撑多对电话进行通信。电路交换的独占性指的是:在通信期间,特定的物理线路被某个连接独占,并不代表整个电话网络都被该连接独占。但是电路交换的独占性确实会导致资源利用率低的问题,所以多路复用技术应运而生

3.1.2 多路复用

多路复用:将链路/网络资源(如贷款)划分为“资源片”分配给各路呼叫(calls),每路呼叫独占分到的资源片。在这里插入图片描述
分配方式可以分为四种,分别是:频分多路复用时分多路复用波分多路复用码分多路复用

  • 1.频分多路复用(FDM):将通信信道按照频率分割为多个独立的子信道的技术,允许多路信号信号在同一介质中同时传输二互不干扰
    在这里插入图片描述
  • 2.时分多路复用(TDM):将时间等分为一段段时间复用帧(TDM帧),每路信号在每个TDM帧中占用固定序号的时隙
    在这里插入图片描述
    在这里插入图片描述
  • 3.波分多路复用(WDM):光通信中的FDM,将通信信道按照波长分割为多个独立的子信道的技术
  • 4.码分多路复用(CDM):每路信号被一个唯一的码序列调制,彼此互不干扰

3.2 分组交换

在这里插入图片描述

  • 概念:数据被分割成多个小的分组,每个分组独立传输,通过网络中的不同路径到达目的地。分组在传输过程中可能会经过多个中间节点(如路由器或交换机)
  • 分组:在源主机中将数据分割为若干个小的数据包(分片),每个分片都会有一个序号
  • 重组:在目的主机中将分片按照序号进行组装

注意

  • 每个分片都会添加额外的控制信息,来保证重组的顺利进行(比如:IP数据包进行分组时,每个分片都会有3位标志位和13位片偏移来控制重组)
  • 分组和重组发生在源主机和目的主机,经由中间的路由器时不会发生

3.3 电路交换和分组交换区别

特性分组交换电路交换
资源占用动态分配固定
资源利用率
使用场景突发数据实时流

4.计算机网络性能

4.1 速率

  • 数据率(data rate)或称数据传输速率比特率(bit rate):指数据在网络中的传输速率
  • 单位:b/s、kb/s、Mb/s、Gb/s(k = 10 ^ 3,M = 10 ^ 6,G = 10 ^ 9)
  • 日常生活中给出的速率指标(如百兆网络/千兆网络)一般指的是理想状态下的最大传输速率/额定速率(带宽)

4.2 带宽(bandwidth)

原本指信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz);网络中的“带宽”通常是数字信道所能传输的“最高数据传输速率”,单位是b/s(bps)

4.3 延迟(delay)

Question:分组交换为什么会有丢包和延迟?
在这里插入图片描述
以上图为例,主机A/B要传输一组数据包到路由器Y,首先该组数据包会先到达路由器X,如果此时路由器Y正在传输其他数据,那么该组数据白会先在路由器上保存,当路由器X的缓存满时,后续到达的数据包就会被丢弃,这就叫做丢包

而分组交换的延迟一共分为四种:

  • 1.节点处理延迟(nodal processing delay):数据到达某一网络设备(如路由器)时会对数据进行差错检测,根据数据中的地址信息判断转发到哪一个路由器或主机,这些操作所花费的时间就叫做节点处理延迟
  • 2.排队延迟(queueing delay):以上图为例,数据到达路由器X后,等待路由器Y处理完其他数据的时间。一般来说等待时间不确定,取决于路由器的拥塞程度
  • 3.传输延迟(transmission delay):一组数据包全部通过某网络设备(如路由器)所需的时间。例如:某组分片的大小为10000bit,路由器的带宽是1Mbps(1,000,000bit),传输延迟就是0.01秒
  • 4.传播延迟(propagation ddeelay):数据在物理介质中从发送端到接收端所需的时间。光纤中的信号传播速度约为2×10^8米/秒,如果传输距离是1000公里,传播延迟就是0.005秒

为了更清楚的区分传输延时和传播延迟的区别:我这里以车队类比数据包
在这里插入图片描述
车->分片车队->分组收费站->路由器
车速为100km/h->信号传播速度
一辆车通过收费站用时12秒
车队通过收费站用时120秒->传输延迟
一辆车从第一个收费站到达下一个收费站用时1小时->传播延迟

4.4 时延带宽积(Delay-Bandwidth Product,DBP)

时延带宽积(bit) = 传播延迟(s) × 带宽(bps)
表示网络链路中“正在传输”的数据量,即发送端和接收端之间“飞行”中的比特数。所以链路的时延带宽积又称为以比特为单位的链路长度
在这里插入图片描述

4.5 丢包率

指在网络传输过程中丢失的数据包数量与总发送数据包数量的比值
在这里插入图片描述

4.6 吞吐量

表示在发送端与接收端之间传送数据速率(bps)

  • 即时吞吐量:给定时刻的速率
  • 平均吞吐量:一段时间的平均速率

吞吐量的大小取决于瓶颈链路的带宽
在这里插入图片描述
在这里插入图片描述

5.计算机网络体系结构

5.1 计算机网络体系结构概述

什么是计算机网络体系结构?

  • 计算机网络体系结构是从功能的角度进行划分的
  • 一般采用分层模型来描述,即网络分层
  • 每层遵循某个/些网络协议完成本层功能
  • 计算机网络体系结构是网络各层及其协议的集合
  • 计算机网络体系结构定义了计算机网络的功能层次以及层次之间的关系

为什么是采用分层结构?

  • 结构清晰:网络分层的参考模型(如OSI 7层模型)就严格区分了各层实现的功能和它们之间的关系
  • 利于维护更新:任何一层功能的实现对外透明,只提供接口
  • 利于标准化:各层之间的接口是标准化的,这可以让不同厂商之间的设备无缝衔接

5.2 OSI 7层模型

OSI 7层模型是国际标准化组织(ISO)在1984年提出的分层网络体系结构,目的是支持不同的网络结构之间互通互联在这里插入图片描述
OSI 7层模型的通信过程
在这里插入图片描述
OSI 7层模型数据封装与分用过程在这里插入图片描述

注意:OSI 7层模型只存在于理论中,主要是帮助我们理解网络分层,实际应用中基本上不会按照该模型的标准来分层

5.3 TCP/IP 5层模型

在这里插入图片描述
实际应用中一般采用TCP/IP 5层模型的标准,将会话层和表示层的功能集成到应用层里。既简化了整个协议栈的结构,又进一步提高了数据在网络中传输的效率

下面对TCP/IP模型通信过程中封装分用的流程进行演示:
预设场景:张三给李四在2025年3月21日(只是演示,不精确到秒)这一天给李四发消息,消息内容是"Hello World"
接下来我们以发送方接收方的视角来观察

发送方

1.应用层
假设应用层协议的格式为:接收方QQ号+发送时间+发送方QQ号+内容 在这里插入图片描述
应用层将该数据包提交给传输层
2.传输层
传输层把来自应用层的数据包构造成传输层数据报,传输层常用的协议有两个,分别是UDP和TCP。这里以UDP协议为例,在应用层数据包前面添加UDP报头,然后提交给网络层
在这里插入图片描述
UDP报头主要包含源端口和目的端口
3.网络层
网络层基于IP协议在UDP数据报前面添加IP报头,然后提交给数据链路层 在这里插入图片描述
IP报头主要包含源IP和目的IP
4.数据链路层
数据链路层基于以太网协议在IP数据报的首/尾部添加以太网帧头/尾,打包成以太网数据帧然后提交给物理层 在这里插入图片描述
5.物理层
物理层将以太网数据帧中的二进制数据转换成光/电信号,然后数据就被发生出去了
以上就是封装的过程

接收方

1.物理层
通过网卡接受到光/电信号,在物理层将光/电信号转换为二进制数据,该二进制数据的格式是以太网数据帧,然后提交给数据链路层进行解析
在这里插入图片描述
2.数据链路层
数据链路层把以太网数据帧的帧头和帧尾拆除,将剩下的部分提交给网络层 在这里插入图片描述
3.网络层
网络层解析出IP报头,将IP数据报的载荷部分提交给传输层 在这里插入图片描述
4.传输层
传输层解析出UDP报头,将UDP载荷部分提交给应用层 在这里插入图片描述
5.应用层
应用层将数据包进行解析,然后将内容显示到屏幕
以上就是分用的过程

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

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

相关文章

React学习(二)-变量

也是很无聊,竟然写这玩意,毕竟不是学术研究,普通工作没那么多概念性东西,会用就行╮(╯▽╰)╭ 在React中,变量是用于存储和管理数据的基本单位。根据其用途和生命周期,React中的变量可以分为以下几类&…

完整卸载 Fabric Manager 的方法

目录 ✅ 完整卸载 Fabric Manager 的方法 1️⃣ 停止并禁用服务 2️⃣ 卸载 Fabric Manager 软件包 3️⃣ 自动清理无用依赖(可选) 4️⃣ 检查是否卸载成功 ✅ 补充(仅清除服务,不删包) ✅ 完整卸载 Fabric Mana…

ABP vNext 多租户开发实战指南

🚀 ABP vNext 多租户开发实战指南 🛠️ 环境:.NET 8.0 ABP vNext 8.1.5 (C# 11, EF Core 8) 📚 目录 🚀 ABP vNext 多租户开发实战指南🏠 一、什么是多租户?📦 二、ABP 多租户的核…

【WIN】笔记本电脑忘记密码解决办法/笔记本电脑重装系统笔记/bitlocker忘记密码的解决办法

通过安全模式下的CMD命令找回 具体的步骤就是: 首先通过笔记本的对应的一个进入安全模式的一个方式 进入安全模式之后,一直点着这个诊断,然后高级选项进去就可以看到了。 但是这种方法应该是属于安全漏洞,所以只适合老版本。如果是…

人工智能100问☞第25问:什么是循环神经网络(RNN)?

目录 一、通俗解释 二、专业解析 三、权威参考 循环神经网络(RNN)是一种通过“记忆”序列中历史信息来处理时序数据的神经网络,可捕捉前后数据的关联性,擅长处理语言、语音等序列化任务。 一、通俗解释 想象你在和朋友聊天,每说一句话都会根据之前的对话内容调整语气…

实验八 基于Python的数字图像问题处理

一、实验目的  培养利用图像处理技术解决实际问题的能力。  培养利用图像处理技术综合设计实现的能力。  掌握在Python环境下解决实际问题的能力。  熟练掌握使用cv2库对图像进行处理  熟练掌握使用区域生长法提取图片中感兴趣的区域 二、实验内容 本次实验内容为…

STM32F10xx 参考手册

6. 什么是寄存器 本章参考资料:《STM32F10xx 参考手册》、《STM32F10xx数据手册》、 学习本章时,配合《STM32F10xx 参考手册》“存储器和总线架构”及“通用I/O(GPIO)”章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分。…

TCVectorDB 向量数据库简介

简介 尽管目前大多数开源向量数据库来自海外,配置简单且性能优异,但由于网络原因,如果向量数据库部署在海外,而产品面向国内市场,网络延迟将是必须考虑的问题。因此,选择国内服务提供商的云向量数据库往往是…

力扣-比特位计数(统计一个数二进制下1的个数)

下面是题面 1.用c的内置函数__builtin_popcount() 语法:__builtin_popcount(int x),函数会返回一个二进制下x所含的1的个数 2.直接数位枚举 这是最慢也是暴力做法,写法也很简单 用一个while循环…

青少年编程与数学 02-019 Rust 编程基础 16课题、包、单元包及模块

青少年编程与数学 02-019 Rust 编程基础 16课题、包、单元包及模块 一、包1. **什么是 Crate?**2. **Crate 的类型**3. **Crate 的结构**4. **使用 Crate**5. **创建和管理 Crate**6. **发布 Crate**7. **Crate 的优势**8. **示例**创建一个 library crate 二、单元…

强化学习入门:马尔科夫奖励过程二

文章目录 前言1、动作2、策略总结 前言 最近想开一个关于强化学习专栏,因为DeepSeek-R1很火,但本人对于LLM连门都没入。因此,只是记录一些类似的读书笔记,内容不深,大多数只是一些概念的东西,数学公式也不会…

【大数据知识】今天聊聊Clickhouse部署方案

ClickHouse部署 一、ClickHouse部署一、单节点部署1. 安装准备2. 目录规划3. 核心配置4. 启动服务 二、集群部署方案1. 集群拓扑设计2. 分布式配置3. 表引擎选择 三、安全加固1. 认证配置2. SSL加密 四、性能优化1. 核心参数调优2. 资源隔离 五、监控与维护1. Prometheus 集成2…

打卡Day28

题目1:定义圆(Circle)类 要求: 1.包含属性:半径 radius。 2.包含方法: ●calculate_area():计算圆的面积(公式:πr)。 ●calculate_circumference()&#xff…

BERT 进阶:Albert 模型详解与实战

目录 BERT 进阶:Albert 模型详解与实战 一、ALBERT 的优化策略 (一)Embedding 参数因式分解 (二)跨层参数共享 (三)巨剑连贯性损失 二、ALBERT 模型架构 (一)Tran…

使用 163 邮箱实现 Spring Boot 邮箱验证码登录

使用 163 邮箱实现 Spring Boot 邮箱验证码登录 本文将详细介绍如何使用网易 163 邮箱作为 SMTP 邮件服务器,实现 Spring Boot 项目中的邮件验证码发送功能,并解决常见配置报错问题。 一、为什么需要邮箱授权码? 出于安全考虑,大…

深入解析Spring Boot与Spring Security的集成实践

深入解析Spring Boot与Spring Security的集成实践 引言 在现代Web应用开发中,安全性是一个不可忽视的重要方面。Spring Security作为Spring生态中的安全框架,提供了强大的认证和授权功能。本文将结合Spring Boot,详细介绍如何集成Spring Se…

C#将1GB大图裁剪为8张图片

C#处理超大图片(1GB)需要特别注意内存管理和性能优化。以下是几种高效裁剪方案: 方法1:使用System.Drawing分块处理(内存优化版) using System; using System.Drawing; using System.Drawing.Imaging; us…

Linux系统启动相关:vmlinux、vmlinuz、zImage,和initrd 、 initramfs,以及SystemV 和 SystemD

目录 一、vmlinux、vmlinuz、zImage、bzImage、uImage 二、initrd 和 initramfs 1、initrd(Initial RAM Disk) 2、initramfs(Initial RAM Filesystem) 3、initrd vs. initramfs 对比 4. 如何查看和生成 initramfs 三、Syste…

AIStarter Windows 版本迎来重磅更新!模型插件工作流上线,支持 Ollama / ComfyUI 等多平台本地部署模型统一管理

如果你正在使用 AIStarter 工具进行本地 AI 模型部署 ,那么这条消息对你来说非常重要! 在最新推出的 AIStarter Windows 正式版更新中 ,官方对整个平台进行了功能重构和性能优化,尤其是新增了「模型插件工作流 」功能&#xff0c…

深入理解桥接模式:解耦抽象与实现的设计艺术

一、为什么需要桥接模式?从“类爆炸”问题说起 你是否遇到过这样的开发困境? 当需要为系统扩展新功能时,继承体系像滚雪球一样越变越臃肿:新增一种遥控器类型,需要为电视、音响各写一个子类;新增一种设备类…