网络术语、接口和协议简介

简介

对网络的了解对管理服务器的任何人都很重要。它不仅对使您的服务在线和平稳运行至关重要,而且还让您能够洞察问题。

本文将概述一些常见的网络概念。我们将讨论术语、通用协议以及不同网络层的职责和特征。

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

网络词汇

首先,我们将定义一些常见术语,您将在本指南以及其他有关网络的指南和文档中看到这些术语。

这些术语将在下面的适当部分中展开:

  • 连接 :在网络中,连接是指通过网络传输的相关信息。一般而言,连接是在数据传输之前建立的(通过遵循协议中规定的步骤),并且可能在数据传输结束时被解构。
  • :包是有意通过网络传输的最小单位。在网络上通信时,包是将数据从一个端点传输到另一个端点的信封(以片段形式)。

数据包具有报头部分,其中包含有关数据包的信息,包括源和目的地、时间戳、网络跳数等。数据包的主要部分包含正在传输的实际数据。它有时被称为主体或有效载荷。

  • 网络接口 :网络接口可以是任何类型的软件到网络硬件的接口。例如,如果您的计算机中有两个网卡,则可以分别控制和配置与其关联的每个网络接口。

网络接口可以与物理设备相关联,或者它可以是虚拟接口的表示。环回设备就是一个例子,它是大多数Linux环境中可用来连接回同一台计算机的虚拟接口。

  • 局域网 :局域网代表局域网。它指的是不能被更大的互联网公开访问的网络或网络的一部分。家庭或办公室网络就是局域网的一个例子。
  • 广域网 :广域网代表广域网。它意味着比局域网广泛得多的网络。虽然广域网是通常用来描述大型分散网络的相关术语,但它通常指的是整个互联网。

如果某个接口被认为连接到了广域网,则通常认为可以通过Internet访问该接口。

  • 协议 :协议是定义设备可以用来通信的语言的一组规则和标准。网络中广泛使用的协议有很多,而且它们通常在不同的层中实现。

一些低级协议包括TCP、UDP、IP和ICMP。基于这些较低层协议构建的一些常见的应用层协议示例包括HTTP(用于访问Web内容)、SSH和TLS/SSL。

*端口 :端口是单机上可以绑定到特定软件的地址。它不是一个物理接口或位置,但它允许您的服务器能够使用多个应用程序进行通信。 *防火墙 :防火墙是一个程序,它决定是否允许来自服务器的流量。防火墙的工作原理通常是为哪些端口上可接受的流量类型创建规则。通常,防火墙会阻止服务器上特定应用程序未使用的端口。 *NAT :NAT代表网络地址转换。它是一种将传入的请求重新打包并发送到路由服务器的方法,以将其发送到LAN上的相关设备或服务器。这通常在物理LAN中实现,作为将请求通过一个IP地址路由到必要的后端服务器的一种方式。 *VPN :VPN代表虚拟专用网。它是一种通过互联网连接独立局域网的方法,同时保持隐私。这通常用于连接远程系统,就像它们在本地网络上一样,这通常是出于安全原因。

您还会遇到许多其他术语,这个列表并不是详尽的。我们将在需要时解释其他术语。在这一点上,您应该了解一些高级概念,它们将使我们能够更好地讨论即将到来的主题。

网络层

虽然通常在主机之间以水平的拓扑方式讨论网络,但其实施是在任何给定的计算机或网络内以垂直方式分层的。

这意味着有多种技术和协议构建在彼此之上,以使通信发挥作用。每一个连续的、更高的层都会更多地提取原始数据。

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

我们用来讨论每个分层方案的语言根据您使用的模型而有很大的不同。无论用于讨论层的模型是什么,数据的路径都是相同的。

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

每一层都能够在从相邻层接收的数据周围添加自己的包装器,这将帮助随后的层决定在数据传递时如何处理数据。

TCP/IP模型

