计算机网络网络层知识概括

111 阅读23分钟

@TOC

网络层概述

网络层概述:

  • 从发送主机向接收主机传 送数据段(segment)
  • 发送主机:将数据段封装 到数据报(datagram)中
  • 接收主机:向传输层交付 数据段(segment)
  • 每个主机和路由器都运行 网络层协议
  • 路由器检验所有穿越它的 IP数据报的头部域,决策如何处理IP数据报

网络层核心功能:

  • 转发(forwarding): 将分组从路由器的输入端口转移到合适的输出端口
  • 路由(routing): 通过路由算法确定分组从源到目的经过的路径
  • 连接建立 ①数据分组传输之前两端主机需要首先建立虚拟/逻辑连接 ②网络设备(如路由器)参与连接的建立 ③ 网络层连接与传输层连接的对比: 1、网络层连接: 两个主机之间 (路径上的路由器等网络设备参与其中) 2、传输层连接: 两个应用进程之间(对中间网络设备透明)

网络层服务模型:

  • 无连接服务(connection-less service): ①不事先为系列分组的传输确定传输路径 ② 每个分组独立确定传输路径 ③ 不同分组可能传输路径不同 ④数据报网络(datagram network )
  • 连接服务(connection service): ①首先为系列分组的传输确定从源到目的经过的路径(建立连接) ② 然后沿该路径(连接)传输系列分组 ③ 系列分组传输路径相同 ④ 传输结束后拆除连接 ⑤ 虚电路网络(virtual-circuit network )

虚电路网络

数据报(datagram)网络与虚电路(virtual-circuit)网络是典型两类分组交换网络

  • 数据报网络提供网络层无连接服务
  • 虚电路网络提供网络层连接服务

类似于传输层的无连接服务(UDP)和面向连接服务(TCP),但是网络层服务:

  • 主机到主机服务
  • 网络核心实现

虚电路:一条从源主机到目的主机,类似于电路的路径(逻辑连接):

  • 分组交换
  • 每个分组的传输利用链路的全部带宽
  • 源到目的路径经过的网络层设备共同完成虚电路功能
  • 通信过程: 呼叫建立(call setup)→数据传输→拆除呼叫
  • 每个分组携带虚电路标识(VCID),而不是目的主机地址
  • 虚电路经过的每个网络设备(如路由器),维护每条经过它的虚电路连接状态
  • 链路、网络设备资源(如带宽、缓存等)可以面向VC进行预分配

VC具体实现:

  • 每条虚电路包括: ①从源主机到目的主机的一条路径 ②虚电路号(VCID), 沿路每段链路一个编号 ③ 沿路每个网络层设备(如路由器),利用转发表记录经过的每条虚电路
  • 沿某条虚电路传输的分组,携带对应虚电路的VCID,而不是目的地址
  • 同一条VC ,在每段链路上的VCID通常不同

虚电路信令协议(signaling protocols):

  • 用于VC的建立、维护与拆除 路径选择
  • 应用于虚电路网络 如ATM、帧中继(frame-relay)网络等
  • 目前的Internet不采用

数据报网络

数据报网络概述:

  • 网络层无连接
  • 每个分组携带目的地址
  • 路由器根据分组的目的地址转发分组: ①基于路由协议/算法构建转发表 ② 检索转发表 ③每个分组独立选路

最长前缀匹配优先:

  • 在检索转发表时,优先选择与分组目的地址匹配前缀最长的入口(entry)。

数据报网络 or VC网络? Internet (数据报网络) :

  • 计算机之间的数据交换 ①“弹性”服务,没有严格时间需求
  • 链路类型众多 ①特点、性能各异 ② 统一服务困难
  • “智能”端系统 (计算机) ①可以自适应、性能控制、差错恢复
  • 简化网络, 复杂“边缘”

ATM (VC网络) :

  • 电话网络演化而来
  • 核心业务是实时对话: ① 严格的时间、可靠性需求 ②需要有保障的服务
  • “哑(dumb)” 端系统 (非智能) ① 电话机 ② 传真机
  • 简化“边缘”, 复杂网络

IP协议

在这里插入图片描述

IP数据报

