TCP/IP的那些事--子网掩码
当前互联网使用的主要是IPv4协议,它是第一个被广泛使用,构成现今互联网的基础的协议。但是,随着用户数量的增多,IPv4包含的IP资源在不断减少。或许你会想,不是还有IPv6吗?IPv6的容量足以应付这种情况。的确,IPv6是可以完全实现实名制的。但是,IPv6也才正在崛起中。为了解决现有的这些问题,人们提出一个非常聪明的办法:子网掩码。今天,我们就来聊聊它的二三事。
先说说子网吧。什么是子网?略去百度、wiki那详细的解释,简单来说就是主机下的网络岛。主机使用一个IP地址,但可以和路由器分出许多接口,便产生了网络岛。同一主机下,不同网络岛是可以直接进行沟通的。但如果是不同主机呢?怎么鉴别?也可以进行直接沟通吗?这里就运用到网关了。我们稍后再谈。
子网掩码,或者说是子网络掩码、网络掩码,它的主要作用,就是划分一个IP地址的网络地址和主机地址(对于子网划分后的IP地址,就是网络号+子网号+子网主机号)。网络地址,是ISP申请并用户随机获得的。也是区分不同主机的首要方式。网络号不同,代表着主机的不同。网络号确定,管理员可以安排自己的子网。简单打个比方,一个单位无权决定自己在所属城市的街道名称和门牌号,但可以自主决定本单位内部的各个办公室编号一样。管理员可以设置不同的子网,每个子网下可以多个主机。这样,对IP地址的利用就大大提高了。但只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。子网掩码也可以判别该IP地址是在局域网或是远程网上。
对于A类IP地址,子网掩码默认为255.0.0.0;对于B类IP地址,子网掩码默认为255.255.0.0;对于C类IP地址,子网掩码默认为255.255.255.0。读者可以试试将这些数字转化成二进制,会有奇妙的发现喔。(〃'▽'〃)这里就揭晓吧。子网掩码的长度是32位(IPv4的长度也是32位),左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。这样就能很轻易地算出主机数啦。但注意的是,2的主机位数次方需要减去2.(主机号全为1时,是该网络的广播地址;主机号为0,是该网络的网络号)。
那么,怎么定义子网掩码?首先先确定你要求的IP地址是哪种类型的。下来,你要确定需要的子网数。举个例子吧。比如说,你需要14个子网,可能需要16个。那么,16=2^4.所以,就在第四个字节的前四位设为1,第四节就是“11110000”。把前三个字节补上,转化成二进制就是“11111111 11111111 11111111 11110000”。十进制的形式就是255.255.255.240.所以说,很简单吧。
你可以根据子网数和主机数来计算子网掩码。我这里说说子网数的计算办法。首先,把你需要的子网数减去1(因为计算机是从0开始的),再转化成二进制。记下它的位数,后面非常有用。取得该IP地址的类子网掩码,把主机部分前N(也就是你刚才记录的位数)设为1,便得出你所需子网掩码。来个例子。你的IP地址是168.195.0.0,需要20个子网。减去1转化成二进制,是1011.好,位数是4。B类IP地址子网掩码是255.255.00。B类地址的主机位包括后两个字节,所以这里要把第三个字节的前4位设为1。即255.255.240.0。主机数同理。
判断该IP地址是否是局域网,就把两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单随意。
关于子网掩码的详细知识,请参考百度、google、wiki。本人才疏学浅,如有错误,敬请谅解。
TCP/IP的那些事--子网掩码的更多相关文章
- CCNA第三章子网划分,变长子网掩码(VLSM)和TCP/IP排错考试要点学习笔记
1. 子网划分的好处 缩减网络流量; 优化网络性能; 简化管理; 可以更为灵活地形成大覆盖范围的网络. 2. 如何创建子网的步骤 首先,确认所需要的网络ID数; 其次,确认每个子网中所 ...
- TCP/IP——内外网IP+子网掩码作用+PING(网络总结)
目录: 1.如何区分内网IP和外网IP? 保留字段 2.子网掩码是起什么作用的? 将DNS和IP异或,表示哪段起作用 3.ping到底起什么作用? ping本地.ping远程 下面针对上面三个问题分别 ...
- TCP/IP学习笔记13--IP地址的构成,广播地址,IP多播,子网掩码
现在,我是蔚蓝的 :在此岸或彼岸,我都是蔚蓝的. ---李瑾 IP对应的是OSI模型中的网络层,TCP对应的是传输层.每一个参与通信的主机都会有一个IP地址. IP地址(IPv4地址)含4个字节,每 ...
- 网络TCP/IP分层、子网掩码等基本概念
一.TCP/IP分层: OSI七层网络模型 TCP/IP四层概念模型 对应网络协议 应用层(Application) 应用层 HTTP.TFTP, FTP, NFS, WAIS.SMTP 表示层(Pr ...
- CCNA 第五章 变长子网掩码、汇总和TCP/IP故障排除
1:VLSM:即变长子网掩码,使用长度不同的子网掩码将大型网络划分为众多子网,以满足不同类型的网络设计. 2:运行老式的路由器和例如:RIP V1协议的网络不能使用VLSM,因为它使用分类路由器选择. ...
- 子网划分、变长子网掩码和TCP/IP排错__IP寻址排错
1.Cisco推荐使用的排错四步曲: ping环回地址:ping NIC:ping默认网关和ping远端设备. 1. 打开DOS窗口并ping127.0.0.1.这是一个诊断或环回地址,如果你得到一个 ...
- TCP/IP协议栈概述
TCP/IP协议栈概述 这篇文章虽然只是很粗浅的介绍了ISO/OSI 网络模型,但确实把握住了关键点,某种意义上,简单回顾一下就可以加深对TCP/IP协议栈的理解. 原作者:阮一峰 链接: http: ...
- 计算机网络及TCP/IP知识点(全面,慢慢看)
TCP/IP网络知识点总结 一.总述 1.定义:计算机网络是一些互相连接的.自治的计算机的集合.因特网是网络的网络. 2.分类: 根据作用范围分类: 广域网 WAN (Wide Area Networ ...
- TCP/IP网络知识点总结
学完了计算机网络是时候整理一篇总结了,温故知新.注意:这篇博客很长长长(2.5万字+50图). TCP/IP网络知识点总结 一.总述 1.定义:计算机网络是一些互相连接的.自治的计算机的集合.因特网是 ...
随机推荐
- socket.io 入门篇(三)
本文原文地址:https://www.limitcode.com/detail/5926e3a056fba70278bf2044.html 前言 上篇我们介绍了 socket.io 中room的概念和 ...
- CSS实现盒子高度撑开且以最高的为高
前端开发中,常常会有需求两个盒子并排排列,高度以最高的为准,且高度是内容撑开的,类似于这样 如果不是用 table 布局,而是用 div 布局,两个子盒子浮动来实现的话,实际上默认写出来是这样的 此时 ...
- 《Linux命令行与shell脚本编程大全》第十五章 呈现数据
15.1 理解输入和输出 现在知道两种显示脚本输出的方法 1)在显示器屏幕上显示 2)将输出文件重定向到文件中 15.1.1 标准文件描述符 Linux系统将每个对象当做文件处理.这包括输入和数出进程 ...
- UTF-8和UTF-8无BOM,一个会导致文件中中文变量无法匹配的bug
昨晚用dom4j中的selectSingleNode解析xml,匹配节点. 发现匹配不到,但是确实存在该节点 将regex改为regex1后则可以匹配,也就是说文件中的"阿里旺旺" ...
- memcached内存管理
前言 memcached默认情况下采用了名为Slab Allocator的机制来管理内存.在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的.但是,这种方式会导致内存 ...
- thinkphp使用foreach遍历的方法
我们在做一些需求的时候可能会对遍历的上限有一定的要求,这时候就需要对上限进行限定 首先使用foreach遍历的输出数组相比较于volist功能较少 volist标签主要用于在模板中循环输出数据集或者多 ...
- Linux系统bash shell之历史命令
1.相关变量: HISTSIZE: 定义命令历史记录的条数 HISTFILE: 定义命令储存的文件,一般是 ~/.bash_history HISTFILESIZE: 定义了历史文件记录历史的条数 H ...
- CentOS环境下Docker私有仓库搭建
本文讲述如何搭建docker私有仓库. 有了docker hub,为什么还要搭建docker私有仓库? 1.性能考虑:docker hub的访问要通过互联网,性能太低. 2.安全性:更多的时候,镜像不 ...
- 初窥c++11:lambda函数及其用法
转载于:点击打开链接 为什么需要lambda函数 匿名函数是许多编程语言都支持的概念,有函数体,没有函数名.1958年,lisp首先采用匿名函数,匿名函数最常用的是作为回调函数的值.正因为有这样的需求 ...
- 摘要算法---hashlib模块下MD5和SHA的使用
作用: 任意长度的字符串内容通过摘要算法都可以生成唯一序列摘要值,通过摘要算法,可以校验某个文档或者某组字符串是否被修改. 应用: 1.文件内容一致性校验 2.用户登录验证 常用方法 update() ...