无论你是开发世界的新手,或者即使你是一个喜欢电脑并且每天都使用互联网的人 - 你必须了解网络的基础知识,特别是计算机网络。
如果你想更深入地了解服务器,安全性以及如何从远程客户端连接到服务器,所有这些都需要了解计算机网络及其组件。我试图在本文中介绍有关计算机网络的大多数主题。
此外,从这里开始,我将“计算机网络”简称为“网络”。
我们先来看看对计算机网络的定义:
计算机网络可以定义为借助于诸如线缆,光纤等数据线在世界各地的计算机之间交换网络数据包。
该网络是一种计算机网络
下面我将介绍一些常用的术语和组件以及它们如何在计算机网络中运行,其中一些在上图中。
计算机网络中的节点是指任何计算设备,例如计算机,移动电话,平板电脑等,它们试图通过网络向另一个类似设备发送和接收网络数据包。
网络数据包只不过是源节点希望向/从目标节点发送/接收的信息或数据单元。在本文中,网络数据包/数据包都传达了相同的含义。
考虑一下你想在他们的生日那天送你的朋友生日礼物,你会在哪里发送?他们的街道地址对吗?
这里的情况也是如此。早期的计算机科学家想要在互联网上识别具有唯一编号的计算机,就像今天的电话号码一样。因此,他们提出了TCP / IP的概念。
计算机设备的IP是计算机网络中该设备的地址。从技术上讲,它是一个32位数字,用于识别网络中的设备。来自该网络中的设备的所有通信将根据其IP地址完成。
请注意,您要将文件上传到任何网站,或者说要转到Google云端硬盘。
在最低级别的网络通信中,您的文件将转换为数据包,每个数据包都有目标节点地址,只有IP地址。
在更高级别上,IP地址分为两种类型:
IPv4分为五类,分别为A类,B类,C类,D类,E类。
IP地址中的八位字节
A类:如上图所示,对于A类IP地址,IP地址的第一个八位字节的第一位是常量,为“0”。
第二列表示网络位和相应IP地址类的主机位。考虑到A类IP地址,我们有以下公式:
网络/子网数量= 2^(# of network bits)
。
每个子网中的有效主机数= 2^(# of host bits) — 2
。
网络位和主机位的数量由IP地址类的默认子网掩码决定。
A类IP地址的默认子网掩码是255.0.0.0,即11111111.00000000.0000000.00000000
`。因此,对于A类:
网络位= 8,主机位= 24。
由于网络位= 8,主机位= 24,因此它们的总和必须为32,因为IPv4地址是32位。但是,因为我们使用一位(第一个八位位组中的第一位)来识别类:
可用网络位数 =网络位数 - 常数位数= 8-1 = 7
因此,A类中可能的网络数量 =2^7 — 2 = 126
和可能的主机数量(也就是可连接到网络的设备)中的一类每个网络 = 2^24-2 = 16277214
。
现在,在这里,对于A类,您可能想知道为什么我从可能的网络数量中减去额外的2。这是因为,对于A类,127.xyz被保留。对于其他类,使用通常的公式。
因此,IP类从地址A范围1.x.x.x
到126.x.x.x
。
B类:这种情况与B类相似。唯一的区别是第一个八位位组的2位是常数(10),它们识别出属于B类的IP地址类。所有其他计算都是相同的,我没有提到他们在这里,因为他们很容易从上面的表中抓取。他们的范围从 。128.0.x.x
到191.255.x.x
。
C类:第一个八位字节的3位是常数(110),并且它们标识类如类C.它们的范围从192.0.0.x
到223.255.255.x
。
D类和E类:D 类和E类用于实验目的。
IPv4地址主要有两种类型:
注意:设备可以同时拥有多个IP地址。考虑连接到两个网络的设备,wifi以及任何LAN网络 - 它将具有两个IP地址。这意味着IP地址被分配给接口而不是直接分配给计算机。
顾名思义,路由器是一个负责路由数据包的硬件组件。它确定数据包来自哪个节点以及发送方节点要将其发送到哪个目标节点。没有计算机知道其他计算机的位置,并且数据包不会发送到每台计算机。路由器识别必须向其发送网络数据包的目标节点地址,并将其转发到所需的地址。
路由器具有特定的“路由协议”,它定义了与另一个路由器或网络节点交换数据的格式。换句话说,路由协议定义了路由器如何相互通信。
路由器构建一个“路由表”,用于标识在发送数据包时在网络中采用的最优化路径。
从技术上讲,路由表只是一个表,其中包含从一个路由器到另一个路由器的“路由”列表。每条路由包含网络中其他路由器/节点的地址以及如何到达它们。
Routing table:
Destination Gateway Genmask Flags Metric Refs Iface
default 192.168.0.1 0.0.0.0 UG 1024 233 eth0
192.168.0.0 * 255.255.255.0 UC 0 0 wlan0
192.168.0.0 * 255.255.255.0 UH 0 2 eth0
以上是路由表的示例。需要注意的关键点是:
所以这是路由器的工作方式,借助路由协议和路由表。
到现在为止。我们在这里学习组件。我需要将它们拼接在一起,并了解互联网是如何工作的。“
知道更多的术语,你将对一切如何进行正确的理解。
网络地址转换是路由器用于向更多设备提供互联网服务的技术,其中公共IP的使用较少。因此,ISP为路由器分配单个IP地址,并将私有IP分配给连接到它的所有设备。NAT帮助ISP为更多消费者提供互联网接入。
因此,如果您连接到您家的路由器,您的公共IP将对全世界可见,但私有IP不会。无论通信的网络数据包将由您的公共IP(即分配给路由器的公共IP)进行寻址。
通过上图看。比方说,在你的家庭网络,您试图访问medium.com(远程静态IP: )72.14.204.147
,从你的计算机(私有IP: 192.168.1.100
)。
因此,对于您的计算机,连接如下所示:
192.168.1.100:37641
→ 72.14.204.147:80
。
“37641”是NAT路由器为您的设备/计算机分配的随机端口号。(当在计算机上的不同端口上运行的守护程序之间存在网络通信时,NAT使用相应的端口)。每个出站连接都由NAT路由器获取分配的端口。
连接在NAT中建立如下:
Private IP |PrivatePort |PublicIP |PublicPort |Remote |RemotePort
------------- ------------ --------- ----------- ------- -----------
192.168.1.100 | 37641 | 104.244.42.129 | 59273 | 72.14.204.147 | 80
但是,由于网络的外部世界不知道您的私人地址,因此连接如下所示:medium.com:
104.244.42.129:59273
→ 72.14.204.147:80
。
这样,我们实现了分配更多数量的IP地址而不浪费许多公共IP。
现在,当medium.com将响应发回时104.244.42.129:59273
,它会一直传输到您的家庭路由器,然后查找相应的私有IP和专用端口,并将数据包重定向到您的设备/计算机。
注意:NAT是一个通用概念。NAT可以实现为1:1,1:N,其中1,N是网络中的IP地址数。称为“IP伪装”的技术是1:N NAT。
动态主机配置协议或DHCP负责为主机分配动态IP地址。如果有一系列路由器到达主机,则由ISP或以前的路由器维护DHCP服务器。
因此,IP地址的分配由DHCP服务器执行。通常,ISP维护DHCP服务器,并且我们家中的路由器从DHCP服务器分配公共IP。
注意:每当路由器或由ISP或路由器维护的DHCP服务器重新启动时,IP地址分配将再次启动,并且设备将分配与先前的IP不同的IP。
我们已经讨论过任何机器都是由IP地址识别的。
好的,所以你localhost
在你的机器上运行一个Web服务器。如果你在任何Linux机器上的主机中dug around,你会遇到这样的事情:
127.0.0.1 localhost
255.255.255.255 broadcasthost
:: 1 localhost
这意味着即使您键入127.0.0.1
浏览器的URL栏,也意味着相同localhost
。
与上述类似,您每天使用的网站是在具有静态IP地址的某个远程实例/节点上运行的Web服务器。那么,在浏览器的URL栏中输入该IP地址将带您进入该网站?
是的,肯定会的。但是,你是一个超级记住数千个网站的IP地址吗?回答是记不住的。
因此,我们使用的域名,例如medium.com,twitter.com,behance.net,codementor.io等。
域名服务器是具有巨大域名映射IP地址记录的服务器,其搜索域输入并返回托管您要访问的网站的机器的相应IP地址。
DNS如何实际工作?
注意:
互联网名称与数字地址分配机构(ICANN)是一个联盟(非营利性公司),代表社区管理域名和IP地址范围的分配。
域分为三个部分,如下图所示。
互联网服务提供商是为每个人提供互联网的公司。您现在正在阅读的文章是因为您的ISP为您提供的互联网。
ISP提供互联网,处理将您的请求路由到正确的目的地,在他们维护的DNS缓存的帮助下解析域名,并处理所有这些使我们能够使用互联网的网络基础设施。
ISP是一种在互联网上工作的层次结构。有某些类型的ISP,即第1层,第2层,第3层ISP。
通过路由器的流量也通过第3层(如果存在),第2层,最终通过第1层ISP到达另一个网络。
到目前为止,我们已经了解了使一切工作所需的所有组件。现在,我们将它们粘合在一起。
计算机网络的详细图表
让我们总结一下我们学到的所有东西:
因此,这就是互联网又称一种使用TCP / IP协议的计算机网络的工作原理。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有