计算机网络之网络层

news2025/2/1 5:06:10

四.网络层:数据平面

4.1 网络层概述

网络层被分解为两个相互作用的部分,即数据平面和控制平面。

数据平面决定到达路由器输入链路之一的数据报如何转发到该路由器的输出链路之一,转发方式有:

  • 传统的IP转发:转发基于数据报的目的地址
  • 通用的转发:可以使用数据报首部中的几个不同域的值执行转发和其它功能

该控制平面功能控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式

  • 传统上,控制平面路由选择协议和数据平面转发功能已被实现成一个整体,位于一台路由器中
  • 软件定义网络 (Software - Defined Networking , SDN) 通过将这些控制平面功能作为一种单独服务,明确地分离数据平面和控制平面,控制平面功能通常置于一台远程”控制 器”中

4.1.1 转发和路由选择:数据平面和控制平面

转发是数据平面的功能,路由选择是控制平面的功能

转发:当一个分组到达某路由器的一条输入链路时,该路由器必须将该分组移动到适当的输出链路

路由选择:当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径计算这些路径的算法被称为路由选择算法。

1.控制平面:传统的方法

        路由选择算法决定了插入该路由器转发表的内容。在上图中,路由选择算法运行在每台路由器中,并且在每台路由器中都包含转发和路由选择两种功能。在一台路由器中的路由选择算法与在其他路由器中的路由选择算法通信,以计算出它的转发表的值。这种通信是根据路由选择协议交换包含路由选择信息的路由选择报文进行通信的。

2.控制平面:SDN方法

        上图显示了将控制平面从路由器物理上分离的一种方法,远程控制器计算和分发转发表以供每台路由器所使用。注意到上图和上上图的数据平面组件是相同的。而在上图中,控制平面路由选择功能与物理的路由器是分离的,即路由选择设备仅执行转发,而远程控制器计算并分发转发表。远程控制器可能实现在具有高可靠性和冗余的远程数据中心中,并可能由 ISP 或某些第三方管理。路由器和远程控制器是通过交换包含转发表和其他路由选择信息的报文进行通信的。

4.1.2 网络层的服务模型

网络层能够提供的某些可能的服务

  • 确保交付 该服务确保分组将最终到达目的地  
  • 具有时延上界的确保交付 该服务不仅确保分组的交付,而且在特定的主机到主机时延上界内(例如100ms内)交付
  • 有序分组交付 该服务确保分组以它们发送的顺序到达目的地
  • 确保最小带宽 这种网络层服务模仿在发送和接收主机之间一条特定 比特率的传输链路的行为。只要发送主机以低于特定比特率(例如1Mbps)的速率传输比特 (作为分组的组成部分),则所有分组最终会交付到目的主机
  • 安全性 网络层能够在源加密所有数据报并在目的地解密这些分组,从而对所有运输层报文段提供机密性

这只是网络层能够提供的服务的部分列表,有无数种可能的服务变种

因特网的网络层提供了单一的服务,称为尽力而为服务(best-effort service)

4.2 路由器工作原理

输入端口:执行几项重要功能。它在路由器中执行终结入物理链路的物理层功能,这显示在上图中输入端口部分最左侧的方框与输出端口部分最右侧的方框中。它还要与位于入链路远端的数据链路层交互来执行数据链路层功能,这显示在输入与输出端口部分中间的方框中。也许更为重要的是,在输入端口还要执行查找功能,这显示在输入端口最右侧的方框中。正是在这里,通过查询转发表决定路由器的输出端口,到达的分组通过路由器的交换结构转发到输出端口。控制分组(如携带路由选择协议信息的分组)从输入端口转发到路由选择处理器。

交换结构:交换结构将路由器的输入端口连接到它的输出端口。这种交换结构完全包含在路由器之中,即它是一个网络路由器中的网络。

输出端口:输出端口存储从交换结构接收的分组,并通过执行必要的链路层和物理层功能在输出链路上传输这些分组。当一条链路是双向的时(即承载两个方向的流量),输出端口通常与该链路的输入端口成对出现在同一线路卡上。

