当前位置: 首页 > news >正文

网络层的角色与重要性:互联网通信的关键

本章讨论网络层及网络互连问题,也就是讨论多个网络通过路由器互连成为一个互连网络的各种问题。在介绍网络层提供的两种不同服务后,我们开始讲解本章的核心内容——网际协议(IP),这是本书的一项重点内容。只有较深入地掌握了网际协议的相关知识,才能理解互联网是怎样工作的。本章讨论互联网几种常用的路由选择协议、网络层的关键设备路由器及虚拟专用网(VPN)和网络地址转换(NAT),介绍IP多播、移动IP、下一代网际协议IPv6和IP增强技术MPLS,最后简单介绍当前网络领域最热门和最具发展前途的技术之一——软件定义网络(SDN)的基本思想。

本章最重要的内容如下:

  1. 虚拟互连网络的概念。
  2. IP地址的编址方式,以及IP地址与物理地址的关系。
  3. IP数据报的转发流程。
  4. 路由选择协议的工作原理。

网络层概述

网络层关注的是如何将分组从源主机沿着网络路径送达目的主机。为了将分组送达目的主机,可能沿路要经过许多跳(Hop)中间路由器。为此,网络层必须知道整个网络的拓扑结构,并且在拓扑结构中选择适当的转发路径。同时,网络层还必须仔细地选择路由器,以避免发生某些通信链路或路由器负载过重,而其他链路和路由器空闲的情况。因此,网络中的每台主机和路由器都必须具有网络层功能,而网络层最核心的功能就是分组转发和路由选择。

分组转发和路由选择

网络层的主要任务就是将分组从源主机传送到目的主机,可以将该任务细分为网络层的两种重要的功能:

  1. 分组转发:当一个分组到达某路由器的一条输入链路时,该路由器必须将该分组转发到适当的输出链路。为此,每个路由器中需要有一个转发表(Forwarding Table),路由器在转发分组时,要根据到达分组首部中的转发标识在转发表中查询。查询该转发表的结果指出了该分组将被转发的路由器的链路接口。分组首部中的转发标识可能是该分组的目的地址或该分组所属连接的指示,这取决于具体的网络层协议。

  2. 路由选择:当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径,这就是路由选择(Routing)。路由选择的结果就是生成供分组转发使用的转发表。图4-1揭示了路由选择和分组转发的重要关系。
    在这里插入图片描述

    路由选择可以是集中式的也可以是分布式的。路由选择可以是人工的(由网络操作员直接配置转发表),也可以是自动的。分布式自动路由选择要求在每台路由器上运行路由选择协议,每台路由器互相交换路由信息并各自计算路由。实际上,路由选择直接生成的是路由表(Routing Table),然后由路由表生成最终的转发表。路由表和转发表在用途和实现细节上有些不同,但我们在讨论路由选择的原理时不进行区分。

我们可以把网络层在逻辑上分解为两个互相作用的部分,即数据平面(也常被称为转发平面)和控制平面。分组转发直接作用于传输的数据,属于数据平面,而路由选择是用来控制路由器的转发决策,属于控制平面

虚电路和数据报服务

网络层可以为用户提供面向连接的服务,也可以提供无连接的服务。在迄今为止的所有主要的计算机网络体系结构中,网络层或提供主机到主机的无连接服务,或提供主机到主机的面向连接服务,而不同时提供这两种服务。在网络层提供面向连接服务的计算机网络被称为虚电路网络(Virtual-Circuit Network),而在网络层提供无连接服务的计算机网络被称为数据报网络(Datagram Network)。
在这里插入图片描述

  1. 虚电路网络:在虚电路网络中,网络层提供面向连接的服务。虚电路网络的实现需要在通信前建立一条虚电路。所有沿着虚电路传输的分组都沿着这条逻辑连接按照存储转发方式传送。图4-2(a)是虚电路网络提供面向连接服务的示意图。
  2. 数据报网络:在数据报网络中,网络层提供无连接的服务。每一个分组(IP数据报)独立发送,与其前后的分组无关。数据报网络不提供服务质量(QoS)的承诺,所传送的分组可能出错、丢失、重复和失序。图4-2(b)给出了数据报网络提供无连接服务的示意图。

