# 地址解析协议 ARP

  • 地址解析协议 ARP:IP 查询 MAC 地址,询问 / 回答机制。ARP 缓存表、ARP 欺骗、ARP 病毒、代理 ARP、反向 RARP
    yOlvFS.png(https://imgtu.com/i/yOlvFS)

# ARP 工作原理

  • 如果主机 A 向主机 B 发送数据,首先发送端主机(主机 A)检查自己的 ARP 缓存列表中是否有接收端主机信息,这个列表的生存周期为 300s,如没有则广播发送 ARP request (内容包括主机 A 的地址、MAC 地址), 接收端主机(主机 B)返回 ARP response 单播(内容包括主机 B 的 IP 地址、MAC 地址、主机 A 的 IP 地址、MAC 地址)并将发送端主机(主机 A)的 IP 和 MAC 映射关系缓存,而发送端主机(主机 A)收到 ARP response 后更新其 ARP 缓存表,并发送数据。

# ARP 缓存表

  • 每台主机或路由都维护一个 ARP 缓存,缓存中含有最近使
    用过的 | P 地址与物理地址的映射列表。
  • ARP 缓存的使用过程
    • 主机发送叩数据报需要获取目的主机的物理地址时,首先检查它的 ARP 缓存,如果 ARP 缓存中已经存在对应的映射表项,就可以直接从缓存中获取目的主机的物理地址
    • 只有当 ARP 缓存中不存在对应的映射表项时,才广播 ARP 请求。
  • 命令
    • 开始 ————> 运行 ————>cmd
    • 输入 arp -a-s/-d 等 ————> 回车
    • -a 是解析, -s 是绑定, -d 是删除

# 代理 ARP

  • 有路由器充当第三方代理,进行 ARP 请求 / 回答
  • ARP 协议的一个变种
  • 代理 ARP (ProxyARP)代表一组主机或一个子网实现 ARP
  • 当运行代理 P 的路由器收到子网 1 中某一主机查找子网 2(被代理子网)中某一主机的 | P 地址的 ARP 请求,该路由器代表子网 2 回送 ARP 应答。达到隐藏子网的目的。

dlarp

# 反向地址解析协议 RARP

  • 用 MAC 查找 IP,常用于无盘工作站,设备没有硬盘,无法记录 IP,刚启动时发送一个广播,用 MAC 去获取 IP。需要一台 RARP 服务器,记录 MAC 与 IP 的对应关系

# ARP 欺骗与 ARP 病毒

  • 假设向某一台主机发送伪装应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个 ARP 欺骗。例如,网管软件获取全网 MAC 地址。病毒伪装网关 MAC 收集信息

# 内部路由协议 RIP

  • 网络层路由协议:选择转发数据路径
  • 路由协议
    • 静态路由协议(手动设置)
    • 动态路由协议 (自动配置)
      • 内部网关协议(RIP)
        • 链路状态路由算法(OSPF)
        • 距离矢量路由算法
          • RIP
          • RIPv2
          • IGRP (国内几乎不用)
        • 增强型路由算法
          • EIGRP (国内几乎不用)
      • 外部网关协议(EGP)
        • EIG
        • BGP

# 路由信息协议 RIP

  • 距离矢量算法:

    • 计算跳数,最大 15 跳,16 跳不可达
    • 30s 更新、180s 不存在、240s 删除
      • 一个更新周期 30s, 更新、不存在、删除 —— 口诀 “168”
  • 支持等费用负载均衡和链路冗余,使用 UDP 的 520 端口

    • 负载均衡 :类似于高速公路的分流措施,把数据看成车流,传输的数据要平均分配到每条路径中
    • 链路冗余:有一个数据流,两个路径,数据只走一条路径,就产生链路冗余
    • 等费用,没条路径上的开销要相同,即设备和到达时间的开销

    rip

# RIP 的两个版本

  • RIP 适用于小型网络
RIPV1 RIPV2
有类不携带子网掩码 无类携带子网掩码
采用广播更新 采用组播 224.0.0.9 + 广播
周期性更新 30s 采用触发更新
不支持 VLSM、CIDR 支持 VLSM、CIDR
不提供认证 提供明文和 MD5 认证

# RIP 防止环路的方法

  1. 最大跳数:当一个路由条目发送出去会自加 1 跳,跳数最大为 16 跳,意味着不可达
  2. 水平分割:一条路由信息不回发送给信息的来源
  3. 反向毒化的水平分割:把从邻居学习到的路由信息设为 16 跳,再发送给那个邻居,更加安全
  4. 抑制定时器触发更新也可以防止环路

# 内部路由协议 OSPF

# 什么是 OSPF?

  • 开放最短路径优先协议 OSPF,链路状态算法,包括:连通、距离、时延、带宽等状态。Dijkstra 的 SPF 算法。触发更新、分层路由,支持大型网络

    ospf

# OSPF 区域类型

  • 主干区域(32 位)
    • Area 0.0.0.0Area 0 表示
区域类型 描述
主干区域 连接其他区域,都要经过主干区域,也接受任何路由信息
标准区域 接受任何路由信息
完全存根区域 只接受本区域内的路由信息,其他一概不接收(思科专用)
不完全存根区域 除接受本区域的路由信息,还接受类型 7 的

# OSPF 网络类型

OSPF 网络类型 特点 数据传输方式
点到点网络
(Point-to-Point)
有效邻居走势可以形成邻居关系 组播地址为 224.0.0.5 ,该地址称为 AIISPFRouters
点到多点网络
(Point-to-Multicast)
不选举 DR/BDR,可看作是多个 Point-to-Point 链路的集合 单播(Unicast)
广播型网络
(Broadcast)
选举 DR/BDR,所有路由器和 DR/BDR 交换信息。DR/BDR 不能被抢占。广播型网络有: 以太网TokenRingFDDI DR、BDR 组播到 224.0.0.5 ,DR、BDR 侦听 224.0.0.6 ,该地址称为 AIIDRouters
非广播型
(NBMA)
没有广播,需手动指定邻居,Hello 消息单播,NBMA 网络有 X.25、Frame Relay 和 ATM 单播
虚拟连接
(Virtual Link)
虚链路一旦建立,就不在发送 Hello 消息,通过一个非 Area0 连接到 Area0,一个非 Area0 连接 Area0 的两个分段骨干区域 单播

# OSPF 路由器分类

  • BR(骨干)

  • IR

  • ABR

  • ASBR

    ospflyq

# OSPF 五种报文类型

类型 报文类型 功能
1 Hello–建立外交关系 用于发现相邻的路由器
2 数据库描述 DBD–外交(数据)内容 表示发送者的链路状态数据库内容
3 链路状态请求 LSR–向对方请求消息 向对方请求链路状态信息
4 链路状态更新 LSU 向邻居路由器发送链路状态通告
5 链路状态 LSAck 对链路状态更新报文的应答
  • Hello 报文
    • 默认 10s(30s)更新一次,40s 失效,目的地址是 224.0.0.5 所有路由器。用于发现建立邻居、还用于选出区域内的指定路由器 DR 和备份指定路由器 BDR
    • 10s 是在点对点网络中
    • 30s 是在广播网络中,更新太频繁容易导致网络抖动

# 外部网关协议 BGP

# 什么是 BGP?

  • BGP,边界网关协议。是外部网关协议,存在于不同自治系统 AS 之间。寻找较好的路由策略
  • 通过 TCP 的 179 端口建立连接
  • 支持 VLSM 和 CIDR,是一种路径矢量协议
  • 目前最新版本 BGP4,BGP4 + 支持 IPV6

# BGP 的四种报文

报文类型 功能描述
打开(Open) 建立邻居关系–建立外交
更新(Update) 发送新的路由信息–更新外交信息
保持活动状态(keepalive) 对 Open 的应答 / 周期性的确认邻居关系–保持外交活动
通告(Notification) 报告检测到的错误–发布外交通告
  • Open 建立邻居,keepalive 周期性探测邻居存活
  • 每个自治系统都要选择至少一个路由器作为该自治系统的 “BGP 发言人”。增量更新、支持认证。可靠传输、防止环路。自治通信、策略选路。支持无类、支持聚合

# 域名与地址

# 域名系统 DNS

  • 域名系统 DNS (DomainNameSystem)是 Internet 上解决网上机器命名的一种系统,采用 C/S 模式服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
  • 域名系统使用 TCP 和 UDP 端口 53对于每一级域名长度的限制是 63 个字符,域名总长度则不能超过 253 个字符

# 名称解析方法

  • Hosts 表 :是一个没有扩展名的文本文件。其中存放一些常用的主机域名和其对应的 IP 地址映
    射,文件中每一行对应一个条目。
  • NIS 系统 :由 sun 公司开发的域名系统。用于中小型系统。
  • DNS 系统 :规定域名中的标号由英文字母和数字组合而成,每个标号不能超过 63 个字符,为方便记忆一般不超过 12 个字符。

# DNS 查询过程

  1. 本地解析 :客户机平时查询得到的 DNS 记录均保存在本地 DNS 缓存中,当有进程提出 DNS 查询时,DNS 客户端先使用本地缓存的信息来解析,如果可以解析则直接应答查询而不必向 DNS 服务器查询。本地解析有两个来源:Hosts 表和 DNS 缓存
  2. 直接解析 :如果本地解析不能找到 DNS 信息,则客户端向其所设定的 DNS 服务器发出查询请求,服务器收到请求后先检查本地配置区域中是否有所需查询信息,如果有则作出应答,如果没有,服务器则检能否通过其缓存的查询信息来解析,如果有则作出应答。
  3. 递归解析 :如果 DNS 服务器不能解析该查询信息,则服务器向上级 DNS 服务器查询,直到查询到该信息为止。(服务器默认配置)
  4. 迭代解析 :如果 DNS 服务器不能解析该查询信息,服务器不会向上级 DNS 服务器查询该信息,而是将上级 DNS 服务器地址告诉给客户端,有客户端向上级 DNS 服务器查询该信息

# DNS 对象类型与资源记录:

  • A :列出域名到 IP 地址的映射。
  • PTR :将地址转换为域名。
  • NS :指明区域中的所有域名服务器 (包括主域名服务器和辅助域名服务器)
  • MX :邮件交换。
  • CNAME :允许多个域名指向同一台服务器。
  • SOA :指明区域中的主域名服务器。

# 练习例题

  1. ARP 协议的作用是

    • 由 MAC 地址求 IP 地址
    • 由 IP 地址求 MAC 地址
    • 由 IP 地址查域名
    • 由域名查 IP 地址
  2. ARP 协议数据单元封装在 中传送

    • IP 分组
    • 以太帧
    • TCP 段
    • UDP 报文
  3. ARP 请求是采用 方式发送的

    • 单播
    • 组播
    • 广播
    • 点播
    • 广播发送,单播响应
  4. 为了解决 RIP 协议形成环路的问题,可以采用多种方法,下面列出的方法中效果最好的是

    • 不用把从一个邻居学习到的路由发送给那个邻居
    • 经常检查邻居路由器状态,以便及时发现断开的链路
    • 把从邻居学习到的路由设置为无限大,然后发送给那个邻居
    • 缩短路由更新周期,以便出现链路失效时尽快达到路由无限大
  5. OSPF 网络可以划分成多个区域,下面对区域描述错误的是

    • 区域可以被赋予 0-65535 中的任何编号
    • 单域 OSPF 网络必须配置为区域 1
    • 区域 0 被称为主干网
    • 分层的 OSPF 网络必须划分为多个区域
    • 配置为区域 0,必须的
  6. 在 BGP4 协议中, 报文给出了新的路由信息

    • 打开
    • 更新
    • 保持活动
    • 通告
  7. 边界网关协议 BGP4 被称为路径矢量协议,它传送的路由信息是由一个地址前缀后跟 组成

    • 一串 IP 地址
    • 一串自治系统编号
    • 一串路由器编号
    • 一串子网地址
  8. BGP4 的优点是

    • 防止域间路由循环
    • 可以及时更新路由
    • 便于发现最短通路
    • 考虑了多种路由度量因素
  9. OSPF 协议将其管理的网络划分为不同类型的若干区域,其中标准区域的特点是

    • 不接受本地 AS 之外的路由信息,也不接受其他区域的路由汇总信息
    • 不接受本地 AS 之外的路由信息,对本地 AS 之外的目标采用默认路由
    • 可以就接收任何链路更新信息和路由汇总信息
    • 可以学习其他 AS 的利欲熏心,对本地 AS 中的其他区域采用默认路由
  10. OSPF 协议将其管理的网络划分为不同类型的若干区域,存根区域(stub)的特点是

    • 不接受本地 AS 之外的路由信息,也不接受其他区域的路由汇总信息
    • 不接受本地 AS 之外的路由信息,对本地 AS 之外的目标采用默认路由
    • 可以就接收任何链路更新信息和路由汇总信息
    • 可以学习其他 AS 的利欲熏心,对本地 AS 中的其他区域采用默认路由