计算机网络补完计划-day5


CN 2024 D5

这部分内容看上去比mac层更多……害怕了,但还是得写

网络层

网络层服务

网络层实现端系统间多跳传输可达

发送端:将传输层数据单元封装在数据包中

接收端:解析接收的数据包中,取出传输层数据单元,交付给传输层

路由器:检查数据包首部,转发数据包

路由(控制面):选择数据报从源端到目的端的路径

核心:路由算法与协议

转发(数据面):将数据报从路由器的输入接口传送到正确的输出接口

Q:网络通信的可靠交付服务,谁来负责?

A:网络和端系统(网络层和传输层之间的协议)

Q:网络层应该向运输层提供怎样的服务?

A:“面向连接”(虚电路)OR“无连接“(数据报

无连接服务:

  • 网络层向上只提供简单灵活无连接的、尽最大努力交付的数据报服务
  • 发送分组时不需要先建立连接,每个分组独立发送
  • 数据报独立转发,相同源-目的的数据报可能经过不同的路径
  • 网络层不提供服务质量的承诺

传输网络不提供端到端的可靠传输服务:丢包、乱序、错误

优点:网络的造价大大降低,运行方式灵活,能够适应多种应用

面向连接服务(逻辑连接):

通信之间先建立逻辑连接:在此过程中,如有需要,可以预留网络资源

结合使用可靠传输的网络协议,保证所发送的分组无差错按序到达终点

注意,电路交换的电话通信是先建立了一条真正的物理连接

因此分组交换的虚连接和电路交换的连接只是类似,但并不完全相同

虚电路转发决策基于分组标签,即虚电路号

image.png

image.png

image.png

image.png

假设不考虑A的发送时延和链路传播时延,在3个转接节点的情况下,链路上的数据传输速率B bps,每个分组的长度P bit,每个分组的开销H bit,虚电路分组交换的呼叫建立时间S s,每个转接点的转接延迟时间D s,则:

虚电路分组交换总时延T=S+3[D+(P+H)/B]

数据报分组交换总时延T=3[D+(P+H)/B]

Internet网际协议

2.1 IPV4

网际协议版本4,一种无连接的协议,是互联网的核心,也是使用最广泛的网际协议版本,其后继版本为IPv6

internet协议执行两个基本功能:

  • 寻址(addressing)
  • 分片(fragmentation)

IPV4数据报格式(gy说不用记住严格的格式,但要理解每一部分的作用,我信他一次)

  • 版本:4bit,表示采用的IP协议版本
  • 首部长度:4bit,表示整个IP数据报首部的长度
  • 区分服务:8bit,该字段一般情况下不使用
  • 总长度:16 bit,表示整个IP报文的长度,能表示的最大字节为2^16-1=65535字节
  • 标识:16 bit,IP软件通过计数器自动产生,每产生1个数据报计数器加1;在ip分片以后,用来标识同一片分片
  • 标志:3bit,目前只有两位有意义;MF,置1表示后面还有分片,置0表示这是数据报片的最后1个;DF,不能分片标志,置0时表示允许分片
  • 片偏移:13 bit,表示IP分片后,相应的IP片在总的IP片的相对位置
  • **生存时间TTL(Time To Live)**:8bit,表示数据报在网络中的生命周期,用通过路由器的数量来计量,即跳数(每经过一个路由器会减1)
  • 协议:8bit,标识上层协议(TCP/UDP/ICMP…)
  • 首部校验和:16bit,对数据报首部进行校验,不包括数据部分
  • 源地址:32bit,标识IP片的发送源IP地址
  • 目的地址:32bit,标识IP片的目的地IP地址
  • 选项:可扩充部分,具有可变长度,定义了安全性、严格源路由、松散源路由、记录路由、时间戳等选项
  • 填充:用全0的填充字段补齐为4字节的整数倍

MTU(Maximum Transmission Unit):最大传输单元

分片策略:

  • 允许途中分片:根据下一跳链路的MTU实施分片
  • 不允许途中分片:发出的数据报长度小于路径MTU(路径MTU发现机制)

重组策略:

  • 途中重组,实施难度太大
  • 目的端重组(互联网采用的策略)
  • 重组所需信息:原始数据报编号、分片偏移量、是否收集所有分片

image.png

IPv4分组在传输途中可以多次分片: 源端系统,中间路由器(可通过标志位设定是否允许路由器分片)

IPv4分片只在目的IP对应的目的端系统进行重组

IPv4分片、重组字段在基本IP头部:标识、标志、片偏移

网络层报文基本功能:

  • 支持多跳寻路将IP数据报送达目的端:目的IP地址
  • 表明发送端身份:源IP地址
  • 根据IP头部协议类型,提交给不同上层协议处理:协议

其它相关问题:

  • 数据报长度大于传输链路的MTU的问题,通过分片机制解决:标识、标志、片偏移
  • 防止循环转发浪费网络资源(路由错误、设备故障…),通过跳数限制解决:生存时间TTL
  • IP报头错误导致无效传输,通过头部机校验解决:首部校验和

2.2 IP地址

网络上的每一台主机(或路由器)的每一个接口都会分配一个全球唯一的32位的标识符;

将IP地址划分为固定的类,每一类都由两个字段组成:

网络号相同的这块连续IP地址空间称为地址的前缀,或网络前缀

image.png

IP地址共分为A、B、C、D、E五类,A类、B类、C类为单播地址

IP地址的书写采用点分十进制记法,其中每一段取值范围为0到255

image.png

**子网划分(subnetting)**,在网络内部将一个网络块进行划分以供多个内部网络使用,对外仍是一个网络;

**子网(subnet )**,一个网络进行子网划分后得到的一系列结果网络称为子网

**子网掩码(subnet mask )**,与IP 地址一一对应,是32 bit 的二进制数,置1表示网络位,置0表示主机位

子网划分减少了IP 地址的浪费、网络的组织更加灵活、便于维护和管理

image.png

CIDR(Classless Inter-Domain Routing ):将32位的IP地址划分为前后两个部分,并采用斜线记法,即在IP地址后加上“/”,然后再写上网络前缀所占位数

e.g. 195.122.133.1/24

最长前缀匹配(Longest prefix match):CIDR可变长子网掩码以及路由聚合,需要最长前缀匹配来实现最精确匹配;

IP地址与IP前缀匹配时,总是选取子网掩码最长的匹配项;

主要用于路由器转发表项的匹配,也应用于ACL规则匹配等。

公有IP地址要求全球唯一

静态获取:申请固定IP地址,手工设定,如路由器、服务器

动态获取:使用DHCP协议或其他动态配置协议

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

  • 当主机加入IP网络,允许主机从DHCP服务器动态获取IP地址
  • 可以有效利用IP地址,方便移动主机的地址获取

DHCP服务不只返回客户机所需的IP地址,还包括:

• 缺省路由器IP地址

• DNS服务器IP地址

• 网络掩码

DHCP 工作过程

  1. DHCP 客户从UDP端口68以广播形式向服务器发送发现报文(DHCPDISCOVER)
  2. DHCP 服务器单播发出提供报文(DHCPOFFER)
  3. DHCP 客户从多个DHCP服务器中选择一个,并向其以广播形式发送DHCP请求报文(DHCPREQUEST)
  4. 被选择的DHCP服务器 单播发送确认报文(DHCPACK)

image.png

2.3 IP与MAC地址

image.png

2.4 ARP地址解析协议(Address Resolution Protocol)

IP数据包转发:从主机A到主机B→检查目的IP地址的网络号部分→确定主机B与主机A属相同IP网络→将IP数据包封装到链路层帧中,直接发送给主机B

如果A的ARP表中缓存有B的IP地址与MAC地址的映射关系,则直接从ARP表获取;

如果A的ARP表中未缓存有B的IP地址与MAC地址的映射关系,则A广播包含B的IP地址的ARP query分组;

在局域网上的所有节点都可以接收到ARP queryB接收到ARP query分组后,将自己的MAC地址发送给A;

A在ARP表中缓存B的IP地址和MAC地址的映射关系

工作过程图示:

image.png

路由到另一个局域网

  1. A创建IP数据包(源为A、目的为E)
  2. 在源主机A的路由表中找到路由器R的IP地址223.1.1.4
  3. A根据R的IP地址223.1.1.4,使用ARP协议获得R的MAC地址
  4. A创建数据帧(目的地址为R的MAC地址)
  5. 数据帧中封装A到E的IP数据包
  6. A发送数据帧,R接收数据帧

2.5 NAT

用于解决IPv4地址不足的问题,是一种将私有(保留)地址转化为公有IP地址的转换技术

  • 使用NAT时,ISP为一个network分配少量的IP地址,在这个network内部,每台计算机被分配唯一的一个IP地址。
  • 在数据包离开network并前往ISP之前,进行地址转换,将唯一的内部IP地址转换为共享的公共IP地址。
  • network内部分配的IP地址不能出现在互联网上,否则会引起混淆。
  • NAT box 将发回network的数据包中的公共IP地址替换为内部IP地址的方法:利用数据包内层的TCP和UDP端口。
  • 每个传出的TCP消息都包含源端口和目标端口。这些端口共同用于识别使用连接的两端进程。
    每当传出数据包进入NAT时,network内部的源地址被替换为公共IP地址。此外,TCP源端口字段被替换为NAT盒的65,536个条目转换表中的索引。该表的每条entry包含内部原始IP地址和原始源端口。
  • 必须替换源端口,因为内部的不同主机可能都恰好使用端口5000
  • 数据包传入NAT盒时,从TCP头中提取目标端口,以这个目标端口为索引查找并提取内部IP地址和原始TCP端口,并插入到数据包中,然后重新计算并插入IP和TCP校验和,再将数据包转发到内部network中。

NAT的优势:

  • 节省合法地址,减少地址冲突
  • 灵活连接Internet
  • 保护局域网的私密性

问题或缺点:

  • 违反了IP的结构模型,路由器处理传输层协议
  • 违反了端到端的原则
  • 违反了最基本的协议分层规则
  • 不能处理IP报头加密
  • 新型网络应用的设计者必须要考虑NAT场景,如P2P应用程序

2.6 ICMP

ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告

由主机和路由器用于网络层信息的通信

ICMP 报文携带在IP 数据报中:IP上层协议号为1

报文类型

ICMP 差错报告报文:终点不可达:不可达主机、不可达网络,无效端口、协议

ICMP 询问报文:回送请求/回答(ping使用)

image.png

image.png

PING (Packet InterNetGroper)

PING 用来测试两个主机之间的连通性, 使用了ICMP 回送请求与回送回答报文

traceroute会利用TTL超时的特性,将TTL从1开始每次递增1,这样路径中每个路由器都会依次向主机发送Time exceeded,从而获得每个路由器的IP地址

路由算法

路由算法须满足的特性:

正确性、简单性、鲁棒性、稳定性、公平性、有效性

根据路由算法是否随网络的通信量或拓扑自适应划分:静态路由选择策略(非自适应路由选择)、动态路由选择策略(自适应路由选择)

3.1 优化原则

汇集树(Sink Tree):所有的源节点到一个指定目标节点的最优路径的集合构成一棵以目标节点为根的树。

3.2 最短路径

定义:用于计算一个节点到其他所有节点的最短路径,主要特点是以起始点为中心向外逐层扩展,直到扩展到终点为止(Dijkstra算法)

3.3 距离向量路由

Bellman-Ford 方程

假设Dx(y) 是从x到y最小代价路径的代价值

则:Dx(y) = min {c(x,m) + Dm(y) }其中m为x的邻居, c(x,m)为m到X的距离

基本思想:

每个节点周期性地向邻居发送它自己到某些节点的距离向量;

当节点x接收到来自邻居的新DV估计,它使用B-F方程更新其自己的DV :

特点:迭代的、分布式的

A drawback of DV: It reacts rapidly to good news, but leisurely to bad news. known as the count-to-infinity problem.

Sol:Poisoned reverse (毒性逆转, RFC 1058)If C routes through B to get to A: C tells B its distance to A is infinite

3.4 链路状态路由

链路状态(Link State)路由可分为五个部分:

  • 发现邻居,了解他们的网络地址;

    image.png

  • 设置到每个邻居的成本度量;

    常用度量:链路带宽(反比)

    例如:1-Gbps以太网的代价为1,100-Mbps以太网的代价为10

    可选度量:延迟

  • 构造一个分组,分组中包含刚收到的所有信息;

    构造链路状态分组(link state packet)•发送方标识•序列号•年龄•邻居列表

  • 将此分组发送给其他的路由器;

    当一个新分组到达时,路由器根据记录判断:

    如果是新分组,洪泛广播;如果是重复分组,丢弃;如果是过时分组,拒绝。

  1. 计算到其他路由器的最短路径。

距离向量和链路状态算法比较

Comparison Aspect Distance Vector (DV) Link State (LS)
Information Exchange Only between neighbors Network-wide flooding
Information Reliability Second-hand information Direct measurement
Robustness Poor (results propagate) Good (independent calculation)
Convergence Speed Slow, count-to-infinity problem Fast
Computational Load Distributed computation Each router calculates independently

3.5 层次路由

由于过于庞大的路由表存储、查找困难,路由信息交互开销高,所以我们引入层次路由。

层次路由可以解决:

网络扩展性问题:当网络扩大时,控制路由表条目和路由表存储空间的增长

管理的自治问题:网络管理员可以控制和管理自己网络的路由

基本思想:互联网由大量不同的网络互连,每个管理机构控制的网络是自治的

自治系统(AS,Autonomous System):一个管理机构控制之下的网络

  • 一个AS内部通常使用相同的路由算法/路由协议,使用统一的路由度量(跳数、带宽、时延…)
  • 不同的AS可以使用不同的路由算法/路由协议
  • 每个AS有一个全球唯一的ID号:AS ID

自治系统内部使用内部网关路由协议,Interior Gateway Protocols (IGP)(例子:OSPF,RIP,IS-IS,IGRP,EIGRP……)

自治系统之间之间使用外部网关路由协议,Exterior Gateway Protocols (EGP)

image.png

3.6 广播路由

源主机同时给全部目标地址发送同一个数据包

方法:

  1. 给每个主机单独发送一个数据包:效率低、浪费带宽,Server需要知道每个目的地址
  2. 多目标路由(multi-destination routing):在需要转发的路由器线路复制一次该数据报,网络利用率高,但是Server依然需要知道所有的目的地址,难以实现
  3. 泛洪,一种将数据包发送到所有网络节点的简单方法。将每个进入数据包发送到除了进入线路外的每条出去线路

用途:保证性:一种有效广播手段,可确保数据包被传送到网络中每个节点。鲁棒性:即使大量路由器被损坏,也能找到一条路径(如果存在)。简单性:仅需知道自己的邻居。

无控制泛洪:可能出现广播风暴,不好

Sol:受控制的泛洪

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

①广播数据包X从接口1到达R

②R查看数据包来源S和广播序号n,比对R的序号表

③序号表中有该数据包的记录吗?是,丢弃(曾经已经收到并转发过)否,在序号表中记录,并在接口2和3转发

  1. 逆向路径转发(reverse path forwarding, RPF

假设R的路由表中表示了到达各网络的最优路径

①广播数据包X从接口1到达R

②R查看数据包来源S,比对R的路由表

③X的来源是N1吗?是,X是从最佳路径来的,向接口2和接口3转发;否,X是重复包,丢弃

  1. 生成树(spanning tree)
  • 源节点向所有属于该生成树的特定链路发送分组
  • 改进了逆向路径转发
  • 没有环路
  • 最佳使用带宽
  • 最少副本,消除了冗余分组
  • 一个路由器可以不必知道整颗树,只需要知道在一颗树中的邻居即可

3.7 组播路由

源主机给网络中的一部分目标用户发送数据包。

目标:

  • 为每个组建立多播转发树(到达该组所有成员的路径树)
  • 每个组成员应当只收到多播分组的一个拷贝
  • 非本组成员不应收到多播分组
  • 从源节点到每一个组成员节点的路径应当是最佳的(最短路径)

实现的两个步骤:

  1. 确定组成员:边缘路由器通过与主机交互,了解到从它的某个端口可以到达哪些组的成员——主机与路由器之间的组成员关系协议
  2. 生成树

(这部分某些班级似乎根本没怎么讲?那我跳了)

3.8 选播路由

将数据包传送给最近的一个组成员

在有多个服务器的情况下,用户希望快速获得正确信息,而不在乎从哪个服务器获得。与单播、广播、组播的区别

image.png

典型应用:DNS:在没有指定DNS服务器的情况下,用户将始终连接到“最接近”(从路由协议角度来看) 服务器,可以减少延迟,并提供一定程度的负载平衡

Internet路由协议

4.1 OSPF

采用分布式的链路状态算法

基本思想:

  • 向本自治系统中所有路由器洪泛信息
  • 发送的信息就是与本路由器相邻的所有路由器的链路状态
  • 只有当链路状态发生变化时路由器才用洪泛法发送此信息

链路状态就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric),包括费用、距离、时延、带宽等

由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库LSDB

这个数据库实际上就是区域内的拓扑结构图,它在区域内是一致的(这称为链路状态数据库的同步

OSPF-区域

  • OSPF支持将一组网段组合在一起,称为一个区域
  • 详细的描述拓扑结构的链路状态信息仅在区域内传递,区域间传递的是抽象的路由信息
  • 使用层次结构的区域划分,上层的区域叫做主干区域(backbone area),其他区域都必须与主干区域相连
  • 非主干区域之间不允许直接发布区域间路由信息
  • 区域也不能太大,在一个区域内的路由器最好不超过200个
  • 划分区域可以缩小LSDB规模,减少网络流量

OSPF的特点

  • 支持无类域间路由(CIDR)
  • 无路由自环
  • 收敛速度快
  • 使用IP组播收发协议数据
  • 支持多条等值路由
  • 支持协议报文的认证

4.2 RIP

基于距离矢量算法的协议

使用跳数衡量到达目的网络的距离:RIP认为一个好的路由就是它通过的路由器的数目少,即“距离短”。允许一条路径最多只能包含15个路由器

RIP协议的基本思想:仅和相邻路由器交换信息;路由器交换的内容是自己的路由表;周期性更新:30s

RIP协议的特点:

  • 算法简单,易于实现
  • 收敛慢
  • 需要交换的信息量较大

RIP主要适用于中小型网络。

4.3 BGP-外部网关路由协议

目前互联网中唯一实际运行的自治域间的路由协议.

功能

  • eBGP:从相邻的AS获得网络可达信息
  • iBGP:将网络可达信息传播给AS内的路由器
  • 基于网络可达信息和策略决定到其他网络的“最优”路由

BGP会话:两个BGP路由器通过TCP连接交换BGP报文

通告到不同网络前缀的路径,即路径向量协议

因此,路由器可能会学到多条到目的网络的路径

特点:

  • BGP 协议交换路由信息的结点数量级是自治系统数的量级
  • 每一个自治系统边界路由器的数目是很少的
  • 在BGP 刚刚运行时,BGP 的邻站是交换整个的BGP 路由表;以后只需要在发生变化时更新有变化的部分

BGP为每个AS提供:

  1. 从邻居AS获取网络可达信息( eBGP协议)
  2. 传播可达信息给所有的域内路由器( iBGP协议)
  3. 根据“可达信息”和“策略”决定路由

BGP通过TCP的179端口交换报文

包括:

  • Open报文:用于建立BGP对等体(peer)之间的会话连接,协商BGP参数(该过程需要认证)
  • Update报文:用于在对等体之间交换路由信息
  • Keepalive报文:用于保持BGP会话连接
  • Notification报文:用于差错报告和关闭BGP连接

从多个对等体收到针对同一目的IP的路由时,选择规则(重要程度从上到下依次降低):

  • 本地偏好值属性:政策决策
  • 最短的AS-PATH
  • 最近的NEXT-HOP路由器
  • 附加标准…
  • 最低路由器ID

路由器使用策略决定接受或拒绝接收到的路由通告;路由器也会基于策略决定是否向其他相邻AS通告路径信息。

4.4 标签交换和MPLS

MPLS (MultiProtocolLabel Switching)全称是多协议标签交换。

多协议表示在MPLS 的上层可采用多种协议,例如:IP,IPv6、IPX;标签是指每个分组被分配一个标签,路由器根据该标签对分组进行转发;交换是指标签的交换,MPLS 报文交换转发是基于标签的。

初衷:为了提升查找速度

应用:

  • 面向连接的服务质量管理
  • 流量工程,平衡网络负载
  • 虚拟专用网VPN

标签交换路由器LSR:具备标签交换、路由选择两种功能

MPLS 域:所有相邻的支持MPLS技术的路由器构成的区域

标签分配协议LDP:用来在LSR之间建立LDP 会话并交换Label/FEC映射信息

流程:加标签→标签交换→去标签

路由器工作原理

2个核心功能

控制层:运行各种路由协议:BGP、OSPF、RIP,学习去往不同目的的转发路径:路由表

数据层:根据上述路由表,将收到的IP分组转发到正确的下一跳链路

控制层

可运行多个路由协议,也可不运行任何协议

根据优先级选择最佳路由,形成核心路由表;

下发到数据层成为转发表

image.png

数据层

路由器中IP报文转发核心功能

IP报文在路由器转发前后的变化: 链路层封装更新,IP头部“TTL”减1,IP头部“校验和”更新

数据报在不同硬件单元的处理

报文输入的接口卡:链路层解封装→转发表查询(该工作在输入接口卡处理)→通过交换结构将报文排队发往目的接口卡(发送过快将产生拥塞)

交换结构→从输入接口卡发往输出接口卡

报文输出的接口卡: 从交换结构接收报文(排队进行后续处理,到达太快将产生拥塞)→链路层封装→从输出接口发送报文

image.png

拥塞控制算法

拥塞:网络中存在太多的数据包导致数据包传输延迟或丢失,从而导致网络吞吐量下降

拥塞控制(congestion control):需要确保通信子网能够承载用户提交的通信量,是一个全局性问题,涉及主机、路由器等多种因素

拥塞成因:

  1. 主机发送到网络的数据包数量过多,超过了网络的承载能力
  2. 突发的流量填满了路由器的缓冲区,造成某些数据包会被丢弃

拥塞控制的基本策略

  1. 开怀控制(预防性控制):事先对通信流参数进行协商,协商后,不管网络是拥塞还是带宽充足,参数不能动态改变
  2. 闭环控制—根据网络状态进行动态控制,包括两部分:反馈机制和控制机制。闭环控制方法分为两个子类:显式反馈与隐式反馈

流量调节:

  1. 抑制包(Choke Packets):用于通知发送方减小发送量
  2. 逐跳的抑制包(Hop-by-Hop Choke Packets):核心思想是抑制包对它经过的每个路由器都起作用,能够迅速缓解发生拥塞处的拥塞,但要求上游路由器有更大的缓冲区
  3. 显式拥塞通告(ECN,Explicit Congestion Notification),在IP包头中记录数据包是否经历了拥塞。
  4. RFC2474中重新定义TOS域为包含一个6位的区分服务码点(DSCP)和2位未使用位;RFC3168重新定义RFC2474中TOS域未使用的两位为ECN域,包含如下值:

00:发送主机不支持ECN;01或者10:发送主机支持ECN;11:路由器正在经历拥塞

服务质量(QoS)

网络在传输数据流时要满足一系列服务请求,具体可以量化为带宽、时延、抖动、丢包率等性能指标

度量指标:带宽、时延、抖动、丢包率

流量整形(traffic shaping):其作用是限制流出某一网络的某一连接的流量与突发,使这类报文以比较均匀的速度向外发送。包括漏桶算法和令牌桶算法。

漏桶算法(Leaky Bucket Algorithm):主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。

令牌桶算法(Token Bucket Algorithm):用来控制发送到网络上的数据的数目,并允许突发数据的发送。

在同一个流的数据包之间以及在竞争流之间分配路由器资源的算法称为包调度算法,它负责分配带宽和其他路由器资源,负责确定把缓冲区中的哪些数据包发送到输出链路上。

常见算法:FCFS、fair queuing、Weighted Fair Queueing、priority scheduling、

互联网目前有两种服务质量版本:集成服务(Integrated Services)和区分服务(Differentiated Services)。

三层交换与VPN

这部分看起来不会考的样子,摆了

VPN的设计原则:安全性、隧道与加密、数据验证、用户验证、防火墙与攻击检测

VPN通过隧道技术在公共网络上模拟出一条点到点的逻辑专线,从而达到安全数据传输的目的

IPV6技术

初始动机:应付“32-bit地址空间耗尽”问题,增加地址空间

IPv6地址

  • 地址长度为128bit,是IPv4地址长度的4倍
  • IPv6地址空间数量约为3*10^38
  • IPv6地址表示法,冒分十六进制,x:x:x:x:x:x:x:x
  • 简化方法:每个x前面的0可省略 ,可把连续的值为0的x表示为“::”,且“::”只能出现1次

IPV6头部

  • 版本:4bit,协议版本号,值为6
  • 流量类型:8bit,区分数据包的服务类别或优先级
  • 流标签:20bit,标识同一个数据流
  • 有效载荷长度:16bit,IPv6报头之后载荷的字节数(含扩展头),最大值64K
  • 下一个首部:8bit ,IPv6报头后的协议类型,可能是TCP/UDP/ICMP等,也可能是扩展头
  • 跳数限制:8bit ,类似IPv4的TTL,每次转发跳数减1,值为0时包将会被丢弃
  • 源地址:128bit ,标识该报文的源地址
  • 目的地址:128bit ,标识该报文的目的地址

image.png

IPv6头部长度固定40字节,所有“选项”字段都在IPv6扩展头部分。

IPv6分片机制

IPv6分组不能在传输途中分片,只在源端进行分片

IPv6设计了专门的分片扩展头,分片字段不存在基本IPv6头部中

IPv6支持Path MTU发现机制

IPv6报文可承载多个扩展头,每个扩展头都包含“下一个首部”字段 (IPv6首部固定字段也有)可指向下一个扩展头类型或指明传统上层协议类型(最后一个扩展头):TCP/UDP/ICMP. . .

如有多个扩展头,需按规定顺序出现。

邻居发现(这玩意不能考吧,自己搜搜得了)

IPv6地址分类

  • 未指定地址(::/128),不能分配给任何节点
  • 回环地址(::1/128),表示节点自己,不分配 ,类似IPv4中的127.0.0.1
  • 组播地址(FF00::/ 8)
  • 链路本地地址(FE80 :: /10),也称为Link-local地址,仅在本地链路上使用,网络设备根据接口MAC地址自动生成
  • 全局单播地址,其它地址

有DHCPv6可以进行配置。

路由协议:RIPng,OSFP-v3,MP-BGP

IPv4协议和IPv6协议并不兼容

IPv4/IPv6过渡技术的关键要素

  • 尽量保证端到端透明原则
  • 高效、可行的编址及地址规划
  • 路由可扩展性,避免路由表膨胀(消耗转发资源)
  • 状态维护,减少因为过渡机制引起的状态维护,如IPv4-IPv6映射关系

  目录