25 IP协议
IP 协议(1) - IP数据报
主机、路由器网络层主要功能:
IP 数据报( 分组)格式
- 首部至少20字节
- 版本号字段占4位:IP协议的版本号 E.g. 4→IPv4,6 → IPv6
- 首部长度字段占4位:IP分组首部长度
以4字节为单位, 上面提到至少20字节
- 服务类型(TOS)字段占8位:指示期望获得哪种类型的服务,用于规定本数据报的处理方式 只有在网络提供区分服务(DiffServ)时使用; 一般情况下不使用,通常IP分组的该字段(第2字节)的值为00H;
- 总长度字段占16位:IP分组的总字节数(首部+数据) 最大IP分组的总长度:65535B 最小的IP分组首部:20B IP分组可以封装的最大数据:65535-20=65515B. 实际上没有这么大的数据报.
- 标识, 标志位, 片偏移字段: 用于数据报分片 1.标识字段占16位:标识一个IP分组;IP协议利用一个计数器,每产生IP分组计数器加1,作为该IP分组 的标识 2.标志位字段占3位
3.片偏移字段占13位:一个IP分组分片封装原IP分组数据的相对偏移量; 以8字节为单位
- 生存时间(TTL )字段占8位:IP分组在网络中可以通过的路由器数(或跳步数)
- 协议字段占8位:指示IP分组封装的是哪个协议的数据包; 实现复用/分解; 6为TCP, 17为UDP;
- 首部校验和字段占16位:实现对IP分组首部的差错检测 计算校验和时,该字段置全0 采用反码算数运算求和,和的反码作为首部校验和字段 逐跳计算、逐跳校验
- 源IP 地址、目的IP 地址字段各占32位
- 选项字段占长度可变,范围在1~40B之间:携带安全、源选路径、时间戳和路由记录等内容; 很少用
- 填充字段占长度可变,范围在0~3B之间:目的是补齐整个首部,符合32位对齐,即保证首部长度是4字节的倍数
注意服务类型字段和协议字段的区别
服务类型是指可靠数据传输/安全保证等, 指定优先级等.
协议是指TCP/UDP等.
IP 协议(2) - IP 分片
最大传输 单元(MTU): 网络链路存在MTU (最大传输单元)—链路层数据帧可封装数据的上限
注意是数据帧的封装数据上限, 不是数据帧大小的上限.
IP 分片与重组
大IP分组向较小MTU链路转发时,可以被“分片” (fragmented)
IP首部的相关字段用于标识分片以及确定分片的相对顺序: 总长度、标识、标志位和片偏移
IP 分片 过程
假设原IP分组总长度为L,待转发链路的MTU为M 若L>M,且DF=0,则可以/需要分片 分片时每个分片的标识复制原IP分组的标识 通常分片时,除最后一个分片,其他分片均分为MTU允许的最大分片 一个最大分片可封装的数据应该是8的倍数(片偏移字段以8字节为单位),因此,一个最大分片可封装的数据为:
需要的总片数为:
每片的片偏移字段取值为:
每片的总长度字段为:
每片的MF标志位为:
注意片偏移的大小为数据上限/8
IP 协议(3 )-IP 编址
接口(interface): 主机/路由器与物理链路的连接.
实现网络层功能 路由器通常有多个接口 主机通常只有一个或两个接口 (e.g.,有线的以太网接口,无线的802.11接口)
一个IP对应的不是一个主机, 而是一个网络接口.
IP 编址(addressing)
IP地址: 32 比特(IPv4)编号标识主机、路由器的接口
IP地址与每个接口关联
IP地址分为两部分: 网络号和主机号:
网络号(NetID) – 高位比特 主机号(HostID) – 低位比特
IP 子网:
IP地址具有相同网络号的设备接口 不跨越路由器(第三及以上层网络设备)可以彼此物理联通的接口
IP 协议(4 )- 有类IP 地址
特殊IP地址
主机地址不能全0(为网络地址)和全1(广播地址),子网地址现在能全0和全1了。
私有(Private )IP 地址
私有地址(Private address,也可称为专网地址)属于非注册地址,专门为组织机构内部使用,它是局域网范畴内的,私有IP禁止出现在Internet中,在ISP连接用户的地方,将来自于私有IP的流量全部都会阻止并丢掉。
如果在企业内部的电脑要访问Internet,则需要在企业边界上用“NAT技术”将私网IP转成公网IP才能正常的上网。
- A类私有IP地址:10.0.0.0~10.255.255.255
- B类私有IP地址:172.16.0.0~172.31.255.255
- C类私有IP地址:192.168.0.0~192.168.255.255
附上公网范围:
- A类的公有IP: 1.0.0.0~9.255.255.255 11.0.0.0~126.255.255.255
- B类的公有IP: 128.0.0.0~172.15.255.255 172.32.0.0~191.255.255.255
- C类的公有IP: 192.0.0.0~192.168.255.255 192.169.0.0~223.255.255.255
注意到了工大的网是私有地址:
IP 协议(5 )-IP 子网划分 与码 子网掩码
子网划分
子网划分用于区分一个IP 子网更小范围网络. IP地址: 网络号(NetID) – 高位比特 子网号(SubID) – 原网络主机号部分比特 主机号(HostID) – 低位比特
子网掩码
A网的默认子网掩码为:255.0.0.0 B网的默认子网掩码为:255.255.0.0 C网的默认子网掩码为:255.255.255.0 借用3比特划分子网的B网的子网掩码为:255.255.224.0
子网地址+ 子网掩码→ 准确确定子网大小
将IP分组的目的IP地址与子网掩码 按位与运算,提取子网地址
如:
子网地址: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
一个C 类网络划分子网举例