第一章从Internet出发:互联网是怎么工作的?

293 阅读11分钟

- 互联网介绍

在我们了解互联网是什么之前,我们需要了解什么是网络。网络是一组相互连接的计算机或其他设备。例如,你在家里可能有一个计算机和设备的网络。住在你隔壁的朋友可能也有类似的设备网络。他们的邻居可能有类似的设备网络。所有这些网络连接在一起就形成了互联网。

总结:互联网就是网络的网络。

互联网是在20世纪60年代末由美国国防部开发的,作为一种创建可以承受核攻击的分散通信网络的手段。多年来,它已经发展成为一个遍布全球的复杂而精密的网络。

今天,互联网是现代生活中必不可少的一部分,全世界数十亿人使用它来获取信息、与朋友和家人交流、开展业务等等。作为一名开发人员,有必要对互联网的工作原理以及支撑它的各种技术和协议有一个扎实的了解。

互联网是如何工作的:概述

在高层次上,互联网通过使用一套标准化协议将设备和计算机系统连接在一起而工作。这些协议定义了如何在设备之间交换信息,并确保可靠安全地传输数据。

互联网的核心是一个由相互连接的路由器组成的全球网络,这些路由器负责指导不同设备和系统之间的流量。当你通过互联网发送数据时,它被分解成小数据包,从你的设备发送到路由器。路由器检查数据包并将其转发到到达目的地路径上的下一个路由器。这个过程一直持续到数据包到达最终目的地。

为了确保数据包的正确发送和接收,互联网使用了多种协议,包括互联网协议(IP)和传输控制协议(TCP)。IP负责将数据包路由到正确的目的地,而TCP则确保数据包以正确的顺序可靠地传输。

除了这些核心协议之外,还有许多其他技术和协议用于在互联网上进行通信和数据交换,包括域名系统(DNS)、超文本传输协议(HTTP)和安全套接字层/传输层安全协议(SSL/TLS)。作为一名开发人员,对这些不同的技术和协议如何协同工作以实现互联网上的通信和数据交换有一个扎实的理解是很重要的。

基本概念和术语

要了解互联网,熟悉一些基本概念和术语是很重要的。以下是一些需要注意的关键术语和概念:

  • 包: 在因特网上传输的一小部分数据。
  • 路由器: 在不同网络之间传输数据包的设备。
  • IP地址: 分配给网络上每个设备的唯一标识符,用于将数据路由到正确的目的地。
  • 域名: 一个人类可读的名称,用来识别一个网站,如google.com。
  • DNS: 域名系统负责将域名转换为IP地址。
  • HTTP: 超文本传输协议(Hypertext Transfer Protocol),用于在客户端(如浏览器)和服务器(如网站)之间传输数据。
  • HTTPS: HTTP的加密版本,用于在客户端和服务器之间提供安全通信。
  • SSL/TLS: 安全套接字层和传输层安全协议用于在互联网上提供安全通信。

理解这些基本概念和术语对于使用互联网和开发基于互联网的应用程序和服务至关重要。

协议在互联网中的作用

协议在实现互联网上的通信和数据交换方面发挥着关键作用。协议是一组规则和标准,用于定义设备和系统之间如何交换信息。

在互联网通信中使用了许多不同的协议,包括互联网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、域名系统(DNS)以及许多其他协议。

IP负责将数据包路由到正确的目的地,而TCP和UDP则确保数据包可靠高效地传输。DNS用于将域名解析为IP地址,HTTP用于客户端和服务器之间的数据传输。

使用标准化协议的主要好处之一是,它们允许来自不同制造商和供应商的设备和系统无缝地相互通信。例如,一个公司开发的web浏览器可以与另一个公司开发的web服务器通信,只要它们都遵守HTTP协议。

作为一名开发人员,了解互联网通信中使用的各种协议以及它们如何协同工作以在互联网上传输数据和信息是很重要的。

了解IP地址和域名

在使用互联网时,IP地址和域名都是需要理解的重要概念。

IP地址是分配给网络中每台设备的唯一标识。它用于将数据路由到正确的目的地,确保将信息发送到预期的接收方。IP地址通常表示为一系列由句号分隔的四个数字,例如“192.168.1.1”。

另一方面,域名是人类可读的名称,用于识别网站和其他互联网资源。它们通常由两个或多个部分组成,以句号分隔。例如,“google.com”是一个域名。域名通过DNS (Domain Name System)转换为IP地址。

DNS是互联网基础设施的关键部分,负责将域名转换为IP地址。当你在网页浏览器中输入一个域名时,你的计算机会向DNS服务器发送一个DNS查询,DNS服务器会返回相应的IP地址。然后,您的计算机使用该IP地址连接到您请求的网站或其他资源。

HTTP和HTTPS简介

HTTP(超文本传输协议)和HTTPS (HTTP安全协议)是基于internet的应用程序和服务中最常用的两种协议。

HTTP是用于在客户端(如web浏览器)和服务器(如网站)之间传输数据的协议。当你访问一个网站时,你的浏览器会向服务器发送一个HTTP请求,请求访问你所请求的网页或其他资源。然后,服务器向客户机发送一个HTTP响应,其中包含所请求的数据。

