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.定义:计算机网络是一些互相连接的.自治的计算机的集合.因特网是 ...
随机推荐
- StackExchange.Redis学习笔记(三) 数据库及密码配置 GetServer函数
这一章主要写一些StackExchange.Redis的配置及不太经常用到的函数 数据库连接 下面是我的连接字符串,里面指定了地址,密码,及默认的数据库 Redis启动后默认会分成0-15个数据库,不 ...
- Django框架中的视图和模板
视图views django中的视图就是用来定义函数来处理一些逻辑的核心地方. django中通过urls来建立路径跟views中的视图函数的映射关系. urls中的映射关系 ''' urlpatte ...
- 关于MVC Ajax.BeginForm()异步上传文件的问题
问题描述: 如果用juqery原生的异步上传方式,只要如下方法即可 $.ajax({ type: "GET", url: "test.json", data: ...
- mysql--二进制日志(bin-log)三种格式介绍及分析
一.Mysql binlog日志有三种格式,分别为ROW.Statement以及MiXED.Row LevelBinary Log会记录成[每一行数据被修改的形式],然后在Slave端再对相同的数据进 ...
- mysql实现full join
呵呵,,,有个坑,,mysql默认不支持full join 是吧. 什么是full join呢就是left+right join 可以使用union联表解决这个问题 union 链接 http:// ...
- PL/SQL简单实现数据库的连接
通常我们都会去选择 通过修改配置文件去实现数据库链接,方法如下:找到你orale 安装下的文件:instantclient_11_2\network\admin 修改的主要有三个地方:上面的命名随便起 ...
- spfa_dfs找负环
luogu #include<iostream> #include<cstdio> #include<cstring> #include<vector> ...
- 数据结构与算法(C/C++版)【树与二叉树】
第六章<树与二叉树> 树结构是一种非线性存储结构,存储的是具有"一对多"关系的数据元素的集合. 结点: A.B.C等,结点不仅包含数据元素,而且包含指向子树的分支.例如 ...
- 【liferay】1、使用alloy-UI发送ajax请求
1.首先liferay要发送ajax请求,那么就需要在jsp中定义resourceURL <portlet:resourceURL var="workDeal" id=&qu ...
- Android中相机和相冊使用分析
Android中相机和相冊使用分析 欢迎转载,但请尊重原创(文章来自不易,转载请标明转载出处,谢谢) 在手机应用程序中,使用自带的相机拍照以及相冊选择喜欢的图片是最常见只是的用户需求,那么怎么合理使用 ...