前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >计算机网络 4 -网络层

计算机网络 4 -网络层

作者头像
Rikka
发布2022-01-20 10:05:48
6140
发布2022-01-20 10:05:48
举报
文章被收录于专栏:rikkarikka

概述

  • 网络层的主要任务: 实现网络互连, 进而实现数据报再各网络之间的传输
  • 要实现网络层任务, 需要解决以下的问题
    • 网络层向运输层提供怎样的服务 (“可靠传输” 还是 “不可靠传输”)
    • 网络寻址问题
    • 路由选择问题
      • 人工配置
      • 实现路由选择协议
  • 因特网使用 TCP/IP协议栈
  • TCP/IP协议栈的网络层使用网际协议IP, 是整个协议栈的核心协议, 常称为网际层

网络层提供的两层服务

面向连接的虚电路服务

  • 可靠通信由网络来保证
  • 必须建立网络层的连接—虚电路 VC(Virtual Circuit)
  • 通信双方沿着已经建立的虚电路发送分组
  • 目的主机的地址仅在连接建立阶段使用, 之后每个分组的首部都只需携带一条虚电路编号(构成虚电路的每一段链路都有一个虚电路编号)
  • 使用可靠传输的网络协议实现可靠传输
  • 通信结束后, 需要释放之前建立的虚电路

无连接的数据报服务

  • 可靠通信由用户主机来保证
  • 不需要建立网络层连接
  • 每个分组可以走不通的路径
  • 首部必须携带完整地址
  • 分组可能重复, 失序, 误码, 丢失
  • 网络本身不提供端到端的可靠传输服务, 路由器廉价
  • 因特网采用这种设计思想: 复杂网络处理功能置于因特网边缘, 相对简单的网络交付功能置于因特网核心

IP 地址

IPv4 地址概述

  • 分配给每一台主机(或路由器)的每一个接口
  • IPv4 地址的编址方法
    • 分类编址
    • 划分子网
    • 无分类编址
  • 32 比特不方便, 采用点分十进制表示方法

分类编址的 Ipv4 地址

注意事项

  • 只有 A,B,C 类地址可以分配给网络中的主机
  • 主机号全为 0 的是网络地址, 不能分配给主机或者路由器的各个接口
  • 主机号全为 1 的是广播地址, 不能分配给主机或者路由器的各个接口
A 类地址
B 类地址
C 类地址
练习题

查看答案 A

查看解析

0.0.0.0 是一个特殊的 IPv4 地址, 那个作为源地址使用, 表示”在本网络上的本主机”, 封装有 DHCP Discovery 报文的 IP 分组源地址使用 0.0.0.0

划分子网的 IPv4 地址

需求

随着网络发展, 主机数目不断增加, 并且需要将主机划分到独立的网络, 如果为新增的网络申请新的网络号会有以下弊端

  • 需要等待时间更多的费用
  • 增加其他路由器路由表记录的数量
  • 浪费原有网络中剩余的大量 IP 地址

解决方法——从主机号部分借用一部分作为子网号

子网掩码

32 bit 的子网掩码可以表明分类 IP 地址的主机号部分被借用了几个 bit 作为网络号

  • 使用连续的 bit 1 来对应网络号和子网号
  • 使用连续的 bit 0 对应主机号
  • 将划分子网的 IPv4 地址与相应的子网掩码做逻辑与运算就可以得到 IPv4 地址所在的子网的网络地址

划分子网的细节

默认的子网掩码是指未划分子网的情况下使用的子网掩码

  • A: 255.0.0.0
  • B: 255.255.0.0
  • C: 255.255.255.0

无分类编址的 IPv4 地址

  • 划分子网一定程度上解决了困, 但是没有充分利用 C 类网, IPv4 面临消耗殆尽的局面
  • IETF 提出采用无分类编址的方法解决 IP 地址紧张的局面, 同时成立 IPv6 工作组以彻底解决 IP 地址耗尽的问题
  • 无分类域间路由(Classless Inter-Domain Routing, CIDR)
    • CIDR 消除了传统的 A 类, B 类和 C 类地址, 以及划分子网的概念
    • CIDR 可以更加有效地分配 IPv4 的地址空间
  • CIDR 使用”斜线记法“, 或称 CIDR 记法, 斜线后面写网络前缀所占的比特数量
    • 举例: 128.14.35.7/20, 网络前缀占用 20 位, 主机编号占用 32 - 20 = 12 位
  • CIDR 实际上是将网络前缀都相同的连续的 IP 地址组成一个 “CIDR 地址块”
    • 只要知道其中一个地址, 就可以知道这个地址块的全部细节:
      • 包括最小地址, 最大地址, 地址数量, 聚合某类(A, B, C)网络的数量, 地址掩码(可继续称为子网掩码)

      举例: 给出 128.14.35.7/20 的全部细节 查看答案

