首页 > 代码库 > IP协议

IP协议

IP协议
1.最小存储单位:位
(1)
一个字节等于八位
来自英文bit,音译为“比特”,表示二进制位。
11010100是一个8位二进制数。一个二进制位只可以表示0和1两种状态。
(2)两个二进制位可以表示00、01、10、11四种(2^2)状态;三位二进制数
可以表示八种状态(2^3)。
(3)现在机器的字长一般都是2的倍数,如字长8位、16位、32位、64位,
也可以称字长1字节、2字节、4字节和8字节。

 

2.二进制和十进制之间的转换
二进制   转换成    十进制(用2^n表示) 
算法:二进制数除以10,能够除尽的10的个数n为2的指数
0                    0          
1                  2^0=1   
10                 2^1=2
1000               2^3=8
……                ……
十进制转换成二进制(用10^n表示)
算法:十进制数除以2,除尽2的个数n为10的指数。

 

3.常见二进制和十进制数之间的转换
0            0
1            2^0=1
10           2^1=2
100          2^2=4
1000         2^3=8
10000        2^4=16
100000       2^5=32
1000000      2^6=64
10000000     2^7=128

eg:160转换成二进制
160-128=32
10000000
+ 100000
——————
10100000

 

4.用计算器计算二进制和十进制之间的转换
(1)十进制转换成二进制
#bc
obase=2  表示输出的时候用二进制输出
160
10100000
(2)二进制转换成十进制
#bc
ibase=2  表示输入的时候用二进制输入
10100000
160

 

5.IP地址和MAC地址
(1)ip地址能够显示两台、多台计算机在不在一个网段里,它存在的
目的是方便管理,MAC地址没有这个功能。MAC地址能够体现本机的
唯一性,出厂时就已设定好了。
(2)ip地址组成
网络ID:
     标识网络(在哪个网段里)
     每个网段分配一个网络ID

主机ID:
    标识单个主机
    由组织分配给个设备
    

6.IP分类
公式一:一类网络中的IP数量=2^主机ID位-2
公式二:一类中多少个网路=2^可变的网络ID位(除开用来区分类的固定位)

A类:高(前)8位是网络ID位,低(后)24位是主机ID位(共32位)
(1)一个A类网络中网络(网段)的数量2^7 - 2个,
解释:7位的原因是首位必须为0,减两个是因为全为0(即00000000,十进制表示0)
和全为1(即01111111,十进制表示127)的位不能用,所以A类网址的范围为1-126
(2)一个A网络中可以存放2^24 - 2个IP
解释:24表示低24位,2表示全为0的和全为1的位不能用
               
B类:高16位是网络ID位,低16位是主机ID位
(1)高16位前两位必须是10,所以B类网络共有2^14个
B类最小网址是10000000.00000000.Y.Z  即128.0.Y.Z
   最大网址是10111111.11111111.Y.Z  即191.255.Y.Z
即B类网络的范围为128-191
(2)ip的个数为:2^16-2

C类:高24位是网络ID位,低8位是主机ID位
(1)高24位前三位必须是110
网络数量为:2^21
(2)ip数量为:2^8-2
(3)最小ip为11000000.00000000.00000000.Z
     最大ip为11011111.11111111.11111111.Z
网络范围为:192-223

D类:不是给计算机用的,给多播、组播地址用的,多播、组播
没有网络ID和主机ID这个说法
(1)格式为:1110XXXX.X.Y.Z
最小id:11100000.X.Y.Z   224.X.Y.Z
最大id:11101111.X.Y.Z   239.X.Y.Z

E类保留
240-254

255.255.255.255是一个广播地址


无类:网络ID和主机ID根据情况来指定,没有固定类来划分。
(1)子网掩码:a.区分无类中的网络ID和主机ID
          b.32位二进制数,和IP配合使用,高位全为1对应网络ID位,
低位全为0对应主机ID位
(2)网络ID值=ip和子网掩码相与
     网络ID表示方法:IP/网络id数


eg:203.110.200.130/22
a.子网掩码
b.网络ID
c.网络最多有多少个IP
d.网络最小IP和最大IP是什么

a.子网掩码为:255.255.252.0

解:前22位为1的子网络掩码
11111111.11111111.11111100.00000000
255     .255     .252     .0
b.网络ID为:203.110.200.0/22
 
解:相与
    203.110.200.130
    255.255.252.0   

   203.110.200.0
c.网络IP数为1022
解:遵循公式
2^10-2=1022

d.
解:求出的IP为203.110.200.0
前22位不变
最小:203.110.110010  00.00000001
      203.110.200.1
最大:203.110.110010  11.11111110
      203.110.203.254

 


7.二进制与运算
与运算规则:和1相与保持原值,和0相与为0
eg:11111111.11111000.00000000.00000000
    11000000.10101000.01100100.11001000
 
    11000000.11111000.00000000.00000000(与运算结果)


netstat  -nt

8.划分子网
(1)一个大网(IP多,IP=2^n-2,即n大,n为主机ID数)分成多个小网络(IP少)
实现方法:32=网络ID位+主机ID位,网络ID位向主机ID位借位,网络ID变多,主机ID变少。
(2)划分的子网个数=2^借位数
借一位划分两个子网(这一位为0或1)
借两位划分四个子网(为00、01、10、11)
借三位划分八个子网(2^3)
借n位划分2^n个子网(2^n)

借两位同理.....

eg:100.200.222.10/16
划分10个子网
2^n>=10,则n=4,所以至少借四位。


eg:66.100.233.100/22  划分14子网
2^n>=14.n=4,借4位
子网掩码:255.255.11111100.00000000
          66.100.11101001.100
                 11101000.0
   相与得:   66.100.232.0

网络ID为66.100.232.0/22
66.100.11101000.0/22
66.100.111010  00.00  000000/26(借四位之后得到的网络ID)
66.100.111010  00.00  000000(借四位最小子网)
66.100.232.0/26

66.100.111010  11.11  000000(借四位最大子网)
66.100.235.192

(1)子网里主机最多有多少?
借4位之后得到的网络ID为66.100.232.0/26
主机数为:2^6-2=62
(2)子网掩码为多少?
前26位为网络ID
255.255.255.1100000
255.255.255.192
(3)每个子网的网络ID
   子网络ID从小到大排列(二进制十进制互相换算得来)    每个子网的ID
1111  16    66.100.111010  11.11  000000/26      66.100.235.192/26
1110  15    66.100.111010  11.10  000000/26      66.100.235.128/26
1101  14    66.100.111010  11.01  000000/26      66.100.235.64/26
1100  13    ......

1011  12    66.100.111010  10.11  000000/26      66.100.234.192/26
1010  11
1001  10    66.100.111010  10.01  000000/26      66.100.234.64/26                              ......
1000  9

0111  8
0110  7
0101  6
0100  5


0011  4
0010  3
0001  2
0000  1


(4)第10个子网的IP范围
网络ID为66.100.234.64/26

66.100.234.  01   000000
最小子网:66.100.234.  01   000001
          66.100.234.65
最大子网:66.100.234.  01   111110
          66.100.234.126

IP协议