【计算机网络笔记】网络层服务模型——虚电路网络

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 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网路不是虚电路网络,所以目前不采用

在这里插入图片描述

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

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

相关文章

三分钟学完Git版本控制常用指令

基本指令 git clone [url] 克隆远程仓库到本地 git clone https://gitee.com/mayun2023a/mprpc.git2.git checkout -b xxx 切换至新分支xxx(相当于复制了remote的仓库到本地的xxx分支上) 3.修改或者添加本地代码(部署在硬盘的源文件上) 4.g…

php的api接口token简单实现

<?php // 生成 Token function generateToken() {$token bin2hex(random_bytes(16)); // 使用随机字节生成 tokenreturn $token; } // 存储 Token&#xff08;这里使用一个全局变量来模拟存储&#xff09; $tokens []; // 验证 Token function validateToken($token) {gl…

模拟实现string类——【C++】

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; &#x1f354;前言&#xff1a; 我们已经将STL中的string类重要接口全部认识并熟练掌握&#xff0c;为了让我们对string与C类与对象更深层次的了解&#xff0c;我们这篇博客将string类进行模拟实现。 目录 string类的…

【Proteus仿真】【51单片机】多路温度控制系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用按键、LED、蜂鸣器、LCD1602、DS18B20温度传感器、HC05蓝牙模块等。 主要功能&#xff1a; 系统运行后&#xff0c;默认LCD1602显示前4路采集的温…

Zabbix监控SSL证书有效期

一、介绍 由于业务需要&#xff0c;最近通过 Let’s Encrypt 申请了一些 SSL 证书&#xff0c;而证书有效期为 3 个月&#xff0c;需要在证书到期之前 renew。由于域名较多经常忘记 renew&#xff0c;导致证书过期&#xff0c;因此想通过 Zabbix 的方式监控证书的到期时间&…

中国电信终端产业联盟5G Inside行业子联盟正式成立!宏电股份作为副理事单位受邀加入

11月9日&#xff0c;中国电信于广州召开“2023中国电信终端生态合作暨中国电信终端产业联盟&#xff08;以下简称CTTA&#xff09;第十四次会员大会”&#xff0c;联盟成员齐聚现场。作为CTTA大会的一个重要环节&#xff0c;中国电信终端产业联盟5G Inside行业子联盟正式成立&a…

Vue.Draggable 踩坑:add 事件与 change 事件中 newIndex 字段不同之谜

背景 最近在弄自定义表单&#xff0c;需要拖动组件进行表单设计&#xff0c;所以用到了 Vue.Draggable(中文文档)。Vue.Draggable 是一款基于 Sortable.js 实现的 vue 拖拽插件&#xff0c;文档挺简单的&#xff0c;用起来也方便&#xff0c;但没想到接下来给我遇到了灵异事件……

学者观察 | 联邦学习与区块链、大模型等新技术的融合与挑战-北京航空航天大学童咏昕

导语 当下&#xff0c;数据已成为经济社会发展中不可或缺的生产要素&#xff0c;正在发挥越来越大的价值。但是在数据使用过程中&#xff0c;由于隐私、合规或者无法完全信任合作方等原因&#xff0c;数据的拥有者并不希望彻底和他方共享数据。为解决原始数据自主可控与数据跨…

Leetcode—67.二进制求和【简单】

2023每日刷题&#xff08;二十八&#xff09; Leetcode—67.二进制求和 实现代码 void reverse(char *a, int len) {for(int i 0; i < len / 2; i) {char tmp a[i];a[i] a[len - 1 - i];a[len - 1 - i] tmp;} }char* addBinary(char* a, char* b) {int len1 strlen(a…

golang 库之「依赖注入」

文章目录 1. 写在最前面2. 依赖注入2.1 使用场景2.2 框架对比 3. fx 框架使用场景示例3.1 示例3.2 golang 原生的库3.3 fx 库3.4 对比3.4.1 如上两种实现方式对比3.4.2 关于过度设计3.4.3 感悟 4. 碎碎念5. 参考资料 1. 写在最前面 同事在技术分享的时候用了 golang 的 fx 框架…

