IPv4
网络层IP协议之一, IP协议扳本;
非可靠投递的思想。关联的分组路由选择;
把从传输层收集到的数据部分加上一个固定的首部,组成IP数据报;
20B = 32bit = 4B * 5 倍
第一部分 4B :
0-3 : 版本 ; 当前版本号为4
4-7 首部长度; 占据4位,32位为单位最大为 (0-15)*32bit = 60B Max
8-15: 区分服务
16-31 总长度首部和数据之和的长度 最大 2^16-1 Byte; 以太网帧的最大传输单元 MTU 为 1500B;
第二层 4B 32bit:
0-15 标识: 超过MTU的数据需要进行分片,赋值标识号,以后可以重新组装成原来的数据报
16-18 标志; 最低为MF表示1分片0最后一个分片; 中间DF表示=0时允许分片
19-31: 13 位 分组之后再组内的相对位置,8个字节位便宜单位,分片长度一定是8B的整数倍
第三层 4B 23 bit
0-7 生存时间 TTL 占据8位,可以通过路由器的最大值。每次分组桩法之前TTL减去1当为0的时候丢弃
8-15 协议8位 数据携带了那种协议,分组应该传给那个传输层协议TCP还是UDP 6表示TCP 17表示UDP;
16-31 首部校验和 数据报的首部校验和值校验分组的首部
第四层 4B 32 bit : 源地址
第五层 4B 32bit : 目的地址
重点: 单位:
- 首部长度只有4位表示 每位的单位是32bit额就是4B
- 总长度的单位表示位1个字节 Byte
- 片内偏移的长度位13 位 单位是8Byte
IP 数据报分片
因为数据链路层的MTU严格限制了IP数据报的报文,以太网的MTU大小是1500B;
许多广域网的MTU的大小不超过576B; 因此需要把较大的数据报分装在多个小的IP数据报中,这些小的被称之为片。
IP首部标识,标志,片偏移字段可以用来完成对片的重组;
片再目的地的网络层被重组。IP分片涉及一定的计算。
例如一个长度位4000B的IP数据报,首部20B数据3980到达一个路由器; 转发到一条1500B MTU的链路上;需要分配3个独立的片
假设原始的数据报标识号&&&. 分成的3个片的表示头 。 一个单位8B的偏移
转发分组的工作流程
- 数据报的首部提取目的的主机IP地址D,得出目的网络地址N
- 如果N与路由器相连,只需要把数据直接交付给主机D, 这称之为路由器的直接交付。 否则就是间接交付;
- 目的地址中由D特定主机路由。 为了控制活测试网络处于安全才考虑的; 把数据报给路由表中指名的吓一跳路由器。否则执行步骤4 ;
- 由到达网络N的路由,数据报传给路由表中知名的吓一跳路由器;否则执行步骤5
- 路由表中有一个默认路由,路由表中指名的默认路由,否则执行6
- 报告转发分组出错。
注意: 得到吓一跳路由器的IP地址后不是直接填入待发送的数据报。
子网的划分 子网掩码以及CIDR
IP地址的两级划分 <网络号> + <主机号>
类别 | 起始段 | 网络位:主机位 | 最大可用网络数 | 网络范围 | 最大主机 | 私有地址 |
---|---|---|---|---|---|---|
A | 0 | 8:24 | 2^7-2 | 1-126 | 2^24-1 | 10.0.0.0 ~ 10.255.255.255 1个网段 |
B | 10 | 16:16 | 2^14-1 | 128.1 ~ 191.255 | 2^16 -2 | 172.16.0.0 ~ 172.31.255.255 16个网段 |
C | 110 | 24:8 | 2^21 -1 | 192.0.1 ~ 223.255.255 | 2^8-2 | 192.168.0.0~192.168.255.255 256个网段 |
D | 1110 | 多播地址 | ||||
E | 1111 | 保留使用 |
主机号:
当主机号全部是1的时候 本网络本身
主机号全是0的时候,表示该网络的广播地址 直接广播地址
127.0.0.0 环路自检地址,表示任意主机本身不会出现再任何网络上
0.0.0.0 本网络本主机
255.255.255.255 本网络广播地址
网络减1的原因是因为 127.0.0.0 环路自检
A网络减去2的原因是因为 0.0.0.0 需要减去
NAT 网络地址转换
专用网络地址Intranet 和 公用地址 Internet
使得专用网络只需要一个IP地址就可以与因特网连接
专用网本地IP是可以重用的
存在的对应关系 :
{本地IP地址:端口} -> {全球IP地址:端口}
举个例子 :
广域网 WAN | 局域网 LAN |
---|---|
138.76.29.7:5001 | 192.169.0.2:2233 |
138.76.29.7:5060 | 192.169.0.3:1234 |
子网划分与子网掩码,CIDR
2级IP地址的缺点: 空间利用率有点低; 给每个物理网络分配一个网络号会使得路由表太大性能变坏
因此1985年开始IP地址中增加了一个子网号的字段变成了三级
IP 地址 = <网络号>-<子网号>-<主机号>
子网只是改变了主机分配的part; 不改变原来的网络号部分
IP数据报不知道目标ip是否进行了子网划分。
因特网规定所有的网络都必须使用子网掩码; 没有划分子网的IP使用默认的子网掩码
A类网络 255.0.0.0
B类网络 255.255.0.0
C类网络 255.255.255.0
路由器的路由表中必须有:
目的网络地址; 子网掩码,吓一跳地址
CIDR 无分类域间路由选择
提出了一种消除传统的A,B,C,类网络划分
更加有效的使用IP地址 使用网络前缀的概念代替子网
使用斜线方法CIDR记法; 128.14.32/20