计算机网络阅读笔记(四)网络层

计算机网络第四章阅读笔记

概述(网络层的三个重要功能)

转发(forwarding)

当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路

网际协议(IP),网络层编址,IPv4数据报格式,网络地址转换(NAT),数据报分段,因特网控制报文协议(ICMP),IPv6

路由选择(routing)

当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径。

两种流行算法(链路状态和距离矢量算法),等级制路由选择方法(因特网自治系统内部:RIP,OSPF,IS-IS;因特网自治系统之间:BGP),广播和多播的路由选择

连接建立(connection setup)

允许发送方和接收方建立所需的状态信息通过某种方式进行交流

ATM、帧中继、MPLS

虚电路和数据报网络

虚电路(Virtual-Circuit, VC)

仅在网络层提供连接服务的计算机网络

虚电路组成

  1. 源和目的主机之间的路径(一系列链路和路由器)
  2. VC号,沿着该路径的每段链路的一个号码
  3. 沿着该路径的每台路由器中的转发表表项

数据报网络(datagram network)

仅在网络层提供无连接服务的计算机网络

每台路由器有一个将目的地址映射到链路接口的转发表。根据最长前缀匹配规则进行转发

前缀匹配 链路接口
11001000 00010111 00010 0
11001000 00010111 00011000 1
11001000 00010111 00011 2
其他 3

路由器

输入端口

线路端接 数据链路处理 查找,转发,排队
. (协议,拆封) 根据转发表的副本查找输出端口(转发表由路由选择处理器计算和更新)

对于双向链路,其输入和输出端口在同一线路卡上成对出现

交换结构

  1. 经内存交换
  2. 经总线交换
  3. 经纵横式网络交换

输出端口

排队 数据链路处理 线路端接
(缓存管理) (协议,拆封) .

输出端口排队

分组调度程序(packet scheduler)

用于在排队的分组中选择一个来发送

例如:先来先服务调度(FCFS),加权公平排队(WFQ)

主动队列管理(Active Queue Management, AQM)

丢包:路由器缓存空间耗尽,无内存可用于存储到达的分组,造成分组被丢弃

主动队列管理:在缓存填满前便丢弃(或在首部加标记)一个分组,以便向发送方提供一个拥塞信号,例如:随机早期检测(Random Early Detection, RED)

输入端口排队

线路前部(Head-Of-the-Line, HOL)阻塞:在一个输入队列中排队的分组必须等待通过交换结构发送(即时输出端口是空闲的),因为它被位于线路前部的另一个分组所阻塞

网际协议

名词

  • IP数据报分片(ID,偏移,标志flag)
  • 子网(subnet)
  • 子网掩码(network mask)
  • 无类别域间路由选择(CIDR, Classless Interdomain Routing):因特网地址分配策略

IP地址分类

https://blog.csdn.net/liufangbaishi2014/article/details/51954437

IPv6变化

  • 扩大的地址容量:IPv6将IP地址长度从32位增加到128位,IPv6用8组16位来表示,4位数字用冒号分隔,比如2001:0db8:0000:0000:0000:ff00:0042:8329
  • 简化的首部:IPv6舍弃了许多原有的字段,使数据报能够更快更灵活的处理
  • 流标签和优先级

路由选择算法

p283-26

Step N’ D(t),p(t) D(u),p(u) D(v),p(v) D(w),p(w) D(y),p(y) D(z),p(z)
0 x 3,x 6,x 6,x 8,x
1 xv 7,v 6,v 3,x 6,x 6,x 8,x
2 xvu 7,v 6,v 3,x 6,x 6,x 8,x
3 xvuw 7,v 6,v 3,x 6,x 6,x 8,x
4 xvuwy 7,v 6,v 3,x 6,x 6,x 8,x
5 xvuwyt 7,v 6,v 3,x 6,x 6,x 8,x
6 xvuwytz 7,v 6,v 3,x 6,x 6,x 8,x

