关于子网掩码(Netmask)

关于IPv4的基础知识

IPv4简单来说,就是IP的第四个版本,是由32位二进制来表示,但是一般为了方便记忆,用十进制来表示,并每八位之间用“.”隔开,所以:

IP的表示范围:
00000000.00000000.00000000.00000000 - 11111111.11111111.11111111.11111111
换算为十进制:
0.0.0.0 - 255.255.255.255

而IP又可以分为Net_ID(网络号码)和Host_ID(主机号码)两部分,在同一个网段内,Net_ID相同而Host_ID不同,又根据Net_ID和Host_ID的位数长短的不同而将全部IP分为ABCDE五个等级:

二进制表示为:
Class A :0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==>Net_ID的开头为0
|-Net_ID-|---------Host_ID----------|
Class B :10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==>Net_ID的开头为10
|------Net_ID-----|-----Host_ID-----|
Class C :110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==>Net_ID的开头为110
|----------Net_ID---------|-Host_ID-|
Class D : 1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==>Net_ID的开头为1110
|---------------Net_ID--------------|
Class E :1111xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==>Net_ID的开头为1111
|---------------Net_ID--------------|
十进制表示为:
Class A :   0.x.x.x - 127.x.x.x
Class B : 128.x.x.x - 191.x.x.x
Class C : 192.x.x.x - 223.x.x.x
Class D : 224.x.x.x - 239.x.x.x
Class E : 240.x.x.x - 255.x.x.x

IP可以分为Public IP 和 Private IP,出现这种规划的原因在于IPv4所能表示的IP太少而电脑太多以至于不够用,然而只有Public IP才能直接连接上网络,所以对于那些公司,学校,政府机构等场所,就可以集中使用私有的IP进行管理,而大家可以共用一个IP去连接上公网,这样,就省下了许多宝贵的Public IP

Private IP 网段:
Class A : 10.0.0.0 - 10.255.255.255
Class B : 172.16.0.0 - 172.31.255.255
Class C : 192.168.0.0 - 192.168.255.255

既然叫Private IP那么,在公网上,这些IP就不能使用,而内部网络的Private IP 也就同样不能在公网上使用,使用私有IP的数据包则只能在同一个内部网络上面传输,不能直接通过公网来传输,因为在公网上这些IP并不存在,数据包必然会丢失。

为什么要使用子网掩码?

首先,我们先要想象一个情景:
你在你的办公室或者实验室搭建了一个局域网,假使你使用的是C类地址的私有IP的话,本来你使用的只有 192.168.20.0 - 192.168.20.255 这一段,但是你的硬件只有集线器(Hub)的话,大家都知道,集线器与交换机(Switch)的最大不同是交换机是非共享型,而集线器是共享型,怎么理解呢?局域网内的一台主机要向另一台主机发送数据,如果网内使用的是集线器的话,那么集线器会给网络内部的其他主机都分别发送数据包,主机收到后会通过IP数据包包头判断,属于自己的数据包的话,则接收,否则就丢弃,而交换机则会直接判断出IP数据包属于哪个主机,而直接只给这台主机发送数据包。所以你的网内有集线器的话,那就要给 255x255=65025 个IP发送数据包,然而,可能你的实验室只有不到三十台主机,那如果使用的是A类地址的私有IP呢?,每收到一个IP数据包,则要向 255x255x255=16581375 个IP发送数据包,那么,网络将拥塞成何种样子。因此,为了划分不同的子网,子网掩码应运而生。

怎样计算子网掩码?

你使用 192.168.20.0-192.168.20.255 这一段的话,那么,你只需要最后面的8为变化,而前面的24位都不变,那么,前面24位为Net_ID后面八位为Host_ID,于是,子网掩码就为:11111111.11111111.11111111.00000000,换算成十进制就为:255.255.255.0 这样的话,你的集线器或者路由器就可以判断出你只想要使用192.168.20.0-192.168.20.255之间的 255 个IP,瞬间就将问题缩小了一个量级。那么如果想要更小呢?假如你最多不超过30台主机在此局域网内使用,那么你就只需要最后面的5位(2^5=32)就可以了,那么,网络规划就如下:

