网络层既要解决不同网络节点间通信的路由和协议识别问题,又要通过路由选择策略解决网络拥塞问题,尽可能的提高网络通信的可靠性。了解网络层的通信原理有助于解决网络故障。
重点知识:
- 报文交换与分组交换原理
- 虚电路分组交换和数据报分组交换原理
- IPv4和IPv6报文格式
- IPv4数据报分段和重组原理
- ARP协议报文格式和地址解析原理
- 免费APR、代理ARP和RARP工作原理
- ICMP报文格式和在Ping和Tracert中的应用
- 路由表基础和路由优先级
- 最短路径路由算法、距离矢量路由算法和链路状态路由算法原理
- 网络拥塞控制方法及原理
- 三层交换原理
- IPv4地址分类和各类地址的特点
- IPv4网路地址、广播地址和主机地址
- IPv4子网划分和聚合的方法
- IPv6地址表示形式
- IPv6地址分类及各类地址的主要特点
网络层的作用
- 屏蔽网络差异,提供透明传输。
网络层想传输层提供的服务有两类: 面向连接的网络服务和无连接的网络服务。虚电路服务是网络层想传输层提供的一种面向连接的服务,是可以使所有数据按顺序到达目的地的可靠数据传送方式。在“虚电路”服务中,进行数据交换的两个节点之间存在一条专为他们服务的虚电路,无需附加网络地址。如各种拨号WAN连接、数据专线等接入方式就是属于面向连接的虚电路服务方式。
数据报服务是网络层提供的一种无连接的网络服务,只能提供不可靠的数据传送方式,源节点发送的每个数据报都要附加网络地址、包序号等信息;目的节点收到的数据报不一定按序到达,可能出现数据报丢失的现象。IP协议是一种无连接的网络层协议,提供无连接的网络层服务。
- 为网络间通信提供路由选择
- 数据报的封装和解封装
- 拥塞控制
网络层数据交换及相关技术
- 线路交换原理
- 存储-转发原理
- 报文交换原理
- 分组交换原理
IPv4和IPv6协议
目前主流的IPv4协议包括3个协议:IP、ARP、ICMP,IPv6协议簇中包括IPv6、ICMPv6、ND和MLD协议。
1.IP协议的功能
1)寻址
2)数据报封装
3)分段和重组
2.IPv4的不足
1)地址空间面临枯竭
2)骨干路由维护的路由表项数量过大
3)地址结构不合理
4)配置复杂
5)不支持端到端安全
- IPv6优势
1)更大的地址空间
2)有效和分级的寻址及路由基础结构
3)支持无状态和控制状态的地址配置
4)对服务质量的更好支持
5)提供用于临近节点交互的新协议
6)可扩展性
7)支持移动特性
路由算法基础
路由算法是在给定一组路由器及连接路由器链路的情况下,找出一条从源到目标的最佳路径的方法。
大方面来说路由算法分为两类:非自适应路由算法(静态路由)和适应路由算法(动态路由)。
1.非自适应路由算法主要包括:静态路由、扩散法、随机走动法和最短路径法。
2.自适应路由算法主要包括:距离矢量路由算法、链路状态路由算法、分级路由路由算法
路由算法的设计目标和考虑
路由算法通常具有以下一个或多个目标:
- 正确性
- 简单性
- 健壮性
- 稳定性
- 公平性
- 最优性
- 快速收敛性
- 灵活有效性
路由和网关的区别
路由和网关都是三层功能,都可以为三层数据报提供转发路径,区别是,路由可以实现直连或非直连网络间的三层互通,网关只能实现直连网络间的三层互通,而且只能是一跳的连接。简单来说可以把网关理解成房间的门。要进另一个房间,必须通过门。
路由更像是地下通道,可以通向任何地方。
三层交换机
三层交换机采用ASIC硬件芯片来完成数据转发,ASIC芯片内部集成了IP三层转发的功能,包括检查IP报文头、修改存活时间参数、重新计算IP头校验和、IP数据报的数据链路封装等。
三层交换原理
二层交换机中的二层数据交换一般使用ASIC硬件芯片中的MAC地址表来实现,因为是硬件转发,所以转发性能非常高。而三层交换机中的三层转发也是依靠ASIC芯片来完成的,但其中除了二层交换用的MAC地址表外,还保存有专门用于三层转发的三层硬件转发表。
总体原理是:一次路由(第一个数据报由CPU的路由表转发并建立三层转发表项),多次交换(后续数据报由ASIC的三层转发表转发)。
图1 三层交换原理
IPv4地址
32位二进制IPv4地址分为两个部分:一部分来标识IPv4地址所属的网段,称为网络ID;另一部分用来标识具体主机或节点的IPv4地址,称为主机ID。
网络地址
网络地址是用来标识一个网段的,是讲IPv4地址中的主机ID部分全部置0,而网络ID保持不变。
广播地址
广播地址是用来进行广播传输的IPv4地址,同时也是一个广播域,是将IPv4地址中的主机ID部分全部置成1,网络ID部分保持不变得到的。
子网掩码
子网掩码是将一个IPv4地址的网络ID部分全置1,主机ID部分全部置0得到的。通过把一个IPv4地址与其对应的子网掩码进行逻辑与运算,便得到了该网络的网络地址。子网掩码的作用是获取主机IPv4地址中的网络地址信息,用于区别主机通信到不同情况,选择不同的路由。通过子网掩码可以确定一个IPv4地址的哪一部分属于网络ID,哪一部分属于主机ID。
IPv4地址分类
根据网络通信类型分成单播地址和组播地址两大类,单播地址类别中又按照规模大小分成三大类,另外预留了一些地址又分成了一类。一共有5类,分别用A、B、C、D和E标识。A、B、C是单播地址,D类是组播地址,E是保留地址类型。
- A类地址
A类地址是专门为大规模网络而设计的单播IPv4地址分类。
网络ID部分只占最多一个字节,主机ID占了剩余全部3个字节。规定最高位固定为0,后面7位可变,除去127为本地环路地址,只有126个网络地址可供分配。除去主机ID全部为0的网络地址和全部为1的广播地址,每个A类网络的可用的主机地址个数为(2^24-2)个。
子网掩码是255.0.0.0。
- B类地址
B类地址是专门为中型网络设计的。
网络ID占最高的前两个字节,主机ID占剩余的2个字节。
规定最高两位固定为10,后面14位可变,除去主机ID全部为0的网络地址和全部为1的广播地址,每个B类网络地可用的地址个数为(2^16-2)个。
- C类地址
C类地址是专门为小型网络设计的。
网络ID占最高的前3个字节,主机ID占剩余的1个字节。
规定最高3位固定为110,后面21位可变,除去主机ID全部为0的网络地址和全部为1的广播地址,每个C类网络地可用的地址个数为(2^8-2)个。
表1 单播地址的主要特征
类别 | w的值 | 网络ID | 主机ID | 可用网络数 | 每个网络可用主机地址数 |
---|---|---|---|---|---|
A | 1~126 | w | x.y.z | 126 | 16777214 |
B | 128~192 | w.x | y.z | 16384 | 65534 |
C | 192~223 | w.x.y | z | 2097152 | 254 |
- D类地址
A、B、C类地址均为单播地址,D类是组播地址,通过组播IPv4地址,组播源只需要发送一份数据,所有的组播组用户都可以收到同一份数据。组播用在在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等信息服务领域。
另外,组播是部分网络地址和主机地址的,也没有子网掩码,只是规定在最高位的前四位固定为1、1、1、0的IPv4地址属于组播地址。这样一来组播地址的范围是224.0.0.0~239.255.255.255。
根据不用的应用环境和用途划分为:
- 预留组播地址
224.0.0.0~224.0.0.255- 公用组播地址
224.0.1.0~224.0.1.255- 临时组播地址
224.0.2.0~224.0.1.255- 本地管理组播地址
238.0.2.0~238.255.255.255
- E类地址
E类属于IANA保留使用,不分配给用户使用。地址段为240.0.0.0~247.255.255.255,特征是最高前5位分别是11110,剩余27位可变。
注意:
IP地址加子网掩码的简写形式:192.168.1.10/24、170.16.1.16/16、10.1.0.10/8分别表示标准的C类、B类和A类地址。