在这里插入图片描述 生存时间(TTL)字段占8位:

  • IP分组在网络中可以通过的路由器数(或跳步数)
  • 路由器转发一次分组,TTL减1
  • 如果TTL=0,路由器则丢弃该IP分组

首部校验和字段占16位:

  • 实现对IP分组首部的差错检测
  • 计算校验和时,该字段置全0
  • 采用反码算数运算求和,和的反码作为首部校验和字段
  • 逐跳计算、逐跳校验

IP分片

  • 网络链路存在MTU (最大传输单元)—链路层数据帧可封装数据的上限
  • 大IP分组向较小MTU链路转发时,可以被“分片” (fragmented)
  • 1个IP分组分为多片IP分组
  • IP分片到达目的主机后进行“重组”(reassembled)

IP编址

IP分组:

  • 源地址(SA)-从哪儿来
  • 目的地址(DA)-到哪儿去

接口(interface):

  • 主机/路由器与物理链路的连接
  • 实现网络层功能
  • 路由器通常有多个接口
  • 主机通常只有一个或两个接口 (e.g.,有线的以太网接口,无线的802.11接口)

IP地址: 32比特(IPv4)编号标识主机、路由器的接口

IP地址:

  • 网络号(NetID) – 高位比特
  • 主机号(HostID) – 低位比特 在这里插入图片描述

IP子网:

  • IP地址具有相同网络号的设备接口
  • 不跨越路由器(第三及以上层网络设备)可以彼此物理联通的接口

有类IP地址

有类编址: 在这里插入图片描述 特殊IP地址: 在这里插入图片描述 私有(Private)IP地址: 在这里插入图片描述 环回地址 127.0.0.1: 严格来说127.0.0.1只是环回地址之一。所有127.x.x.x都是环回地址。从127.0.0.0 到 127.255.255.255 均予以保留。此地址块中的任何地址都将环回到本地主机中。此地址块中的任何地址都绝不会出现在任何网络中。 环回地址:所有发往该类地址的数据包都应该被 loop back。正常的网络包从IP层进入数据链路层,然后发送到网络上, 而发向loopback地址的包,直接在IP层短路了,也就是发到IP层的包直接被IP层接收了,不再向下发送。 环回地址主要用来做回环测试,通过使用ping 127.0.0.1 测试某台机器上的网络设备,操作系统或者TCP/IP实现是否工作正常。

任何地址 0.0.0.0: 0.0.0.0 不能ping通。0.0.0.0就是任何地址IP_ADDR_ANY,任何地址的意思就是包括环回地址。 任何地址IP_ADDR_ANY的意思也就是,不管主机有多少个网口,多少个IP,如果监听本机的0.0.0.0上的端口,就等于监听机器上的所有IP端口。数据报的目的地址只要是机器上的一个IP地址,就能被接受。

IP子网划分与子网掩码

为什么要划分子网? IPv4地址如果只使用有类(A、B、C类)来划分,会造成大量的浪费或者不够用,为了解决这个问题,可以在有类网络的基础上,通过对IP地址的主机号进行再划分,把一部分划入网络号,就能划分各种类型大小的网络了。

IP地址:

  • 网络号(NetID) – 高位比特
  • 子网号(SubID) – 原网络主机号部分比特
  • 主机号(HostID) – 低位比特

子网掩码:

  • 子网地址+子网掩码→准确确定子网大小
  • 将IP分组的目的IP地址与子网掩码按位与运算,提取子网地址
  • 形如IP地址: ①32位 ② 点分十进制形式
  • 取值: ① NetID、SubID位全取1 ② HostID位全取0

IP.e.g

