提示:朝碧海而暮苍梧,睹青天而攀白日
网络层是路由器的最高层次,通过网络层就可以将各个设备连接到一起,从而实现这两个主机的数据通信和资源共享,之前学的数据链路层和物理层也是将两端连接起来,但是却没有网络层强大,网络层强大之处在于根据网络层的一些协议和一些中间设备,这其中有一些规定,规定发给的是哪一个主机,或者设计一个性价比最高的路由
转发主要是发生在路由器内部的,是对网络层的传输单元IP分组进行转发,路由器是有很多的端口的,包括入的端口和出的端口,根据转发表决定从那个口出去,而转发表又是根据路由选择得来的,使用这个路由选择算法规定好一种比较好的路由方式,根据这种方式就可以从一个路由器找到下一个路由器,路由选择是发生在外部的,可以理解为是路由器之间的,
每一个要转发的分组的详细信息,要有什么形式要有那些字段,以及这个分组如果过长的话如何处理,网络层编址就是对网络层的每一个结点每一个设备分配一个IP地址,IP地址的编址形式,一种就是网络号加主机号的形式,此外还会约定A类B类C类的地址,由于基本编址方式不那么灵活,加上利用率很低,然后就引入了子网划分,会将主机号分为子网号和主机号,CIDR就是无分类编址,也就是完全抹掉了ABCD编址的概念,同时也取消了一种划分子网的概念,
IPV6也就是扩充地址空间,
通过移动IP也就是你的物理地址可能发送变化了,但是IP地址却没发生改变。
静态路由就是手工来设计路由,也就是管理员根据拓扑结构来设计一个路由路径的情况,动态路由就是路由器自己动态的选择,为防止路由压力过大也就采用一种层次路由的方式,将整个网络规模划分成几个小区,每一个区都可以叫做一个自治系统,
IP组播简单来说就是对要传播的信息进行复制,裂化,不是发送n份,而是在每经过一个路由器就进行复制,这样就会给电脑减轻压力,同时也会给整个网络上的资源流动减轻压力,避免一些拥塞的情况,
路由选择:根据特定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表,按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由,
分组转发:当一个分组到达时采用的动作:处理通过路由器的数据流,关键操作是转发表查询、转发及相关的队列管理和任务调度等,路由器根据转发表将用户的IP数据报从合适的端口转发出去。
异构网络:不同的寻址方案、不同的网络接入机制、不同的差错处理方法、不同的路由选择机制等,网络的异构性是指传输介质、数据编码方式、链路控制协议及不同的数据单元格式和转发机制,这些特点分别在物理层和数据链路层协议中定义。
网络互联:将两个以上的计算机网络,通过一定的方法,用一种或多种通信处理设备( 即中间设备)相互连接起来,以构成更大的网络系统
中继系统:
物理层中继系统 中继器 集线器(hub )
数据链路层中继系统 网桥或交换机
使用物理层或数据链路层的中继系统时,只是把一个网络扩大了,而从网络层的角度有,它仍然是同一个网络,一般并不称之为网络互联
网络层中继系统 路由器 TCP/IP体系在网络互联上采用的做法是在网络层( 即IP层)采用标准化协议,相互连接的网络可以是异构的
网络层以上的中继系统 网关
虚拟互联网络:
也就是逻辑互联网络,即互联起来的各种物理网络的异构性本来是客观存在的,但是通过使用IP就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络
优点:互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互联的具体的网络异构细节(如具体的编址方案、路由选择协议等)
在通信子网中,因出现过量的分组而引起网络性能下降的现象称为拥塞
判断拥塞状态的方法:
轻度拥塞:随着网络负载的增加,网络的吞吐量明显小于正常的吞吐量
拥塞状态:网络的吞吐量随着网络负载的增大而下降
死锁状态:网络的负载继续增大,而网络的吞吐量下降到零
避免拥塞现象:
获取网络中发生拥塞的信息,从而利用这些信息进行控制,以避免由于拥塞 而出现分组的丢失,以及严重拥塞而产生网络死锁的现象
作用:确保子网能够承载所达到的流量
实现方法:合理优化主机、路由器及路由器内部的转发处理过程等,单一地增加资源并不能解决拥塞
拥塞控制是一个全局性的问题,和流量控制不同的是,流量控制是指发送方的发送速度太快,所以接收方要告诉发送方你慢点发,而拥塞控制是因为整个网络中负载过重,也就是每一个结点都在繁忙的工作,所以导致转发的速度就特别慢,而导致大部分的分组都特别慢,解决的方式有两种,所谓的开环控制就是在网络开始之前将所有可能产生拥塞的因素都考虑进去然后进行预先的控制,一种静态的预防方式,一旦整个系统启动并运行,中途就不需要修改,而闭环控制就是事先不考虑有关发生拥塞的各种因素,采用监测网络系统去监视,及时检哪里发生了拥塞,然后将拥塞信息传到合适的地方
优点:基于反馈环路的概念,是一种动态的方法
从一个端口中转发到另外一个端口的转发的过程也就是数据平面的一个主要的功能对应的就是转发的过程,控制平面也就是对应路由选择这个过程,时间短的用硬件,时间长的用软件,
这个首部是这个分组中的一个字段或者多个字段,输出就是对应的这个分组对应的是哪一个端口,转发表的产生不是数据平面所控制的,因此数据平是一个单纯的搬运工,
传统中这个路由器非常的全能既可以转发又可以计算这个路由表和转发表,也即是控制平面(计算一个转发表,或者说执行这个路由选择的算法)和数据平面(转发)是在一个一个路由器内进行的,
和传统方法数据平面都是一样的,而路由选择则由远程控制器来完成,远程控制器将转发表发给每一个路由器,路由器再基于这个转发表进行转发,远程控制器与路由器进行交流也就是通过软件的方式进行交流,而且这个软件都是可编程的,很多公司的数据通信就是借助这个SDN的方式,相当于路由器起到一个转发的过程,公用一个远程控制器
注意这里的交换机是指的路由器,这个网络控制应用程序是一个最终的控制程序,
将SDN控制器再进行细分,上面的路由选择,接入控制,负载控制等都是网络控制应用程序,为了使得SDN与网络控制应用程序进行交流都是通过一个北向API,
网络范围状态管理层也就是将这个信息进行同一的控制,
Openflow协议是控制平面和数据平面之间的接口。在SDN中,路由器之间不再相互交换路由信息,由远程控制器计算出最佳路由。
这两个平面就是网络层最主要的两个功能,不管是传统方式还是SDN方式转发都是由路由器进行控制的,传统方式中路由选择依然是在路由器中的,而SDN方式中的路由选择就是放在一个远程控制器中,SDN上面就是智力的体现而下面就是一些受控制的设备比如路由器,然后路由器就可以基于此进行转发了,或者说这个北向接口就是和网络控制应用程序的接口,而通信层就是与受控制的网络设备进行通信的,
这个分组经过这个路由表之后就可以知道接下来要往哪里走,在这一章网络层主要选择的路由通常都是路径最短,也就是通过的路由器最少,在使用某种路由协议,这些路由协议将使用路由算法来算出最佳路由,然后将最佳路由填入到路由表中的每一个表项当中,,
拓扑变换不大就是指不会突然加入很多或者突然撤出很多的主机,并且注意动态路由算法中对动态变化的反应太快而引起震荡,或反应太慢而影响网络路由的一致性,动态路由算法主要是两种一种是距离—向量路由算法,一种是链路状态路由算法
就是将一个因特网分成很多小的团体,小的团体称为自治系统,自治系统内使用 的路由选择协议外部是完全不知道的,这样就可以减少每一个路由器表项的个数,内部看不到外部协议,外部也看不到内部协议,网关在很久之前就是路由器的意思,
自顶向下就是应用层,传输层,网络层,链路层,物理层,需要知道这些常见协议的功能,以及之间的联系,而IP数据报的格式就很能说明IP协议的功能,
IP定义数据传送的基本单元——IP分组及确切的数据格式
IP也包括一套规则,指明分组如何处理、错误怎样控制
包含非可靠投递的思想,以及与此关联的分组路由选择的思想
这一章中IP数据报和分组是不需要太过区分的,可以暂时将两个当成是同样的东西,对于一个IP数据报若是过大就会进行分片,也就是网络层的传输单元分组,对于任何一个数据报它的固定部分都是固定不变的都是20字节而且都是要有的,可变部分就是可有可无,大部分情况下都是没有这个可变部分的,
注意这个位就是bit,是按位进行划分的,这个首部长度可以从0000~ 1111 也就是15个数,单位是4B,最大也就是15*4B就是60B,其中固定部分是20B,剩下40B就是可变部分,并且因为这个固定部分是一定是要为20B,所以这个首部的最小是为5,这数据部分就一定是从4B字节的整数倍开始,这样是使得IP协议更加的方便,
同样的道理这个总长度是1B为单位的,所以最大值是65535B,但是是不可能达到这么大的,因为过大会进行分片,以满足MTU最大数据传输单元的要求,
这个生存时间是随着经过的路由器的数目而逐渐减少的,长度是8bit,保证分组不会再网络中循环,
协议:之处该分组使用的协议(6为TCP协议,17为UDP协议)需要记住的就是TCP和UDP,TCP是面向连接的,也就是很6,而UDP的数据很容易被遗弃,
每经过一个路由器都要进行一个首部检验和的检测,IP数据报的首部校验和只校验分组的首部,而不校验数据部分
源地址字段:占4B 标识发送发的IP地址
目的地址字段:占4B 标识接收方的IP地址
可选字段是可有可无的,
IP数据报分片的过程,以及IP数据报的几个字段,
分片:当数据报长度大于链路MTU时,就要对其进行分片传输,分片会在目的地进行组装,不会在中间路由处进行组装
分片的前提是需要IP分组同意分片,若是不同意分片也就会返回一个ACMP的差错报文
以太网:1500B
广域网:一般不超过576B
网络层转发分组的流程
提取目的主机的IP地址
直接交付或者根据路由表进行转发交付,若找不到目标路由就发送给默认路由,如果最后没有转发成功,就报告转发分组出错。
每一个分片使用的都是和原来一样的一个标识,标志字段有3bit的,但是只有两位是有意义的,只有DF为0,MF才有意义,否则MF就没有意义了
注意这里的生存时间是可以8位,也就是最大时255,也就是而在RIP中16表示不可达,并不是真的不可达,可能只是距离较远。
这个1420其中的20B是一定要作为一个首部的,然后接下来按照1400B进行切片,切割的原则是尽可能使得切的部分越大越好,并且需要注意这个片偏移是只看数据部分的不看首部的。
这个单位的意思是数值乘上单位,才是真正的总长度,
连接到因特网上的每台主机( 或路由器)都分配一个32比特的全球唯一标识符
IP地址就是将主机或者主机的每一个接口,或者说路由器的接口都赋予一个标识符,每一个设备都是有一个IP地址或者多个IP地址,
一个主机可能是有很多个接口,有线上网就有一个有线接口,无线上网就对应一个无线接口,路由器不止是连一个主机,可能是连多个主机,
之所以可以说是一个网络因为是一个路由器连接的多个主机,以及链路层设备网桥,主机要是连接在一个网络上,那么主机的网络号就是一致的,而且它们的主机号应该是各不相同,应该能区分开,网桥是不能分割广播域的,所以用网桥连接起来的依然是属于同一个网段的,路由器的每一个接口都会有一个网络号的IP地址,所以说路由器可以分割广播域,也就是路由器不同的接口是可以连接不同的网络的,上图的三个绿色的区域叫做无编号网络,之所以叫做网络是因为其中有IP地址,所以上图是有6个实际的网络的,
主机号全为1表示本网络的广播地址。又称直接广播地址,如202.98.174.255
主机号全为0表示本网络本身,如202.98.174.0
127.0.0.0保留为环路自检(Loopback Tet)地址,此地址表示任意主机本身,目的地址为环回地的IP数据报永远不会出现在任何网络上
32位全为1,即255.255.255.255表示整个TCP/IP网络的广播地址,又称受限广播地址
32位全为0,即0.0.0.0表示本网络上的本主机
实际使用时,由于路由器对广播域的隔离,255.255.255.255等效为本网络的广播地址
这个D类地址就是一对多进行通信的时候才会使用的一种地址,
如果一个主机在发送数据报或者说发送分组的时候,不清楚自己的地址是多少,这个源IP地址应该填什么,它就填上全0,这样一个全0地址是不可以作为一个目的地址的,
网络号全0,主机号特定值,是可以作为分组的源地址,但是不能作为目的地址,因此前面两个网络号全0的标识本网的,
路由器不转发就是路由器可隔离广播域可以隔离分组,经过路由器是不会被转发出去的,第4行网络号是特定值主机号是全0,也就是上图中的某一个网络,
A类中减2是因为要是网络号变成全0,指的是本网络的意思,若是值变成127,其中的值也是不能使用的(所以A类比B类C类网络数多减了一个1),主机号全0也就是本网的网络号,主机号全1就是一个广播地址,广播地址也是不能只配某一个固定的端口,
B类中减一的是全0的情况,减2的情况和上面是一样的,
概述:通过将专用网络地址(如Intranet) 转换为公用地址(如Internet)从而对外隐藏内部管理的IP地址
优点:只需要一个全球IP地址就可以与因特网连通,由于专用网本地IP地址是可重用的,所以NAT大大节省了 IP地址的消耗,隐藏了内部网络结构,从而降低了内部网络受到攻击的风险
具体实现:本地地址的主机和外界通信时,NAT路由器使用NAT转换表将本地地址转换成全球地址,或将全球地址转换成本地地址
注意:普通路由器在转发IP数据报时,不改变其源IP地址和目的IP地址,NAT路由器在转发IP数据报时,一定要更换其IP地址,普通路由器仅工作在网络层,NAT路由器转发数据报时需要查看和转换传输层的端口号
也就是说私有IP地址在因特网上是无效的,私有IP地址和外网上的主机是可以进行通信的,
这个NAT路由器就是向相当于本地网中主机的一个代表,若是要与因特网进行通信就需要这个作为伪装,要是其他主机要给这个专用网中的主机通信,添加的也是这个NAT路由表中的IP地址,再由这个NAT分发给某一个具体的主机,这两列可以说是分为外网端和内网端,端口号是传输层要学到的,可以唯一的标识主机中的某一个具体进程,不同主机的端口号可以是相同的,将内网中使用的根据映射关系得到这个路由器的IP地址,
子网划分纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络,
从主机号借用若干比特作为子网号,当然主机号也就相应减少了相同的比特
先找到连接到本单位网络上的路由器。然后该路由器在收到IP数据报后,按目的网络号和子网号找到目的子网,最后把IP数据报直接交付给目的主机
子网号全为0和全为1不能作为主机号,全为0为本网络号 全为1为子网的广播地址
所谓子网划分就是将其中的主机号拿出来进行划分为子网号和主机号,注意主机号至少要为两位,剩下的可以作为子网号,
子网掩码就是只要是网络号就写为全1,只要是主机号就写为全0,也就是子网掩码是由一系列的0一系列的1所构成的,
2级IP地址也就是A类B类C类还是对于3级的IP地址都是有子网掩码的,只需要记住主机所对应的位数,全写为0,网络所对应的位置全部写为1,
使用子网掩码的情况
一台主机在设置IP地址的同时必须设置子网掩码
同属于一个子网的所有主机及路由器的相应端口,必须设置相同的子网掩码
路由表中必须包含有目的网络地址,子网掩码,下一跳地址
255是表示全1,自然相与依然是不变,接下来看剩下的部分,并且需要记住这些常见的数值所对应的二进制的位的,
广播分组所以主机号都是1,然后可以计算出子网号是180,80,76,0,然后让剩下的主机号都是1即可,然后就是180.80.79.255,
每一个路由器都是有一个转发表的,若是我们划分了子网就需要有以上的三项,不同的子网是可以使用不用的子网掩码,路由器会用这个目的地址和这三个子网掩码相与,看是否与子网相对应,若是都不符和也就需要进行到下一步,路由表中有这么一行,这一行叫做特定主机路由,默认路由就是前面的都不行的时候使用的路由,然后继续进行刚才的4步,当然我们知道这个转来转去是有限制的,每一个分组也就是有一个生存时间,在这个生存时间之内没有找到就将其丢弃,然后报告转发分组出错,,
这种编址形势是目前主要使用的一种编址形式,
也就是将网络号和子网号合并到一起称为网络前缀,看起来再次回到2级IP地址的形式,不同的是这个网络前缀的位数是变长的,
斜杠后面的字就是表示网络前缀的位数,这个地址掩码和之前说的掩码计算方式是一样的都是m个1后面接上0来表示,并且注意这个最小地址最大地址虽然是不用的,但是依然是表示最大最小,网络前缀越长,其地址块就越小,路由就越具体
对于一个路由器它其中有几个目的网络地址走的都是同一个接口,也就可以进行聚合,也就是取交集,
如上面两个进行合体之后就是206.1.0.0/16,
C
使用目的地址和每一个的子网掩码进行与操作,看结果是否与前面的相同,若是都相同则看哪一个的前缀最长,如这里就是25是大于22的,文章来源:https://www.toymoban.com/news/detail-733614.html
这里的全0就是默认路由,当没有匹配的时候才会用到,这里选B文章来源地址https://www.toymoban.com/news/detail-733614.html
到了这里,关于计算机网络第四章——网络层(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!