计算机网络---计算机网络基本概念(协议、体系)

一、计算机网络概述

1.计算机网络基本概念

1.1计算机网络定义

利用通信设备与通信链路或者通信网络,相连但位值不同的独立的计算及系统。但在能够进行信息交换且遵循一定的协议。
通俗来讲:计算机网络由若干结点和连接这些结点的链路组成。

在这里插入图片描述

1.2协议的定义

协议是网络通信实体协议之间数据交换之间需要遵循的约定
由三部分组成(三要素):
(1)语法(一定的书写规则)
(2)语义(传输数据含义)
(3)时序(事件实现顺序)

1.3计算机网络的功能

1.硬件资源共享
2.软件资源共享
3.信息资源共享

1.4计算机网络的分类

1.按覆盖范围:个人网、局域网、城域网、广域网
2.按拓扑结构:星型、总线型、环形、网状、树状、混合拓扑结构等
在这里插入图片描述
3.按交换方式:电路交换网络、报文交换网络和分组交换网络
4.按网络用户属性:公共网、私用网

2.计算机网络结构

2.1网络边缘

由所有互联网上的主机组成(端系统),供给普通用户使用,用于访问各种资源

2.2网络核心

由互联网上的各中路由器组成,绝大部分是为网络边缘提供服务

2.3接入网络

链接网络边缘和网络核心,部分方式:
1.电话拨号
2.非对称用户数据线ADSL
3.混合光纤同轴电缆HFC
4.局域网
5.移动接入网络
在这里插入图片描述

3.数据交换技术

3.1数据交换概念

数据交换(Data Switching)是指在多个数据终端设备(DTE)之间,为任意两个终端设备建立数据通信临时互连通路的过程。
通信子网:交换结点和传输介质

分类:电路交换、报文交换、分组交换

3.2电路交换

为信息交换建立临时的专用线路,只为两个用户传送
优点:实时性高,实延和时延抖动较小。因而适合传输实时性强和批量大的数据。
缺点:信道利用低,传输速率单一

3.3报文交换

以报文为单位,在交换单位的各节点之间存储—转发的方式传送

优点
1.不需要建立连接
2.线路利用率高
3.使用灵活
缺点
不适用实时性较强的业务

3.4分组交换

也采用存储-转发技术,把数据分成若干组进行传输

优点
1.交换速度快
2.可靠传输效率高
3.交换设备需要存储容量低
缺点
1.分组长度与延迟时间
2.分组长度与误码率

3.5混合交换

在一个计算机网络中同时采用电路交换和分组交换方式,称为混合交换

3.6比较

在这里插入图片描述

4.计算机网络性能

4.1速率

网络单位时间内传送的数据量,也叫数据率比特率。基本单位是比特每秒(bit/s)

4.2带宽

原指某个信号具有的频带宽度,单位为赫兹。在计算机网络中,它指某网络中传输数据的能力

4.3时延

指数据从网络的某个结点到下一个结点用的时间

1.发送时延(传输时延):发送数据帧开始到结束所用时间
2.传播时延:电磁波在信道内传输一定距离所用的时间
3.处理时延:主机或路由器收到分组消息时处理用时
4.排队时延:在进入一个结点时,等待此结点处理完自身任务的时间

4.4吞吐量

单位时间内通过某个网络的实际数据量
经常用来衡量网络的实际数据传送能力

4.5时延带宽积

时延带宽积 = 传播时延 x 带宽

4.6往返时间RTT

数据来回所用时间

4.7利用率

信道利用率:某信道内有百分之几的时间内是有数据通过
网络利用率:全网络信道利用率的加权平均值

4.8丢包率

很大程度上可以反应网络的拥塞程度
丢包率 = 丢包分组总数/分组总数

5.计算机网络体系结构

定义:计算机网络所划分的层次以及各层协议的集合

5.1OSI参考模型(开放系统互连基本参考模型)

在这里插入图片描述

5.2TCP/IPC参考模型

在这里插入图片描述

5.3五层参考模型

在这里插入图片描述目前互联网一般使用五层模型,因为它较其他两种方式来说:相对简单且功能完备

