IP的定义

ip 是32位无符号整数,最小,最大分别是
- 0.0.0.0 - 255.255.255.255 具体来说,由一个ip由 Net-ID+Host-ID 两部分组成,Net-ID 相同,那么就说明在一个网段内,可以用mac数据帧直接通信。

给定一个Net-ID

  • host-ID全为0的ip,(192.168.2.0)代表整子小网络,
  • host-ID全为1的ip,是这个子网络的广播地址

ip总共就32个字节,当 HostID 所占用的位越大,亦即 HostID 数量越多时,表示同一个网络内可用以设定主机的 IP 数量越多

国际NIC组织把ip分成5类

  • Class A : 0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==> NetI_D 的开头是 0
    |--net--|---------host------------|
  • Class B : 10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==> NetI_D 的开头是 10
    |------net-------|------host------|
  • Class C : 110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==> NetI_D 的开头是 110
    |-----------net-----------|-host--|
  • Class D : 1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==> NetI_D 的开头是 1110
  • Class E : 1111xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==> NetI_D 的开头是 1111

class D用作特殊用途,class E保留,因此,能够用来设定在一般系统上面的,就只有 Class A、B、C 三种等级的IP。

Netmask

这个数值就是用一种很直观的方式表明Net-ID/Host-ID各有多少位

netmark的定义非常简单,netmask 也是 32 位,在数值上,位于 Net-ID 的为 1 而 Host-ID 为 0

例如一个常见的C类IP地址

net-id=24位,host-id=8位,拥有2**8-2=254个ip

一个传统的c类网络,比如 192.168.10.0,它的netmark是必然是255.255.255.0 如果在把这个网络分成2个子网络,很简单,设定net-id使用25位,host-id就只有7位了 那么这个时候的 netmark= 255.255.255.1 0000000 = 255.255.255.128,这次划分得到的两个子网分别是

  • 129.168.10.0/25
  • 192.168.10.128/25

python 自带的bin函数,可以非常方便的把int转换为二进制字符串表示

很显然,/25就是标示 这个ip中net-id 占用的位数(这2个ip的host-id全部为0,所以这两个ip代表的是其所在的子网络)

这种表示方法很好计算子网络的规模,例如

  • 192.168.0.0/27 表示2的5(32-27=5)次方-2(每个网段的第一个和最后一个地址都被特殊用途占用)=62个ip
  • 192.168.0.0/28,表示2的4(32-28=4)次方-2=30个ip

所以 192.168.1.1/24 标示的是一个子网络192.168.1.0(拥有254个ip地址: 从192.168.1.1到192.168.1.254)

最新文章

  1. android SDK 离线下载更新
  2. CSS定位类型
  3. iPad 控件 UIPopoverPresentationController 使用 iPhone可用
  4. HDU4430 Yukari's Birthday(枚举+二分)
  5. 【转】AngularJS 取消对 HTML 片段的转义
  6. Porter/Duff,图片加遮罩setColorFilter
  7. ZooKeeper架构设计及其应用要点
  8. 要期末了搞不了OI了额……
  9. ios-遍历和排序
  10. dir:一行代码,提取出所有视频文件名称及路径
  11. cocos3.2版本中的一些新特性
  12. easyui源码翻译1.32--Messager(消息窗口)
  13. Kooboo 加Search功能 必须先ReBuild Index Data
  14. cocos2d-x增加控制台程序代码
  15. 判断是否为ie(包含ie11)
  16. Android自定义Notification并没有那么简单
  17. 微信小程序之swiper组件高度自适应
  18. vue.js实战——计算属性
  19. CKEditor富文本编辑器
  20. Spring+SpringMVC+MyBatis整合应用

热门文章

  1. MySQL中求年龄
  2. register_globals
  3. Ruby Profiler 详解之 ruby-prof(I)
  4. javascript 注意事项
  5. HDU 3518 Boring counting(后缀数组,字符处理)
  6. POJ 1547
  7. ElasticSearch使用IK中文分词---安装步骤记录
  8. Add and Search Word - Data structure design
  9. 基于ant的jmeter自动化性能测试
  10. 【uva1502/hdu4117-GRE Words】DP+线段树优化+AC自动机