一文搞懂网络层协议之IP协议

IP v4

一、IP v4协议的包头

一文搞懂网络层协议之IP协议_第1张图片

版本(4):版本字段,IP v4

首部长度:IP包头部长度,因为长度可变(因为下面有一个“可选项”),因此需要定义,

优先级与服务类型(8);优先级与服务类型,提供3层的QoS

总长度(16):IP数据总长度

标识符(16)、标志(3)、段偏移量(13):上层来的数据到IP层会被分片,这几个字段用来对数据包进行标识,使数据到达目的端重组的时候,不会乱序

TTL(8):生命周期字段,经过一个路由器值减1,为0时,数据包丢弃。为了防止一个数据包在网络中无限循环下去

协议号(8):协议字段,用来标识封装的上层数据时UDP还是TCP,UDP是17,TCP是6

重点强调 IPv4是32位  

IP v4   :2(32)=42亿9千万

IP v6   :2(128)  (跟IP v4 的提升是扩充了IP地址的容量,包头是定长的)

Windows 95  、98   攻击方法:死亡之ping

二、IP地址分类

A类:  IP的二进制位必须是以0开头(但是要排除全0地址)

00000001.00000000.00000000.00000000   ----换算成十进制  1.0.0.0

01111111.11111111.11111111.11111111  ----换算成十进制   127.255.255.255

本地回环地址:127.0.0.1   代表自身网络协议是正常的,没有网络也可以Ping 通

B类: IP的二进制位,必须是以10开头

10000000.00000000.00000000.00000000   ----换算成十进制   128.0.0.0

10111111.11111111.11111111.11111111   ----换算成十进制   191.255.255.255

C类:  IP的二进制位必须以110开头

11000000.00000000.00000000.00000000   ----换算成十进制 192.0.0.0

11011111.11111111.11111111.11111111   ---换算成十进制  223.255.255.255

A、B、C类是允许正常分配使用,一般电脑是使用的C类

D类:  IP的二进制位必须是以1110开头 ,整个D类都不允许分配给普通电脑或服务器使用,作为组播地址使用

11100000.00000000.00000000.00000000   ----换算成十进制 224.0.0.0

11101111.11111111.11111111.11111111   ---换算成十进制  239.255.255.255

E类:IP的二进制位必须是以1111开头,整个E类不允许使用,作为保存存在

11110000.00000000.00000000.00000000   ----换算成十进制 240.0.0.0

11111111.11111111.11111111.11111111   ---换算成十进制  255.255.255.255

三、私有IP地址

从A、B、C类,各拿出了一组,做私有IP (一般家里、学校、公司,都是使用的私有IP)

A类:10.0.0.0---10.255.255.255

B类:172.16.0.0---172.31.255.255

C类:192.168.0.0---192.168.255.255

一文搞懂网络层协议之IP协议_第2张图片

四、网络地址和主机地址(默认情况)

A类里面,默认前一组数(前8位二进制)作为网络地址,代表不同的网段,后三组代表同一个网段里不同的主机

总共有1-126个网段,每个网段里有2(24)主机

(主机数的“-2”是因为最后一段的 “0”代表这个整个网络的网络地址,最后一位“255”代表是广播地址,所以不能使用 要减2)

A类:前8位为网络地址,后24位为主机地址

网段数:2(7)-2=126   (是7次方是因为第一位是不能变只能是0;-2是因为一个是要排除全0的地址,一个是本地回环地址127.0.0.1-------A特殊 )

主机数:2(24)-2=1677万

B类:前16位为网络地址,后16位为主机地址

网段数:2(14)=16384 (14是因为前两位不能变)

主机数:2(16)-2=65534

C类:前24位为网络地址,后8位为主机地址

网段数:2(21)=2097152

主机数:2(8)-2=254

一文搞懂网络层协议之IP协议_第3张图片

 

五、默认子网掩码

A类默认子网掩码:255.0.0.0

B类默认子网掩码:255.255.0.0

C类默认子网掩码:255.255.255.0

一文搞懂网络层协议之IP协议_第4张图片 

每类的网络地址、主机地址跟子网掩码是一一对应的。比如A类是前八位是网络地址,子网掩码是一个255

到底是如何区分网络地址跟主机地址?跟是什么A类还是B\C类无关,是由子网掩码决定的

255换算成二进制是11111111,子网掩码是1,对应的IP地址就是网络地址  

子网掩码如果是0,对应的IP地址就是主机地址

六、子网掩码划分

注意:私有IP地址不需要进行子网掩码划分(为什么没有意义,私有IP不需要花钱,私有IP的重复的),公有IP做子网掩码划分才有意义

节省IPv4的IP地址/保护IP,两种方式:私有IP 、子网划分 (在用户角度可以省钱)

1、原则

1)子网掩码必须和IP地址同时出现,否则没有意义  (当只有IP出现,会套用默认的子网掩码)

