Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

互联网是如何工作的? #66

Open
Samgao0312 opened this issue Jun 13, 2020 · 0 comments
Open

互联网是如何工作的? #66

Samgao0312 opened this issue Jun 13, 2020 · 0 comments

Comments

@Samgao0312
Copy link
Owner

Samgao0312 commented Jun 13, 2020

image

互联网如何运作?

互联网根据 互联网协议(IP - Internet Protocol )传输控制协议(TCP - Transport Control Protocol) 和其他协议通过数据包路由网络工作。

什么是协议(protocol)

协议是一组规则,用于指定计算机应如何通过网络相互通信。例如,传输控制协议(TCP)有一个规则,如果一台计算机将数据发送到另一台计算机,则 目标计算机 应让 源计算机 知道是否有任何数据丢失,以便源计算机可以重新发送它。互联网协议 通过将地址附加到发送的数据上来指定计算机应如何将信息路由到其他的计算机。

什么包(packet)

通过Internet发送的数据称为消息在发送消息之前,首先将其拆分为多个片段,称为packets。这些数据包彼此独立发送。典型的最大数据包大小在1000到3000个字符之间。Internet协议指定了消息应如何打包。

什么是分组路由网络?

它是一个将数据包从 源计算机 路由到 目标计算机 的网络。 互联网由称为路由器的大型专业计算机网络组成。每个路由器的工作是了解如何将数据包从其源传送到目的地。一个数据包在传输过程中将通过多个路由器。

数据包从一个路由器移动到另一个路由器时,称为跳。您可以使用命令行工具traceroute查看数据包在您和主机之间经过的跃点列表。
命令行实用程序traceroute,显示我的计算机与Google服务器之间的所有跃点:
image

互联网协议指定了如何将网络地址附加到数据包的标头,包中包含其元数据(meta-data)的指定空间。 Internet协议还根据报头中的地址指定路由器应如何转发数据包。

这些Internet路由器来自哪里?谁拥有它们?

这些路由器起源于1960年代的ARPANET——一个军事项目,其目标是分散计算机网络,以便在发生灾难性事件时政府可以访问和分发信息。从那时起,许多Internet服务提供商(ISP)公司已将路由器添加到这些ARPANET 路由器上。

这些Internet 路由器没有单一所有者:早期与ARPANET相关的政府机构和大学,以及后来的AT&T和Verizon等ISP公司。

问谁拥有互联网就像问谁拥有所有电话线。没有人拥有整个互联网——许多不同的实体拥有其中的一部分。

数据包总是按顺序到达的?如果不是,消息又是如何重新组合的呢?

数据包可能会无序到达其目的地。当较晚的数据包找到比较早的数据包更快的路径时,就会发生这种情况。但是包的头部包含了有关包相对于整个message的顺序。TCP使用这个信息在目的地对消息重建。

数据包是否总是到达目的地?

IP 不保证数据包会一定能够到达他们的目的地。发生这种情况时,称为丢包。当路由器收到更多可以处理的数据包时,通常会发生这种情况。除了丢弃某些数据包外,它别无选择。

但是,TCP 通过执行重传来处理数据 包丢失。它通过使目标计算机定期将确认数据包发送回源计算机,以指示其已接收并重构了多少消息来完成此操作。如果目标计算机发现丢失的数据包,它将向源计算机发送一个请求,要求它重新发送丢失的数据包。

当两台计算机通过 传输控制协议(TCP) 进行通信时,我们说它们之间存在 TCP连接

Internet地址是什么样的?

这些地址称为IP地址,有两个标准。

  • 第一个地址标准称为IPv4,看起来像212.78.1.25
  • 第二种地址标准称为IPv6: 由于IPv4仅支持2²²(约40亿个)可能的地址,因此Internet Task Force提出了一种称为IPv6的新地址标准,看起来像3ffe:1893:3452:4:345:f345:f345:42fc。IPv6支持2²²可能的地址,允许使用更多的联网设备,这将远远超过截至2017年当前Internet上的8十亿个联网设备。

因此,IPv4和IPv6地址之间存在一对一的映射。请注意,从IPv4到IPv6的切换仍在进行中,将需要很长时间。截至2014年,Google透露其IPv6流量仅为3%。

联网计算机如何根据域名找出IP地址?

我们称呼查找人类可读域名的IP地址,例如 www.google.com “解析IP地址”计算机通过域名系统(DNS)解析IP地址,DNS是从域名到IP地址的映射的分散式数据库。

为了解析IP地址,计算机首先检查其本地DNS缓存,该缓存存储了它最近访问过的网站的IP地址。如果无法在此处找到IP地址或该IP地址记录已过期,它将查询专们用于解析IP地址的ISP的 DNS服务器。如果ISP的 DNS服务器找不到解析IP地址,则会查询根名称服务器(root name servers),后者可以解析给定顶级域的每个域名。顶级域是域名中最右边的句点右边的单词。.com .net .org是顶级域名的一些示例。


参考阅读

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant