目录
1.如果开启了防火墙,localhost可以ping通本机?
一、学习目标
了解IP协议对互联网所起到的重要且不可替代的作用
掌握IP地址的基础知识
二、学习背景
IP是Internet Protocol(网际协议)的缩写,是整个TCP/IP协议族的核心,也是构成互联网的基础,可以说,只要计算机在网络中存在,就一定会有能够找得到它的IP地址。IP主要包含三方面的内容:IP编址方案、分组封装格式及分组转发规则。本任务所涉及的仅仅是IP编址方案。
三、学习内容
1、IP地址
IP位于网络层,作用是主机间的通信,负责在没有直连的两个网络之间传输通信数据,而MAC位于数据链路层,作用是实现两个设备之间的直连通信

IP地址(IPv4)由32位二进制数表示,在计算机中是以二进制的方式处理的,人类为了方便记忆而采用了点分十进制的标记方式:也就是将32位二进制的IP地址以每8位为一组,共分为4组,组之间用“.”隔开,再将每组转换成十进制数表示。也就是说,IP地址的最大值就是2^32 = 4294967296.

2、网络号与主机号
| 类别 | IP地址范围 | 最大主机数 |
| A | 0.0.0.0 ~ 127.255.255.255 | 16777214 |
| B | 128.0.0.0 ~ 191.255.255.255 | 65534 |
| C | 192.0.0.0 ~ 223.255.255.255 | 254 |
为什么要有网络号?因为除了需要定位某台具体的计算机,还需要定位某个网络。网络号和主机号的关系,就好比楼栋和住户的关系,也就是「网络号:主机号 == 楼栋号:住户」。
最大主机数 = 2^主机号的位数 - 2,例如C类IP地址的主机号位数为8,那么C类IP地址的最大主机数 = 28 - 2 = 254。之所以要减2,是因为有两个IP是特殊的,分别是主机号全为1和主机号全为0。

3、IP地址分类
互联网诞生之初,IP地址显得很充裕,因此计算机科学家们设计了分类地址。他们把IP地址分为五种类型:A、B、C、D、E。
A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)
第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。
一般用于大型网络。
B类:(128.1.0.0-191.255.0.0)(默认子网掩码:255.255.0.0或0xFFFF0000)
前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。
一般用于中等规模网络。
C类:(192.0.1.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)
前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。
一般用于小型网络。
D类:是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。一般用于多路广播用户 。
E类:是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。
特殊:回送地址:127.0.0.1。 也是本机地址,等效于localhost或本机IP。
一般用于测试使用。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。

4、特殊地址(全为1和全为0)
1、0.0.0.0是windows对所有未知ip的地址描述,0.0.0.0是全零网络,代表默认网络,帮助路由器发送路由表中无法查询的包。可以指向任意地址.
2. 全1,也就是255.255.255.255为当前子网的广播地址.
广播地址的作用:如果一个网段内有10台电脑,如果其中一台需要给其他所有电脑发送信息,有两种方式.一,分别发出九次信息,二,将信息发向广播地址,其余电脑即可收到,可以理解为:将信息发给广播地址后,广播地址会将信息发给网段下所有的电脑.
5、无分类地址CIDR
不再有A、B、C、D、E等分类的概念,而是仅仅将32位的IP地址划分成两部分:网络号 + 主机号,形式为:a.b.c.d/x,其中/x表示前x位属于网络号,范围是0~32。例如10.100.122.2/24,通过CIDR也可以得到子网掩码。

