网络层
目录
概述
网络层的主要任务是实现网络互联,进而实现数据包再各网络之间的传输。
需要解决的问题:
-
向运输层提供可靠传输还是不可靠传输
-
网络寻址问题
-
路由选择问题
因特网使用的是TCP/IP协议栈,TCP/IP协议栈的网络层使用网际协议IP,是整个协议栈的核心协议,因此TCP/IP协议中的网络层常被称为网际层
网络层提供的两种服务
面向连接的虚电路服务
虚电路服务 | 数据报服务 | |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须建立网络层连接 | 不需要建立网络层连接 |
终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 |
分组的转发 | 属于同一条虚电路的分组按照同一路由进行转发 | 每个分组可走不同的路由 |
当结点出故障时 | 所有通过出故障的结点的虚电路均不能工作 | 出故障的结点可能会丢失分组,一些路由可能会发送变化 |
分组的顺序 | 按发送顺序到达终点 | 到达终点时不一定按发送顺序 |
服务质量 | 可以将通信资源提前分配给每一个虚电路,容易实现 | 很难实现 |
IPv4地址及其应用
概述
-
IPv4地址就是给因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32比特的标识符
-
构成IPv4地址的比特数量为32,构成以太网MAC地址的比特数量为48
-
32比特的IPv4地址不方便,所有采用点分十进制表示方法,每8位分为一组表示一个十进制的数
-
即重点在于二进制和十进制的相互转换
分类编址的IPv4地址
-
分为5类地址,A类网络号占8比特,B类16位,C类24位,D类位多播地址,E类保留为今后使用
-
分类编址的地址分为两部分,前面部分为网络号,后面为主机号
-
只有A,B,C类地址可分配给主机(或路由器)接口
-
主机号为全0的地址是网络地址,不能分配给主机或路由器的接口
-
主机号为全1的地址是广播地址,不能分配给主机或路由器的接口
划分子网的IPv4地址
-
32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号
-
子网掩码使用连续的比特1来对应网络号和子网号
-
子网掩码使用连续的比特0来对应主机号
-
将划分子网的IPv4地址与其相应的子网掩码进行逻辑与运算即可得到IPV4地址所在子网的网络地址
-
无分类编址的IPv4地址
-
无分类域间路由器选择CIDR使用斜线记法,即在IPv4地址后面加个斜线,斜线后写网络前缀所占的比特数量
-
CIDR实际上是将网络前缀都相同的连续的IP地址组成一个"CIDR地址块"
-
路由聚合(构造超网)的方法是找共同前缀
-
网络前缀越长,地址块越小,路由越具体
IPv4地址的应用规划
定长的子网掩码FLSM
-
使用同一个子网掩码来划分子网
-
子网划分方式不灵活,只能划分2的n次方个子网,你是从主机号部分借用的用来作为子网号的比特数量
-
每个子网所分配的IP地址数量相同,容易造成IP地址浪费
边长的子网掩码VLSM
-
使用不同的子网掩码来划分子网
-
子网划分方式灵活:可以按需分配
-
每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费
IP数据包的发送和转发过程
主机发送IP数据报
-
判断目的主机是否与自己在同一个主机
-
若在同一个网络,则属于直接交付
-
若不在同一个网络,则属于间接交付,传输给主机所在网络的默认网关,由默认网关帮忙转发
路由器转发IP数据报
-
检查IP数据报首部是否出错
-
若出错,则直接丢弃该IP数据报并通告源主机
-
若没有出错,则进行转发
-
根据IP数据报的目的地址在路由表中查找匹配的条目
-
若找到匹配的条目,则转发给条目中指示的下一跳
-
若找不到,则丢弃该IP数据包并通告源主机
静态路由配置及其可能产生的路由环路问题
静态路由配置指的是用户或者网络管理员使用路由器的相关命令给路由器人工配置路由表
-
一般只在小规模网络中使用
-
这种人工配置方式简单,开销小,但不能及时适应网络状态的变化
可能出现因以下导致产生路由环路的错误
-
配置错误
-
聚合了不存在的网络
-
网络故障
路由条目的类型
-
直连网络
-
静态路由(人工配置)
-
动态路由(路由选择协议)
特殊的静态路由条目
-
默认路由(目的网络0.0.0.0,地址掩码为0.0.0.0)
-
特定主机路由(目的网络为特定的主机IP地址,地址掩码为255.255.255.255)
路由选择协议
概述
动态路由选择
-
路由器通过路由选择协议自动获取路由信息
-
比较复杂,开销比较大,能较好地适应网络状态的变化
-
适用于大规模网络
因特网采用分层次的路由选择协议