网络层处在传输层的下层,也叫作IP层。首先我们概括的说明一下网络层的总体功能
一.概述
1.网络层的功能
2.路由算法
- 静态路由和动态路由
- 距离-向量路由算法
- 链路状态路由算法
- 层次路由
3.IPv4
- IPV4分组
- IPv4地址与NAT
- 子网划分与子网掩码
- CIDR
- 路由聚集
- ARP协议
- DHCP协议
- ICMP协议
4.IPv6
5.路由协议
- 自治系统
- 域内路由和域间路由
- RIP路由协议
- OSPF路由协议
- BGP路由协议
6.IP组播
7.移动IP
8.网络层设备
二、网络层功能
2.1、异构网络互连
简单来说,异构网络(Heterogeneous Network)是一种类型的网络,其是由不同制造商生产的计算机,网络设备和系统组成的,大部分情况下运行在不同的协议上支持不同的功能或应用。实现异构网络之间的互联通过一些路由器进行互联使之可以进行在网络层上统一规则,而看不见具体的网络异构细节的虚拟互联网络,以此实现通信(Ip协议)。
2.2、路由和转发
路由器两个基本功能:路由选择;分组转发
1.路由选择:指按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态的改变所选择的路由。
2.分组转发:指路由器根据转发表将用户的IP数据报从合适的端口转发出去。
路由表和转发表是不同的,路由表是根据路由算法得到的,而转发表是根据路由表得到的。转发表的结构应该使得查找过程最优化,路由表则需要使得网络拓扑变化的计算最优化。
2.3、拥塞控制
在通信子网中,由于出现过量的分组而引起网络性能下降的现象称为拥塞。
假设一种情况,某个路由器的链路带宽为R b/s;如果IP分组只从它的一个端口进入,且速率为rin b/s;这样看起来好像是得到了充分的利用,但是,当分组达到路由器的速率接近链路带宽R时,平均时延急剧增加,并且有大量的分组会被抛弃(路由器端口的缓冲区是有限的)。整个网络的吞吐量会骤降,源与目的主机之间的平均时延会变得将近无穷大。
判断网络是否进入拥塞状态的方法是:观察网络吞吐量和网络荷载的情况;如果随着网络荷载的增加,网络吞吐量明显小于正常的吞吐量。那么网络可能就是进入了上图的“轻度拥塞”;另外,如果当网路负载继续增大,而网络的吞吐量下降到为0,可以认为是进入了“死锁”。
拥塞控制是确保子网能够承受所达到的流量。主要有两种方法:开环控制;闭环控制
开环控制:在设计网络时事先将有关发生拥塞的因素考虑,力求网络在工作时候不产生拥塞
闭环控制:事先不考虑有关拥塞的各种因素,采用监控网络系统去监视,及时检测哪里发生拥塞,然后将拥塞信息发送到合适的地方,以便进行调整网络系统的运行,并解决出现的问题,闭环控制就是一个基于反馈的概念,是一种动态方法。
三、路由算法概述
3.1、静态路由和动态路由
路由器的转发分组是通过路由表来转发的,而路由表是基于路由算法得到的,按照能否随着网络的通信量或拓扑结构自适应进行调整变化来分类,分为静态路由和动态路由。
至于层次路由,是一种政治策略,分而治之。
具体说来就是整个互联网分为多个自治系统,内部使用内部网关协议(IGP),采用的协议有RIP何OSPF。
自治系统之间采用的是外部网关协议(EGP),具体协议有BGP。
OSPF又可以把自治区分为多个区域,在区域里,每个路由器都知道在本区域内如何把分组交给目的地的细节。
四、IPv4
4.1IPv4数据报
连接在网络的计算机我们都需要分配一个32比特的全球唯一标识符,也就是IP地址。
IPV4是目前使用最为普遍的IP协议。IP协议定义了数据传输的基本单元-IP分组及其确切的数据格式。
IPV4的分组格式:一个IP分组由首部和数据两部分组成,其中首部的前部分是固定的20字节。是所有IP分组必须具备的。在后部分是一些可选字段,长度是可变的,主要是用来提供错误检测及安全等机制。IP数据报的格式如下:
关于IP数据报的首部字段含义解释:
1、版本:也就是我们使用的IPV4版本。
2、首部长度:占4位,以4字节为单位。最常用的首部长度为20字节。
3、区分服务:TOS。即指期望获得哪种类型的服务。在1998年改名,本来叫做:服务类型。只有在网络提供区分时使用。
4、总长度字段:占用16字节。是指IP数据报的长度(首部+数据);最大的IP分组长度为2^16 -1=65335。最大的数据长度为65535-20(首部)=65515 B。
5、标识、标志和片偏移:在IP数据报的分片部分重点讲解。
6、生存时间TTL:占8位,表示数据报在网络中可通过的路由器数量的最大值。即表示分组在网络中的寿命。以确保分组不会在网络中永久循环。:路由器在转发分组之前,会使TTL减1。当TTL为0时候,则该分组被丢弃。
7、协议:占用8位,指的是此IP分组数据分组封装所使用的协议:如TCP(6),UDP(17)。
8、首部校验和:占用16位,对IP分组的首部进行差错检测。
9、源地址:占4字节,标识发送方的IP地址。
10、目的地址:占4字节,标识接收方的IP地址。
4.2、IP数据报的分片和组装
最大传送单元(MTU):一个链路层数据报所能承载的最大数据量。不同的链路层具有不同的MTU,以太网的最大MTU为1500B。许多广域网最大MTU为576字节。当在不同链路上,且链路最大MTU不同时,即当IP数据报的最大长度大于链路MTU时,就需要将IP数据报的数据分装为较小的IP数据包中,分片数据报除最后一片外大小为MTU。这些较小的分组也叫作片,这个过程顾名思义叫分片。
分片在目的地的网络层中被重新组装。目的主机使用接收的数据报的首部中的标识、标志、片偏
移字段
来完成对分片的
重新组装。
标识号:当创建一个IP数据报时,源主机为该数据报加上一个标识号,当路由器需要对一个大的原始数据报
进行分片操作时,形成的每个片数据报都具有原始数据报的标识号,当目的主机收到分片时,根据标识号确定
数据片是否来自同一原始数据片。
标志位:IP数据报中的首部标志位有3比特。只有后两位才具有实际意义(第一个比特为保留位),分别是DF(Don't Fragments)
和MF(More Fragments)。具体为:
只有DF=0时,该IP数据报才可以被分片;当MF=0,表示才片为最后一片,或者没有进行分片。
片偏移:占用13位,标识分片相对于原始数据报的偏移位。片偏移除了最后一个分片外,所有的片的有效数据荷载为8的整数倍。
4.2.2、IP分片例子:
4.2、IPV4与NAT
4.2.1、IP分类地址:
IP分组:
源地址SA
目的地址:DA
接口:
主机/路由器与物理链路的的连接
实现了网络层功能
IP地址:是32比特编号标识主机和路由器的接口。ip地址与每个接口关联。
IP地址的分配:
IP地址的有类编址:
特殊IP地址:
私有IP地址:
IP地址有以下几个重要特点:
1、每个IP地址都是由网络号和主机号两部分组成。因此IP地址是一种分等级的地址结构。分等级地址结构特点:IP地址管理机构在分配IP时,只要求分派网络号(第一级),而主机号(第二级)则可以由得到该网络的单位自由分配。方便IP地址管理;路由器仅仅根据目的主机的网络号来连接转发分组,而不用考虑主机号。这样一来就减少了路由表的存储空间。
2、IP地址是标志一个主机或路由器和一条链路的接口,当一个主机同时连接到两个网络上,该主机必须同时具有两个相应的IP地址。每个IP地址的网络号必须与所在网络的网络号相同。且这两个IP地址网络号是不同的。因此路由器上必须至少应当具有两个IP地址。
3、用转发器或者桥接器(网桥等)连接起来的若干个LAN仍然是同一个网络。因此该LAN中的所有主机IP地址网络号相同。
4、在同一个局域网上的主机或路由器的IP地址的网络号必须是一样的。
4.4、IP子网划分与子网掩码
两级IP地址的缺点:IP地址利用率低;给每一个物理网络分配一个网络号会使路由表变得太大而使网络性能变差;两级IP地址不够灵活。
1985年后,通过子网划分技术使IP地址称为3级IP地址。这种做法叫做划分子网。
子网划分的属性:
1)、划分子网是属于一个单位内部的事情。单位对外仍然显示没有划分子网的网络。
2)、从主机号借用若干个比特作为子网号。三级IP地址格式如下:{《网络号》;《子网号》-《主机号》}
3)、其他网络发送给本单位某个主机的IP数据报。仍然是根据数据报的IP目的网络号到达该单位的路由器,然后单位路由器收到IP数据报之后,再按照目的网络号和子网号找到目的子网的主机。
4.4.1、子网掩码。
为了告诉主机或路由器对一个A,B,C,D,E类的网络进行了划分,使用子网掩码来标识对原网络中主机号的借位。
子网掩码是一个与IP地址相对应的32Bit的二进制串。它由一串1和跟随的一串0组成,其中1代表IP地址中的网络号和子网号;0代表IP地址中的主机号。换句话说,子网掩码的取值如下:
子网掩码的运用:
5.无类域间路由CIRD(Classless InterDomain Routing)
也叫作无分类编址:是在变长子网掩码的基础上提出的一种消除传统A,B,C类网络的划分,并且在软件的支持下实现
超网构造的一种IP地址划分方法。