1. 网络层概述

  • 网络层的主要任务是实现 网络互连,进而 实现数据包在各网络之间的传输。
  • TCP/IP参考模型的网络层提供的是 无连接不可靠的数据报服务
  • 要实现网络层任务,需要解决以下主要问题:
    • 网络层向运输层提供怎样的服务(“可靠传输” 还是 “不可靠传输”)
    • 网络层寻址问题
    • 路由选择问题

image.png

  • 因特网(Internet)是目前全世界用户数量最多的互联网,它使用 TCP/IP协议栈。
  • 由于TCP/IP协议栈的网络层使用 网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为 网际层。
  • 综上所述,我们通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。

image.png

2. 网络层提供的两种服务

2.1 面向连接的虚电路服务

  • 可靠通信由网络来保证
  • 必须建立 网络层的连接虚电路VC(Virtual Circuit)
  • 通信双方 沿着已建立的虚电路发送分组
  • 目的主机的地址仅在连接建立阶段使用,之后 每个分组的首部只需携带一条虚电路的编号(构成虚电路的每一段链路都有一个虚电路编号)。
  • 这种通信方式如果再使用可靠传输的网络协议,就可使所发送的分组最终正确到达接收方(无差错按序到达、不丢失、不重复)
  • 通信结束后,需要释放之前所建立的虚电路。
  • 很多广域分组交换网都使用面向连接的虚电路服务。
    例如,曾经的X.25和逐渐过时的帧中继FR、异步传输模式ATM等。

image.png

2.2 无连接的数据报服务

  • 可靠通信应当由用户主机来保证
  • 不需要建立网络层连接
  • 每个分组可走不同的路径
  • 每个分组的 首部必须携带目的主机的完整地址
  • 这种通信方式所传送的 分组可能误码、丢失、重复和失序。
  • 由于 网络本身不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价 格低廉(与电信网的交换机相比较)。
  • 因特网采用了这种设计思想,也就是 将复杂的网络处理功能置于因特网的边缘(用户主机和其内部的运输层),而将相对简单的尽最大努力的分组交付功能置于因特网核心。

image.png

2.3 虚电路服务和数据报服务的对比

image.png

3. IPv4地址及其应用

3.1 IPv4地址概述

  • 在TCP/IP体系中,IP地址是一个最基本的概念,我们必须把它弄清楚。
  • IPv4地址 就是给因特网(Internet)上的 每一台主机(或路由器)的每一个接口分配一个在全世界范围内是 唯一的32比特的标识符。
  • IP地址由因特网名字和数字分配机构ICANN(Internet Corporation for Assigned Names and Numbers)进行分配。
    • 我国用户可向亚太网络信息中心APNIC(Asia Pacific Network Information Center)申请IP地址, 需要缴费。
    • 2011年2月3日,互联网号码分配管理局IANA(由ICANN行使职能)宣布,IPv4地址已经分配完毕。
    • 我国在2014至201 5年也逐步停止了向新用户和应用分配IPv4地址。同时全面开展商用部署IPv6。
  • IPv4地址的编址方法经历了如下三个历史阶段:

image.png

  • 32比特的IPv4地址不方便阅读、记录以及输入等,因此IPv4地址采用 点分十进制表示方法以方便用户使用。

image.png

3.2 分类编址的IPv4地址

分类的IPv4地址共分为 5 类:A类地址、B类地址、C类地址、D类地址、E类地址。
注意:

  • 只有A类、B类和C类地址可分配给网络中的 主机或路由器的各接口
  • 主机号为 “全0” 的地址是网络地址,不能分配给主机或路由器的各接口
  • 主机号为 “全1” 的地址是广播地址,不能分配给主机或路由器的各接口

image.png

(1)A类地址

  • 最小网络号 0,保留不指派
  • 第一个可指派的网络号为 1,网络地址为 1.0.0.0
  • 最大网络号 127,作为本地环回测试地址,不指派
    • 最小的本地环回测试地址为 127.0.0.1
    • 最大的本地环回测试地址为 127.255.255.254
  • 最后一个可指派的网络号为 126,网络地址为 126.0.0.0
  • 可指派的网络数量为 2^{8-1}=12628−1=126(减2的原因是除去最小网络号0和最大网络号127)
  • 每个网络中可分配的IP地址数量为 2^{24}- 2 = 16777214224−2=16777214(减2的原因是除去主机号为全 0 的网络地址和全 1 的广播地址)

image.png

(2)B类地址

  • 最小网络号也是第一个可指派的网络号 128.0
    网络地址为 128.0.0.0
  • 最大网络号也是最后一一个可指派的网络号 191.255
    网络地址为 191.255.0.0
  • 可指派的网络数量为 2^{16-2}=16384216−2=16384
  • 每个网络中可分配的IP地址数量为 2^{16-2}=65534216−2=65534(减2的原因是除去主机号为全 0 的网络地址和全1的广播地址)

