写点什么

计算机网络基础 (八)--- 网络层 - 路由概述

用户头像
书旅
关注
发布于: 2020 年 07 月 21 日
计算机网络基础(八)---网络层-路由概述

文章内容概览



在之前的文章中有了解到跨设备传输时,需要借助路由表来知道数据报下一跳的IP



在路由表中有两列重要的信息,分别是:目的IP地址和*下一跳IP地址*,这两个IP形成映射的关系。在前边了解数据报转发时,都是直接使用的路由表,这样就会存在几个疑问



路由表中的下一跳地址是怎么来的?



下一跳地址是唯一的吗?



下一跳的地址是最佳的吗?



路由器这么多,他们之间是怎么协调工作的?



这些问题就是网络层路由需要解决的问题,其实也就是需要一个好的算法去解决这些问题。所以,了解网络层的路由就是了解里边的一些算法



在前边的文章中多次用到的一个网络拓扑,在这个拓扑中有计算机、路由器、小型网络、中型网络、大型网络



这个图其实就是现实生活中互联网的缩略图,它可以客观的描述现实世界中的互联网。但是,在学习其中的算法时,这个图并不能直观的表达我们所需要解决的问题,因此,在了解里边的算法时,就把它转化成计算机容易理解的数据结构,所以,这个网络拓扑,通常会将这个网络拓扑转化为图来进行描述



下边这张图是一个简单的网络拓扑转化而来的,其中有A、B、C、D、E、F这六个顶点和若干条边。每个顶点表示一个网络或路由器或计算机。每一条边表示一条网络路径。比如从A到E就有很多条路径可以走,在现实网络中也是这样的。所以,该图就可以非常客观的表示现实生活中的网络



如果把互联网抽象成一张图的话,那么,路由算法实际上就是图论算法。但是,路由算法又不仅仅是图论算法,因为互联网是非常复杂的,比如,网络经常发生抖动,或网络出现故障。这就会导致图会实时的变化。因此,路由算法,实际上要比图论算法复杂很多



一个理想的路由算法有以下特点:



  • 算法是正确的、*完整的*(也就是说,依据该算法,数据可以正确的、完整的到达目的地)

  • 算法在计算上应该尽可能的简单(因为网络中的设备实在太多,因此互联网是非常复杂的且庞大的。如果在庞大的互联网中运行复杂的算法的话,是不可取的)

  • 算法可以适应网络中的变化(因为网络中的状态是实时发生变化的,比如在某一刻,一个路由器发生了故障,或者光纤或电缆断了)

  • 算法是稳定和*公平*的(稳定就是,即使一个设备出现故障,也不会影响到别的网络或设备。公平就是,算法对每一个设备(计算机、路由)都是公平的,不会因为设备的不一样,而导致转发的路径不一样)



在前边提到了:



  • 互联网的规模是庞大的

  • 互联网环境是非常复杂的



因此为了让路由算法简单一些,也人为的对互联网进行了处理。对互联网进行了划分,这其中就包含一个非常重要的概念:自治系统(Autonomous System,简称AS)



  • 一个自治系统(AS)是处于一个管理机构下的网络设备群(管理机构:可以是一个国家、一个城市、一个公司)

  • AS内部网络自行管理,AS对外提供一个或多个出入口(AS外部的设备不直接参与内部的管理,如果外部设备需要对AS进行访问的话,通过AS提供的一个或多个出入口进行访问)



在之前的文章中有对网络层次进行了如下的划分



了解了AS之后,就可以知道,其实每一个主干ISP,都可以理解成主干AS,每个地区ISP,都可以理解成地区AS。了解了自治系统AS的概念之后,就可以把路由算法分为两个层次:



  • 运行在自治系统内部路由的协议称为:内部网关协议(RIP、OSPE)

  • 运行在自治系统外部路由的协议称为:外部网关协议(BGP)



可以通过一个图示理解内部网关协议和外部网关协议



假设有一个AS1(可能是一个公司的网络),有一个AS2(可能是一个学校的网络),当一个公司和一个学校进行相互访问时,他可能就是通过外部网关协议进行路由的



在快速变化的技术中寻找不变,才是一个技术人的核心竞争力。知行合一,理论结合实践



发布于: 2020 年 07 月 21 日阅读数: 80
用户头像

书旅

关注

公众号:IT猿圈 2019.04.11 加入

还未添加个人简介

评论

发布
暂无评论
计算机网络基础(八)---网络层-路由概述