套接字的多种可选项

套接字可选项和I/O缓冲大小 套接字的多种可选项 套接字可选项分为 IPPROTO_IP、IPPROTO_TCP、SOL_SOCKET 三层&#xff0c;各层的含义为&#xff1a; IPPROTO_IP&#xff1a;IP 协议相关事项&#xff1b; IPPROTO_TCP&#xff1a;TCP 协议相关事项&#xff1b; SOL_SOCKET&am…

苍穹外卖-day09

用户端历史订单模块 1. 查询历史订单 1.1 需求分析和设计 产品原型&#xff1a; 业务规则 分页查询历史订单可以根据订单状态查询展示订单数据时&#xff0c;需要展示的数据包括&#xff1a;下单时间、订单状态、订单金额、订单明细&#xff08;商品名称、图片&#xff09;…

如何设置静态代理IP切换电脑上网地址使用?

在当今的网络时代&#xff0c;代理IP已成为一种常见的网络访问方式。通过使用代理IP&#xff0c;我们可以隐藏自己的真实IP地址&#xff0c;从而保护自己的隐私和安全。但是&#xff0c;有时候我们需要切换代理IP来满足不同的上网需求。本文将介绍如何设置静态代理IP切换电脑上…

优秀智慧园区案例 - 珠海华发智慧园区,万字长文解析先进智慧园区建设方案经验

一、项目背景 珠海华发产业园运营管理有限公司&#xff08;简称“产业园公司”&#xff09;是2016年起连续五年跻身“中国企业500强”、国务院国企改革“双百企业”的珠海华发集团旗下的实体产业发展载体运营平台&#xff0c;依托“四园一基地”&#xff1a;中以国际产业园、信…

Java自学第11课:电商项目(4)重新建立项目

经过前几节的学习&#xff0c;我们已经找到之前碰到的问题的原因了。那么下面接着做项目学习。 1 新建dynamic web project 建立时把web.xml也生成下&#xff0c;省的右面再添加。 会询问是否改为java ee环境&#xff1f;no就行&#xff0c;其实改过来也是可以的。这个不重要。…

基于springboot实现福聚苑社区团购平台系统项目【项目源码】

基于springboot实现福聚苑社区团购平台系统演示 Javar技术 Java是一种网络脚本语言&#xff0c;广泛运用于web应用开发&#xff0c;可以用来添加网页的格式动态效果&#xff0c;该语言不用进行预编译就直接运行&#xff0c;可以直接嵌入HTML语言中&#xff0c;写成js语言&…

【KVM-4】硬件虚拟化技术(详)

前言 大家好&#xff0c;我是秋意零。 经过前面章节的介绍&#xff0c;已经知道KVM虚拟化必须依赖于硬件辅助的虚拟化技术&#xff0c;本节就来介绍一下硬件虚拟化技术。 &#x1f47f; 简介 &#x1f3e0; 个人主页&#xff1a; 秋意零&#x1f525; 账号&#xff1a;全平…

从替代走向引领,永洪科技迈向全球化

对于数据分析领域而言&#xff0c;这是一个最好的时代。 《全球数字经济白皮书&#xff08;2023年&#xff09;》介绍&#xff0c;2016年-2022年&#xff0c;中国数字经济年均复合增长率为14.2%&#xff0c;数字经济发展增速和规模兼具。随着数字基础实施持续夯实、数字应用不…

前端面试系列之工程化篇

如果对前端八股文感兴趣&#xff0c;可以留意公重号&#xff1a;码农补给站&#xff0c;总有你要的干货。 前端工程化 Webpack 概念 本质上&#xff0c;webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程序时&#xff0c;它会在内部从一个…

MyBatis 反射工具箱:带你领略不一样的反射设计思路

反射是 Java 世界中非常强大、非常灵活的一种机制。在面向对象的 Java 语言中&#xff0c;我们只能按照 public、private 等关键字的规范去访问一个 Java 对象的属性和方法&#xff0c;但反射机制可以让我们在运行时拿到任何 Java 对象的属性或方法。 有人说反射打破了类的封装…