一e.g: 在这里插入图片描述 把三级IP地址的子网掩码和收到的数据报的目的IP地址145.13.3.10逐位相与运算,就立即得出网络地址来。 归纳上述要点:从网络145.13.0.0外面看,这就是一个普通的B类网络,其子网掩码为16个1后面跟16个0.但进入网络之后还有许多网络,其网络地址是145.13.x.0,在这个B类网络的外面和里面。看到的网络是不一样的。 现在互联网的标准规定:所有的网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。 A类地址的默认子网掩码:255.0.0.0 B类地址的默认子网掩码:255.255.0.0 C类地址的默认子网掩码:255.255.255.0 例题: 已知IP地址是141.14.72.24,子网掩码是255.255.192.0。试求网络地址。 解:子网掩码是11111111 11111111 11000000 00000000 掩码的前两个字节全是1,因此网络地址的前两个字节可写为141.14。子网掩码的第四字节是全0,因此网络地址的第四字节是0。 在这里插入图片描述 如果把上例中的子网掩码改为255.255.224.0,同样方法所得网络地址仍为141.14.64.0. 由此可说明:同样的IP地址和不同的子网掩码可以得出相同的网络地址,但是不同的掩码效果是不同的。

二e.g: 在这里插入图片描述 IP地址:201.2.3.192是个C类网络。前24位是网络地址。 子网掩码:255.255.255.192转换为10进制。 计算得出子网号占两位,因此通过计算2的2次方得出可以分出4个子网。

在这里插入图片描述

三e.g: 在这里插入图片描述 在这里插入图片描述

  • 要解答这些问题,先看一个日常生活中的例子.如图2所示,住在北大街的住户要能互相找到对方,必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街+XX号.假如1号住户要找6号住户,过程是这样的,1号在大街上喊了一声:"谁是6号,请回答.",这时北大街的住户都听到了,但只有6号作了回答,这个喊的过程叫"广播",北大街的所有用户就是他的广播范围,假如北大街共有20个用户,那广播地址就是:北大街 21号.也就是说,北大街的任何一个用户喊一声能让"广播地址-1"个用户听到.
  • 从这个例中可以抽出下面几个词: 街道地址:北大街,如果给该大街一个地址则用第一个住户的地址-1,此例为:北大街0号 住户的号:如1号,2号等. 住户的地址:街道地址+XX号,如北大街 1号,北大街 2号等 广播地址:最后一个住户的地址+1,此例为:北大街21号
  • Internet网络中,每个上网的计算机都有一个像上述例子的地址,这个地址就是IP地址,是分配给网络设备的门牌号,为了网络中的计算机能够互相访问,IP地址=网络地址+主机地址,图1中的IP地址是192.168.100.1,这个地址中包含了很多含义.如下所示: 网络地址(相当于街道地址): 192.168.100.0 主机地址(相当于各户的门号): 0.0.0.1 IP地址(相当于住户地址): 网络地址+主机地址=192.168.100.1 广播地址: 192.168.100.255

CIDR与路由聚合

CIDR详解:

  • 无类域间路由(CIDR: Classless InterDomain Routing)
  • 消除传统的 A 类、B 类和 C 类地址界限
  • NetID+SubID→Network Prefix (Prefix)可以任意长度
  • 融合子网地址与子网掩码,方便子网划分
  • 无类地址格式:a.b.c.d/x,其中x为前缀长度

无类域间路由(CIDR: Classless InterDomain Routing)作用:

  • 提高IPv4 地址空间分配效率
  • 提高路由效率
  • 将多个子网聚合为一个较大的子网
  • 构造超网(supernetting)
  • 路由聚合

划分超网:

  • 划分超网:将多个小网合并一个大网,主机ID向网络ID借位 例子:将以下几个小网合并成大网 220.78.168.0/24 220.78.10101 000.0/24 220.78.169.0/24 220.78.10101 001.0/24 220.78.170.0/24 220.78.10101 010.0/24 220.78.171.0/24 220.78.10101 011.0/24 220.78.172.0/24 220.78.10101 100.0/24 220.78.173.0/24 220.78.10101 101.0/24 220.78.174.0/24 220.78.10101 110.0/24 220.78.175.0/24 220.78.10101 111.0/24

路由聚合:

  • 层级编址使得路由信息通告更高效。
  • 选用更具体的路由:最长前缀匹配优先。

网关

  • 网关就是一个网络连接到另一个网络的“关口”,实质上是一个网络通向其他网络的IP地址。

  • 比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络A向网络B转发数据包的过程。

  • 所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。在和 Novell NetWare 网络交互操作的上下文中,网关在 Windows 网络中使用的服务器信息块 (SMB)协议以及NetWare网络使用的 NetWare 核心协议 (NCP) 之间起着桥梁的作用。网关也被称为 IP路由器。

  • 默认网关:一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。

