尽管大多数最终用户没有’不在乎Internet的工作原理,其中有些人可能想了解Internet的工作原理。
在本文中,我们将详细阐述数据包从源到目的地的过程,以试图了解Internet的工作原理。从这个角度来看,我们’我将尽量使本文的内容保持基础。
在继续之前,让我们首先快速简要地了解DHCP和DNS的概念。
DHCP服务器
您是否想过您的计算机如何获得IP地址?好吧,重要的是要知道计算机有两种获取IP地址的方法。一个是静态的,而另一个是动态的。
静态方法是计算机管理员手动为计算机设置IP地址的一种方法。如果您的计算机连接到局域网之类的网络,那么请记住,设置的IP地址不应与同一网络上任何其他计算机的IP地址相同,否则可能会导致IP地址冲突两台机器都无法访问互联网。
动态方法是计算机(在系统启动时)要求服务器为其分配IP地址的一种方法。用于此过程的协议称为动态主机控制协议(DHCP)。此处引用的服务器是已知的DHCP服务器。该服务器负责为网络上的所有计算机分配IP地址。 DHCP服务器服务器有责任确保没有IP地址冲突。如果其中一台计算机出现故障,然后再次启动,则新的DHCP请求将发送到服务器,这一次可能会分配相同或一些不同的IP地址。通常会将IP地址池分配给DHCP服务器,并且仅使用这些IP地址进行分配。这样做是为了安全地将其他IP地址用于静态分配,而不会发生任何冲突。
域名解析
我们大多数人会使用google.com进行互联网搜索,但是您是否想过如何确保在网络浏览器中键入google.com会真正与正确的服务器联系?好了,要了解这一点,我们需要了解域名服务器(DNS)的概念。
在现实生活中,通过人们的名字来标识他们,就像在计算机网络中一样,通过分配给他们的IP地址来标识单个计算机。 IP地址 可以有两种类型:公共和私有。通常,服务器会使用公共IP,因为全球数百万台计算机都在与它们联系。通常为连接在路由器后面的计算机分配专用IP。由于可用的公共IP数量有限,因此网络(具有公共IP的路由器后面)中专用IP的概念已变得流行和成功。为此使用的更广泛的概念称为NAT或网络地址转换。
记住IP地址对于人类来说是一项艰巨的任务,因此每个服务器也都有一个名称(例如google.com)。因此,最终用户只需要记住该名称,然后在其Web浏览器中键入该名称,然后按Enter键即可。现在,让我们来谈谈在网络浏览器中输入名称后,用户点击Enter时会发生什么的故事。首先需要将域名转换为相应的IP。为此,将请求发送到默认网关(在大多数情况下为路由器),以联系DNS服务器。路由器具有已配置的DNS服务器IP,此请求将发送到该IP。
域名解析服务器用于将域名转换为IP地址。当DNS服务器收到请求时,它将检查它是否具有必需的信息。如果不存在此转换信息,则DNS服务器会将此请求转发到另一个DNS服务器。这样就完成了域名到IP地址的转换并将其发送回去。
一旦知道IP,便会向该特定IP发出正常的HTTP GET请求,然后事情就会继续进行。
发布DNS,情况如何发展?
要了解以下解释,您应该具有以下基本知识: TCP / IP协议套件层。还是我们’此处将尽量保持基本解释。
- 通过DNS进程知道IP地址后,即可在应用程序层准备HTTP GET请求。然后,此请求将转发到传输层。
- 在此层主要使用两种协议(TCP和UDP)。在这一层,请求以传输层数据包的形式封装。如果正在使用TCP,则还应注意数据包大小不应超过源和目标之间路径中的最低MTU。这样做是为了避免数据包在传输过程中的某个地方分裂。另一方面,如果使用UDP,则不会特别注意,因此数据包可能会变得碎片化。
- 数据包在传输层形成后,便被推送到IP层。该层添加了与源IP地址和目标IP地址有关的信息,以及一些其他重要信息,例如TTL(生存时间),分段信息等。当数据包到达目的地时,所有这些信息都是必需的。
- 此后,数据包进入数据链路层,在其中添加与MAC地址有关的信息,然后将数据包推到物理层。所以流0’s and 1’s从NIC发送到物理介质。
如果数据包的目的地没有直接连接到源计算机,则通过源计算机上存在的路由信息,将数据包传输到最近的相关计算机节点。网络中可以有各种节点,例如路由器,网桥,网关等。每个实体都有其自身的重要性,例如路由器用于转发数据包,网桥用于使用相同协议连接网络,而网关用于与网络连接。不同的协议。
如果我们考虑一个基本网络,则路由器是主要代理,它们在将数据包从源转发到目的地方面起着至关重要的作用。当数据包首次离开源计算机时,相关路由器(数据包将被传输到该路由器)的mac地址将用作其目标mac地址。
当数据包到达该路由器时,路由器将执行以下操作:
- 它将减小TTL值并重新计算数据包的校验和。
- 路由器在其路由信息表中搜索数据包指定的完整主机地址’的目标IP地址。如果找到,则路由器将采取措施将数据包转发到相关主机。
- 如果未找到此类条目,则在表中搜索从目标IP派生的网络地址。如果找到,则路由器将数据包转发到该特定网络。
- 如果以上两次检查均失败,则将数据包传输到从其路由信息表中的默认条目派生的默认路由器。
在上述任何一种情况下,每当路由器将数据包传输到其他路由器或目标位置时,数据包的目标mac地址都会更改为要发送到的直接路由器或目标地址。这样,数据包中的IP地址信息保持不变,但目标mac地址从一台路由器更改为另一台路由器。因此,数据包从一台路由器传播到另一台路由器,直到到达目的地。
现在,在目的地:
- 该数据包首先在物理层接收,该物理层向CPU发出IRQ,以指示某些数据已到达并正在等待处理。
- 此后,数据将发送到数据链路层,在此检查MAC层,以查看此数据包是否确实仅用于此计算机。
- 如果通过了以上检查,则此数据包将被传递到IP层,在此进行一些IP地址检查和校验和验证,然后将其传递到相关的传输层协议。
- 一旦完成此操作,然后根据端口的知识,信息(或本例中的HTTP GET请求)将在侦听该端口的应用程序上传递。
- 这样,请求到达了Google Web服务器。
此后,以与上述相同的方式形成响应并将其发送回去。
你有它。这就是数据包在Internet中从源到目的地传输的方式。
如果您喜欢这篇文章,您可能还会喜欢..
![]() |
![]() |
![]() |
![]() |
一个IP地址可以有多个域名吗?
感谢和问候,费萨尔