IP和网段及子网掩码基础知识
IP地址由网络号和主机号两部分组成,网络号的最高位必须是“0”,IP地址和子网掩码求“与”算出网络地址,只有网络地址相同才可直接通信,否则需要借助路由。
主机标识段为全1的IP地址为广播地址, 广播数据包不经过路由器,只能在同一子网内部广播,UDP的广播地址为255.255.255.255。
子网中第一个地址为网络地址,最后一个地址为广播地址,这两个地址是不能配置在计算机主机上。根据网络号的不同,IP地址划分为ABCED五类。
子网掩码为何叫“掩码”?因为它能遮掩(同IP地址求与)IP地址的主机号部分,从而得到网络号(或网络地址)。
1) 以
inet 10.49.126.98 netmask 255.255.255.192 broadcast 10.49.126.127
为例:
10.49.126.98的二进制:
00001010.00110001.01111110.01100010
255.255.255.192的二进制:
11111111.11111111.11111111.11000000
10.49.126.98的网络地址为与子网掩码255.255.255.192的“与”:
00001010.00110001.01111110.01000000
即:
10.49.126.64
“10.49.126.64”即为网络地址,该子网可有多少主机?
“00001010.00110001.01111110.01000000”最后一个1后的0为主机部分,这里一共6个0,即2的6次方,值为64,减去网络地址和广播地址,所以可用主机数为62个。
2) 以
inet 10.223.25.101 netmask 255.255.255.192 broadcast 10.223.25.127
为例:
10.223.25.101的二进制:
00001010.00110001.01111110.01100101
10.223.25.101的网络地址为与子网掩码255.255.255.192的“与”:
00001010.00110001.01111110.01000000
即:
10.49.126.64
因此10.223.25.101和10.49.126.98可直接通信。
3) 以
inet 9.25.130.171 netmask 255.255.255.192 broadcast 9.25.130.191
为例:
9.25.130.171的二进制:
00001001.00011001.10000010.10101011
9.25.130.171的网络地址为与子网掩码255.255.255.192的“与”:
00001001.00011001.10000010.10000000
即:
9.25.130.128
因此9.25.130.171和10.49.126.98不可直接通信,需要添加路由。
主机地址10.240.85.2/16中的数字16为子网掩码的缩写(CISCO表示法),16代表16个1,即:11111111.11111111.00000000.00000000,因此16就是255.255.0.0。
inet 10.240.85.2 netmask 255.255.255.192 broadcast 10.240.85.63
10.240.85.2 => 00001010.11110000.01010101.00000010
255.255.255.192 => 11111111.11111111.11111111.11000000
网段:
00001010.11110000.01010101.00000000
即:
10.240.85.0
故可表示为:
10.240.85.0/26
问题1:192.168.1.0/26和192.168.1.64/26是否可直接通信?
26 => 11111111.11111111.11111111.11000000
192.168.1.0 => 11000000.10101000.00000001.00000000
192.168.1.64 => 11000000.10101000.00000001.01000000
192.168.1.0的网段为:
11000000.10101000.00000001.00000000
即:
192.168.1.0
192.168.1.64的网段为:
11000000.10101000.00000001.01000000
即:
192.168.1.64
两个的网段不同,故不能直接通信。
问题2:192.168.1.0/26可容纳多少个IP?
26等于11111111.11111111.11111111.11000000,那么剩下的只有111111(6个1),十进制值为63,因此192.168.1.0/26可容纳64个IP(包含一个网段地址和一个广播地址)。
题1:对于C类地址,子网掩码为255.255.255.248,则能提供的子网数为多少?
248的二进制值为11111000,而二进制值11111的十进制值为31,因此可提供的子网数为30个。
题2:某公司申请到一个C类地址,但要连接6个子公司,最大的一个子公司有26台电脑,每个子公司在一个网段中,则子网掩码应设为多少?
26的二进制值为11010,因此网络掩码为:11111111.11111111.11111111.11100000,即255.255.255.224。
题3:地址190.233.27.13/16的网络部分地址是什么?
190.233.27.13 => 10111110.11101001.00011011.00001101
16 => 11111111.11111111.00000000.00000000
190.233.27.13和16求“与”得到:
10111110.11101001.00000000.00000000
即网络部分地址是190.233.0.0。
题4:一个子网网段地址为5.32.0.0,掩码为255.224.0.0的网络,它允许最大的地址是?
255.224.0.0 => 11111111.11100000.00000000.00000000
5.32.0.0 => 00000101.00100000.00000000.00000000
该网段的广播地址(同255.224.0.0求“与”后的值为5.32.0.0):
00000101.00111111.11111111.11111111
即:
5.63.255.255
因此最大IP地址为5.63.255.254
题5:一个C类地址192.168.5.0,进行子网规划,要求每个子网有10台主机,怎样设置子网掩码?
192.168.5.0 => 11000000.10101000.00000101.00000000
10 => 1010
那么子网掩码可设置为:
11111111.11111111.11111111.11110000
即255.255.255.240
附1:查看路由表命令
ip route
或
route -n
附2:iptables的简单应用
可以修改/etc/rc.d/boot.local让规则重启后也能生效,如:
/sbin/iptables -F
/sbin/iptables -A INPUT -i eth0 -p tcp --sport 80 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -j DROP
/sbin/iptables -A INPUT -i eth0 -p udp -j DROP
iptables是一个链的方式从前往后判断,如果前面的规则成立就不会往后继续,所以要注意顺序,一般每行对应一条规则。
-A是Append意思,也就是追加
-I是Insert意思,也就是插入
-F表示清除(即删除)掉已有规则,也就是清空。
查看已有的规则,执行命令:iptables -L -n
如(参数-L为list意思,-n表示以数字方式显示IP和端口,不指定-n则显示为名称,如:http即80端口):
# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:443
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
DROP tcp -- 0.0.0.0/0 0.0.0.0/0
DROP udp -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
从可以看到:iptables有三种规则链(Chain),即INPUT、OUTPUT和FORWARD。
INPUT 用于指定输入规则,比如外部是可以访问本机的80端口
OUTPUT 用于指定输出规则,比如本机是否可以访问外部的80端口
FORWARD 用于指定端口转发规则(相当于rinetd功能),比如将8080端口的数据转到到80端口
-I和-A需要指定链(Chain)名,其中-I的链名后还需要指定第几条(行)规则。
可通过-D参数删除规则,有两种删除方式,一是匹配模式,二是指定第几条(行)。
也可以通过-R参数修改已有规则,另外-L参数后也可以跟链(Chain)名,表示只列出指定链的所有规则。
-j参数后跟的是动作,即满足规则时执行的操作,可以为ACCEPT、DROP、REJECT和REDIRECT等。
在iptables的INPUT链的第一行插入一条规则(可访问其它机器的80端口):
iptables -I INPUT 1 -p tcp --sport 80 -j ACCEPT
在iptables的INPUT链尾追加一条规则(可访问其它机器的80端口):
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
如果要让其它机器可以访问本机的80端口,则为:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
插入前:
# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- 0.0.0.0/0 0.0.0.0/0
DROP udp -- 0.0.0.0/0 0.0.0.0/0
插入:
# iptables -I INPUT 1 -p tcp --sport 80 -j ACCEPT
插入后:
# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
DROP tcp -- 0.0.0.0/0 0.0.0.0/0
DROP udp -- 0.0.0.0/0 0.0.0.0/0
追加前:
# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- 0.0.0.0/0 0.0.0.0/0
DROP udp -- 0.0.0.0/0 0.0.0.0/0
追加:
# iptables -I INPUT 1 -p tcp --sport 80 -j ACCEPT
追加后(ACCEPT将不能生效):
# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- 0.0.0.0/0 0.0.0.0/0
DROP udp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
删除INPUT的第3条规则:
iptables -D INPUT 3
IP和网段及子网掩码基础知识的更多相关文章
- ip地址与子网掩码----基础知识
前言 IP地址有三种基本类型,由网络号的第一组数字来表示. A类地址的第一组数字为1-126. B类地址的第一组数字为128-191. C类地址的第一组数字为192-223. 注:数字0和 127不作 ...
- FTP基础知识 FTP port(主动模式) pasv(被动模式) 及如何映射FTP
您是否正准备搭建自己的FTP网站?您知道FTP协议的工作机制吗?您知道什么是PORT方式?什么是PASV方式吗?如果您不知道,或没有完全掌握,请您坐下来,花一点点时间,细心读完这篇文章.所谓磨刀不误砍 ...
- TCP/IP协议(一)网络基础知识
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- IP地址基础知识
IP地址基础知识 网络号:用于识别主机所在的网络:主机号:用于识别该网络中的主机. 一 OSI/RM模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 二 TCP/IP模型 数据链路层( ...
- 转:TCP/IP协议(一)网络基础知识
转载:http://www.cnblogs.com/imyalost/p/6086808.html 参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知 ...
- TCP/IP协议(一)网络基础知识 网络七层协议
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- c++ 实时通信系统(基础知识TCP/IP篇)
编写前的基础知识 C/S结构: C/S是Client/Server,即客户端/服务器端架构,一种典型的两层架构.客户端包含一个或多个在用户的电脑上运行的程序服务器端有两种,一种是数据库服务器端,客户端 ...
- IP 基础知识全家桶,45 张图一套带走
前言 前段时间,有读者希望我写一篇关于 IP 分类地址.子网划分等的文章,他反馈常常混淆,摸不着头脑. 那么,说来就来!而且要盘就盘全一点,顺便挑战下小林的图解功力,所以就来个 IP 基础知识全家桶. ...
- TCP/IP基础知识
TCP/IP基础知识 网络 TCP/IP 引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP ...
随机推荐
- python any() all()
any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True. 元素除了是 0.空.FALSE 外都算 TRUE. ...
- springboot添加fluent日志记录
istio默认会进行日志的记录,但是仅仅记录到服务.以及服务之间调用的信息,不记录业务日志. 如: 所以需要添加业务日志记录. 1.引入依赖 <dependency> <gr ...
- Hadoop(一) HADOOP简介
1. HADOOP背景介绍 1.1 什么是HADOOP HADOOP是apache旗下的一套开源软件平台 HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 H ...
- redis 数据类型为string命令整理以及示例
#设置值 SET key value [EX seconds] [PX milliseconds] [NX|XX] SET命令加上选项已经可以完全取代SETNX, SETEX, PSETEX的功能,所 ...
- 一个比较有意思的SDN网络技术相关blog/doc
http://feisky.xyz/sdn/linux/index.html 涵盖了目前主流的网络技术,所有比较有意思的内容全都覆盖了 SDN网络 目录 基本网络 TCP/IP标准模型 DHCP与DN ...
- BZOJ 1874 取石子游戏 - SG函数
Description $N$堆石子, $M$种取石子的方式, 最后取石子的人赢, 问先手是否必胜 $A_i <= 1000$,$ B_i <= 10$ Solution 由于数据很小, ...
- 通过修改Delphi 的 RTL,加快Delphi开发的应用程序速度和稳定性
RT 具体见PDF 看了不后悔,只给高手准备的. 神呐,偶看看是虾米东东
- Python编程笔记(第三篇)【补充】三元运算、文件处理、检测文件编码、递归、斐波那契数列、名称空间、作用域、生成器
一.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件处理: if 条件成立: val = 1 else: val = 2 改成三元运算 val = 1 if 条件成立 else ...
- word2vec_训练模型
from gensim.models import Word2Vecfrom gensim.models.word2vec import LineSentence # 原始的训练语料转化成一个sent ...
- 安装ubuntu16.04的时候出现的detecting file system
解决问题方法是,进入主界面执行,如下操作即可: sudo umount -l /isodevice