总结:

  • 有类网络:也叫主类网络或标准网络,就是指把IP地址能归结到的A类、B类、C类IP,使用的是标准的默认子网掩码。
  • 无类网络:相对于有类网络,无类网络IP地址的掩码是变长的。在有类网络的基础上,拿出一部分主机ID作为子网ID。
  • 超网:把多个小网络组合成一个大网络,称为超网(SuperNetting),也可以说子网掩码长度小于相对应的有类网络的叫超网。
  • 子网:有类网络划分成更小后的网络,称为子网(Subnet),也可以说子网掩码长度大于相对应的有类网络的叫子网。
  • 广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址。在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机。例如,对于10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为2 进制的11111111 ),当发出一个目的地址为10.1.1.255 的分组(封包)时,它将被分发给该网段上的所有计算机。
  • “255.255.255.255” 是一种受限的广播地址,常用于在计算机不知道自己IP地址的时候发送,然后在返回目标的地址给发送广播的设备获取目标IP,比如设备启动时向DHCP服务器索要地址等等,一般情况下,路由器不会转发目标为受限广播地址的广播包。而且,有些路由器/Wi-Fi热点不支持该广播地址(例如:用Android手机做Wi-Fi热点的时候),因此在程序中会出现“ENETUNREACH (Network is unreachable)”的异常,因此,为了保证程序成功发送广播包,建议使用直接广播地址,例如:当前IP地址是 192.168.1.100,子网掩码是 255.255.255.0 的情况下,广播地址为:192.168.1.255,(具体的推算方法这里就不展开了,可以参考计算机网络相关书籍)。

localhost,127.0.0.1 和 本机IP 三者的区别

localhost、127.0.0.1和本机IP的区别如下:

  • 1、首先 localhost 是一个域名,在过去它指向 127.0.0.1 这个IP地址。在操作系统支持 ipv6后,它同时还指向ipv6 的地址 [::1] 。 在 Windows 中,这个域名是预定义的,从 hosts 文件中可以看出:在这里插入图片描述而在 Linux 中,其定义位于 /etc/hosts 中:在这里插入图片描述 注意这个值是可修改的,比如把它改成192.068.206.1,还是可以ping通。
  • 2、127.0.0.1 这个地址通常分配给 loopback 接口。loopback是一个特殊的网络接口(可理解成虚拟网卡),用于本机中各个应用之间的网络交互。只要操作系统的网络组件是正常的,loopback就能工作。Windows 中看不到这个接口,Linux中这个接口叫lo:在这里插入图片描述 可以看出 lo 接口的地址是 127.0.0.1。事实上整个 127.* 网段都算能够使用,比如你 ping 127.0.0.2 也是通的。 但是使用127.0.0.1作为loopback接口的默认地址只是一个惯例。 loopback接口是一种纯软件性质的虚拟接口。loopback接口创建后物理层状态和链路层协议永远处于up状态。loopback接口可以配置ip地址,为了节约ip地址,系统会自动给loopback接口的ip地址配置32位的子网掩码。loopback接口下也可以使用路由协议,可以收发路由协议报文。
  • 3、本机IP,确切地说,“本机地址”并不是一个规范的名词。通常情况下,指的是“本机物理网卡所绑定的网络协议地址”。由于目前常用网络协议只剩下了IPV4,IPX/Apple Tak消失了,IPV6还没普及,所以通常仅指IP地址甚至ipv4地址。

DHCP协议

如何获得IP地址?

  • “硬编码”:静态配置
  • 动态主机配置协议-DHCP: Dynamic Host Configuration Protocol ①从服务器动态获取: • IP地址 • 子网掩码 • 默认网关地址 • DNS服务器名称与IP地址 ② “即插即用” ③ 允许地址重用 ④ 支持在用地址续租 ⑤ 支持移动用户加入网络

动态主机配置协议(DHCP):

  • 主机广播 “DHCP discover”(发现报文)
  • DHCP服务器利用 “DHCP offer” (提供报文) 进行响应
  • 主机请求IP地址: “DHCP request” (请求报文)
  • DHCP服务器分配IP地址: “DHCP ack” (确认报文)