距离向量(Distance-Vector, DV)路由选择算法

p284-29

u v x y z
v
x
z 6 2 0
u v x y z
v 1 0 3 6
x 3 0 3 2
z 7 5 2 5 0
u v x y z
v 1 0 3 3 5
x 4 3 0 3 2
z 6 5 2 5 0
u v x y z
v 1 0 3 3 5
x 4 3 0 3 2
z 6 5 2 5 0

AS(Autonomous System)内部路由选择协议(内部网关协议)

路由选择信息协议(Routing Information Protocol, RIP)

  1. RIP是一种距离向量协议
  2. :从源路由器到目的子网(包括目的子网!)的最短路径所经过的子网数量
  3. RIP响应报文/RIP通告
  4. 使用UDP报文段进行传输

开放最短路优先(Open Shortest Path First, OSPF)

核心:使用洪泛链路状态信息的链路状态协议,Dijkstra最低费用路径算法

优点:

  1. 安全:能够鉴别OSPF路由器之间的交换
  2. 允许使用多条路径
  3. 对单播和多播路由选择的综合支持
  4. 支持单个路由选择域内的层次结构

AS(Autonomous System)间的路由选择:BGP(Border Gateway Protocol, 边界网关协议)

基础

关键词:

  1. BGP对等方:位于TCP连接端点的两台路由器
  2. 外部BGP会话:跨越两个AS的BGP会话
  3. 内部BGP会话:在同一个AS中的两台路由器之间的BGP会话
  4. 通过179端口的半永久TCP连接来交换路由选择信息
  5. 使用CDIR化的前缀(prefix)表示子网或者子网的集合

路由属性和BGP路由

  1. 自治系统号(Autonomous System Number, ASN):全局唯一标识一个自治系统
  2. 路由:带有BGP属性的前缀
  3. AS-PATH属性:包含前缀的通告已经通过的AS,用于检测和防止循环通告
  4. NEXT-HOP属性:是一开始某AS-PATH的路由器接口,用于正确配置转发表&TODO

BGP路由选择

根据一定的规则从多条路由中选择出一条,P266

路由选择策略

防止客户网络承担提供商网络之间的流量

防止主干提供商出现免费搭车的现象

广播路由选择算法

N次单播

无控制洪泛

缺陷:广播风暴

受控洪泛

序号控制洪泛(sequence-number-controlled flooding)

每个节点维护一个序号列表,在接收广播分组时先检查分组是否在列表中,如果在就丢弃该分组。

反向路径转发(Reverse Path Forwarding, RPF)

仅当分组到达的链路正好位于自己返回源的最短单播路径上

生成树广播

最小生成树:所有生成树中费用最小的生成树

节点不必知道整棵树,只需要知道哪些邻居是它在生成树中的邻居

基于中心的方法:节点向中心节点单播加入树报文

多播

问题

  1. 如何标识多播分组的接收方
  2. 如何为接收方的分组编址

因特网组管理协议(IGMP)

  1. 承载在IP数据报中,协议号为2
  2. membership_query, membership_report, leave_group

多播路由选择算法

使用一棵组共享树的多播路由选择

使用基于中心的方法构造多播路由选择树,与对应多播组相关的路由器才经过单播发送加入报文

使用一棵基于源的树的多播路由选择

使用RPF算法+剪枝

因特网中的多播路由选择

  1. 距离向量多播路由选择协议(Distance Vector Multicast Routing Protocol, DVMRP):反向路径转发+剪枝

  2. 协议无关的多播(Protocol Independent Multicast, PIM)路由选择协议:

    稠密模式:洪泛与剪枝反向路径转发技术,类似DVMRP

    稀疏模式:聚集点建立多播分发树

  3. 源特定多播(Source-Specific Multicast, SSM):发送给多播接收方的分组必须来自一个指定的源地址,限制了来源从而减少网络要求,提高了安全性

0%