第四章 网络层

网络层服务

主机到主机
核心功能:转发、路由、连接建立(并不是所有网络都需要的)
无连接服务:如数据报网络
连接服务:如虚电路网络

虚电路网络

每个分组的传输利用链路的全部带宽;
沿某条虚电路传输的分组,携带对应虚电路的VCID,而不是目的地址;
同一条VC,在每段链路上的VCID通常不同。路由器转发分组时依据转发表改写/替换虚电路号。
应用于虚电路网络如ATM、帧中继网络等。

每条虚电路包括:
从源主机到目的主机的一条路径
虚电路号(VCID),沿路每段链路一个编号
沿路每个网络层设备(如路由器),利用转发表记录经过的每条虚电路

虚电路信令协议

数据报网络

路由器根据分组的目的地址转发分组,每个分组独立选路。

最长前缀匹配优先:在检索转发表时,如果匹配成功两条以上或者多条入口的时候,优先选择与分组目的地址匹配前缀最长的入口(entry)。

数据报网络VS虚电路网络

数据报网络以Internet网络为例 VC网络以ATM为例
计算机之间的数据交换:“弹性”服务,没有严格时间需求 电话网络演化而来
链路类型众多:特点、性能各异;统一服务困难;效率低 核心业务是实时对话:严格的时间、可靠性需求;需要有保障的服务
智能”端系统(计算机):可以自适应、性能控制、差错恢复 “哑(dumb)”端系统(非智能):电话机、传真机
简化网络,复杂“边缘” 简化边缘,复杂“网络

Internet网络层概述