### 图像处理Transformer 模型的使用与实现 Transformer 是一种基于自注意力机制(Self-Attention Mechanism)的神经网络架构,最初被设计用于自然语言处理 (NLP)[^3]。然而,近年来其在计算机视觉领域的应用也取得了显著进展。以下是关于如何在图像处理任务中使用和实现 Transformer 的详细介绍。 #### 1. Transformer图像处理中的应用场景 Transformer 已经成功应用于多种图像处理任务,包括但不限于图像分类、目标检测、语义分割以及图像生成等[^2]。这些任务的核心在于利用 Transformer 对全局上下文关系的强大建模能力,从而提升模型性能。 #### 2. 基本原理 Transformer 的核心组件是多头自注意力机制(Multi-head Self-Attention),它可以捕捉输入数据之间的长期依赖关系。在图像处理场景下,通常会先将图像划分为固定大小的小块(Patches),并将其展平为一维向量序列作为 Transformer 输入[^4]。这种操作类似于 NLP 中的词嵌入(Word Embedding)。 为了进一步增强表征学习效果,在实际应用过程中还会引入位置编码(Positional Encoding)。这是因为原始图片经过切片后丢失了空间顺序信息,而位置编码能够帮助模型重新恢复这一特性[^1]。 #### 3. PyTorch 实现示例 下面是一个简单版本的基于 PyTorch 构建的 Vision Transformer(ViT): ```python import torch from torch import nn, optim class PatchEmbedding(nn.Module): def __init__(self, img_size=224, patch_size=16, embed_dim=768): super().__init__() self.proj = nn.Conv2d(3, embed_dim, kernel_size=patch_size, stride=patch_size) def forward(self, x): x = self.proj(x).flatten(2).transpose(1, 2) return x class MultiHeadAttention(nn.Module): def __init__(self, dim, num_heads=8): super(MultiHeadAttention, self).__init__() assert dim % num_heads == 0 self.num_heads = num_heads head_dim = dim // num_heads self.scale = head_dim ** -0.5 self.qkv = nn.Linear(dim, dim * 3, bias=False) self.attn_drop = nn.Dropout(0.) self.proj = nn.Linear(dim, dim) def forward(self, x): B, N, C = x.shape qkv = self.qkv(x).reshape(B, N, 3, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4) q, k, v = qkv.unbind(0) attn = (q @ k.transpose(-2, -1)) * self.scale attn = attn.softmax(dim=-1) attn = self.attn_drop(attn) x = (attn @ v).transpose(1, 2).reshape(B, N, C) x = self.proj(x) return x class ViTBlock(nn.Module): def __init__(self, dim, num_heads, mlp_ratio=4., drop_rate=0.): super(ViTBlock, self).__init__() self.norm1 = nn.LayerNorm(dim) self.msa = MultiHeadAttention(dim, num_heads=num_heads) self.drop_path = DropPath(drop_rate) if drop_rate > 0. else nn.Identity() self.norm2 = nn.LayerNorm(dim) hidden_features = int(dim * mlp_ratio) self.mlp = Mlp(in_features=dim, hidden_features=hidden_features, act_layer=nn.GELU, drop=drop_rate) def forward(self, x): x = x + self.drop_path(self.msa(self.norm1(x))) x = x + self.drop_path(self.mlp(self.norm2(x))) return x def build_vit(img_size=224, patch_size=16, embed_dim=768, depth=12, num_heads=12, class_num=1000): model = nn.Sequential( PatchEmbedding(img_size=img_size, patch_size=patch_size, embed_dim=embed_dim), *[ViTBlock(embed_dim, num_heads=num_heads) for _ in range(depth)], nn.LayerNorm(embed_dim), nn.Linear(embed_dim, class_num)) return model model = build_vit() print(model(torch.randn((1, 3, 224, 224))).shape # 输出形状应为 [batch_size, class_num] ``` 上述代码展示了如何构建一个基础版的 Vision Transformer 结构,并通过 `build_vit` 函数创建了一个完整的模型实例。 --- #### 4. 总结 Transformer 不仅限于文本领域,在图像处理方面同样表现出巨大潜力。通过合理的设计与优化策略,可以有效解决各类复杂的视觉问题。未来随着技术进步及相关研究深入,相信会有更多创新成果涌现出来。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值