在这里插入图片描述

虚电路网络

互联网是一个数据报网络,然而,许多其他网络体系结构包括ATM网络、帧中继网络和X.25网络都是虚电路网络。这些网络层连接被称为虚电路(Virtual Circuit, VC)。

在这里插入图片描述

一条虚电路的组成如下:

  1. 源主机和目的主机之间的路径(即一系列链路和路由器)。
  2. VC号,该路径上的每段链路的号码。
  3. 该路径上的每台路由器(即虚电路交换机,这里我们统一使用路由器这一名称)中的转发表表项。

虚电路的工作过程

  1. 虚电路建立:在建立阶段,发送方运输层与网络层联系,指定接收方地址,等待该网络建立虚电路。网络层决定发送方与接收方之间的路径,并为沿该路径的每条链路决定一个VC号。在沿该路径的每台路由器的转发表中增加一个表项。
  2. 数据传送:一旦创建了虚电路,分组就可以开始沿该虚电路传送。路由器根据分组首部中的VC号查找转发表,更改分组的VC号并从相应出接口将分组转发出去。
  3. 虚电路拆除:当发送方(或接收方)通知网络层它想终止该虚电路时,网络层将通知网络另一侧的端系统结束呼叫,并更新路径上每台路由器中的转发表,以表明该虚电路已不存在。

虚电路网络中的信令报文:在虚电路建立和拆除过程中,端系统向网络发送的指示虚电路启动与终止的报文,以及路由器之间传递的用于建立虚电路的报文,被称为信令报文,用来交换这些报文的协议常称为信令协议。

总结:网络层通过分组转发和路由选择实现了数据的传输。虚电路网络和数据报网络提供了不同的服务方式,各有优劣。理解这两种服务方式和它们的实现原理,是掌握网络层功能的关键。
图文来源:《计算机网络教程》

http://www.lryc.cn/news/398755.html

相关文章:

  • Transformer模型:WordEmbedding实现
  • 如何压缩pdf文件大小,怎么压缩pdf文件大小
  • Spring Boot集成Atomix快速入门Demo
  • Go语言map并发安全,互斥锁和读写锁谁更优?
  • Java多线程性能调优
  • MacOS 通过Docker安装宝塔面板搭建PHP开发环境
  • Unity发布webgl之后修改StreamingAssets 内的配置文件读取到的还是之前的配置文件的解决方案
  • 离线语音识别芯片在智能生活中的应用
  • 替换:show-overflow-tooltip=“true“ ,使用插槽tooltip,达到内容可复制
  • 219.贪心算法:柠檬水找零(力扣)
  • 通过 Azure OpenAI 服务使用 GPT-35-Turbo and GPT-4(win版)
  • MySQL 面试真题(带答案)
  • 《A++ 敏捷开发》- 10 二八原则
  • Spring Boot 框架知识汇总
  • 国产麒麟、uos在线编辑word文件并控制编辑区域(局部编辑)
  • Go:基本变量与数据类型
  • 计算器原生js
  • 怎样将aac转换mp3格式?推荐四个aac转MP3的方法
  • MongoDB - 查询操作符:比较查询、逻辑查询、元素查询、数组查询
  • html5——CSS高级选择器
  • Python-数据爬取(爬虫)
  • 虚幻引擎ue5如何调节物体锚点
  • Xcode持续集成之道:自动化构建与部署的精粹
  • Java高频面试基础知识点整理13
  • css画半圆画圆弧
  • LeetCode HOT100(四)字串
  • uniapp引入 uview( HBuilder 和 npm 两种安装方式) #按需引入
  • 使用uni-app和Golang开发影音类小程序
  • 基于Go1.19的站点模板爬虫详细介绍
  • 永恒之蓝:一场网络风暴的启示