一,Ip地址含义 及作用
(一)含义
IP地址(Internet Protocol Address),缩写为IP Adress,是一种在Internet上的给主机统一编址的地址格式,也称为网络协议(IP协议)地址。
(二)作用
标识网络中设备 寻找最佳路径
(三)域名
是什么 www.baidu.com 就是域名 域名需要花钱买,要申请 和ip地址一一对应 比如 www.baidu.com 对应
(四) 分类
ipv6:
ipv6地址格式:2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b IPv6由128位二进制组成,由八个16 位字段组成,相邻字段用冒号分隔
ipv4:
IP地址(IPv4)由32位二进制数组成,分为4段(4个字节),每一段为8位二进制数(1个字节)
如11111111.11111111.11111111.11111111
为了方便处理ipv4 进行划分 点分十进制,8位一组,转换成10进制 用点分隔开
11111111.11111111.11111111.11111111 就是255.255.255.255
二,IP地址组成
IP地址=网络地址+主机地
网络位:处在那个网络中(相当于电话025开头 表示区位 网络里面同一区位不用加网关 不在同一区位需要加网关)
主机位;具体的位置
三,IP地址分类
(一)公网 私网
公网概念:全球可达 (花钱找iana组织购买)ipv4不够了是公网
私网:不是全网可达 不花钱 有3 段 是永远不会出现在互联网(互联网是广域网)只会出现在局域网
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地址分类
IP地址根据网络ID的不同分为A、B、C、D、E五类,其中A、B、C这三类是比较常用的IP地址,D、E类为特殊地址。
如192.168.51.1 中的192
A 0到127
B 128到191
C 192到223
D 224到239 组播地址 不给某台具体的计算机使用 给应用软件使用
E 240 到255 科研
(三)特殊地址
1,
0.0.0.0 代表任意一个地址
(什么时候用到呢 0.0.0.0 不能访问我 就是所有人不能访问我)
2,
255.255.255.255 代表广播地址
(任何人都可以收,想把东西发给所有人 发给255.255.255.255)
3,
127.0.0.0 到 127.255.255.255 代表回环地址本机
作用:检测自己的网络设备硬件是否故障
例如 ping 127.0.0.1 检测自己的网络设备硬件是否故障
4,
169.254.X.X 既不属于公网 也不是私网 微软自己的地址
表示错误地址
怎么来的呢: 自动获取Ip(DHCP)失败时,得到的地址
三 ,网络机和主机位区别
A类地址: 0-127 人为将第一段(前8位)作为网络位 主机位32-8=24
B类地址: 128-191 人为将第两段(前16位)作为网络位 主机位32-16=16
C类地址: 192-223 人为将第三段(前24位)作为网络位 主机位32-24=8
(一)A类IP地址
一共32位 人为将前8位作为网络位
00000000.00000000.00000000.00000000.
网络位 主机位 主机位 主机位
因为A类IP 是0到127 而1000000转10进制是128 所以第一位只能是0 可变7位
网络位个数=2^可变网位数 (网段数=2^可变网位数 )
A类地址 网段数2^7 即128网段
主机个数=2^主机位数
A类地址 主机数 2^24
注意:这是不可用的主机位
主机位都是0 代表小区 就是网段
主机位都是1 代表这个网段的 广播地址
(二)B类IP地址
一共32位 人为将前16位作为网络位
00000000.00000000.00000000.00000000.
网络位 网络位 主机位 主机位
B类地址是128-191 所以前两位是固定死是10 网络位可变14
网络位可变个数:2^14=16384 主机位个数 2^16=65536
可用主机位个数要减2 (减去主机位都是0 主机位都是1) 65524
(三)C类IP地址
一共32位 人为将前24位作为网络位
00000000.00000000.00000000.00000000.
网络位 网络位 网络位 主机位
C类地址: 192-223 所以所以前三位是固定死是110 网络位可变21
网络位可变个数:2^21=2097152 主机位个数 2^8=256 可用主机位254
四,子网划分
子网划分定义:Internet组织机构定义了五种IP地址,有A、B、C三类地址。A类网络有126个,每个A类网络可能有16777214台主机,它们处于同一广播域。而在同一广播域中有这么多节点是不可能的,网络会因为广播通信而饱和,结果造成16777214个地址大部分没有分配出去。可以把基于每类的IP网络进一步分成更小的网络,每个子网由路由器界定并分配一个新的子网网络地址,子网地址是借用基于每类的网络地址的主机部分创建的。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。
就是灵活调整主机位 和网络位
含义:来回拆借网络位和主机位
目的:节约地址 提高效率 提高安全性
(一)
netmask子网掩码:32位或128位(IPv6)的数字,和IP成对使用,用来确认IP地址中的网络ID和主机ID,对应网络ID的位为1,对应主机ID的位为0
例如:192.168.2.4 这是一个标准的C类地址 他的子网掩码为
1111 1111. 1111 1111 . 1111 1111. 0000 0000
转为10进制 255.255.255.0
(二)重点:判断对方主机是否在同一个网段:
1,双方都是标准的网络地址:就直接看网络位是否一样
例如 172.16.253.1 172.32.34.3 不在同一网段
(这是B类地址,网络位前16位 即172.16 和 172.32 不一样)
2,如果不是标准的ABC网络地址,
将A地址转换成2进制,和自己的子网掩码相与,得到A的网段
将B地址转换成2进制,和自己的子网掩码相与,得到B的网段
比较二者网段,一致在同一网段 不一致则不在同一网段
例如:
A 192.168.1.1/24 B 192.168.1.33/27
二进制 11000000.10101000.00000001.00000001 11000000.10101000.00000001.00100001
子网掩码11111111.11111111.11111111.00000000 11111111.11111111.11111111.11100000
相与 11000000.1010000.00000001.00000000 11000000.10101000.00000001.00100000
网段 192.168. 1.0 192.168.1.32
可以发现,二者网段不一样,则不在同一网段
3,再来看A,B不能通讯是谁的问题
在计算机里,A只知道自己的子网掩码,B也只知道自己的子网掩码,A要去访问B时,先拿自己的子网掩码和自己的地址相与,得出自己的网段。再拿自己的子网掩码和B的ip地址相与,如果网段一样,可以发给B
B用自己子网掩码和自己的地址相与,得出自己的网段。再拿自己的子网掩码和A的ip地址相与,一致可以发送给A
(数据有来有回才是通讯)
A 192.168.1.1/24 B 192.168.1.33/27
二进制 11000000.10101000.00000001.00000001 11000000.10101000.00000001.00100001
子网掩码11111111.11111111.11111111.00000000 11111111.11111111.11111111.11100000
相与 11000000.1010000.00000001.00000000 11000000.10101000.00000001.00100000
网段 192.168. 1.0 192.168.1.32
A的网段是192.168. 1.0 ,再用A的子网掩码和B的ip相与 得到的网段是192.168. 1.0 在同一网段,所以A将数据成功发送给B
B的网段是192.168. 1.32 ,再用B的子网掩码和A的ip相与 得到的网段是192.168. 1.0 不一致,所以B发送不出去 B 的问题
例题:中国移动 10.0.0.0/8 为32个省分配各自的子网 求
1,新的子网的子网掩码
2,每个子网的主机数
3,第一个子网和最后一个子网的网络ID
子网(Subnet)指将一个大的IP地址块划分成更小的网络片段的过程
解答:
1,,32个省份,则需要32个不同的网段
xxxxxxxx. xxxxxxx. xxxxxxxx. xxxxxxxx.
网络位8位
那就需要把5位主机位挪给网络位 (挪1位有0,1两种变化,所以多两个网段,挪2位有4个,挪3位有8个)
变成
xxxxxxxx. xxxxxxx. xxxxxxxx. xxxxxxxx.
网络位13位 主机位19
第一问答案13
2,主机数=2^主机位数 2^19
3,10.0.0.0/8 转成2进制
00001010.00000000.00000000.00000000
红色为网络位
可变的为网络位为00000,第一个子网就是00001010.00000000.00000000.00000000 即10.0.0.0
最后一个子网00001010.11111000.00000000.00000000 即10.248.0.0