网络地址转换(NAT)

网络地址转换(NAT)的作用: 在这里插入图片描述 使用网络地址转换(NAT)的理由:

  • 只需/能从ISP申请一个IP地址------- IPv4地址耗尽
  • 本地网络设备IP地址的变更,无需通告外界 网络
  • 变更ISP时,无需修改内部网络设备IP地址
  • 内部网络设备对外界网络不可见,即不可直接寻址(安全)

网络地址转换(NAT)实现:

  • 替换: 利用(NAT IP地址,新端口号)替换每个外出IP数据报的(源IP地址,源端口号)
  • 记录: 将每对(NAT IP地址, 新端口号) 与(源IP地址, 源端口号)的替换信息存储到NAT转换表中
  • 替换: 根据NAT转换表,利用(源IP地址, 源端口号)替换每个进入内网IP数据报的(目的IP地址,目的端口号), 即(NAT IP地址, 新端口号)

NAT主要争议:

  • 路由器应该只处理第3层功能
  • 违背端到端通信原则 ①应用开发者必须考虑到NAT的存在,eg: P2P应用
  • 地址短缺问题应该由IPv6来解决

互联网控制报文协议(ICMP)

互联网控制报文协议 ICMP (Internet Control Message Protocol)支持主机或路由器:

  • 差错(或异常)报告
  • 网络探询

两类ICMP 报文:

  • 差错报告报文(5种) • 目的不可达 • 源抑制(Source Quench) • 超时/超期 • 参数问题 • 重定向 (Redirect)
  • 网络探询报文(2组) • 回声(Echo)请求与应答报文(Reply) • 时间戳请求与应答报文

IPv6

最初动机:

  • 32位IPv4地址空间已分配殆尽

其他动机:

  • 改进首部格式
  • 快速处理/转发数据报
  • 支持QoS

IPv6数据报格式:

  • 固定长度的40字节基本首部
  • 不允许分片
  • 地址长度128 位,分成8个部分每个部分16位,按16进制转换。

路由算法

关键问题: 源到目的(如u到z)的最小费用路径是什么? 路由算法: 寻找最小费用路径的算法

路由算法分类:

静态路由 vs 动态路由? 静态路由:

  • 手工配置
  • 路由更新慢
  • 优先级高

动态路由:

  • 路由更新快
  • 定期更新
  • 及时响应链路费用或网络拓扑变化

全局信息 vs 分散信息? 全局信息:

  • 所有路由器掌握完整的网络拓扑和链路费用信息
  • E.g. 链路状态(LS)路由算法(使用Dijkstra 算法)

分散(decentralized)信息:

  • 路由器只掌握物理相连的邻居以及链路费用
  • 邻居间信息交换、运算的迭代过程
  • E.g. 距离向量(DV)路由算法

层次路由

将任意规模网络抽象为一个图计算路由-过于理想化:

  • 标识所有路由器
  • “扁平”网络 (eg:扁平化概念的核心意义是:去除冗余、厚重和繁杂的装饰效果。而具体表现在去掉了多余的透视、纹理、渐变以及能做出3D效果的元素,这样可以让“信息”本身重新作为核心被凸显出来。同时在设计元素上,则强调了抽象、极简和符号化。)

——在实际网络(尤其是大规模网络)中,不可行!

网络规模:

  • 考虑6亿目的结点的网络
  • 路由表几乎无法存储!
  • 路由计算过程的信息(e.g. 链路状态分组、DV)交换量巨大,会淹没链路!

管理自治:

  • 每个网络的管理可能都期望自主控制其网内的路由
  • 互联网(internet) = 网络之网络(network of networks)

层次路由:

  • 聚合路由器为一个区域:自治系统AS(autonomous systems)
  • 同一AS内的路由器运行相同的路由协议(算法) ①自治系统内部路由协议(“intra-AS” routing protocol) ② 不同自治系统内的路由器可以运行不同的AS内部路由协议

网关路由器(gateway router):

  • 位于AS“边缘”
  • 通过链路连接其他AS的网关路由器

