这是一系列文章的延续,我在其中简要介绍了系统架构设计中特定主题的要点。第一篇文章可以在这里阅读。
任何复杂的系统都是由众多组件组成的镶嵌体,每个组件都有其特定的功能。这些组件并不是孤立运行的;它们不断通过网络进行交互,交换数据和命令。了解这些交互的基础知识至关重要。
人们必须了解组件如何通过网络进行通信,才能真正了解系统的整体性能和弹性。
根据规模、架构、范围和功能,网络可以分为四种类型:
如果没有专门的硬件设备,构建和维护网络是不可能的:
网络拓扑是一种结构布局,决定了不同网络设备和组件如何连接以及如何传输数据。拓扑的选择会显着影响网络的性能、可扩展性和容错能力。它主要分为两种类型:
区分以下类型的拓扑:
两个节点或端点之间的直接连接。这是最简单的网络拓扑形式。
优点:
直接专用链路确保高速数据传输。
简单的配置和设置。
由于仅涉及两个节点,因此通信可靠。
缺点:
所有设备共享一条通信线路。设备发送的数据可供所有其他设备使用,但只有预期接收者接受并处理该数据。
优点:
小型网络易于实施。
由于布线最少,因此具有成本效益。
缺点:
每个设备都连接到另外两个设备,形成一个环。数据在一个方向或有时在两个方向上传输。
优点:
它可以处理比总线拓扑更大的数据负载。
缺点:
所有设备都连接到中央设备(例如交换机或集线器)。
优点:
缺点:
混合拓扑结合了星形和总线拓扑的特性。星形配置网络组连接到线性总线主干。
优点:
分层且可扩展。
设备分组便于管理。
缺点:
设备互连。每个设备都连接到其他每个设备。
优点:
提供高冗余度和可靠性。
数据可以同时从多个设备传输。
缺点:
两种或多种拓扑的组合。
优点:
灵活可靠,因为它继承了其组件拓扑的优点。
可扩展。
缺点:
网络协议是定义如何通过网络传输和接收数据的规则或标准。这些协议确保网络上(或跨多个网络)的设备可以以标准化方式相互通信。
OSI 和 TCP/IP 是两个主要模型,用作描述网络数据通信过程的指导框架。
| 开放系统互连模型 | 协议 | 数据格式 | TCP/IP模型 |
---|---|---|---|---|
7 | 应用 | HTTP、DNS、SMTP、FTP | 数据 | 应用 |
6 | 推介会 | 传输层安全、SSL | 数据 | 应用 |
5 | 会议 | 插座 | 数据 | 应用 |
4 | 运输 | TCP、UDP | 段、数据包 | 运输 |
3 | 网络 | IP、ICMP、IPsec | IP数据报 | 互联网 |
2 | 数据链接 | 点对点协议、以太网 | 框架 | 网络接口 |
1 | 身体的 | 光纤、无线 | 少量 | 网络接口 |
OSI (开放系统互连)模型是用于理解七层网络交互的概念框架。每一层都有特定的功能:
物理:处理设备之间的物理连接。它定义了硬件元素,例如电缆、交换机和 NIC。
数据链路:负责在两个直接连接的节点之间创建可靠的链路、处理错误并调节数据流。
网络:确定通过网络将数据从源传输到目标的最佳路径。
传输:确保端到端通信、数据流控制和纠错。
会话:建立、维持和终止两端的应用程序连接。
表示:在应用程序层和传输层之间转换数据,确保数据可读。
应用程序:直接与最终用户应用程序交互,确保软件与 OSI 模型较低层之间的有效通信。
TCP/IP是一种更简洁的模型,主要用于现代互联网,它将 OSI 层简化为四类:
网络接口:结合了 OSI 物理层和数据链路层的功能,重点关注如何在网络介质上发送/接收数据。
Internet :对应OSI中的网络层,处理数据路由、IP寻址和数据包转发。
传输:与 OSI 的传输层类似,确保数据到达正确的应用程序并可靠 (TCP) 或快速 (UDP) 传输。
应用程序:合并 OSI 会话层、表示层和应用程序层的功能,处理最终用户应用程序进程。
在系统设计中,确保强大的网络安全对于保护敏感数据、维护用户和利益相关者的信任、确保业务连续性并满足监管要求至关重要。
DDoS 攻击:恶意尝试通过大量互联网流量淹没目标服务器、服务或网络,从而破坏目标服务器、服务或网络的正常流量。
恶意软件:旨在破坏、损坏计算机系统或未经授权访问计算机系统的软件。这包括病毒、蠕虫、间谍软件和勒索软件。
中间人攻击:攻击者秘密拦截并中继两方之间的通信。他们可以窃听或冒充其中一方,欺骗另一方。
内部威胁:来自组织内部的威胁,例如掌握有关安全实践的内部信息的员工、前员工或合作伙伴。
软件缺陷:软件中的错误或弱点可能会被利用来获得未经授权的访问或中断服务。示例包括缓冲区溢出和未处理的异常。
硬件弱点:物理组件可能存在漏洞,例如可能被篡改的固件或制造商安装的后门。
配置错误的网络设备:未正确配置的路由器、交换机或防火墙等设备可能会使网络面临各种威胁。
身份验证和授权薄弱:密码策略不足、缺乏多重身份验证或宽松的访问控制可能会导致未经授权的访问。
未加密的数据:未加密的数据在通过网络传输时很容易被拦截和读取。
过时的系统:不再受支持或尚未更新的系统可能存在易于利用的已知漏洞。
物理漏洞:这是指攻击者可以直接插入网络或访问服务器的物理接入点。
防火墙:部署硬件和软件防火墙,根据安全策略监视和控制传入和传出的网络流量。
加密:使用加密协议,尤其是对于传输中的敏感数据(例如用于网络流量的 SSL/TLS)和静态数据(例如数据库加密)。
定期更新:保持所有系统、软件和应用程序更新以修补漏洞。
多重身份验证 (MFA) :实施 MFA 以添加一层安全性,确保用户提供两个或多个验证因素来获得访问权限。
网络监控:使用网络监控工具持续监控网络是否存在异常活动或未经授权的访问。
安全意识培训:教育员工和用户有关安全的重要性以及如何识别潜在威胁。
网络分段:限制网络内威胁的传播,并更好地控制数据访问。
备份和灾难恢复:在发生破坏或故障时确保数据可用性和业务连续性。
物理安全:对网络设备的物理访问可能会导致漏洞。
掌握网络的基础知识,从错综复杂的拓扑到基本协议的细微差别,不仅仅是一项学术练习,它对于创建强大而高效的系统至关重要。
网络原理的坚实基础可确保系统无缝通信、弹性适应和高效扩展。