聚合C类网: 用该地址中的地址数量/C类网的地址数量

  • 路由聚合(构造超网)
    • 两个路由器直接相连, 其中一个要将路由信息通告给另一个路由器, 就需要找共同前缀
      • 路由表中目的网络的共同前缀保持不变, 其余位取零, 就能得到聚合地址块
    • 网络前缀越长, 地址块越小, 路由越具体
    • 路由器转发分组时若有多条路有可选, 使用最长前缀匹配

IPv4 地址的应用规划

定长的子网掩码 (Fixed Length Subnet Mask, FLSM)
  • 从主机号部分借用 n 位作为子网号, 则可分配 2^n 个子网, 每个子网的主机数相同
    • 容易造成浪费
变长的子网掩码(Variable Length Subnet Mask, VLSM)

从例子来看:

假设申请到的地址快是 218.75.230.0/24, 每一台主机一个地址, 每个子网有一个网络地址一个广播地址, 每个路由器接口有一个地址

  • N1: 6 + 2 + 1 = 9; N2: 25 + 2 + 1 = 28; N3: 12 + 2 + 1=15;N4: 10 + 2 + 1 = 13; N5: 0 + 2 + 2 = 4;
  • 所以需要 3 个 /28 地址块, 1 个 /27 地址块, 1 个 /30 地址块
  • 从大到小, 按需分配, 每个子快只能选取块大小整数倍的地址作为起点, 以防止本该属于一个子网分配到下一个子网

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

重点放在 TCP/IP 协议栈的网际层发送和转发 IP 数据数据报的过程上, 以下内容省略了 ARP 和交换机自学习以及转发帧的过程

  • 同一网络中的主机: 直接交付
  • 不同网络中的主机: 间接交付, 通过路由器中转

间接交付

  • 将自己的 IP 地址与自己的子网掩码相与得到自己的网络地址, 将目的 IP 地址与自己的子网掩码相与得到目的网络地址 (如果在同一个网络, 两个网络地址相等)
  • 默认网关: 本网络中的主机要与其他网络中的主机进行通信, 就必须给他指定一个本网络的路由器, 这个路由器被称为默认网关. 默认网关帮助主机将 IP 数据报转发出去
  • 路由器转发过程
    1. 检查 IP 数据报首部是否出错
      • 出错: 丢弃, 告知源主机
      • 未出错: 进行转发
    2. 根据 IP 数据报的目的地址在路由表中查找匹配的条目: 通过依次将目的地址与路由表中的地址掩码相与来判断
  • 找到: 转发给条目中指定的下一跳
  • 没找到: 丢弃并告知源主机

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

举例: 静态路由配置以及默认路由, 特定路由

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

R2 本该将数据报转发给 R1 的接口 1,却错误地转发给了 R3 的接口 0, 导致了路由环路

  • 为了避免IP 数据报在路由环路中永久兜圈, IP 数据报的首部设有生存时间 TTL 字段. IP 数据报进入路由器后, TTL 字段的值减一, 若 TTL 的值为 0, 则丢弃

聚合了不存在的网络导致路由环路

解决方法: 设置黑洞路由

网络故障导致的路由环路

当 R1 直连网络 192.168.1.0/24 不可达的时候, 就会将路由表中的记录删除, 收到目的网络地址为 192.168.1.0/24 的数据报, 就会通过默认路由转发给 R2, 导致了环路

解决方法: 同样是设置黑洞路由

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 网络层提供的两层服务
    • 面向连接的虚电路服务
      • 无连接的数据报服务
      • IP 地址
        • IPv4 地址概述
          • 分类编址的 Ipv4 地址
            • A 类地址
            • B 类地址
            • C 类地址
            • 练习题
          • 划分子网的 IPv4 地址
            • 需求
            • 子网掩码
          • 无分类编址的 IPv4 地址
            • IPv4 地址的应用规划
              • 定长的子网掩码 (Fixed Length Subnet Mask, FLSM)
              • 变长的子网掩码(Variable Length Subnet Mask, VLSM)
          • IP 数据报的发送和转发过程
            • 间接交付
            • 静态路由配置及其可能产生的路由环路问题
              • 静态路由配置错误导致路由环路
                • 聚合了不存在的网络导致路由环路
                  • 网络故障导致的路由环路
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档