image.png

(3)C类地址

  • 最小网络号也是第一个可指派的网络号 192.0.0
    网络地址为 192.0.0.0
  • 最大网络号也是最后一一个可指派的网络号 223.255.255
    网络地址为 223.255.255.0
  • 可指派的网络数量为 2^{24-3}= 2097152224−3=2097152
  • 每个网络中可分配的IP地址数量为 2^8-2=25428−2=254(减2的原因是除去主机号为全 0 的网络地址和全 1 的广播地址)

image.png

(4)一般不使用的特殊IP地址

image.png

(5)测试题

一、

image.png

解答

image.png

二、

image.png

三、

image.png

解答

image.png

3.3 划分子网的IPv4地址

3.4 无分类编址的IPv4地址

3.5 IPv4地址的应用规划

1)应用规划

应用规划:给定一个IPv4地址块,将其划分为几个更小的地址块,并将这些地址块分给互联网中的不同网络,进而给各位网络的主机和路由器接口分配IPv4地址。
解决方法:

  • 方法一:定长子网掩码(FLSM,Fixed Length Subnet Mask)
    • 使用同一个子网掩码来划分子网
    • 每个子网所分配的IP地址数量相同,造成IP地址浪费
  • 方法二:变长子网掩码(VLSM,Variable Length Subnet Mask)
    • 使用不同的子网掩码来划分子网
    • 每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费

      2)定长子网掩码划分

      先确定每个子网中需要分配的IP地址的数量,向给定的网络地址(假如是C类网)中的主机号借 nn 位来表示子网号,若需要划分 mm 个子网,则要满足:2^n>=m,且2^{8-n}>=每个子网IP地址总需求量2n>=m,且28−n>=每个子网IP地址总需求量

      3)变长子网掩码划分

  1. 先确定每个子网中需要分配的IP地址的数量 xx(包括网络地址,广播地址,可分配地址),然后由此确定每个子网的主机号位数 nn,满足 2^n>=x2n>=x,再由此得出网络前缀的位数 y=32-ny=32−n。
  2. 然后得到每个子网的地址块形式:/y/y 和地址数量:2^n2n。

image.png

  1. 列出所给地址块的全部地址,在该地址块中给网络待划分的子网分配子块,分配原则是“每个子块的起点位置不能随意选取,只能选取 “块大小整数倍的地址作为起点”。建议先给大的子块分配

image.png

4. IP数据报的发送和转发过程

  • 主机发送IP数据报
    判断目的主机是否与自己在同一个网络(判断方法请参看本节课相关示例)
    • 若在同一个网络,则属于直接交付
    • 若不在同一个网络,则属于间接交付,传输给主机所在网络的默认网关(路由器),由默认网关帮忙转发
  • 路由器转发IP数据报
    1. 检查IP数据报首部是否出错:
      • 若出错,则直接丢弃该IP数据报并通告源主机
      • 若没有出错,则进行转发
    2. 根据IP数据报的目的地址在路由表中查找匹配的条目(查找方法请参看本节课相关示例):
      • 若找到匹配的条目,则转发给条目中指示的下一跳
      • 若找不到,则丢弃该IP数据报并通告源主机
  • 中继器集线器 工作在物理层,既不隔离冲突域也不隔离广播域。
  • 网桥交换机(多端口网桥)工作在数据链路层,可以隔离冲突域,不能隔离广播域。
  • 路由器 工作在网络层,既隔离冲突域,也隔离广播域。

    5. 静态路由配置及其可能产生的路由环路问题

  • 静态路由配置错误导致 路由环路

  • TTL:为了防止IP数据报在路由环路中永久兜圈,在IP数据报首部设有 生存时间TTL字段。IP数据报进入路由器后,TTL字段的值减1。若TTL的值不等于0,则被路由器转发,否则被丢弃。
  • 静态路由配置 是指用户或网络管理员使用路由器的相关命令给路由器 人工配置路由表
    • 这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化。
    • 一般只在小规模网络中采用。
  • 使用静态路由配置可能出现以下导致产生 路由环路的错误
    • 配置错误
    • 聚合了不存在的网络
    • 网络故障
  • 路由条目的类型
    • 直连网络
    • 静态路由(人工配置)
    • 动态路由(路由选择协议)
  • 特殊的静态路由条目
    • 默认路由(目的网络为0.0.0.0, 地址掩码为0.0.0.0)
    • 特定主机路由(目的网络为特定主机的IP地址,地址掩码为255.255.255.255)
    • 黑洞路由(下一跳为 null0)
  • 路由表中几种静态路由

    • 自动得出的直连网络:目的网络为与接口直连的网络地址,下一跳为直连的接口。
    • 人工配置的默认路由:目的网络为 0.0.0.0/0,子网掩码为 255.255.255.255,下一跳为指定的网络。
    • 特定主机路由:目的网络为特定主机的IP地址,子网掩码为 255.255.255.255
    • 黑洞路由:为了解决因聚合了不存在的网络而导致路由环路的问题,目的网络为不存在的网络地址,下一跳为 null0

      6. 路由选择协议

      6.1 路由选择协议概述

      1)路由选择分类

  • 静态路由选择

    • 由人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由。
    • 这种人工配置方式简单、开销小。
      但是 不能及时适应网络状态(流量、拓扑等)的变化。
    • 一般只在 小规模网络 中采用。
  • 动态路由选择

  • 动态路由选择,较好的适应网络状态变化

  • 路由器之间交换路由信息
  • 将整个因特网划分为许多较小的自治系统AS

    3)因特网采用分层次的路由选择协议

  • 自治系统AS内部的路由选择称为 域内路由选择,自治系统之间的路由选择称为 域间路由选择

  • 域内路由选择使用的是一类 内部网关协议IGP(Inner Gateway Protocol),域间路由选择使用的协议是一类 外部网关协议EGP(Edge Gateway Protocl)。