TCP/IP模型(通常称为Internet协议组)是一种广泛采用的分层模型。它定义了四个不同的层:

  • 应用 :在该模型中,应用层负责创建和传输应用之间的用户数据。应用程序可以在远程系统上,并且应该看起来像是在本地对最终用户进行操作。这种通信据说发生在** 对等方** 之间。
  • 传输 :传输层负责进程间的通信。这一级别的网络利用端口来处理不同的服务。
  • 互联网 :互联网层用于在网络中的节点之间传输数据。这一层知道连接的端点,但不关心从一个位置到另一个位置所需的实际连接。** IP地址** 在这一层中定义为以可寻址方式到达远程系统的一种方式。
  • 链路 :链路层实现本地网络的实际拓扑,允许Internet层提供可寻址接口。它在相邻节点之间建立连接以发送数据。

正如您所看到的,TCP/IP模型是抽象和流动的。这使得它变得流行起来,并使其成为网络层分类的主要方式。

接口

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

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

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

很多情况下,管理员会配置一个接口来为互联网流量提供服务,而另一个接口则用于局域网或专用网络。

在启用了专用网络(包括DigitalOcean水滴)的数据中心中,您的VPS将有两个网络接口。eth0接口将被配置为处理来自互联网的流量,而eth1接口将运行以与专用网络通信。

协议

网络的工作原理是将许多不同的协议叠加在一起。通过这种方式,可以使用彼此封装的多个协议来传输一条数据。

我们将从在较低网络层上实现的协议开始,并逐步向上扩展到具有更高抽象的协议。

媒体访问控制

介质访问控制是用于区分特定设备的通信协议。每台设备在制造时都应该获得一个唯一的、硬编码的媒体访问控制地址 (MAC地址),以区别于互联网上的所有其他设备。

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

MAC寻址是您可能会定期与之交互的低级别链路层协议之一。

IP

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

网络可以连接在一起,但在跨越网络边界时必须路由流量。此协议假定网络不可靠,且有多条路径通往同一目的地,并且可以在这些路径之间动态更改。

该协议有许多不同的实现。目前最常见的实现是遵循模式123.123.123.123‘的IPv4地址,尽管遵循模式2001:0DB8:0000:0000:0000:FF00:0042:8329’的IPv6地址由于可用IPv4地址的数量有限而日益流行。

ICMP

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

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

tcp

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

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

该协议使用一种称为三次握手的系统在数据传输之前建立连接。这是通信双方确认请求并就确保数据可靠性的方法达成一致的一种方式。

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

对于包括WWW、SSH和电子邮件在内的许多最流行的互联网用途来说,TCP是首选的协议。

udp

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

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

由于不需要等待确认数据已收到并强制重新发送数据,因此UDP比TCP快得多。它不与远程主机建立连接,只是在没有确认的情况下发送数据。

因为它是一种简单的事务,所以对于查询网络资源之类的通信很有用。它也不维护状态,这使得它非常适合从一台机器向多个实时客户端传输数据。这使其成为VOIP、游戏和其他无法承受延迟的应用程序的理想选择。

HTTP

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

HTTP定义了许多动词,它们告诉远程系统您正在请求什么。例如,GET、POST和DELETE以不同的方式与请求的数据交互。要查看不同的Http请求的运行示例,请参阅如何在Express.中定义路由和Http请求方法

DNA

域名系统是域名系统的缩写。它是一种应用层协议,用于为互联网资源提供友好的命名机制。它将域名与IP地址捆绑在一起,允许您在浏览器中通过名称访问网站。

SSH

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

还有许多其他的协议我们没有涉及到,它们同样重要。然而,这应该给你一个很好的概述,使互联网和网络可能的一些基本技术。

结论

此时,您应该熟悉一些网络术语,并能够理解不同组件之间的通信方式。这应该有助于您理解系统的其他文章和文档。

接下来,对于高级的阅读世界示例,您可能想要阅读How to Make HTTp Requestin Go.

Published At
Categories with 技术
comments powered by Disqus