【计算机网络笔记】网络层服务模型——虚电路网络
系列文章目录
什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)
Cookie技术
Web缓存/代理服务器技术
传输层服务概述、传输层 vs. 网络层
传输层——多路复用和多路分用
传输层——UDP简介
传输层——可靠数据传输原理之Rdt协议
传输层——可靠数据传输之流水线机制与滑动窗口协议
传输层——TCP特点与段结构
传输层——TCP的可靠数据传输
TCP连接管理(图解三次握手和四次挥手)
传输层——拥塞控制原理与解决方法
TCP的拥塞控制机制
网络层服务与核心功能
- 系列文章目录
- 网络层服务模型
- 虚电路网络
- 虚电路(VC)
- 虚电路(VC)的具体实现
- 虚电路信令协议(signaling protocols)
网络层服务模型
网络层实际上是为发送端的端主机到接收端的端主机之间提供一个数据报传输的“通道”。那网络为传输层提供了怎样的服务模型(service model)?
不同的网络提供的服务模型是不同的。比如Internet网络提供的服务很简单,叫做“best effort”即尽力而为服务。也就是什么都不保障。所以在这个模型中,带宽、丢包率、有序性、时间都保障不了。同时也不提用拥塞控制的反馈。
概括地来说,有两类典型的服务:
-
无连接服务(connection-less service):
- 不事先为系列分组的传输确定传输路径
- 每个分组独立确定传输路径
- 不同分组可能传输路径不同。由网络设备根据当前的网络状态来选择路径。这就有可能导致发送的一组顺序的分组在到达的时候顺序就不一样了
- 最具有代表性的称为数据报网络(datagram network )
-
连接服务(connection service):
- 首先为系列分组的传输确定从源到目的经过的路径 (建立连接)
- 然后沿该路径(连接)传输系列分组
- 系列分组传输路径相同。这样分组的传输顺序基本可以得到保障
- 传输结束后拆除连接
- 比较有代表性的一类网络叫做虚电路网络(virtual-circuit network )
数据报(datagram)网络与虚电路(virtual-circuit)网络是典型的两类分组交换网络。数据报网络提供网络层无连接服务,虚电路网络提供网络层连接服务。类似于传输层的无连接服务(UDP)和面向连接服务(TCP),但是网络层服务提供的是主机到主机的服务,最关键的实现由网络核心完成。
这篇文章主要介绍虚电路网络。
虚电路网络
虚电路(VC)
虚电路是从电路交换网络借用过来的一种思想。虚电路是一条从源主机到目的主机,建立起逻辑连接,类似于电路的路径。
虚电路与电路交换网络中的电路的区别在于:
- 是分组交换。在分组交换中,每个分组的传输利用链路的全部带宽。而电路在某些链路上使用多路复用技术,只占用这条链路的一部分资源。
- 源到目的路径经过的网络层设备共同完成虚电路功能。
虚电路在通信过程中与电路交换网络有相似之处:呼叫建立(call setup)→数据传输 →拆除呼叫。(这里用的是呼叫,也是借用了电路交换网络中的术语)。在虚电路建立的时候,会为这条虚电路分配一个标识(VC ID,通常来说是一个编号),然后当希望沿着这条虚电路传输一系列分组的时候,那么就让这些分组携带虚电路标识(VC ID),这样就能确定一个分组是在哪个虚电路上进行传输的。虚电路经过的每个网络设备 (如路由器),都需要维护这条虚电路的连接状态。
作为虚电路网络,它集成了电路交换和分组交换这两类网络的优点。它可以借助电路交换网络的特点,链路、网络设备资源(如带宽 、缓存等)可以面向虚电路(VC)进行预分配,来实现可预期的服务性能。
虚电路(VC)的具体实现
首先来看看每条虚电路从构成方面包括:
- 从源主机到目的主机的一条路径
- 虚电路号(VCID), 沿路每段链路一个编号。一般来说,链路带宽越大,允许建立虚电路的数量就越大。虚电路号是局部化的,也就是说同一段虚电路在每一段链路上的编号可能是不一样的
- 因此虚电路沿路每个网络层设备(如路由器),利用虚电路转发表记录经过的每条虚电路
因此沿某条虚电路传输的分组,携带对应虚电路的 VCID,而不是目的地址。在这个过程中,需要注意的是,同一条VC ,在经过的每段链路上的VCID可能不同。路由器转发分组时依据转发表改写/替换虚电路号。
比如下面这张图中,这条红色的VC在每段链路上的VCID都不一样。在路由器所维护的转发表中,需要确定虚电路从哪个接口来,它来的时候的虚电路号是多少,它的输出接口是什么,输出的时候它的虚电路号应该替换为多少。通过这样的转发表就可以将不同链路上的VCID联系在一起。
虚电路信令协议(signaling protocols)
- 用于VC的建立、维护与拆除。在建立过程中也同样存在路径选择问题。所以在虚电路网络中同样需要路由协议或算法,只不过是在虚电路建立的时候一次性路由
- 在虚电路网络中广泛被采纳。如ATM、帧中继(frame-relay)网络等
- Internet网路不是虚电路网络,所以目前不采用
相关文章:

【计算机网络笔记】网络层服务模型——虚电路网络
系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…...

软文推广过程中,如何精准定位受众
互联网发展带来信息的爆炸式增长,消费者的注意力成为稀缺资源,传统硬广很难获取用户注意,而软文凭借故事化、针对性的特点更能吸引用户注意,在软文推广中,我们只有精准定位受众才能更好地传播,今天媒介盒子…...

说说对React中类组件和函数组件的理解?有什么区别?
一、类组件 类组件,顾名思义,也就是通过使用ES6类的编写形式去编写组件,该类必须继承React.Component 如果想要访问父组件传递过来的参数,可通过this.props的方式去访问 在组件中必须实现render方法,在return中返回…...
Unity 实例化物体以及赋予到父物体之下
Unity 实例化物体并赋予父物体操作如下: public class ExampleScript : MonoBehaviour { public GameObject prefab; // 引用预制体 public Transform parentTran; // 引用父物体的 Transform void Update() { if (Input.GetKeyDown(KeyCode.Space)) { //…...

Docker 介绍
Docker 介绍 1 介绍1.1 概述1.2 资源高效利用1.3 发展历程1.4 组件1.5 工具1.6 对环境部署和虚拟化的影响1.7 优点1.8 容器技术核心CgroupNamespaceUnionFS 2 命令信息、状态、配置info命令用于显示当前系统信息、docker容器、镜像个数、设置等信息 镜像容器资源 3 安装3.1 版本…...

VScode连接Xshell 并解决【过程试图写入的管道不存在】报错
一.下载vscode 国内镜像: https://vscode.cdn.azure.cn/stable/6c3e3dba23e8fadc360aed75ce363ba185c49794/VSCodeUserSetup-x64-1.81.1.exe二.打开vscode在扩展搜索SSH并安装 三.添加主机 按F1选择添加新的ssh主机 按格式输入后在左边会出现电视的图标 之后输入…...

Redis之事务
文章目录 前言一、概述二、Redis事务使用1.正常执行事务2.取消事务3.编译型异常4.运行时异常(1/0)5.清空数据库6.监控1.乐观锁正常执行成功2.多线程 总结 前言 Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化&a…...

【数据结构】树与二叉树(五):二叉树的顺序存储(初始化,插入结点,获取父节点、左右子节点等)
文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉…...

【HarmonyOS】HarmonyOS备案获取公钥和指纹
【关键字】 HarmonyOS应用、鸿蒙应用、元服务、应用备案 HarmonyOS应用在华为云等平台进行应用备案时,平台需要提供用公钥和签名指纹的信息,Android可以直接通过keystore或jks签名文件进行签名信息获取,HarmonyOS签名方式与Android不同&…...

,多数据源+Mybatisplus + Sharding JDBC同一库中分表
水平分表是在同一个数据库内,把同一个表的数据按一定规则拆到多个表中,多数据源采用 mybatis-plus的dynamic-datasource 分库分表采用sharding-jdbc 数据库连接池管理是alibaba的druid-spring-boot-starter 同一个数据库内分表 目录 1.数据库表 2.配置 3.引入的…...

Docsify 和 Hugo 之间的选型
对文档的编译,目前的发布方案是越来越注重 MD 的编辑和发布。 针对其他 Wiki 的选择,MD 文件的编辑通常会保留修改记录,同时不依赖中央数据库和其他类型的 Web 应用服务。 随着各大云平台的支持,包括 GitHub Page 和 Google 的 …...
第二十章 ObjectScript 应用程序中的数值计算 - 转换:十进制到 $DOUBLE
文章目录 第二十章 ObjectScript 应用程序中的数值计算 - 转换:十进制到 $DOUBLE 转换:十进制到 $DOUBLE转换:$DOUBLE 到十进制$DECIMAL(x)$DECIMAL(x, n) 转换:十进制到字符串 第二十章 ObjectScript 应用程序中的数值计算 - 转…...

C语言【趣编程】我们怎样便捷输出空心的金字塔
目录 1问题: 2解题思路: 3代码如下: 4代码运行结果如下图所示: 5总结: r如若后续有不会的问题,可以和我私聊; 1问题: 2解题思路: 方法:找规律࿰…...
《JavaScript设计模式》笔记 - - - 超全设计模式概览
该篇文章用于记录阅读《JavaScript设计模式》后归纳的读书笔记,主要以代码形式进行展示,用于快速回顾对应设计模式的代码构造 1.面向对象编程 1.使用对象收编变量 优点:避免全局变量冲突与覆盖 缺点:不利于复用 var CheckObj {c…...
浅谈Vue 3的响应式对象: ref和reactive
Vue 3是一个流行的前端框架,它引入了一些新的特性来提高开发者的体验和性能。其中,响应式对象是 Vue 3 中一个非常重要的概念。在这篇博客中,我们将重点介绍 Vue 3 中的响应式对象,并深入探讨其中的 ref 和 reactive。 引言 在现…...

怎么学编程效率高,编程练习网站编程软件下载,中文编程开发语言工具下载
怎么学编程效率高,编程练习网站编程软件下载,中文编程开发语言工具下载 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,编程工具可下载。 这款工具不但可以连接部分硬件,而且可以开发大型的…...

Alphago Zero的原理及实现:Mastering the game of Go without human knowledge
近年来强化学习算法广泛应用于游戏对抗上,通用的强化学习模型一般包含了Actor模型和Critic模型,其中Actor模型根据状态生成下一步动作,而Critic模型估计状态的价值,这两个模型通过相互迭代训练(该过程称为Generalized …...

STM32 堆栈空间分布
参考 运行时访问__initial_sp和__heap_base 无RTOS时的情况 在以上配置的情况下,生成工程。在工程的startup.s文件中,由如下代码: Stack_Size EQU 0x400AREA STACK, NOINIT, READWRITE, ALIGN3 __Stack_top ; 自己添加 Stack_Mem…...

小程序制作(超详解!!!)第十五节 自动随机变化的三色旗
1.例题描述 设计一个小程序,开始时界面上显示一个三色旗和一个按钮,当点击按钮时,三色旗的颜色会发生随机变化,即使不点击按钮,三色旗的颜色也会每隔一定时间自动发生变化。 2.index.wxml <view class"box&…...
MySQL_主从复制_环境搭建
MySQL主从复制配置 CentOS 7 配置 阿里云 yum 源 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo sudo yum clean all sudo yum makeca…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...

Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...

论文阅读:Matting by Generation
今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...