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

本文涉及的产品
云防火墙,500元 1000GB
简介: 网络术语、接口和协议简介

介绍

对于任何管理服务器的人来说,了解网络是非常重要的。它不仅对于将您的服务上线并顺利运行至关重要,还能让您深入诊断问题。

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

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

网络术语表

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

这些术语将在接下来的适当部分中进行扩展:

  • 连接:在网络中,连接指的是通过网络传输的相关信息。一般来说,在数据传输之前建立连接(按照协议中规定的程序),在数据传输结束时可能会拆除连接。
  • 数据包:数据包是有意传输到网络上的最小单位。在网络通信中,数据包是从一个端点到另一个端点传输数据的信封。

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

  • 网络接口:网络接口可以指任何与网络硬件相关的软件接口。例如,如果您的计算机上有两张网卡,您可以单独控制和配置与它们关联的每个网络接口。

网络接口可能与物理设备相关联,也可能是虚拟接口的表示。在大多数 Linux 环境中可用的“环回”设备是一个虚拟接口的例子,用于连接回同一台机器。

  • LAN:LAN 指的是“局域网”。它指的是一个网络或网络的一部分,不对更广泛的互联网公开。家庭或办公网络是 LAN 的一个例子。
  • WAN:WAN 指的是“广域网”。它指的是比 LAN 要广泛得多的网络。虽然 WAN 是用来描述一般的大型分散网络的相关术语,但通常指的是互联网作为一个整体。

如果说某个接口连接到 WAN,通常假定它可以通过互联网访问。

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

一些低层协议包括 TCP、UDP、IP 和 ICMP。建立在这些低层协议之上的一些应用层协议的熟悉例子包括 HTTP(用于访问网络内容)、SSH 和 TLS/SSL。

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

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

网络层

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

这意味着有多种技术和协议是相互叠加的,以使通信功能正常运行。每个连续的更高层都会对原始数据进行一些抽象。

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

我们用来讨论每个分层方案的语言取决于使用的模型。无论使用哪种模型来讨论层,数据的路径是相同的。

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

每个层都有能力在从相邻层接收的数据周围添加自己的“包装”,这将帮助后续的层在移交数据时决定如何处理数据。

TCP/IP 模型

TCP/IP 模型,更常被称为互联网协议套件,是一种被广泛采用的分层模型。它定义了四个独立的层次:

  • 应用层:在该模型中,应用层负责在应用程序之间创建和传输用户数据。这些应用程序可以位于远程系统上,并且应该表现为对最终用户来说是本地操作。这种通信被称为对等通信
  • 传输层:传输层负责进程之间的通信。这种网络层次利用端口来定位不同的服务。
  • 网络层:网络层用于在网络中的节点之间传输数据。该层知道连接的端点,但不关心从一个地方到另一个地方所需的实际连接。IP 地址在该层中被定义为一种可寻址远程系统的方式。
  • 链路层:链路层实现了本地网络的实际拓扑结构,使得网络层能够呈现一个可寻址的接口。它建立相邻节点之间的连接以发送数据。

正如你所看到的,TCP/IP 模型是抽象且灵活的。这使得它成为了实现的热门选择,并使其成为网络层次被分类的主导方式。

接口

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

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

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

许多时候,管理员会配置一个接口来服务于互联网流量,另一个接口用于局域网或私有网络。

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

协议

网络通过在彼此之上堆叠多种不同的协议来工作。这样,一条数据可以使用多个封装在彼此之内的协议进行传输。

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

媒体访问控制

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

通过 MAC 地址寻址硬件,即使上层软件在操作过程中可能会更改该特定设备的名称,您也可以通过唯一值引用设备。

MAC 地址是您可能经常与之交互的低级链路层中的协议之一。

IP

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

网络可以连接在一起,但是在跨网络边界时,流量必须进行路由。该协议假定网络不可靠,并且有多条到达相同目的地的路径,它可以在这些路径之间动态切换。

该协议有许多不同的实现。今天最常见的实现是 IPv4 地址,遵循模式 123.123.123.123,尽管由于 IPv4 地址数量有限,IPv6 地址也因此变得越来越受欢迎,其遵循模式 2001:0db8:0000:0000:0000:ff00:0042:8329

ICMP

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

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

TCP

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

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

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

