这节课我们来学习一下网络层设备。那对于网络层设备呢大家一定不陌生,最主要的就是这个路由器了。那这节课我们就来学习一下路由器它的内部构造以及它的一个转发过程。
首先呢路由器它是一种具有多个输入端口和多个输出端口的专用计算机,任务呢就是转发分组。啊正因为它有多个输入以及输出端口,我们才可以让这个路由器连接多台主机以及连入多个网络。
那这是一个路由器的内部结构图。我们可以看到它主要分成两个部分,一个是路由选择部分,一个是分组转发部分。那这个路由选择部分呢,也叫做控制部分。
那这一部分的核心构建,可以看到就是这个最大字的路由选择处理机。啊这个路由选择它的功能呢就是根据所选定的一个路由选择协议,啊比如说RIP协议或者说OSPF协议等等,构造出一个完整的路由表。啊因为我们之前讲过这两个协议,构造出的路由表项其实也是不一样的。那构造出路由表之后呢啊就可以定期地或者是经常性地和相邻路由器交换路由信息,而且呢也可以不断地更新和维护这个路由表。因此这个路由选择部分呢就是为构建一个完整的路由表而服务的。
那我们接下来再看这个第二部分。第二部分呢是分组转发部分,那这个分组转发呢它又包含三个部分。第一个部分呢就是多个输入端口,第二部分就是中间的这个交换结构。第三个就是多个输出端口。那在分组转发这一块呢,核心当然也是这个交换结构。
交换结构它的功能呢是根据转发表对分组进行一个转发。也就是它是一个啊分组的搬运工,它可以把分组从一个固定端口输出到另一个端口,给它找到一个合适的端口输出去。那这个转发表是什么呢?转发表是由路由表而得来的。啊根据路由表的几列属性然后呢再结合主机的网卡特性,就可以确定接下来一个转发表。那这个转发表呢就是告诉我这一个分组应该从哪个输出端口、具体的哪个端口输出去,啊来进行一个转发。
那这里面的转发大家要和路由选择区分开。转发呢在这路由器内部就是把一个分组从一个端口、输入端口转发到另一个输出端口。而这个路由选择呢是比较宏观的,啊就是比较大的。指的是在路由之间,啊选择一个合适的路径,把一个信息从源站或者说源主机发送到目的主机。这是路由选择,转发就是在内部的,路由选择呢就是在外部的。那当然并不是任何一个分组只要进了这个路由器,只要从输入端口进来了,就一定会从这个交换结构这儿然后再输出去。这要分情况的。
如果收到的分组呢,是路由器之间交换路由信息的分组,比如说RIP分组还有OSPF分组等等。那就会把这些分组送交给路由选择处理机,也就是送交给路由器的路由选择部分然后来进行一个处理和计算。那如果收到的是数据分组呢,就直接啊根据这个转发表根据交换结构当中的转发表,进行一个输出端口的选择并输出。
那接下来我们再看一下输入端口和输出端口的一个详细信息。啊这个是一个输入端口的处理过程。首先呢我们会从这个链路上接收到一个分组,然后呢先交由这个物理层进行处理。那这个物理层呢只是进行比特的接收,单纯地接收它是一个傻瓜层。啊接下来呢就到了这个链路层,链路层的处理呢就会按照链路层的协议来接收这个传输分组的帧。那接下来它就要把这个帧头和帧尾去掉,然后交付给这个网络层。那这个网络层怎么给它处理呢?其实呢就要结合我们刚才所讲的,先要对这个分组判断一下,如果它是路由器之间交换路由信息的分组,它就会把这个分组交付给上面的那个路由选择这个部分,啊交付给路由选择处理机来进行一个处理和计算。那如果是数据呢,数据分组,就会放入交换结构当中然后再选一个合适的输出端口输出。那假如说现在有一堆这个数据分组,啊这些数据分组到了这个网络层处理这一个模块呢,它们就要排队。为什么要排队呢?因为假如说第一个分组先正在查找转发表,并且选一个合适的端口转发,因为这个肯定是要产生一定的延迟的。啊,那所以可能第一个分组它没有查完,第二个分组就已经先达到了,那第三个分组也到达了,啊那可以看到现在这种情况就是有很多分组在这儿排队等候来进行查表和转发。所以在这一块呢,就很容易产生一定的时延。
那这个图呢其实也可以告诉我们,在输入端口当中这个查找和转发的功能,在路由器的交换功能当中是最重要的。
接下来我们再来看输出端口,它是怎么对分组进行一个处理的。那输出端口呢先会从交换结构这边接收到一个分组,然后呢再把它们放到路由器外面的链路上。那当然还是要经过这三个模块进行一个处理,因为我们知道这个路由器它是三层的设备,所以对于数据的封装和解封装都要经过这三个层次。那在网络层这个处理模块呢,是设置了一个缓冲区。实际上呢就是一个队列,可以看到,这是一个队列。如果这个交换结构传过来分组的速度,要超出啊链路发送的速度的话,那中间就会有一些分组在这边
这节课呢我们来回顾一下网络层这一章所讲过的全部内容。
在最开始呢,
我们讲了网络层的几个功能,啊分别是异构网络互联,路由与转发还有拥塞控制。那这个异构网络互联呢指的就是通过路由器可以把不同的网络连接起来形成一个大的互联网。那这个路由与转发呢其实也就是在说这个路由器它本身的功能,一个是路由选择,另一个就是分组转发。那第三个呢就是拥塞的控制,那拥塞控制要跟流量控制区分开,拥塞控制是一个全局性的问题,会涉及到网络当中的所有主机、路由器以及导致网络传输能力下降的所有因素。而这个流量控制呢就是因为发送方发送的太快,所以导致这个接收方呢它接收不过来,所以流量控制主要解决的就是要抑制发送方发送数据的速率。那对于拥塞控制呢我们也有两种解决方式,啊一种叫做开环控制,一种叫做闭环控制。那这个开环控制呢也是一种静态的控制方法,也就是在啊这个设计网络之初预先设置好把所有能导致拥塞的因素全部考虑到,做一个事先的预防。而这个闭环控制呢它是一种动态的拥塞控制手段,它采用监测网络系统,去监视,啊只要一检测到拥塞的问题,就可以及时地进行一个控制。
接下来呢我们就讲了这个IP数据报,在网络层这一块呢IP数据报其实有的时候也可以称之为是一个分组。首先我们就讲了IP数据报的一个格式,重点呢就是它的首部格式。因为首部格式呢它包括两个部分,固定部分20字节以及可变部分。那这个数据报剩下的呢就是数据部分了。那有关于分组首部当中的一些字段大家都要清楚是什么意思,以及在首部字段三个非常重要的长度的标记,一个是首部长度,一个是总长度,一个是片偏移。大家只需要记住那句话,一种八片的首饰。啊接下来呢就讲了这个IP数据报分片。其实呢,也是要结合首部当中三个字段,标识、标记和片偏移来讲。那分片呢就是因为我们接下来要传输的这个链路,它的链路层可接收的最大传输单元也就是MTU,啊有这个限制,所以我们要把一个过长的数据报进行一个分片。那在IP分片这儿呢也会涉及到一定的计算,大家要把咱们课上讲的这个习题好好消化。
接下来呢就到了本章最重要的一块,啊可以看到这个优先级我标的1,是IPv4地址。IPv4地址呢,它是经过了三个阶段的演变,首先呢是分类的IP地址,也就是A、B、C、D、E这几种。接下来呢就到了子网划分这个阶段,并且产生了一个子网掩码的概念。通过子网划分呢,就把主机号当中的一部分拿出来作为了子网号,那因此一个IP地址就有3个部分了,网络号、子网号以及剩下的主机号。那演变到现今呢,我们比较常使用的就是无分类编址CIDR,就是使用了一个网络前缀。啊而且在这个书写上面呢,也是和上面这两种IP地址有点不同,就是在一个点分十进制IP地址之后,要写上斜杠加上网络前缀的个数。那在分类的IP地址这儿呢,我们讲过了很多特殊的IP地址,啊主机号和网络号分别全0全1,分别对应的是什么。而且讲了一种技术叫做网络地址转换NAT这种技术。那这个技术呢,它就是在A、B、C类三类地址当中,取出来一部分地址作为私有地址。那这私有地址呢是无法和外部进行通信的,而且外部也不知道有这些私有地址存在,也就是我们机房当中的地址。那这个时候,这个NAT,它就需要进行一个IP地址,私有IP地址和公有的或者说公有IP地址的转换。那接下来这个无分类编址CIDR这儿呢,就讲了一种技术叫做构成超网,就是把两个网络合并成一个较大的网络,这样呢就可以减少一个路由器它的一个。同时我们还讲了一个最长