|
以前链接路由器配置静态IP的时候只是知道将子网掩码改成255.255.255.0,IP地址前三个数字和网关一样最后一个数字改成未被占用的IP就好了,一直没有理解子网掩码到底代表什么意思。之前上《计算机网络》这门课的时候好像听老师讲过,没怎么仔细听,只知道网络地址和主机地址什么的.
今天看了《TCP/IP详解》才对子网掩码有所了解。下面做个总结。
子网掩码其实是为了分割网络,比如一个A类地址能容纳的主机数有2^24-2个主机,一般一个组织是不可能用到这么多地址的,势必会造成浪费。但是我们可以通过子网掩码来将一个A类地址划分成多个子网,根据IP和子网掩码可以判断同一个网络地址下的主机是否在同一个网段.
子网掩码会将IP地址分成三部分,网络号、子网号、主机号。网络号可以直接从IP地址得到,子网号则是IP和子网掩码作&运算减去网络号,剩下的一部分就是主机号.可以根据网络号和子网号来确定两个主机是否处在同一网段
如A机Ip为192.168.1.2,B机Ip为192.168.1.126,子网掩码都是255.255.255.224。
转换成16进制如下:
A机:11000000 10101000 00000001 00000010 &运算后: 11000000 10101000 00000001 00000000
B机:11000000 10101000 00000001 01111110 &运算后: 11000000 10101000 00000001 01100000
掩码: 11111111 11111111 11111111 11100000
&运算后得到的结果不同,所以可以得出A机和B机并不在同一个网段内.
当A机发送数据给B机时,会先将B机的IP与子网掩码进行&运算查看是否在同一个网段,如果不在同一网段内则会把数据发送给网关,在同一个网段的可以直接在数据链路层通信。
- 推荐文章
- 2019阿里JVM组实习面经
- [Inside HotSpot] C1编译器HIR的构造
- 使用(POI)SAX处理Excel大文件,防止内存溢出
- POI生成WORD文档
- easyui-datagrid 编辑模式详解
- CocosCreator实现微信排行榜
- Java Servlet单元测试
- 向量判断划动方向
- cocosCreator定制小游戏构建模板
- 二进制妙用之循环计数
- 二进制妙用之多选
- nginx中proxy_pass小斜杠
- 调试webpack
- CocosCreator中worldMatrix到底是什么(下)
- CocosCreator中worldMatrix到底是什么(中)
- .Net 对于PDF生成以及各种转换的操作
- 写一个通用的List集合导出excel的通用方法
- Asp.Net Mvc 控制器详解
- asp.net Mvc 路由详解,非常详细.
- ViewData,ViewBag,TempData
- Razor 视图
- 可选参数和命名参数
- CPU性能分析工具原理
- 从硬件到语言,详解C++的内存对齐(memory alignment)
- 谈谈C++的volatile关键字以及常见的误解
- C++11的value category(值类别)以及move semantics(移动语义)
- C++基于范围循环(range-based for loop)的陷阱
- C++模板入门教程(一)——模板概念与基本语法
- 自己动手实现深度学习框架-8 RNN文本分类和文本生成模型
- 自己动手实现深度学习框架-7 RNN层--GRU, LSTM