说明,“网关” 和 “路由”这两个名字和互换,即内部路由协议IRP。

  • 不同自治系统使用的内部网关协议IGP不影响其他自治系统的IGP。(可以使用RIP或OSPF等等)

    4)常见网关协议

    image.png

    5)路由器的基本结构

    image.png

  • 路由器是一种具有多个输入端口和输出端口的专用计算机,其任务是 转发分组

  • 路由器结构可分为两大部分
    1. 路由选择部分
    2. 分组转发部分
  • 路由选择部分的核心构件是 路由选择处理机,其任务是通过路由选择协议周期性的与其他路由器进行路由信息的交互,来 更新路由表
  • 分组转发部分由三部分构成
    1. 交换结构
    2. 一组输入端口
    3. 一组输出端口
  • 路由器还具有输入缓冲区、输出缓冲区,来缓存已经处理但未发送的分组。
  • 路由表一般仅包含 从目的网络到下一跳的映射
  • 路由表需要对网络拓扑变化的计算最优化
  • 转发表是从路由表得出的
  • 转发表的结构应当使查找过程最优化

一般不严格区分路由表和转发表。

6.2 路由信息协议RIP的基本工作原理

  • 路由信息协议RIP(Routing Information Protocol)是内部网关协议IGP中最先得到广泛使用的协议之一,其相关标准文档为RFC 1058。
  • RIP要求自治系统AS内的每- -个路由器都要维护从它自己到AS内其他每-一个网络的距离记录。这是一组距离,称为 “距离向量D-V(Distance-Vector)”
  • RIP使用 跳数(Hop Count)作为度量(Metric)来衡量到达目的网络的距离。
    • 路由器到直连网络的距离定义为1。
    • 路由器到非直连网络的距离定义为所经过的路由器数加1。
    • 允许一条路径最多只能包含15个路由器。 “距离”等于16时相当于不可达。因此,RIP只适用于小型互联网。

image.png

  • RIP认为 好的路由 就是 “距离短” 的路由,也就是 所通过路由器数量最少的路由
  • 当到达同一目的网络有多条 “距离相等” 的路由时,可以进行 等价负载均衡。
  • RIP包含以下三个要点:
    • 和谁交换信息:仅和相邻路由器交换信息
    • 交换什么信息:自己的路由表
    • 何时交换信息:周期性交换(例如每30秒)
  • RIP的基本工作过程
    1. 路由器刚开始工作时,只知道自己到直连网络的距离为1。
    2. 每个路由器仅和相邻路由器周期性地交换并更新路由信息。
    3. 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下- -跳地址,称为收敛。
  • RIP的路由条目的更新规则
    • 发现了新的网络,添加
    • 到达目的网络,相同下一跳,最新消息,更新
    • 到达目的网络,不同下一跳,新路由优势,更新
    • 到达目的网络,不同下一跳,新路由劣势,不更新
    • 到达目的网络,不同下一跳,等价负载均衡
  • RIP存在 “坏消息传播得慢” 的问题
    “坏消息传播得慢” 又称为 路由环路或距离无穷计数问题,这是 距离向量算法的一个固有问题。
    可以采取多种措施 减少 出现该问题的概率或减小该问题带来的危害。
    • 限制最大路径距离为15(16表示不可达)
    • 当路由表发生变化时就立即发送更新报文(即 “触发更新”),而不仅是周期性发送
    • 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送(即 “水平分割”