互连的AS: 在这里插入图片描述 转发表由AS内部路由算法与AS间路由算法共同配置:

  • AS内部路由算法设置AS内部目的网络路由入口(entries)
  • AS内部路由算法与AS间路由算法共同设置AS外部目的网络路由入口
  • 热土豆路由: 将分组发送给最近的网关路由器

路由器到底有没有运输层?

RIP协议

AS内部路由:

  • Internet采用层次路由
  • AS内部路由协议也称为内部网络协议IGP(interior gateway protocols)
  • 最常见的AS内部路由协议: ①路由信息协议:RIP(Routing Information Protocol) ② 开放最短路径优先:OSPF(Open Shortest Path First) ③内部网关路由协议:IGRP(Interior Gateway Routing Protocol) ④Cisco私有协议

RIP协议:

  • 早于1982年随BSD-UNIX操作系统发布
  • 使用距离向量路由算法 ①距离度量:跳步数 (max = 15 hops), 每条链路1个跳步 ② 每隔30秒,邻居之间交换一次DV,成为通告(advertisement) ③ 每次通告:最多25个目的子网(IP地址形式)

OSPF协议

OSPF (Open Shortest Path First):

  • 开放”: 公众可用
  • 采用链路状态路由算法 ①LS分组扩散(通告) ② 每个路由器构造完整的网络(AS)拓扑图 ③ 利用Dijkstra算法计算路由
  • OSPF通告中每个入口对应一个邻居
  • OSPF通告在整个AS范围泛洪 ① OSPF报文直接封装到IP数据报中
  • 与OSPF极其相似的一个路由协议:IS-IS路由协议

OSPF优点(RIP不具备) :

  • 安全(security): 所有OSPF报文可以被认证 (预防恶意入侵)
  • 允许使用多条相同费用的路径 (RIP只能选一条)
  • 对于每条链路,可以针对不同的TOS设置多个不 同的费用度量 (e.g., 卫星链路可以针对“尽力” (best effort) ToS设置“低”费用;针对实时ToS 设置“高”费用)
  • 集成单播路由与多播路由: ①多播OSPF协议(MOSPF) 与OSPF利用相同的 网络拓扑数据
  • OSPF支持对大规模AS分层(hierarchical)

BGP协议

Internet AS间路由协议: BGP:

  • 边界网关协议BGP (Border Gateway Protocol): 事实上的标准域间路由协议 ①将Internet “粘合”为一个整体的关键
  • BGP为每个AS提供了一种手段: ①eBGP: 从邻居AS获取子网可达性信息. ②iBGP: 向所有AS内部路由器传播子网可达性信息. ③ 基于可达性信息与策略,确定到达其他网络的 “好”路径.
  • 容许子网向Internet其余部分通告它的存在:“我在这儿!”.

BGP基础:

  • BGP会话(session): 两个BGP路由器 (“Peers”)交换BGP报文: ①通告去往不同目的前缀(prefix)的路径 (“路径向量(path vector)”协议) ②报文交换基于半永久的TCP连接

  • BGP报文: ① OPEN: 与peer建立TCP连接,并认证发送方 ② UPDATE: 通告新路径 (或撤销原路径) ③ KEEPALIVE: 在无UPDATE时,保活连接;也用于对OPEN请求的确认 ④NOTIFICATION: 报告先前报文的差错;也被用于关闭连接

BGP路由选择:

  • 网关路由器收到路由通告后,利用其输入策略(import policy)决策接受/拒绝该路由 ① e.g., 从不将流量路由到AS x ② 基于策略(policy-based) 路由
  • 路由器可能获知到达某目的AS的多条路由,基于 以下准则选择: ①本地偏好(preference)值属性: 策略决策(policy decision) ②最短AS-PATH ③最近NEXT-HOP路由器: 热土豆路由(hot potato routing) ④附加准则

为什么采用不同的AS内与AS间路由协议?

  • 策略(policy): ① inter-AS: 期望能够管理控制流量如何被路由,谁路由经过其网络等. ② intra-AS: 单一管理,无需策略决策
  • 规模(scale): ①层次路由节省路由表大小,减少路由更新流量 ②适应大规模互联网
  • 性能(performance): ① intra-AS: 侧重性能 ② inter-AS: 策略主导