系列文章目录
什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)
Cookie技术
Web缓存/代理服务器技术
传输层服务概述、传输层 vs. 网络层
传输层——多路复用和多路分用
传输层——UDP简介
传输层——可靠数据传输原理之Rdt协议
传输层——可靠数据传输之流水线机制与滑动窗口协议
传输层——TCP特点与段结构
传输层——TCP的可靠数据传输
TCP连接管理(图解三次握手和四次挥手)
传输层——拥塞控制原理与解决方法
TCP的拥塞控制机制
网络层服务与核心功能
网络层服务模型——虚电路网络
网络层服务模型——数据报网络
Internet网络的网络层——IP协议之IP数据报的结构
IP分片
IP编址与有类IP地址
IP子网划分与子网掩码
CIDR与路由聚合
DHCP协议
网络地址转换(NAT)
ICMP(互联网控制报文协议)
- 系列文章目录
- 动机
- IPv4 vs IPv6
- IPv6地址表示形式
- IPv4向IPv6过渡
动机
最主要的动机:32位IPv4地址空间已分配殆尽。除此之外,另一个动机是期望改进首部格式。期望支持快速处理/转发数据报、支持QoS。
IPv4 vs IPv6
在数据报格式上做了一些改进:
- 固定长度的40字节基本首部,并且简化了字段的构成
- 路由器不再支持分片。这项工作由源主机和目的主机来完成
- 路由器基本不会对选项部分做处理,所以能够快速地进行IPv6数据报的处理和转发。从而提高了数据的传输速率
IPv6数据报格式如下所示:
-
版本号和IPv4是一样的,换句话说就是兼容了IPv4
-
优先级(priority): 标识数据报的优先级
-
流标签(flow Label): 标识同一“流”中的数据报。流就是从特定的主机出发到特定的目的的一系列的数据报。这一系列数据报的流标签是相同的
-
下一个首部(next header): 标识下一个选项首部或上层协议首部(如TCP首部)
-
跳步限制:基本对应了IPv4里的TTL。定义了能够经过的最大的路由器数
IPv6和IPv4相比的其他改变:
- 校验和(checksum)被彻底移除,以减少每跳处理 时间
- 选项(options): 允许,但是从基本首部移出,定义 多个选项首部,通过“下一个首部”字段指示
- 伴随着新版的IPv6协议,ICMP也做了改变,称为ICMPv6。主要有两点改变:附加报文类型、多播组管理功能
IPv6地址表示形式
将128划分为8组,每组16位,用十六进制表示,并且用冒号进行分隔。
- 一般形式: 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基本地址类型:
- 单播(unicast): 用于一对一通信。单播地址标识唯一一个网络接口。单播地址可以出现在IPv6数据报的源地址和目的地址
- 多播(multicast): 用于一对多通信。实际上标识的一组网络接口。多播地址只能出现在目的地址。也就是说IPv6数据报是发送给一个多播组的
- 任意播(anycast):一对一组之一 (最近一个)通信。任意播地址也只能出现在目的地址。只不过向这个地址发送IPv6数据报的时候,会被送到这组接口中的其中一个上去,通常是最近的那个
IPv4向IPv6过渡
不可能在某个时刻所有路由器同时被更新为IPv6。在很长的过渡期中,这两种网络是共存的。为了让它们能够共存,出现了很多技术。最有代表性的就是隧道技术,当然也伴随着双协议栈。
隧道(tunneling): 当IPv6数据报需要穿越IPv4网络时,IPv6数据报将作为IPv4数据报的载荷进行封装,穿越IPv4网络。