paint-brush
系统设计备忘单:网络by@gavr
9,570
9,570

系统设计备忘单:网络

掌握网络的基础知识,从错综复杂的拓扑到基本协议的细微差别,不仅仅是一项学术练习,它对于创建强大而高效的系统至关重要。 网络原理的坚实基础可确保系统无缝通信、弹性适应和高效扩展。
featured image - 系统设计备忘单:网络
Aleksandr Gavrilenko HackerNoon profile picture

这是一系列文章的延续,我在其中简要介绍了系统架构设计中特定主题的要点。第一篇文章可以在这里阅读。


任何复杂的系统都是由众多组件组成的镶嵌体,每个组件都有其特定的功能。这些组件并不是孤立运行的;它们不断通过网络进行交互,交换数据和命令。了解这些交互的基础知识至关重要。


人们必须了解组件如何通过网络进行通信,才能真正了解系统的整体性能和弹性。

类型

根据规模、架构、范围和功能,网络可以分为四种类型:


  • 个人局域网 (PAN) :专为个人使用而设计,通常在一个人的覆盖范围内。它可以连接计算机、智能手机和智能手表等设备,通常是蓝牙。


  • 局域网 (LAN ):连接有限区域内的设备,例如家庭、办公室或学校。它通常用于在有限的地理区域内连接计算机并共享打印机或互联网连接等资源。


  • 城域网 (MAN):覆盖的区域比 LAN 更大,但比 WAN 小,通常跨越城市或大型园区。当地服务提供商经常使用它来提供与城镇中的企业和家庭的连接。


  • 广域网 (WAN) :跨越更大的地理区域,通常连接多个 LAN。互联网是广域网最突出的例子,连接着全世界的计算机和网络。

成分


如果没有专门的硬件设备,构建和维护网络是不可能的:


  • 有线和无线接入点:物理电缆(如以太网)提供设备之间的有线连接,而无线接入点允许设备使用 Wi-Fi 或其他无线技术连接到网络,而无需物理电缆。


  • 网络接口卡 (NIC) :这些是硬件组件,通常是插入计算机或其他设备中的卡,允许它们连接到网络。


  • 中继器:一种网络设备,可放大或再生信号,使其能够传输更远的距离而不会降低信号质量。它主要用于有线和无线网络,以扩展通信范围并确保长距离内的数据完整性。


  • 桥接器:桥接器工作在数据链路层。网桥是一个中继器,通过读取源和目标的 MAC 地址来添加过滤内容的功能。它还用于互连使用相同协议的两个 LAN。


  • 集线器:这些基本网络设备连接 LAN 中的多个设备,充当单个网段。集线器无法过滤数据,因此数据包会发送到所有连接的设备。


  • 交换机:网络中连接其他设备的设备。与向所有设备广播相同数据的集线器不同,交换机更加智能,仅将数据定向到需要的设备。


  • 路由器:在计算机网络之间转发数据包的设备。它们确定数据传输的最佳路径。路由器通常连接 LAN 和 WAN,并具有动态更新的路由表,并根据该路由表做出数据包路由决策。

拓扑结构

网络拓扑是一种结构布局,决定了不同网络设备和组件如何连接以及如何传输数据。拓扑的选择会显着影响网络的性能、可扩展性和容错能力。它主要分为两种类型:


  • 物理:描述设备、电缆和其他网络组件的物理布局。它代表网络设备如何物理连接。


  • 逻辑:描述网络内的数据流,无论其物理设计如何。它代表了数据在网络设备之间传输的方式。


区分以下类型的拓扑:


点对点

两个节点或端点之间的直接连接。这是最简单的网络拓扑形式。



优点

  • 直接专用链路确保高速数据传输。

  • 简单的配置和设置。

  • 由于仅涉及两个节点,因此通信可靠。


缺点

  • 它无法针对大型网络进行扩展,因为每对设备都需要一条专用线路。
  • 在由于需要单独链路而需要多个连接的场景中,它可能会更昂贵。


公共汽车

所有设备共享一条通信线路。设备发送的数据可供所有其他设备使用,但只有预期接收者接受并处理该数据。





优点

  • 小型网络易于实施。

  • 由于布线最少,因此具有成本效益。


缺点

  • 随着更多设备的添加或网络流量的增加,性能会下降。
  • 单根电缆故障可能会导致整个网络瘫痪。


戒指


每个设备都连接到另外两个设备,形成一个环。数据在一个方向或有时在两个方向上传输。






优点

  • 它可以处理比总线拓扑更大的数据负载。


缺点

  • 一根电缆或设备的故障可能会导致整个网络瘫痪。
  • 安装和重新配置更加困难。


星星



所有设备都连接到中央设备(例如交换机或集线器)。







优点

  • 易于安装和管理。
  • 一根电缆出现故障不会影响其他设备。


缺点

  • 如果中心设备发生故障,整个网络将无法运行。
  • 需要比总线拓扑更多的电缆。



混合拓扑结合了星形和总线拓扑的特性。星形配置网络组连接到线性总线主干。






优点

  • 分层且可扩展。

  • 设备分组便于管理。


缺点

  • 主干网故障将导致网络分裂。
  • 比其他拓扑需要更多的布线。


设备互连。每个设备都连接到其他每个设备。







优点

  • 提供高冗余度和可靠性。

  • 数据可以同时从多个设备传输。


缺点

  • 它需要更多的电缆,因此价格昂贵。
  • 安装和配置复杂。

杂交种



两种或多种拓扑的组合。








优点

  • 灵活可靠,因为它继承了其组件拓扑的优点。

  • 可扩展。


缺点

  • 复杂的设计。
  • 由于多种配置,它可能会更昂贵。

协议

网络协议是定义如何通过网络传输和接收数据的规则或标准。这些协议确保网络上(或跨多个网络)的设备可以以标准化方式相互通信。

通用协议

  • TCP/IP :为互联网提供支持的基本协议套件。 TCP保证数据被正确发送,而IP则保证数据被发送到正确的地方。
  • UDP :一种无连接协议,与 TCP 不同,在发送数据之前不建立连接,也不保证数据包的顺序。
  • HTTP、HTTPS:用于在 Internet 上传输网页的协议。 HTTPS 包括加密数据的安全措施。
  • FTP :一种旨在通过网络传输文件的协议。
  • SMTP :用于电子邮件传输。
  • IMAP :用于从邮件服务器检索和存储电子邮件。
  • POP3 :用于从邮件服务器检索电子邮件。
  • ICMP :用于与 IP 处理相关的错误报告和诊断。
  • DNS :将域名转换为 IP 地址,允许用户使用人类可读的名称访问网站。
  • DHCP :为网络上的设备动态分配 IP 地址。
  • SSL/TLS :加密协议旨在通过计算机网络提供安全通信。
  • PPP :点对点协议(PPP)基本上是一个非对称协议套件,用于各种无帧连接或链路。
  • 以太网:定义局域网 (LAN) 上的设备如何通信。它在 OSI 模型的物理层和数据链路层上运行。

OSI 和 TCP/IP 模型

OSI 和 TCP/IP 是两个主要模型,用作描述网络数据通信过程的指导框架。


开放系统互连模型

协议

数据格式

TCP/IP模型

7

应用

HTTP、DNS、SMTP、FTP

数据

应用

6

推介会

传输层安全、SSL

数据

应用

5

会议

插座

数据

应用

4

运输

TCP、UDP

段、数据包

运输

3

网络

IP、ICMP、IPsec

IP数据报

互联网

2

数据链接

点对点协议、以太网

框架

网络接口

1

身体的

光纤、无线

少量

网络接口


OSI (开放系统互连)模型是用于理解七层网络交互的概念框架。每一层都有特定的功能:


  1. 物理:处理设备之间的物理连接。它定义了硬件元素,例如电缆、交换机和 NIC。


  2. 数据链路:负责在两个直接连接的节点之间创建可靠的链路、处理错误并调节数据流。


  3. 网络:确定通过网络将数据从源传输到目标的最佳路径。


  4. 传输:确保端到端通信、数据流控制和纠错。


  5. 会话:建立、维持和终止两端的应用程序连接。


  6. 表示:在应用程序层和传输层之间转换数据,确保数据可读。


  7. 应用程序:直接与最终用户应用程序交互,确保软件与 OSI 模型较低层之间的有效通信。


TCP/IP是一种更简洁的模型,主要用于现代互联网,它将 OSI 层简化为四类:


  1. 网络接口:结合了 OSI 物理层和数据链路层的功能,重点关注如何在网络介质上发送/接收数据。


  2. Internet :对应OSI中的网络层,处理数据路由、IP寻址和数据包转发。


  3. 传输:与 OSI 的传输层类似,确保数据到达正确的应用程序并可靠 (TCP) 或快速 (UDP) 传输。


  4. 应用程序:合并 OSI 会话层、表示层和应用程序层的功能,处理最终用户应用程序进程。

安全

在系统设计中,确保强大的网络安全对于保护敏感数据、维护用户和利益相关者的信任、确保业务连续性并满足监管要求至关重要。

常见威胁和漏洞

  1. DDoS 攻击:恶意尝试通过大量互联网流量淹没目标服务器、服务或网络,从而破坏目标服务器、服务或网络的正常流量。


  2. 恶意软件:旨在破坏、损坏计算机系统或未经授权访问计算机系统的软件。这包括病毒、蠕虫、间谍软件和勒索软件。


  3. 中间人攻击:攻击者秘密拦截并中继两方之间的通信。他们可以窃听或冒充其中一方,欺骗另一方。


  4. 内部威胁:来自组织内部的威胁,例如掌握有关安全实践的内部信息的员工、前员工或合作伙伴。


  5. 软件缺陷:软件中的错误或弱点可能会被利用来获得未经授权的访问或中断服务。示例包括缓冲区溢出和未处理的异常。


  6. 硬件弱点:物理组件可能存在漏洞,例如可能被篡改的固件或制造商安装的后门。


  7. 配置错误的网络设备:未正确配置的路由器、交换机或防火墙等设备可能会使网络面临各种威胁。


  8. 身份验证和授权薄弱:密码策略不足、缺乏多重身份验证或宽松的访问控制可能会导致未经授权的访问。


  9. 未加密的数据:未加密的数据在通过网络传输时很容易被拦截和读取。


  10. 过时的系统:不再受支持或尚未更新的系统可能存在易于利用的已知漏洞。


  11. 物理漏洞:这是指攻击者可以直接插入网络或访问服务器的物理接入点。

确保网络安全的最佳实践

  1. 防火墙:部署硬件和软件防火墙,根据安全策略监视和控制传入和传出的网络流量。


  2. 加密:使用加密协议,尤其是对于传输中的敏感数据(例如用于网络流量的 SSL/TLS)和静态数据(例如数据库加密)。


  3. 定期更新:保持所有系统、软件和应用程序更新以修补漏洞。


  4. 多重身份验证 (MFA) :实施 MFA 以添加一层安全性,确保用户提供两个或多个验证因素来获得访问权限。


  5. 网络监控:使用网络监控工具持续监控网络是否存在异常活动或未经授权的访问。


  6. 安全意识培训:教育员工和用户有关安全的重要性以及如何识别潜在威胁。


  7. 网络分段:限制网络内威胁的传播,并更好地控制数据访问。


  8. 备份和灾难恢复:在发生破坏或故障时确保数据可用性和业务连续性。


  9. 物理安全:对网络设备的物理访问可能会导致漏洞。

结论

掌握网络的基础知识,从错综复杂的拓扑到基本协议的细微差别,不仅仅是一项学术练习,它对于创建强大而高效的系统至关重要。


网络原理的坚实基础可确保系统无缝通信、弹性适应和高效扩展。