路由选择处理器:路由选择处理器执行控制平面功能。在传统的路由器中,它执行路由选择协议,维护路由选择表与关联链路状态信息,并为该路由器计算转发表 SDN 路由器中,路由选择处理器负责与远程控制器通信,目的是接收由远程控制器计算的转发表项,并在该路由器的输入端口安装这些表项。路由选择处理器还执行网络管理功能。

4.2.1 输入端口处理和基于目的地转发

路由器针对分组中的IP地址使用最长前缀匹配规则对分组进行转发

4.2.2 交换结构

交换可以用许多方式完成,如以下三种交换方式

  • 经内存交换
  • 经总线交换
  • 经互联网络交换

4.2.3 输出端口处理

4.2.4 出现排队

在输入端口和输出端口的网络层会出现排队

4.2.5 分组调度

1.先进先出

2.优先权排队

3.循环和加权公平排队

4.3 网际协议:IPv4、寻址、IPv6及其他

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

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

相关文章

Nginx(一)介绍Nginx、正向代理和实现反向代理的两个实例

文章目录 一、Nginx介绍二、正向代理三、反向代理四、实例演示1、反向代理实例一(反向代理,访问www.123.com)2、反向代理实例二(使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中) 五、nginx之lo…

文件操作之文件下载(32)

下载和读取是差不多的情况 区分 文件被解析,我们称为文件包含漏洞 显示文件的源代码,我们称为文件读取漏洞 提示文件下载,我们称为文件下载漏洞 #文件下载 文件下载出现的原因,在任意代码里面出现下载性的功能性函数所导致的…

调用腾讯API实现人像分割

目录 1. 作者介绍2.腾讯云API人像分割2.1 人像分割接口描述2.2 请求参数介绍 3.代码实现3.1 获取SecretId和SecretKey3.2 人像分割代码调试3.3 完整代码3.4 实验结果 1. 作者介绍 岳泽昂,男,西安工程大学电子信息学院&#xff0c…

MySQL主从同步——主库已有的数据如何到从库

一、复制主库数据到从库 此步骤主要针对运行一段时间的主库,需要将历史数据导入到从库,保证主从强一致性。 主库锁表停止写操作 在主库MySQL命令行中执行 flush tables with read lock; 主库数据导出 将主库所在主机命令行下使用mysqldump命令导出…

交通状态分析 | Python实现基于张量分解的交通流量时空模式挖掘

文章目录 效果一览文章概述研究内容源码设计参考资料效果一览 文章概述 交通状态分析 | Python实现基于张量分解的交通流量时空模式挖掘 研究内容 一般出行行程通常都由某种明确目的驱使,例如上班、购物或娱乐,出行的起始区域因其承担功能的不同,通常能够反映出用户的出行目…

【一、Linux文件与目录结构】

1 Linux 文件 Linux系统中一切皆文件 2 Linux目录结构 /bin Binary的缩写,存放着命令。 /sbin s即Super User,存放着root用户使用的系统管理程序。 /home 存放着普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般…

近期学习论文总结 3(23.06.05-23.06.09)

公众号:EDPJ 目录 0. 摘要 1. Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization 1.1 主要思想 1.2 AdaIN 1.3 结构以及不同层使用 AdaIN 的效果 2. Watch your Up-Convolution: CNN Based Generative Deep Neural Networks are…

day46_项目

debug bug - 虫 第一台计算机,房子那么大,机械零件,齿轮,坏了,虫子(bug)卡着机器,debug(调试),虫子拿走了,机器就运行了,从此调试机器程序–>debug 目前: 这个卡机器的虫子,在博物馆 工具(IDEAEclipse)支持debug --> 追踪代码 如何使用debug 运行时候就得使用debug模式…

00后从事软件测试一年的心路历程

初识软件测试 不知不觉,我做软件测试已经快一年了,入职第一天的场景仿佛还在昨天。入职前,我对测试的认识仅仅停留在一些软件测试和测试方法的理论知识上,最多也是对自己的代码进行一些单元测试。 我之前所理解的测试是与开发分…

Django-可重用注册登录系统--项目搭建

