网络术语、端口、协议

导言


对网络的基本了解对于任何管理服务器的人来说都很重要。这不仅对让您的服务在线和平稳运行至关重要,而且还为您提供了诊断问题的洞察力。

本文件将提供一些常见网络概念的基本概述。我们将讨论基本术语、通用协议以及不同层次网络的责任和特点。

本指南与操作系统无关,但在实现利用服务器上网络的功能和服务时,应该非常有帮助。

网络术语表


在我们开始深入讨论网络之前,我们必须定义一些常见的术语,您将在本指南以及其他有关网络的指南和文档中看到。

这些术语将在以下适当章节中扩展:

你可能会遇到许多其他术语,这个列表不能详尽无遗。我们会根据需要解释其他术语。此时,您应该了解一些基本的、高级的概念,这将使我们能够更好地讨论即将到来的主题。

网络层


虽然网络经常以横向拓扑的方式讨论,但在主机之间,其实现在整个计算机或网络中以垂直方式分层。

这意味着有多种技术和协议相互建立,以便通信更轻松地运行。每个连续的更高层都更多地抽象原始数据,使其更容易用于应用程序和用户。

它还允许您以新的方式利用较低层,而无需投入时间和精力来开发处理这些类型流量的协议和应用程序。

我们用来谈论每种分层方案的语言因您使用的模型而异。无论用于讨论图层的模型如何,数据路径都是一样的。

当数据从一台机器发送时,它从堆栈顶部开始,向下过滤。在最低层,实际传输到另一台机器。此时,数据通过另一台计算机的层层返回。

每个层都能够在从相邻层收到的数据周围添加自己的“wrapper”,这将有助于之后的层决定在数据传递时如何处理数据。

OSI模型


从历史上看,谈论不同层网络通信的一种方法是OSI模型。OSI代表Open Systems Interconnect。

该模型定义了七个独立的层。该模型中的图层是:

如您所见,根据它们与裸机硬件的接近程度及其提供的功能,可以讨论许多不同的层。

TCP/IP模型


TCP/IP模型,通常称为互联网协议套件,是另一个更简单且已被广泛采用的分层模型。它定义了四个独立的层,其中一些与OSI模型重叠:

如您所见,TCP/IP模型更加抽象和流畅。这使它更容易实现,并使其成为网络层分类的主要方式。

接口


接口是您计算机的网络通信点。每个接口都与物理或虚拟网络设备相关联。

通常,您的服务器将为您的每张以太网或无线互联网卡配备一个可配置的网络接口。

此外,它将定义一个名为“环回”或本地主机接口的虚拟网络接口。这被用作将一台计算机上的应用程序和进程连接到其他应用程序和进程的接口。您可以在许多工具中看到这被引用为“lo”界面。

很多时候,管理员配置一个接口来服务互联网流量,另一个接口为局域网或专用网络提供服务。

在DigitalOcean中,在启用专用网络的数据中心,您的VPS将有两个网络接口(除了本地接口)。“eth0”接口将配置为处理来自互联网的流量,而“eth1”接口将用于与专用网络通信。

协议


网络的工作原理是背着许多不同的协议。通过这种方式,可以使用相互封装的多个协议传输一段数据。

我们将讨论您可能遇到的一些更常见的协议,并试图解释其区别,并给出它们涉及流程的哪个部分的上下文。

我们将从在较低的网络层上实现的协议开始,并一直致力于具有更高抽象的协议。

中等访问控制


中型访问控制是一种用于区分特定设备的通信协议。在制造过程中,每台设备都应该获得一个唯一的媒体访问控制地址(MAC地址),将其与互联网上的所有其他设备区分开来。

通过MAC地址寻址硬件允许您通过唯一值引用设备,即使顶部的软件可能会在运行期间更改该特定设备的名称。

中等访问控制是链接层中唯一可能定期交互的协议之一。

IP


IP协议是允许互联网工作的基本协议之一。IP地址在每个网络上都是唯一的,它们允许机器在网络上相互寻址。它在IP/TCP模型的互联网层上实现。

网络可以连接在一起,但跨越网络边界时必须路由流量。该协议假设网络不可靠,并有多个路径前往同一目的地,可以在两者之间动态更改。

该协议有许多不同的实现。今天最常见的实现是IPv4,尽管由于IPv4地址稀缺和协议功能的改进,IPv6作为替代品越来越受欢迎。

ICMP


ICMP代表互联网控制消息协议。它用于在设备之间发送消息,以指示可用性或错误条件。这些数据包用于各种网络诊断工具,如ping和traceroute。

通常,当不同类型的数据包遇到某种问题时,会传输ICMP数据包。基本上,它们被用作网络通信的反馈机制。

TCP


TCP代表传输控制协议。它在IP/TCP模型的传输层中实现,并用于建立可靠的连接。

TCP是将数据封装到数据包中的协议之一。然后,它使用下层可用的方法将这些传输到连接的远程端。在另一端,它可以检查错误,请求重新发送某些部分,并将信息重新组装成一个逻辑部分以发送到应用程序层。

该协议在数据传输之前使用称为三向握手的系统建立连接。这是通信两端确认请求并商定确保数据可靠性的方法的一种方式。

数据发送后,使用类似的四向握手将断开连接。

TCP是互联网许多最流行用途的首选协议,包括WWW、FTP、SSH和电子邮件。可以肯定地说,如果没有TCP,我们今天知道的互联网就不会在这里。

UDP


UDP代表用户数据报协议。它是TCP的流行配套协议,也在传输层中实现。

UDP和TCP之间的根本区别在于UDP提供不可靠的数据传输。它没有验证连接的另一端是否已收到数据。这听起来可能是一件坏事,出于许多目的,它是坏事。然而,这对某些功能也极其重要。

由于不需要等待数据已收到并被迫重新发送数据的确认,UDP比TCP快得多。它不会与远程主机建立连接,它只是将数据发射到该主机,并且不在乎它是否被接受。

因为它是一个简单的事务,所以对于查询网络资源等简单通信非常有用。它也不保持状态,这使得它非常适合将数据从一台机器传输到许多实时客户端。这使得它非常适合VOIP、游戏和其他负担不起延迟的应用程序。

HTTP


HTTP代表超文本传输协议。它是应用程序层中定义的协议,构成了网络通信的基础。

HTTP定义了许多函数,告诉远程系统您正在请求的内容。例如,GET、POST和DELETE都以不同的方式与请求的数据交互。

FTP


FTP代表文件传输协议。它也在应用程序层中,提供了一种将完整文件从一个主机传输到另一个主机的方法。

它本质上不安全,因此不建议用于任何面向外部的网络,除非它作为公共、仅下载的资源实现。

DNS


DNS代表域名系统。它是一种应用程序层协议,用于为互联网资源提供人性化的命名机制。它将域名与IP地址联系起来,并允许您在浏览器中按名称访问网站。

SSH


SSH代表安全外壳。它是在应用程序层中实现的加密协议,可用于以安全的方式与远程服务器通信。由于其端到端加密和无处不在,围绕该协议构建了许多其他技术。

还有许多其他我们尚未涵盖的协议同样重要。然而,这应该能很好地概述一些使互联网和网络成为可能的基本技术。

结论


此时,您应该熟悉一些基本的网络术语,并能够了解不同组件如何相互通信。这应该有助于您了解其他文章和系统文档。


Revision #1
Created 29 March 2022 18:05:13 by 余海
Updated 29 March 2022 18:05:30 by 余海