{ { R I P O S P F B G P I P 使 I C M P 网络层\begin{cases} 路由协议:路由选择,路由计算的信息存储在路由表\begin{cases} RIP \\OSPF \\BGP \end{cases} \\IP协议:使用路由表信息寻址规约;数据包格式;分组处理规约 \\ICMP协议:差错报告;路由器信令 \end{cases}

IP协议(主要是IPv4)

IP数据报分组格式

在这里插入图片描述

名称 解释
版本号 字段占4位,IP协议的版本号:4就是指IPv4,6就是指IPv6。
首部长度 字段占4位,IP分组首部长度。以4字节为单位。例:5→IP首部长度为20(5*4)字节
服务类型(TOS) 字段占8位,指示期望获得哪种类型的服务。1998年这个字段改名为区分服务;只有在网络提供区分服务(DiffServ)时使用;一般情况下不使用,通常IP分组的该字段(第2字节)的值为00H。
总长度 字段占16位,IP分组的总字节数(首部+数据)。最大IP分组的总长度:65535B;最小的IP分组首部:20B;IP分组可以封装的最大数据65535-20=65515B
标识 字段占16位,标识一个IP分组。IP协议利用一个计数器,每产生IP分组计数器加1,作为该IP分组的标识。
标志位 字段占3位,DF(Don’t Fragment),MF(More Fragment)。DF=1 禁止分片;DF=0 允许分片;MF=1 非最后一片;MF=0 最后一片。在这里插入图片描述
片偏移 字段占13位,一个IP分组分片封装原IP分组数据的相对偏移量。片偏移字段以8字节为单位
生存时间(TTL) 字段占8位,IP分组在网络中可以通过的路由器数(或跳步数)。路由器转发一次分组,TTL减1;如果TTL=0,路由器则丢弃该IP分组。
协议 字段占8位,指示IP分组封装的是哪个协议的数据包,实现复用/分解。例:如果协议字段的值为6,那么表示封装的是TCP段;17表示封装的是UDP数据报。
首部校验和 字段占16位,实现对IP分组首部的差错检测。逐跳计算、逐跳校验。
源IP地址、目的IP地址 字段各占32位,分别标识发送分组的源主机/路由器(网络接口)和接收分组的目的主机/路由器(网络接口)的IP地址
选项字段 长度可变,范围在1~40B之间:携带安全、源选路径、时间戳和路由记录等内容。实际上很少被使用。
填充 字段占长度可变,范围在0~3B之间:目的是补齐整个首部,符合32位对齐,即保证首部长度是4字节的倍数

IP分片

最大传输单元(MTU):链路层数据帧可封装数据的上限。不同链路的MTU不同。
大IP分组向较小MTU链路转发时,路由器可以将大的IP分组“分片”;IP分片到达目的主机后进行“重组”。
IP首部的相关字段用于标识分片以及确定分片的相对顺序:总长度、标识、标志位和片偏移
DF=1 禁止分片
DF=0 允许分片
MF=1 非最后一片
MF=0 最后一片

IP分片过程
假设原IP分组总长度为L,待转发链路的MTU为M;
若L>M,且DF=0,则可以/需要分片;
分片时每个分片的标识复制原IP分组的标识;
通常分片时,除最后一个分片,其他分片均分为MTU允许的最大分片;
一个最大分片可封装的数据应该是8的倍数,因此,一个最大分片可封装的数据为
d = M 20 8 8 d=\lfloor\frac{M-20}{8}\rfloor*8
需要的总片数为
n = L 20 d n=\lceil\frac{L-20}{d}\rceil
每片的片偏移字段取值为:
F i = d 8 ( i 1 ) , 1 i n Fi=\frac{d}{8}*(i-1),1\leqslant i \leqslant n
每片的总长度字段为:
L i { d + 20 , 1 i n L ( n 1 ) d , i = n Li\begin{cases} d+20,&1\leqslant i \leqslant n \\L-(n-1)d,&i=n \end{cases}
每片的MF标志位为:
M F i { 1 , 1 i < n 0 , i = n MFi\begin{cases} 1,&1\leqslant i < n \\0,&i=n \end{cases}
例:
在这里插入图片描述

IP编址

  • IP地址
    高位比特——网络号(NetID)
    低位比特——主机号(HostID)
  • 有类IP地址(Addresses)
有类地址 所占比例 Net ID+Host ID 范围
A类地址 50% 8位+24位 0.0.0.0~127.255.255.255
B类地址 25% 16位+16位 128.0.0.0~191.255.255.255
C类地址 12.5% 24位+8位 192.0.0.0~223.255.255.255
D类地址 6.25% 32位 224.0.0.0~239.255.255.255
E类地址 6.25% 32位 240.0.0.0~255.255.255.255

在这里插入图片描述

  • 特殊IP地址
  • 私有地址:只用于内部网络,在公共互联网上无效
    在这里插入图片描述
  • IP子网
    IP地址具有相同网络号的设备接口;
    不跨越路由器(第三及以上层网络设备)可以彼此物理联通的接口
    • 子网划分
      高位比特——网络号(NetID)
      原网络主机号部分比特——子网号(SubID)
      低位比特——主机号(HostID)
      在这里插入图片描述
    • 子网掩码
      作用:确定是否划分以及利用多少位划分子网。
      形式:如IP地址,32位,点分十进制形式。
      取值:NetID、SubID位全取1;HostID位全取0。
      应用:将IP分组的目的IP地址与子网掩码按位与运算,提取子网地址

在这里插入图片描述
2.
目的IP地址:172.32.1.112 , 子网掩码:255.255.254.0
172.32.1.112 = 10101100 00100000 00000001 01110000
255.255.254.0 = 11111111 11111111 11111110 00000000
                ---------------------------------------------------------------
                           10101100 00100000 00000000 00000000
                           172          32              0               0

子网地址:172.32.0.0(子网掩码:255.255.254.0)
地址范围:172.32.0.0~172.32.1.255
可分配地址范围:172.32.0.1~172.32.1.254
广播地址:172.32.1.255

CIDR(另一种IP编址)

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

优点:
1.可以提高IPv4地址空间分配效率
2.提高路由效率:将多个子网聚合为一个较大的子网,构造超网(supernetting);路由聚合。

DHCP协议(Dynamic Host Configuration Protocol)

  • 从服务器动态获取:
    IP地址
    子网掩码
    默认网关地址
    DNS服务器名称与IP地址
  • “即插即用”
  • 允许地址重用
  • 支持在用地址续租
  • 支持移动用户加入网络
  • DHCP协议在应用层实现
  • 默认网关:一台主机如果找不到可用的网关,就把数据报发给默认指定的网关,由这个网关来处理。现在主机使用的网关,一般是指默认网关。
  • 工作过程:
    主机广播”DHCP discovver” (发现报文);
    DHCP服务器利用“DHCP offer”(提供报文)进行相应;
    主机请求IP地址:“DHCP request”(请求报文):依然用广播域是为了告诉其他服务器收回预分配的地址;
    DHCP服务器分配IP地址:“DHCP ack”(确认报文):包括分配给客户的IP地址、子网掩码、默认网关、DNS服务器地址。
    如示意图:
    在这里插入图片描述

NAT

  • 网络地址转换(使私有地址可以在公共网络上成功通信)
  • 实现
    替换:利用(NAT IP地址,新端口号)替换每个外出IP数据报的(源IP地址,源端口号)
    记录:将每对(NAT IP地址,新端口号)与(源IP地址,源端口号)的替换信息存储到NAT 转换表中
    替换:根据NAT转换表,利用(源IP地址,源端口号)替换每个进入内网IP数据报的(目 的IP地址,目的端口号),即(NAT IP地址,新端口号)
  • NAT穿透问题
    1.静态配置NAT,将特定端口的连接请求转发给服务器;
    2.利用UPnP互联网网关设备协议IGD自动配置;
    3.中继(如Skype):
    NAT内部的客户与中继服务器建立连接
    外部客户也与中继服务器建立 连接
    中继服务器桥接两个连接的分组

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

  • 功能:差错(或异常)报告;网络探询
  • 报文类型:
    • 差错报告报文(5种)
      目的不可达
      源抑制
      超时/超期
      参数问题
      重定向
    • 网络探询报文(2组)
      回声请求与应答报文
      时间戳请求与应答报文
  • 几种不发送ICMP差错报告报文的特殊情况:
    对ICMP差错报告报文不再发送ICMP差错报告报文;
    除第一个IP数据报分片外,对所有后续分片均不发送ICMP差错报告报文;
    对所有多播IP数据报均不发送ICMP差错报告报文;
    对具有特殊地址(如127.0.0.0或0.0.0.0)的IP数据报不发送ICMP差错报告报文;
  • 几种ICMP报文已不再使用:
    信息请求与应答报文;
    子网掩码请求和应答报文;
    路由器询问和通告报文;
  • ICMP报文封装到IP数据报中进行传输
    在这里插入图片描述
  • ICMP差错报告报文数据封装
    在这里插入图片描述

IPv6简介

数据报格式

固定长度40字节基本首部,不允许分片。
在这里插入图片描述
在这里插入图片描述
优先级:标识数据报的优先级
流标签:标识同一流中的数据报。根据不同流标签提供不同服务。
下一个首部:标识下一个选项首部或上层协议首部,如TCP首部

IPv6 与 IPv4的对比

IP v6特点如下:
校验和:彻底移出,以减少每跳处理时间
选项:允许,但是从基本首部移出,定义多个选项首部,通过“下一个首部”字段指示
ICMPv6:新版ICMP(多播组管理功能)
不允许分片
灵活的首部格式
支持更多的服务类型
地址长度为128bit
首部必须是8B的整数倍
简化了报文头部格式(8个域,IPv4 12个),加快报文转发,提高了吞吐量

IPv6地址表示形式

一般形式:1080:0:FF:0:8:800:200C:417A
压缩形式: FF01:0:0:0:0:0:0:43 压缩→FF01::43
IPv4-嵌入形式: 0:0:0:0:0:FFFF:13.1.68.3 或 ::FFFF:13.1.68.3
地址前缀: 2002:43c:476b::/48 (注: IPv6不再使用掩码!)
URLs: http://[3FFE::1:800:200C:417A]:8000

IPv6基本地址类型

在这里插入图片描述

IPv4向IPv6过渡

隧道(tunneling):IPv6数据报作为IPv4数据报的载荷进行封装,穿越IPv4网络

在这里插入图片描述

例题

在这里插入图片描述
在这里插入图片描述
答:
(1)
在这里插入图片描述
可分配地址:126个
202.118.1.1-202.118.1.126
202.118.1.129-202.118.1.254
(2)
在这里插入图片描述
(3)
\color{blue}{聚合要求:地址连续;下一跳接口相同}
在这里插入图片描述

路由算法

链路状态路由算法

  • Dijkstra算法

距离-向量路由算法

  • Bellman-Ford方程(动态规划)
    *无穷计数问题解决方案
    • 毒性逆转
    • 定义最大度量

层次路由

  • 聚合路由器为一个区域:自治系统AS
  • 同一AS内的路由器运行相同的路由协议(算法)
    ·自治系统内部路由协议(intra-AS),也叫内部网关协议(IGP)
    ·不同自治系统内的路由器可以运行不同的AS内部路由协议
  • 网关路由器:
    ·位于AS“边缘”
    ·通过链路连接其他AS的网关路由器
    .热土豆路由:最近的网关路由

AS内部路由协议

路由信息协议:RIP(Routing Information Protocol)
  • 距离向量路由算法
  • 距离度量:跳步数 (max = 15 hops), 每条链路1个跳步
  • 每隔30秒,邻居之间交换一次DV,成为通告(advertisement)
  • 每次通告:最多25个目的子网(IP地址形式)
  • RIP路由表的处理
    1.RIP路由表是利用一个称作route-d的应用层进程进行管理
    2.应用进程实现
    3.通告报文周期性地通过UDP数据报发送
开放最短路径优先:OSPF(Open Shortest Path First)
  • 采用链路状态路由算法
  • OSPF通告在整个AS范围泛洪 ,OSPF报文直接封装到IP数据报中.
  • 与OSPF极其相似的一个路由协议:IS-IS路由协议
  • OSPF优点(与RIP对比):
    • 安全(security): 所有OSPF报文可以被认证 (预防恶意入侵)
    • 允许使用多条相同费用的路径 (RIP只能选一条)
    • 对于每条链路,可以针对不同的TOS设置多个不同的费用度量 (e.g., 卫星链路可以针对“尽力” (best effort) ToS设置“低”费用;针对实时ToS设置“高”费用)
    • 集成单播路由与多播路由: 多播OSPF协议(MOSPF) 与OSPF利用相同的网络拓扑数据
    • OSPF支持对大规模AS分层
      两层分级:局部域(Area)、主干区(Backbone)
      区边界路由器
      主干路由器
内部网关路由协议:IGRP(Interior Gateway Routing Protocol)

Cisco私有协议 .

AS间路由协议

BGP
  • BGP为每个AS提供了一种手段
    eBGP: 从邻居AS获取子网可达性信息.
    iBGP: 向所有AS内部路由器传播子网可达性信息.
    基于可达性信息与策略,确定到达其他 网络的 “好"路径.

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

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

  • 当路由器获得新的前缀可达性时,即在其转发表中增加关于该前缀的入口(路由项)

  • 通告的前缀信息包括BGP属性
    前缀+属性= “路由”

    两个重要属性:
    AS-PATH(AS路径): 包含前缀通告所经过的AS序列: e.g., AS 67, AS 17
    NEXT-HOP(下一跳): 开始一个AS-PATH的路由器接口,指向下一跳AS. (可能从当前AS到下一跳AS存在多条链路 )

  • BGP路由选择
    网关路由器收到路由通告后,利用其输入策略(import policy)决策接受/拒绝该路由 。

    路由器可能获知到达某目的AS的多条路由,基于以下准则选择:
    1.本地偏好(preference)值属性: 策略决策(policy decision)
    2.最短AS-PATH
    3.最近NEXT-HOP路由器: 热土豆路由(hot potato routing)
    4.附加准则

  • 桩网络(stub network/AS): 只与一个其他AS相连

  • 双宿网络(dual-homed network/AS): 连接两个其他AS

  • 采用不同AS内与AS间路由协议

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

猜你喜欢

转载自blog.csdn.net/qq_37692969/article/details/84433849