文章目录 一、项目开始前的思考二、搭建项目环境三、设计数据库模型数据库模型文件设置数据库后端注册app生成迁移脚本并写入数据库测试是否成功数据库模型后台管理 路由与视图函数框架搭建路由配置视图函数的配置模板template的配置测试是否成功 前端界面设计与优化完善登录的…

【C/C++】函数参数默认值

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

【python+requests】接口自动化测试

这两天一直在找直接用python做接口自动化的方法&#xff0c;在网上也搜了一些博客参考&#xff0c;今天自己动手试了一下。 一、整体结构 上图是项目的目录结构&#xff0c;下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类&#xff0c;比如数据库sql…

VPN(Virtual privacte network)浅谈

文章目录 VPN概念VPN类型站点-站点VPN客户端-站点VPN VPN的工作原理VPN职责职责一&#xff1a;保密完整性认证PSK算法实现&#xff08;献给大佬&#xff09;PSK应用演示RSA算法实现&#xff08;献给大佬&#xff09;RSA应用演示&#xff1a;实现签名 VPN两大框架VPN的误解VPN合…

Java调用Pytorch实现以图搜图(附源码)

Java调用Pytorch实现以图搜图 设计技术栈&#xff1a; 1、ElasticSearch环境&#xff1b; 2、Python运行环境&#xff08;如果事先没有pytorch模型时&#xff0c;可以用python脚本创建模型&#xff09;&#xff1b; 1、运行效果 2、创建模型&#xff08;有则可以跳过&#xf…

经典目标检测YOLO系列(1)YOLO-V1算法及其在VOC2007数据集上的应用

经典目标检测YOLO系列(1)YOLO-V1算法及其在VOC2007数据集上的应用 1 YOLO-V1的简述 1.1 目标检测概述 ​ 目标检测有非常广泛的应用&#xff0c; 例如&#xff1a;在安防监控、手机支付中的人脸检测&#xff1b;在智慧交通&#xff0c;自动驾驶中的车辆检测&#xff1b;在智…

TCP与UDP的可靠性传输

目录 一、TCP可靠性传输1、重传机制1.1、超时重传1.2、快速重传1.3、SACK1.4、Duplicate SACK 2、滑动窗口3、流量控制3.1 滑动窗口与流量控制3.2窗口关闭 4、拥塞控制4.1拥塞窗口4.2 慢启动4.3 拥塞避免4.4 拥塞发生4.5 快速恢复 二、UDP可靠性传输1、主要策略2、重传机制2.1 …

软件测试03:软件工程和软件生命周期

软件测试03&#xff1a;软件工程和软件生命周期 软件危机 软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求&#xff0c;从而导致软件开发与维护过程中出现一系列严重问题的现象。 软件工程 基本软件危机对于计算机发展的阻碍&#xff0c;1968年&#xff0…

史上最详细的安装Kali-linux教程(附视频教程)

之前不少人问kali怎么安装&#xff0c;今天就发一篇利用VM虚拟机安装kali的详细教程&#xff0c;每一步都截图了&#xff0c;让大家尽可能的清楚每一步的操作。 1.2 使用 VM 虚拟机安装 Kali 1.2.1 官方下载 Kali Linux 官方网址&#xff1a;http://www.Kali.org 下载方式分…

跨域 —— 反向代理配置

跨域问题在讲Node.js学习中编写接口的时候就已经讲到了&#xff0c;由后端配置解决跨域问题&#xff0c;使用cors中间件解决跨域问题以及使用JSONP解决跨域&#xff08;仅支持GET请求&#xff09;&#xff0c;具体可以看一下这篇文章的内容&#xff1a;十二、Express接口编写 —…

python面向对象操作3(速通版)

目录 一、多态和类名 1.标准多态 2.实例属性和实例方法 3.类对象和类属性 4.对象保存 二、方法 1.类方法 3.四种方法的区别 三、模块 1.导入模块 2.自动模块导入 3.模块导入的几种形式 3.1模块导入的两种方式和别名 3.2 from 模块 import 成员 4.两种方法的区别…