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 ...
随机推荐
- C#做一个写txt文件流的测试,为什么配置低的机器写入的还快
测试机:笔记本i7 8G 固态硬盘 由于采取读码写入txt方式, 读码频率挺高,文件名为日期格式,当前采用每次读码打开文件写入的方式, 为什么没用sb,因为怕断电情况的数据丢失.所以采取每条存入的方式 ...
- 15.Mysql中的安全问题
15.SQL中的安全问题15.1 SQL注入简介SQL是用来和数据库交互的文本语言.SQL注入(SQL Injection)是利用数据库的外部接口将用户数据插入到实际的SQL中,以达到入侵数据库乃至操 ...
- 搭建自己的代理服务 proxy nginx squid ss5 s(shadow)s(socks)
标签: nginx / squid / 负载均衡 / ss 4090 1. nginx (forward) nginx自己熟悉,经常用来做负载均衡的反向代理, 这里搭建一个正向代理(forward) ...
- vue 动态路由按需加载的三种方式
在Vue项目中,一般使用vue-cli构建项目后,我们会在Router文件夹下面的index.js里面引入相关的路由组件,如: import Hello from '@/components/Hell ...
- Carbon document
< Getting Started Docs Reference History Contribute Github Introduction The Carbon class is inh ...
- ssrf绕过总结
前言 昨天忘了在公众号还是微博上看到的了,看到一个SSRF绕过的技巧,使用的是 ⓔⓧⓐⓜⓟⓛⓔ.ⓒⓞⓜ 绕过的,自己也没遇到过.然后想想自己对SSRF绕过还是停留在之前的了解,也没学习过新的绕过方法, ...
- js处理img标签加载图片失败,显示默认图片
1.第一种方法: 如果已经引入了jquery插件,就很好办.没有的话,如果实在需要,可以附上代码: script(type='text/javascript', src="http://aj ...
- 跟我学Spring Boot(三)Spring Boot 的web开发
1.Web开发中至关重要的一部分,Web开发的核心内容主要包括内嵌Servlet容器和SpringMVC spring boot 提供了spring-boot-starter-web 为web开发提 ...
- qr 生成二维码
package com.common; import com.swetake.util.Qrcode; import jp.sourceforge.qrcode.QRCodeDecoder; impo ...
- fastcgi 环境变量例子
例如请求的url http://172.28.250.184:8099/aa.php?var=ccccc&value=bbbbbb 前两个字节分别代表 变量名长度 和 变量值长度. 0x0 ...