HTTPS是HTTP的一个更安全的版本,它使用SSL/TLS(安全套接字层/传输层安全)加密客户端和服务器之间传输的数据。这提供了一个额外的安全层,有助于保护敏感信息,如登录凭据、支付信息和其他个人数据。

当您访问使用HTTPS的网站时,您的web浏览器将在地址栏中显示挂锁图标,表明连接是安全的。你也可能会在网址的开头看到“https”,而不是“http”。

使用TCP/IP构建应用程序

TCP/IP(传输控制协议/互联网协议)是大多数基于互联网的应用程序和服务使用的底层通信协议。它在运行在不同设备上的应用程序之间提供可靠、有序和错误检查的数据传递。

当使用TCP/IP构建应用程序时,有几个关键的概念需要理解:

  • 端口: 端口用于标识设备上运行的应用或服务。每个应用程序或服务都被分配一个唯一的端口号,从而允许将数据发送到正确的目的地。

  • 套接字: 套接字是IP地址和端口号的组合,表示用于通信的特定端点。套接字用于在设备之间建立连接并在应用程序之间传输数据。

  • 连接: 当两台设备需要相互通信时,在两个套接字之间建立连接。在连接建立过程中,设备协商各种参数,如最大段大小和窗口大小,这些参数决定了数据如何通过连接传输。

  • 数据传输: 一旦连接建立,数据就可以在每台设备上运行的应用程序之间传输。数据通常按段传输,每个段包含一个序列号和其他元数据,以确保可靠的传输。

在使用TCP/IP构建应用程序时,您需要确保您的应用程序设计为使用适当的端口、套接字和连接。您还需要熟悉TCP/IP中常用的各种协议和标准,例如HTTP、FTP(文件传输协议)和SMTP(简单邮件传输协议)。理解这些概念和协议对于构建有效、可扩展和安全的基于internet的应用程序和服务至关重要。

使用SSL/TLS保护互联网通信

正如我们前面所讨论的,SSL/TLS是一种用于加密通过internet传输的数据的协议。它通常用于为web浏览器、电子邮件客户端和文件传输程序等应用程序提供安全连接。

当使用SSL/TLS保护互联网通信时,有几个关键概念需要理解:

  • 证书:SSL/TLS证书用于在客户端和服务器之间建立信任。它们包含有关服务器身份的信息,并由受信任的第三方(证书颁发机构)签名以验证其真实性。

  • 握手:在SSL/TLS握手过程中,客户端和服务器端交换信息,协商加密算法等参数,建立安全连接。

  • 加密:一旦建立了安全连接,数据将使用商定的算法进行加密,并可以在客户端和服务器之间安全地传输。

在构建基于互联网的应用程序和服务时,重要的是要了解SSL/TLS的工作原理,并确保您的应用程序在传输敏感数据(如登录凭据、支付信息和其他个人数据)时使用SSL/TLS。您还需要确保为服务器获取和维护有效的SSL/TLS证书,并遵循配置和保护SSL/TLS连接的最佳实践。通过这样做,您可以帮助保护用户的数据,并确保应用程序在internet上通信的完整性和机密性。

未来:新兴趋势和技术

互联网在不断发展,新技术、新趋势层出不穷。作为开发人员,为了构建创新且有效的应用程序和服务,紧跟最新的开发非常重要。

以下是一些正在塑造未来的新兴趋势和技术:

  • 5G: 5G是最新一代移动网络技术,提供比前几代更快的速度、更低的延迟和更大的容量。它有望实现新的用例和应用,如自动驾驶汽车和远程手术。

  • 物联网(Internet of Things, IoT):物联网是指物理设备、车辆、家电等物体连接到互联网,可以交换数据的网络。随着物联网的不断发展,它有望彻底改变医疗、运输和制造业等行业。

  • 人工智能(AI):机器学习和自然语言处理等人工智能技术已经被用于推动从语音助理到欺诈检测等广泛的应用和服务。随着人工智能的不断发展,它有望实现新的用例,并改变医疗、金融和教育等行业。

  • 区块链:区块链是一种分布式账本技术,可以实现安全、分散的交易。它被用于为从加密货币到供应链管理的广泛应用提供动力。

  • 边缘计算:边缘计算是指在网络的边缘处理和存储数据,而不是在集中的数据中心。它有望实现新的用例和应用,如实时分析和低延迟应用。

通过跟上这些和其他新兴趋势和技术,您可以确保构建的应用程序和服务能够利用最新功能,并为用户提供最佳体验。

结论

这就是本文的最后部分。我们已经涵盖了很多内容,所以让我们花点时间回顾一下我们学到了什么:

  1. 互联网是一个由相互连接的计算机组成的全球网络,它使用一套标准的通信协议来交换数据。

  2. 互联网的工作原理是使用诸如IP和TCP等标准化协议将设备和计算机系统连接在一起。

  3. 互联网的核心是一个由相互连接的路由器组成的全球网络,这些路由器引导不同设备和系统之间的流量。

  4. 您需要熟悉的基本概念和术语包括数据包、路由器、IP地址、域名、DNS、HTTP、HTTPS和SSL/TLS。

  5. 协议在实现互联网上的通信和数据交换方面发挥着关键作用,允许来自不同制造商和供应商的设备和系统无缝通信。

引用自cs.fyi/guide/how-d…