6、私有地址(子网)
因为全世界的电脑数量远超2^32位所能代表的最大数量,所以给每一台计算机分配一个ip地址是不现实的,所以此时有了一种新的解决方案.
将一个ip地址划分给一组计算机,例如一个公司,一个教室,一栋小区等等.由多个计算机共享这一个网络地址.所有共享这个ip地址的计算机,在与外界联网时,使用的均是同一个ip地址,外界所看到的ip地址均相同.
那么问题来了,如果a同学与b同学发送文件,b的ip地址是与其他人公用的,该如何确保该信息能准确无误的发送到b同学处,而不会发给同样使用该ip地址的其他人呢?使用子网也就是私有地址.
私有地址
在A、B、C三类地址中,分别都有一个保留地址:局域网.
- A类:10.0.0.0 ~ 10.255.255.255 子网掩码:255.0.0.0
- B类:172.16.0.0 ~ 172.31.255.255 子网掩码:255.240.0.0
- C类:192.168.0.0 ~ 192.168.255.255 子网掩码:255.255.0.0
也就是说,这三组地址是私有网络地址,在互联网上是用不了的.它们被划分出来作为局域网的网段.
我们在共享同一个ip时,会得到一个私有地址,这个地址是我们内部的划分,不属于公网,可以称为子网.
就想一个上学时的班级一样,我们是xx级xx班,这个班级号就相当于我们共享的的ip地址.当别人形容我们时,通常是形容xx级xx班的某人.但我们内部通常还会有一个学号,比如1号,2号,3号,4号等等.每一个学号特指代表了在班上的同学.我们内部可以通过学号来辨别时谁.但是外界的其他人是不知道的.此处的学号就是我们的私有地址.
当a同学想传送给b同学一个文件时,通过互联网(公网)传输到b同学的ip地址.但是使用此ip地址的人不止b同学一个,所以还需要子网通过私有地址,准确的传达到b同学处.此过程就像上学时,有人给xx班的b同学寄了一封信,通过xx班(ip地址)送到了b同学的班上.然后通过班主任识别学号(私有地址),准确传到b同学手上.
7、网关
大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。网关(Gateway)就是一个网络连接到另一个网络的“关口”。也就是网络关卡。
【说明:由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关,在今天很多局域网采用都是路由器来接入网络,因此通常指的网关就是路由器的IP】
按照不同的分类标准,网关也有很多种.TCP/IP里的网关是最常用的,通常我们所讲的“网关”均指TCP/IP协议下的网关。
那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0.而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现传递信息的目标主机不在同一网段中,就把数据转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络A向网络B转发数据包的过程。
所以说,只有设置好网关的IP地址,才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,也就是我们都见过的路由器.
如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。默认网关一般填写192.168.x.1.
8、子网掩码
ip地址等于网络号+主机号,但实际上因为私有地址的存在,网络号还可以细化分为出公网和子网两部分.
ip: 192.168.0.3 > 11000000 10101000 00000000 00000011
子网掩码:255.255.255.0 > 11111111 11111111 11111111 00000000
子网掩码就像一把刀,通过子网掩码的计算我们能准确的分别出ip地址中网络号中网络号与主机号是多少.
子网掩码的作用,是确定ip地址所在的网段。
a同学必须知道自己的班级,电脑也必须知道自己的网段。
小明学号的前几位代表班级号,这个是学校制定的(网络号)
那么ip地址的前多少位代表班级号呢,这个就得看子网掩码了。
ip地址分为两部分,前面部分网络号类似于学号中的班级编号,只要两个ip的网络位相同,那么他们就是同网段。ip地址后面部分主机号,代表本机。
那么两个ip是否同网段,要看他们的网络位是否相同
192.168.1.199
255.255.255.0
这样的掩码,代表192.168.1.是网络位,另一个地址只要也是192.168.1开头,就是同网段了
192.168.1.199
255.255.0.0
这样的掩码,代表192.168.是网络位,另一个地址只要192.168开头就是同网段了.
子网掩码中几个255代表ip地址前几段是网络号
可是实际情况往往错综复杂。
比如苹果手机热点给电脑分配的地址是这样的

发现掩码是3个255还带个240
在实际的工程项目中,也会做类似的网络规划,那么后面这个240又是怎么回事呢
这里需要把ip地址换成二进制来看,用win10 自带的计算器可以换算,先算完再来看原理。
打开打算器,选择“程序员”,输入172,可以得到172对应的二进制,然后再得到其他几个数的二进制。

172=10101100
16=00010000
10=00001010
8=00001000
注意,每个数字都要凑齐8位的二进制,不够8位前面写0
换算完后,ip地址172.16.10.8变成了
10101100. 00010000. 00001010. 00001000
然后再换算掩码
255.255.255.240变成了
11111111.11111111.11111111.11110000
发现掩码非常整齐,前面全是1后面全是0
那这里怎么从掩码来得出网络位,其实非常简单,掩码有多少个1,ip地址的前多少位就是网络位,那么这个ip的网络位就是前28位
也就是10101100. 00010000. 00001010. 0000
如果另一个ip的二进制,前28位也是这样,那么就是同网段
当然,二进制很不友好,所以我们还可以计算出自己所在的网段的范围
那就是网络位固定下来,主机位从全0到全1就可以
10101100. 00010000. 00001010. 00000000到10101100. 00010000. 00001010. 00001111
换回十进制就是
172.16.10.0到172.16.10.15
所以,超过15的都不是同网段了。
9、补充
(1)本机IP、127.0.0.1和localhost:经常可以在开发中看到这三个不同的IP地址。他们之间的区别是什么呢?
- 本机IP:确切地说是本机物理网卡的IP地址,它发送和接收数据会受到防火墙和网卡的限制
- 127.0.0.1:这是一个环回地址,也是一个特殊的网络接口,从它发出的任何数据包都不会出现在网络中,它发送和接收数据也会受到防火墙和网卡的限制
- localhost:它是一个域名(类似于"www.baidu.com"、"www.csdn.net"),过去它指向127.0.0.1这个IP地址,现在它同时还指向IPv6地址:[::1] ,它发送和接收数据不会受防火墙和网卡的限制
(2)网络类型
1.广域网--远程网
2.城域网(因常常使用以太网,所以常纳入局域网讨论)
3.局域网
4.个人局域网
互连网 internet
其中,如果是以tcp/ip协议组作为通讯规则 则称为 互联网 Internet
四、习题及其求解过程
1.如果开启了防火墙,localhost可以ping通本机?
A.
B.![]()
解: A. 因为localhost是域名不是IP,不受防火墙的限制。
2.10.231.68.25是公有IP?
A.
B.![]()
解:B. A类保留地址的范围是10.0.0.0~10.255.255.255
179

被折叠的 条评论
为什么被折叠?