(192.168.31.200/24指代 子网掩码255.255.255.0;/16指代255.255.0.0)

2)和子网掩码1对应的IP地址,代表网络地址;和子网掩码0对应IP地址代表主机地址

3)子网中只要1是连续的(中间没有被0隔开),就是合理子网掩码

(最大子网数不能超过64个,否则没有意义,如果分了64个网段,每个网段4个IP主机地址,只有1个IP是可用的,因为1个是网络地址、1个是广播地址、还有一个要做网关 )

192.168.31.200/24

192.168.31.1025  ----255.255.255.128----11111111.11111111.11111111.10000000

画图比较直观,但是不适合划分太多数量,使用换算公式

2、子网掩码换算公式

(网络地址跟广播地址,整个网段的第一个IP跟最后一个IP)

网络地址:把IP地址和子网掩码的二进制,按位(把IP与掩码的第一、二、三、九位)进行“逻辑与”运算

广播地址:有效子网掩码中,有几个0,就把IP地址的后几位换位1

子网个数:有效子网掩码中,有几个1,子网数就是2的几次方

主机个数:有效子网掩码中,有几个0,主机数就是2的几次方减2

不论是A类,还是B类的IP地址,最终都会套用C类子网掩码进行使用

3、C类IP地址可用子网掩码 

子网掩码               二进制位数                 子网数                主机数

255.255.255.0           /24  (24个连续的1)       1                    256-2

255.255.255.128         /25                         2                    128-2

255.255.255.192         /26                         4                    64-2

255.255.255.224         /27                         8                    32-2         

255.255.255.240         /28                         16                   16-2

255.255.255.248         /29                         32                    8-2

255.255.255.252         /30                         64                    4-2

(子网掩码总共只有这几种可能)

拓展:逻辑与运算&逻辑或运算

如果出现1和0竞争,那么这组及开始往后的掩码就是有效子网掩码 。对C类IP来讲,后8位是有效的,B类是后16位,C类是后24位           

逻辑与运算:1跟1是1 ,只要有一个0,结果都是0

逻辑或运算:只要有一个1,就是1,两个0就是0

4、子网掩码换算示例

192.168.1.100/24       11000000.10101000.00000001.01100100

255.255.255.128        11111111 .11111111.11111111.10000000

网络地址:                 11000000.10101000.00000001.00000000  =192.168.1.0

广播地址:                 11000000.10101000.00000001.01111111   =192.168.1.127

子网数:2(1)=2

主机数:2(7)-2=126

192.168.1.165          11000000.10101000.00000001.10100101

255.255.255.224        11111111.11111111.11111111.11100000

(是连续的1,没有被0隔断,是有效的)

网络地址:            11000000.10101000.00000001.10100000  =192.168.1.160

广播地址:(粘贴IP地址11000000.10101000.00000001.10011111  =192.168.1.191

子网数:2(3)=8

主机数:2(5)-2=30

画图:一个0-255,有3个1,相当于切了三次,分成了8个子网段,每段有30个主机IP,网络地址是160,广播地址是191,

一文搞懂网络层协议之IP协议_第5张图片一文搞懂网络层协议之IP协议_第6张图片

 

实际工作中遇到的问题应该是:

我有10台服务器,需要买多少个IP让这些服务器可以正常上网?

引申出,买16个主机数的,只有13个可用IP ,万一多一个怎么办? 如果多一个服务器,压力不大,作为备份,压力大就要扩充网段

IP v6

节省IPv4 的方式: 动态IP、 私有IP 、子网掩码划分。目前解决IP v4的IP数量不够的方式就是升级IP协议成IP v 6  (IP v6 与IP v4  无法通信。IP v6 目前还没有大范围使用)

一、IP v6 包头

一文搞懂网络层协议之IP协议_第7张图片

一文搞懂网络层协议之IP协议_第8张图片

跟IP v4 的包头 对比:比IP v4 的包头更加简单,源地址增加了有2(128)数量,不再有选项,是固定大小的

二、IP v6协议特点

一文搞懂网络层协议之IP协议_第9张图片

三、IP v6包头作用

一文搞懂网络层协议之IP协议_第10张图片

 

四、IP v6地址表示

IP v6  地址表示----重点内容

是用16进制写的,人为规定,每4个16进制,用“:”隔开 ,(1个16进制代表4个二进制位)每16个二进制位分一组用“:”隔开  

一文搞懂网络层协议之IP协议_第11张图片

IP v 6IP生效之后,就不再有公有IP、私有IP之说了,不需要考虑私有IP,所有的IP都是公有IP ,因为IP够用了   。也不再需要NAT转换,理论上速度会更快

零压缩法是真正的写法,两个::就代表省略了0

五、IP v6 地址分类

一文搞懂网络层协议之IP协议_第12张图片

你可能感兴趣的:(tcp/ip,网络,服务器)