数据发送后,连接使用类似的四次握手进行关闭。

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

UDP

UDP 代表用户数据报协议。它是 TCP 的一种流行的伴侣协议,同样实现在传输层。

UDP 和 TCP 的根本区别在于 UDP 提供不可靠的数据传输。它不验证数据是否已经在连接的另一端接收到。这听起来可能不太好,对于许多目的来说确实如此。然而,对于一些功能来说,这也是非常重要的。

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

因为它是一个直接的交易,所以它对于像查询网络资源这样的通信非常有用。它也不维护状态,这使得它非常适合将数据从一台机器传输到许多实时客户端。这使得它非常适合 VOIP、游戏和其他不能容忍延迟的应用程序。

HTTP

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

HTTP 定义了一些动词,告诉远程系统你正在请求什么。例如,GET、POST 和 DELETE 都以不同的方式与请求的数据交互。要查看不同的 HTTP 请求在实际中的示例,请参考《如何在 Express 中定义路由和 HTTP 请求方法》。

DNS

DNS 代表域名系统。它是一个应用层协议,用于为互联网资源提供人性化的命名机制。它将域名与 IP 地址绑定在一起,允许您通过浏览器名称访问站点。

SSH

SSH 代表安全外壳协议。它是在应用层实现的加密协议,可以用于安全地与远程服务器通信。许多其他技术都建立在这个协议之上,因为它具有端到端加密和普遍性。

还有许多其他重要的协议我们没有涵盖到。然而,这应该为您提供了一些使互联网和网络通信成为可能的基本技术的概述。

结论

到目前为止,您应该熟悉一些网络术语,并能够理解不同组件如何能够相互通信。这应该有助于您理解其他文章和系统文档。

接下来,作为一个高层次的现实世界示例,您可能想阅读《如何在 Go 中进行 HTTP 请求》。


目录
相关文章
|
3月前
|
数据采集 算法 数据挖掘
模块化控制协议(MCP)在网络中增强智能体执行效率的研究
随着Web3技术的迅速发展,去中心化应用和智能体在各种领域的应用逐渐增多。MCP(Modularized Control Protocol,模块化控制协议)作为一种增强智能体执行能力的关键技术,为Web3场景中的智能体提供了更强的灵活性和可扩展性。本文将探讨如何利用MCP技术提升智能体在Web3场景中的执行能力,并通过实例代码展示其实现路径。
223 22
|
3月前
|
JSON 监控 API
在线网络PING接口检测服务器连通状态免费API教程
接口盒子提供免费PING检测API,可测试域名或IP的连通性与响应速度,支持指定地域节点,适用于服务器运维和网络监控。
|
25天前
|
运维 架构师 安全
二层协议透明传输:让跨域二层协议“无感穿越”多服务商网络
简介:本文详解二层协议透明传输技术,适用于企业网工、运营商及架构师,解决LLDP/LACP/BPDU跨运营商传输难题,实现端到端协议透传,提升网络韧性与运维效率。
|
5月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
146 18
|
6月前
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
186 22
|
6月前
|
网络协议 数据安全/隐私保护 网络架构
|
7月前
|
缓存 网络协议 API
掌握网络通信协议和技术:开发者指南
本文探讨了常见的网络通信协议和技术,如HTTP、SSE、GraphQL、TCP、WebSocket和Socket.IO,分析了它们的功能、优劣势及适用场景。开发者需根据应用需求选择合适的协议,以构建高效、可扩展的应用程序。同时,测试与调试工具(如Apipost)能助力开发者在不同网络环境下优化性能,提升用户体验。掌握这些协议是现代软件开发者的必备技能,对项目成功至关重要。
|
8月前
|
人工智能 自然语言处理 决策智能
智能体竟能自行组建通信网络,还能自创协议提升通信效率
《一种适用于大型语言模型网络的可扩展通信协议》提出创新协议Agora,解决多智能体系统中的“通信三难困境”,即异构性、通用性和成本问题。Agora通过标准协议、结构化数据和自然语言三种通信格式,实现高效协作,支持复杂任务自动化。演示场景显示其在预订服务和天气预报等应用中的优越性能。论文地址:https://arxiv.org/pdf/2410.11905。
226 6
|
10月前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
10月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
503 3

热门文章

最新文章