目录
- 4.4网际协议:因特网中的转发和编址
-
- [4.4.1 IPv4数据报格式](#4.4.1 IPv4数据报格式)
- [4.4.2 IPv4编址(addressing)](#4.4.2 IPv4编址(addressing))
- [4.4.3 因特网控制报文协议(Internet Control Message Protocal,ICMP)](#4.4.3 因特网控制报文协议(Internet Control Message Protocal,ICMP))
- [4.4.4 IPv6](#4.4.4 IPv6)
4.4网际协议:因特网中的转发和编址
4.4.1 IPv4数据报格式
-
好多呀,看书吧
-
IPv4数据报分片(Fragmentation)
-
最大传送单元(Maximum Transmission Unit,MTU)
- MTU限制IP数据报长度
-
不同链路断落可能有不同链路层协议,MTU可能不同
-
一个链路层帧能承载的最大数据量
-
将IP数据报分片,在目的地重新组装
- 重组(reassembly)
-
IP首部用于标记同一数据报的所有分片
-
4.4.2 IPv4编址(addressing)
-
IP地址:用来标识主机接口、路由器接口的32位标识符
-
接口(interface):主机和物理链路的连接边界
连接方式
-
有线:以太网交换机
-
无线:Wifi
-
-
点分十进制表示法(dotted-decimal notation)
-
子网(subnets)
-
具有相同IP地址子网部分的设备接口
-
可以不用通过路由器直接连接
-
IP地址
-
高位:子网标识
-
低位:主机标识
-
-
路由器和路由器之间也是一个子网
-
-
子网(网络)掩码(network mask)
-
作用
-
划分网络和主机地址
-
判断设备是否在同一子网
-
-
如IP地址:192.168.1.10/24
- 子网掩码:255.255.255.0
-
-
无类别域间路由选择(Classless Interdomain Routing,CIDR)
-
支持任意地址长度子网掩码
-
地址格式:
a.b.c.d/x
-
-
主机如何获取IP地址
-
系统管理员硬编码
-
动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)
-
DHCP除了提供IP地址,还能提供子网掩码 ,Client第一跳路由器的地址 ,DNS服务器的名称 和IP地址
-
作用
-
动态从主机获取IP地址
-
为主机提供其子网掩码,其第一跳路由地址(即默认网关)和其本地DNS服务器地址
-
-
即插即用(plug-and-play)协议或零配置(zeroconf)协议
-
步骤
-
DHCP服务器发现
-
主机发送DHCP发现报文
-
主机要发现一个与其交互的DHCP服务器
-
-
DHCP服务器提供
-
DHCP服务器响应DHCP服务报文
-
提供可用的IP地址和其他参数
-
-
DHCP请求
-
主机响应DHCP请求报文
-
选择服务器,回显配置的参数
-
-
DHCP ACK
-
DHCP服务器响应DHCP ACK报文
-
证实所要求的参数
-
-
-
-
-
网络地址转换(Network Address Translation,NAT)
-
私有IP地址和公有IP地址之间的转换
-
使用原因
-
因为对于外界而言,本地网络仅使用一个IP地址(节约)
- 使大量使用内部专用地址的专用网络用户共享少量外部全球地址
-
可更改本地网络设备地址而不通知外界(改内)
-
可在不更改本地网络设备地址的情况下更换互联网提供商(Internet Service Provider,ISP)(改外)
-
本地网络内设备无法被外界准确访问(安全)
-
-
NAT转换表
记录内部私有IP地址和端口到外部公有IP地址和端口的对应关系
-
实现
-
出站(outgoing)数据报
-
私变公
-
NAT路由器将数据报的私有IP地址和端口号替换为路由器的公有IP地址和新端口号
-
-
维护NAT表
- 记录转换映射表
-
入站(incoming)数据报
- 根据转换表把数据报的目的IP地址和端口号变为私有IP地址和端口号
-
-
争议
支持
- 缓解IPv4地址短缺
反对
-
端口号应该用于进程编址,而非主机编址
-
违法网络分层原则
- NAT处理了运输层,传统路由器应只处理网络层
-
违反端到端通信原则
-
端到端:路由器/交换机应仅提供数据传输功能,而可靠性、安全性等应由终端设备实现
-
NAT路由器修改了运输层的端口号
-
-
应使用IPv6解决IP地址短缺
-
妨碍P2P应用程序
-
对等方(peer)位于NAT后,破环双向连接能力
-
解决:NAT穿越(NAT traversal)
-
-
4.4.3 因特网控制报文协议(Internet Control Message Protocal,ICMP)
-
主机和路由器通过ICMP交换互联网信息
-
错误报告
-
网络诊断
-
回显(echo)请求或应答
- 回显就是把发送方的内容又发回去,来验证收到的内容对不对(echo也译为回声)
-
-
Traceroute和ICMP
-
Traceroute程序允许跟踪一台主机到世界上任意一台其他主机的路由
-
Traceroute是确定到目标的跳数和每跳往返时间(RTT)的工具(命令)
-
Traceroute工作原理
a. 源主机向目标主机发送一系列普通数据报
-
每个数据报携带一个具有不可达UDP端口号的UDP报文段
-
数据报(datagram)
-
指IP数据报,属于网络层,是网络层的基本传输单位
-
包含IP头部+载荷(payload),载荷可以是TCP/UDP报文段等
-
-
报文段(segment)
-
属于传输层,是传输层的基本单位,有TCP报文段或UDP报文段
-
包含首部+应用层数据
-
-
-
从1开始依次递增TTL
b. 当第n个数据报到达第n台路由器
-
丢弃该数据报
- 第n个数据报TTL=n,每经过一个路由器TTL值减1,当到达第n台路由器TTL=0,正好过期
-
向源主机发送ICMP告警报文
- 包含路由器名和IP地址
c. 当ICMP报文到达时,源主机计算RTT
d. Traceroute用相同TTL发送3个一组的分组
e. 停止条件
当数据报到达目的之际,目的主机向源主机发送端口不可达的ICMP报文,源主机收到后停止
-
-
4.4.4 IPv6
-
产生原因
a. 32位IPv4将被分配尽
b. 简化首部格式加速处理和转发
c. 改进首部格式提高QoS(Quality of Service)
-
IPv6数据报格式
好多呀,看书吧
-
相较IPv4的改进
a. 校验和
- 完全移除校验和,减少处理时间
b. 分片/重组
- 不允许中间路由器进行分片和重组,只能在源和目的地执行
c. 选项
- 选项字段不再是IP首部的一部分
-
从IPv4到IPv6迁移
-
建隧道(tunneling):
-
IPv6数据报作为IPv4的载荷(payload),在IPv4路由器之间进行传输
-