Skip to content

Latest commit

 

History

History
99 lines (50 loc) · 7.51 KB

互联网是如何工作的.md

File metadata and controls

99 lines (50 loc) · 7.51 KB

互联网是如何工作的

简介

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

互联网是一个网络的网络。前者网络指的是一组相互连接的计算机或其它设备;后者指的是将网络相互连接,形成了互联网。

互联网是美国国防部于 20 世纪 60 年代末开发的,作为创建能够抵御核攻击的去中心化通信网络的一种手段。多年来,它已发展成为一个遍布全球的复杂而精密的网络。

作为开发人员,必须充分了解互联网的工作原理以及支撑互联网的各种技术和协议。

概述

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

互联网的核心是互联路由器的全球网络,负责引导不同设备和系统之间的流量。当您通过互联网发送数据时,数据会被分解为小数据包,然后从您的设备发送到路由器。路由器检查数据包并将其转发到通往目的地的路径中的下一个路由器。这个过程一组持续到数据包到达最终目的地。

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

除此之外,还有许多其它技术和协议用于通过互联网实现通信和数据交换,包括域名系统(DNS)、超文本传输协议(HTTP)和安全协议套接字层/传输层安全(SSL/TLS)协议。作为开发人员,深入了解这些不同的技术和协议如何协同工作以实现互联网上的通信和数据交换非常重要。

基本概念和术语

  • 数据包:通过互联网传输的小数据单位。

  • 路由器:在不同网络之间引导数据包的设备。

  • IP 地址:分配给网络上每个设备的唯一标识符,用于将数据路由到正确的目的地。

  • 域名:用于识别网站的人类可读名称,例如 google.com。

  • DNS:域名系统负责将域名转换为IP地址。

  • HTTP:超文本传输协议,用于在客户端(如浏览器)和服务器(如网站)之间传输数据。

  • HTTPS:HTTP 的加密版本,用于在客户端和服务器之间提供安全通信。

  • SSL/TLS:安全套接字层/传输层安全协议,用于通过互联网提供安全通信。

协议的作用

协议在通过互联网进行通信和数据交换方面发挥着至关重要的作用。协议是一组规则和标准,定义设备和系统之间如何交换信息。

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

IP 负责将数据包路由到正确的目的地,而 TCP 和 UDP 则确保数据包的传输(TCP 是可靠传输,UDP 是不可靠传输)。DNS 用于将域名转换为 IP 地址,HTTP 用于在客户端和服务器之间传输数据。

IP&域名

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

IP 地址是分配给网络上每个设备的唯一标识符。它用于将数据路由到正确的目的地,确保信息发送到预期的收件人。IP 地址通常表示为由句点分割的四个数据,如192.168.1.1

另一方面,域名是人类可读的名称,用于识别网站和其它互联网资源。它们通常由若干部分组成,并用句点分割。如google.com是一个域名,使用域名系统(DNS)将域名转换为 IP 地址。

DNS 是互联网基础设施的重要组成部分,负责将域名转换为 IP 地址。当您在 Web 浏览器中输入域名时,您的计算机会向 DNS 服务器发送 DNS 查询,该服务器会返回与之对应的 IP 地址。然后,您的计算机使用该 IP 地址连接到您请求的网站或其它资源。

HTTP&HTTPS

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

HTTP 是用于在客户端和服务器之间传输数据的协议。当您访问网站时,您的 Web 浏览器会向服务器发送 HTTP 请求,请求提供您请求的网页或其它资源。然后,服务器将包含请求数据的 HTTP 响应发送回客户端。

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

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

TCP/IP

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

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

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

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

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

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

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

SSL/TLS

SSL/TLS 是一种用于加密通过互联网传输的数据的协议。它通常用于为 Web 浏览器、电子邮件客户端和文件传输程序等应用程序提供安全连接。

使用 SSL/TLS 保护互联网通信时,需要了解一些关键概念:

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

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

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

新兴趋势和技术

  • 区块链:区块链是一种分布式账本技术,可实现安全、去中心化的交易。它被用来为从加密货币到供应链管理的广泛应用提供支持。