2023-5-7 什么是公网、内网、局域网、广域网、互联网?已经有了mac地址为什么还需要ip地址?使用ip地址是如何进行构建互联网的?什么是内网穿透?
文章目录
1、什么是公网、内网、局域网、广域网、互联网?
-
公网:公网就是广域网。是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。广域网并不等同于互联网。
补充:外网,也就是广域网。是一种地域跨度非常大的网络集合。它是由无数个局域网+独立服务器构成的。注意,此处所说的局域网既可以是小型的广域网,也可以是局域网。
-
内网:内网就是我们平常说的局域网。局域网就是在固定的一个地理区域内由2台以上的电脑用网线和其他网络设备搭建而成的一个封闭的计算机组。它可以是邻居之间的2台电脑,也可以是一幢100层大楼里的1000台电脑。局域网可以是独立封闭运行的,也可以是和外网相连接的。
-
局域网:即内网。
-
广域网:即外网或公网。
-
互联网:互联网(internet),又称国际网络,指的是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。
互联网始于1969年美国的阿帕网。通常internet泛指互联网,而Internet则特指因特网。这种将计算机网络互相联接在一起的方法可称作“网络互联”,在这基础上发展出覆盖全世界的全球性互联网络称互联网,即是互相连接一起的网络结构。互联网并不等同万维网,万维网只是一建基于超文本相互链接而成的全球性系统,且是互联网所能提供的服务其中之一。
注意:互联网是广域网,但是广域网不一定是互联网。
2、已经有了mac地址为什么还需要ip地址?
- 我们已经知道了mac地址可以用于标识地球上任一一个物理设备,那为什么还要用ip地址来表示网络中的设备?直接用mac地址不行吗?
回答:直接用mac地址确定网络中的设备理论上可行,但是想要全球范围内接入互联网的任意两台设备间通信的话,路由器维护的转发路由表的大小将会到一个很可怕的地步。因此,人们根据地区划分出不同的ip地址前缀,然后在该ip前缀下划分出若干的子网,在路由选择的过程中,将一个子网看作一个整体, 路由器只需要选择到达这个子网的路径,到达之后的事情就交给子网内部了。这样一来路由器只需要记录子网的IP地址即可(路由聚合),减少了所需要的内存。
那么MAC地址能不能去掉呢?不能,因为IP地址是动态分配的(这一点读者感兴趣可以看看这篇文章:(1条消息) DHCP详细解析_白夜下的博客-CSDN博客),在设备上线之前是无法根据设备进入了哪个子网来分配的,所以在设备还没有IP地址的时候(或者在分配IP地址的过程中),我们还需要使用MAC地址来区分不同的设备。MAC地址才能唯一确定设备)。
————————————————
参考:https://blog.csdn.net/weixin_44178736/article/details/113773848
3、使用ip地址是如何进行构建互联网的?
-
前导知识:mac地址,ip地址是根据mac地址和协议动态分配的,计算机网络常见硬件(参考:2023-5-7 计算机网络常见硬件设备及其功能_雪饼熊的博客-CSDN博客)。
-
话不多说,直接上图:
-
如果是两台计算机想要进行实时数据传输只需要用传输介质连接起来就好(参考:2023-5-7 常见网络传输介质_雪饼熊的博客-CSDN博客),比如说网线:
-
如果是多台计算机想要进行实时数据传输,那么可以使用集线器或者二层交换机(或者网桥)形成一个计算机群:
注意,使用集线器信息是用广播的形式发送。而二层交换机则可以根据mac地址保证两台计算机点对点的进行信息交换。
-
在实际生活中不同建筑群里的计算机群,都接入了自己建筑里的二层交换机,现在只要将不同建筑里的二层交换机用一根网线连接既可以实现这些计算机群的数据传输:
但是随着建筑和计算机群一多,二层交换机也越来越多,二层交换机中记载的转发表也放不下这么多的地址信息了。为了解决这个问题,在此基础上引入了三层交换机(即路由器)和ip地址。
-
最终,我们使用ip地址和三层交换机来构建广域网或者局域网:
图中信息和流程说明:
-
使用路由器+ip组网与之前使用二层交换机的不同:
使用路由器+ip地址构建中,由于IP地址有限无法像mac地址能直接标识每一台设备,因此使用一定数量的公网ip(例如6.6.6.6),并在公网ip下划分出不同地区的子网(即用特定的ip前缀划分地区),再由子网负责使用内网ip(10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255)标识子网内的设备。 -
NAT网络地址转换协议:在上面倒数第二幅图中,假设左侧的计算机1(ip:192.168.0.3)想要发送数据包(d1)到右侧的计算机2(ip:192.168.0.0.3)那么这个信息是如何发送的?
1)首先,d1从计算机1出发,通过传输介质连的端口到网关1(ip:6.6.6.6)。
2)网关1接受d1后,发现目标ip是网关2。于是,网关1先将d1中的ip地映射成6.6.6.6同时保存一张映射表,然后再将d1以6.6.6.6这个ip发给网关2。而这个映射的过程就是NAT网络地址转换协议的实现。
3)最后由网关2接收d1并查询映射表后发给计算机2,这样就实现了多台计算机共同使用同一个公网ip。
上述操作实现了多台计算机共享一个公网ip,但实际操作中就不得不面对一个问题: 由于网关2是接受的是被网关1修改了ip地址后的d1,因此网关2并不知道这个d1的是由网关1下的计算机1发出的。另外,如果网关2下也有很多附属设备由于d1里的目标ip就是网关2,那么网关2接受到d1后如何知道d1实际上应该发给谁—即映射表内的信息如何去标识附属设备。
由此便有了端口映射技术。
-
端口映射技术:我们在所有设备的ip地址后面再加上端口号,网关会以不同的端口与外网交互,然后将端口映射给网关下的不同设备。在数据传输做映射的时候,网关1会把计算机1的ip地址映射成为6.6.6.6:port的形式发送给网关2,网关2根据对应的端口发送给计算机2。
补充:在数据交互时,一开始计算机1只知道数据终点是发给网关2,并不知道d1到达的终点是计算机2。而网关1只知道做好ip和端口映射,要把d1发给网关2。网关2从对应端口拿到d1后根据映射表再转发给计算机2做处理。
验证过程操作如下:
- 查询本机ip地址和百度ip地址
- 安装wireshark抓包工具,设值主机地址过滤为百度主机地址
- 使用浏览器访问百度官网
- 进行抓包数据分析:这里获取的数据包应该是上述图中1.后面的d1内容
-
补充:同一局域网下,不同设备简单数据访问直接通过内网ip+port通过广播或者路由的方式进行,不需要NAT+端口映射。
-
-
4、什么是内网穿透?
-
内网穿透:内网穿透又被称为端口映射、内网映射、NAT穿透。
内网是指局域网中的一些设备所在的网络,只有在这个内网中的设备之间才能直接通信,而外部网络无法直接访问内网中的应用或者设备。
但是在某些情况下,我们可能需要让外部网络用户访问内网中的应用或设备,这个时候就需要用到内网穿透技术。所以内网穿透就是用来解决外网访问内网的。 -
一台使用内网ip的计算机1想要通过内网ip2(192.168.0.3)+port2(8082)的形式提互联网的网络服务-----即内网穿透,那么就可以使用一台工作在外网的中间设备完成三件事情:
-
在计算机1上安装中间设备的客户端。
-
在客户端上绑定计算机本机内网ip2和服务端口port2并映射到中间设备的ip1(114.116.203.8)+port1(80)。
-
中间设备根据映射将PC2发出的所有ip1+port1的请求进行转发到计算机1所处的网关,再由网关转发到计算机1完成处理。
这样就完成了内网穿透。注意这里有三个元素:计算机1,计算机1所处的网关,中间设备
-
以上内容来自个人学习总结,如有错误恳请指正