1. 网络基础
.note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif;}

.note-content h2 {line-height: 1.6; color: #0AA89E;}
.note-content {background: #FFFFFF;}
.note-content h1 {color: #7AB3A7;}
.note-content h3 {color: #147A67;}

1. 网络基础

1.4 子网掩码

A、B、C类IP地址由不同的主机和网段构成,这是由什么决定的呢?没错,它是由子网掩码决定的。

○ 子网掩码的使用

A类地址:



子网掩码可以写成:

  • 255.0.0.0
  • 255.255.0.0
  • 255.255.255.0
  • 以上是标准子网掩码,当然还有非标准的

子网掩码必须跟IP地址一块使用。IP地址分几个网段,每个网段中有几个主机,其实都是默认与它的子网掩码进行匹配的。

以255.0.0.0为例,只要跟255匹配的这个数字就代表不同的网络,而跟0匹配的数字就代表同一个网段的不同主机。也就是说,只要跟255匹配的数字不一样,那么它们之间通信就得通过路由器;只要跟0匹配的数字不一样,那么它们就是不同主机。它们的网络ID就是与255匹配的数字。

B类地址:



C类地址:

注:同一网段子网掩码不一定得写成255.255.255.0,也可以是别的数字。但是有一个规则,它所有的数字都必须是连续的。例如:81.81.81.0。为了简单使用,子网掩码设置成255(即二进制的11111111)。

○ 变长子网掩码及子网规划

IP地址:172.16.2.121

子网掩码:255.255.255.0



(网络地址:相与计算,广播地址:子网掩码有多少位0就把IP地址的后多少位全部换成1,那么主机地址范围:网络地址最后一个数字+1---广播地址最后一个数字-1)

  • 网络地址=172.16.2.0
  • 主机地址=172.16.2.1—172.16.2.254
  • 广播地址=172.16.2.255

再例:

IP地址:172.16.2.160

子网掩码:255.255.255.192

172.16.2.160 10101100 00010000 00000010 10100000 Host(IP地址)
255.255.255.192 11111111 11111111 11111111 11000000 Mask(子网掩码)
172.16.2.128 10101100 00010000 00000010 10000000 Subnet(网络地址)
172.16.2.191 10101100 00010000 00000010 10111111 Broadcast(广播地址)
172.16.2.129 10101100 00010000 00000010 10000001 First(主机地址开始)
172.16.2.190 10101100 00010000 00000010 10111110 Last(主机地址结束)

解析:子网掩码前三个数是连续的,所以可以判断出是C类IP地址。也就是说,无论是网络地址、广播地址、主机地址,开头三个数字都是一样的,照抄前面的172.16.2

最后一个数字,将IP地址和子网掩码化为二进制,

1.10100000
2.11000000 AND
3.--------------------------
4.10000000 网络地址=128
5.
6.11000000 子网掩码
7. ↓
8.xx111111
9.↓
10.10
11.11 AND
12.----------
13.10---------------------->10111111 广播地址=191
14.
15.主机地址=128+1---191-1

Linux网络管理——子网掩码的更多相关文章

  1. 学习笔记:CentOS7学习之十九:Linux网络管理技术

    目录 学习笔记:CentOS7学习之十九:Linux网络管理技术 本文用于记录学习体会.心得,兼做笔记使用,方便以后复习总结.内容基本完全参考学神教育教材,图片大多取材自学神教育资料,在此非常感谢MK ...

  2. Linux网络管理命令

    Linux网络管理命令 ifconfig 用于配置网卡ip地址信息等网络参数或显示网络接口状态,类似于windows的ipconfig命令. 可以用这个工具来临时性的配置网卡的IP地址.掩码.广播地址 ...

  3. Linux学习笔记(11)linux网络管理与配置之一——配置路由与默认网关,双网卡绑定(5-6)

    Linux学习笔记(11)linux网络管理与配置之一——配置路由与默认网关,双网卡绑定(5-6) 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配置DNS ...

  4. Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析(1-4)

    Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配 ...

  5. Linux网络管理(一)之配置主机名与域名

    Linux网络管理(一)之配置主机名与域名参考自:[1]修改主机名(/etc/hostname和/etc/hosts区别) https://blog.csdn.net/shmily_lsl/artic ...

  6. Linux网络管理1---(Linux配置IP地址,ifconfig、配置文件)

    1.Linux配置IP 地址 ifconfig命令临时配置IP 地址 ifconfig命令,最常用的功能是查看本机的网络的配置状态(当然也可以配置网络,不过是暂时性的),直接输入ifconfig命令就 ...

  7. Linux网络管理

    关于OSI七层模型.TCP五层模型.TCP的三次握手.HTTP协议.DNS解析等相关的网络基础知识请参考我整理的一篇博客:http://www.cnblogs.com/wxisme/p/4699049 ...

  8. Linux网络管理——Linux网络命令

    3. Linux网络命令 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB&quo ...

  9. Linux网络管理——linux网络配置

    2. linux网络配置 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB&quo ...

随机推荐

  1. HTML——window.document对象练习题

    1.选项卡效果 第一种方法:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...

  2. Oracle利用过程procedure块实现银行转账

    -- create table account( id ) not null, name ), ,2), constraint a_pk primary key(id) ); --历史表 select ...

  3. OC——NSString和NSMutableString

    int main(int argc, const char * argv[]) { @autoreleasepool { //----------------NSString------------- ...

  4. OC——封装(初级与高级)

    所谓的封装,就是通过定义方法或者函数去操作成员属性或者成员变量,而不是直接通过指针方式去操作.借此达到提高代码安全性,代码可行性以及代码执行效率的目的. 1:初级封装,对成员变量进行封装. #impo ...

  5. HDU2094(产生冠军)题解

    HDU2094(产生冠军)题解 以防万一,题目原文和链接均附在文末.那么先是题目分析: [一句话题意] 根据给定现有比赛结果推断分析冠军.(这描述...我建议还是看题吧,题不长) [题目分析] 给出的 ...

  6. Qt中实现菜单和工具栏功能

    Qt创建菜单和工具栏: 一.  temp.h文件的内容 1.定义类temp继承QMainWindow 2.添加Q_OBJECT , 构造函数 . 析构函数等内容 3.$重点内容 3.1定义QActio ...

  7. eclipse中使用Lombok

    1.下载Lombok.jar http://projectlombok.googlecode.com/files/lombok.jar 2.运行Lombok.jar: java -jar  D:\00 ...

  8. 解决Button在IE6、7下的自适应宽度问题

    很早就遇到过这么个小问题,但由于其并未影响到实际作用和美观就没有正面解决它,现在,我们来试着解决它. 写一个Button,有两种方式:其一,直接button标签:其二,input type=”butt ...

  9. JavaScript基本概念(数组)

    1.数组方法 /** * join(str) * 将数组元素转换为字符串并使用参数中的字符串将各字符串链接起来 */ var a = [1, 2, 3]; a.join(); // "1,2 ...

  10. Binder连接池

    一.为什么需要Binder线程池 产生原因:因为当有多个不同的业务块都要使用AIDL来进行通信,则需要创建多个Service,每创建一个Service就需要消耗系统资源. 解决思路:将所有的AIDL放 ...