二进制:
Network : 192.168.20.00000000 - 192.168.20.00011111
Netmask : 255.255.255.11100000
十进制:
Network : 192.168.20.0 - 192.168.20.32
Netmask : 255.255.255.224

关于子网掩码(Netmask)相关推荐

  1. 查看本机IP地址及子网掩码(netmask)

    通常有两种方式来查看本机IP地址及子网掩码,一种是在网路和共享中心中查看网路信息:一种是在cmd命令窗口查看. 下面分别介绍这两种方法: 1.在网路和共享中心中查看本机IP地址及子网掩码 (1)打开控 ...

  2. linux关于子网掩码函数,在linux下 获取,修改子网掩码NETMASK的两个函数

    //获取子网掩码的函数QString GetLocalNetMask() { int sock_netmask; char netmask_addr[50]; struct ifreq ifr_mas ...

  3. 初学Linux之网络配置(IP、NETMASK、GATEWAY、DNS、DHCP)

    1. ip地址与子网掩码 1.1 什么是ip地址   IP: internet protocol address 网络进程地址.  IPv4(Internet Protocol version4)地址 ...

  4. IP地址、子网掩码、网关地址、DNS相关知识

    先概括几句: DNS 就是将域名转换成IP地址 网关就是实现两个不同网络的通信 子网掩码就是将某个IP地址划分成网络地址和主机地址,判断两个地址是否在同一个网段 IP地址就是电脑的身份证,不可能相同, ...

  5. DOS命令大全 黑客必知的DOS命令集合

    一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进入操作系统中的dos命令,如下图: 严格的 ...

  6. Linux服务器搭建常用环境(一)

    转载自:http://blog.163.com/hlz_2599/blog/static/142378474201341394955248/ 转载主要是怕链接失效,以后看不到了. 1.搭建telnet ...

  7. 命令行收集(DOS/Linux/nc/xscan/xsniffer)

    #1 一: net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" ...

  8. 15-11-23:system指令

    CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本.文件系统版本) 1. appwiz.cpl:程序和功能 2. calc:启动计算器 3. certmgr ...

  9. DOS命令大全(经典收藏)

    http://wuhua.javaeye.com/blog/32374 net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net ...

最新文章

  1. linux中if语句s,linux 中 if 语句条件的含义
  2. [caffe解读] caffe从数学公式到代码实现1-导论
  3. MS SQL中的returnoutput的學習
  4. Java中“==”和equals()的区别
  5. [慢查优化]联表查询注意谁是驱动表 你搞不清楚谁join谁更好时请放手让mysql自行判定...
  6. java学习(123):treeset排序集合
  7. java ThreadLocal理解和使用
  8. day39-Spring 05-Spring的AOP:不带有切点的切面
  9. 奔驰宝马路虎等齐降价 最高降幅达8.5万!
  10. error: libXpm.(a|so)
  11. APP测试基本流程以及APP测试要点
  12. Python概念-Attr系列(林海峰教的)
  13. python之钉钉机器人自动发消息——傻瓜式教程
  14. 41.clip-path 滚动特效
  15. angular时间格式化
  16. 树莓派hwclock命令参数及用法详解--linux显示/设置硬件时钟命令
  17. php采集一言代码_php抓取一言数据
  18. signature=06503812625e47e9ee33634e47a778e8,Title page for ETD etd-07242013-155857
  19. 如何测试nginx服务器性能测试,Nginx性能测试工具--httperf
  20. 资产负债表的阅读与分析

热门文章

  1. 推荐系统之LFM模型
  2. IIS 收到了请求;但在处理请求过程中出现内部错误。此错误的根本原因取决于处理该请求的是哪一个模块以及出现此错误时工作进程中出现了何种情况。
  3. 换手率是否需要中性化?
  4. ubuntu16.04 安装 lnmp 及php 多线程 初级版本
  5. 更换邮箱服务器邮件会丢吗,如何防止邮箱爆满和邮件丢失?
  6. JAVA我的世界怎么做成就_Editing 成就/Java版 (section)
  7. 什么是SqlSessionFactory
  8. 软件测试ios打包,ios开发怎样将打包ipa发送给测试人员
  9. MyCat数据库中间件
  10. emby无法播放服务器位置,解决emby不能播放部分视频一例