tryhackme-网络安全基础-网络- 网络概念-24

tryhackme-Cyber Security 101-Networking-Networking Concepts
房间地址:https://tryhackme.com/room/networkingconcepts
这是网络安全入门的基础模块的计算机科学基础知识:网络概念,序号 01 表示第一篇文章,当你不知道从哪里开始的时候,你可以按照数字顺序来进行参考即可。

Networking Concepts 网络概念

Task 2 OSI Model OSI模型

OSI(开放系统互连)模型是由国际标准化组织(ISO)开发的一种概念模型,它描述了计算机网络中的通信方式。换句话说,OSI 模型定义了计算机网络通信的框架。尽管该模型是理论性的,但学习和理解它至关重要,因为它有助于更深入地掌握网络概念。OSI 模型由七层组成:

Physical Layer  物理层
Data Link Layer  数据链路层
Network Layer  网络层
Transport Layer  传输层
Session Layer  会话层
Presentation Layer  表示层
Application Layer  应用层

第 1 层:物理层
物理层(也称为第一层)处理设备之间的物理连接;这包括传输介质(例如电线)以及二进制数字 0 和 1 的定义。数据传输可以通过电信号、光信号或无线信号进行。因此,根据所使用的物理介质,我们需要数据线或天线。

除了下图所示的以太网电缆和光纤电缆外,物理层介质的示例还包括 WiFi 无线电频段、2.4 GHz 频段、5 GHz 频段和 6 GHz 频段。

第 2 层:数据链路层
物理层定义了传输信号的介质。数据链路层(即第二层)代表了实现同一网段上节点间数据传输的协议。简单来说,数据链路层描述了同一网段上不同系统之间关于如何通信的约定。网段指的是一组使用共享介质或信道进行信息传输的网络设备。例如,假设一个公司办公室有十台计算机连接到一个网络交换机;这就是一个网段。

第二层(网络层)的例子包括以太网(例如 802.3)和 WiFi(例如 802.11)。以太网和 WiFi 地址均为六个字节。它们的地址称为 MAC 地址,其中 MAC 代表媒体访问控制地址。MAC 地址通常以十六进制格式表示,每两个十六进制数字(一个字节)之间用冒号分隔。最左边的三个字节标识设备供应商。

图片

在实际的以太网或 WiFi 网络通信中,我们预期每个帧中都会出现两个 MAC 地址。下图所示的数据包如下:

目标数据链路地址(MAC 地址)以黄色高亮显示。
源数据链路地址(MAC 地址)以蓝色高亮显示。
剩余部分显示了正在发送的数据。

图片

第 3 层:网络层
数据链路层负责在同一网段上的两个节点之间传输数据。网络层(即第三层)则负责在不同网络之间传输数据。更具体地说,网络层负责逻辑寻址和路由,也就是找到在不同网络之间传输网络数据包的路径。

在数据链路层,我们举了一个公司办公室拥有十台计算机的例子,数据链路层负责在这些计算机之间建立连接。假设这家公司在不同的城市、国家甚至大洲都有多个办公室,那么网络层就负责将这些不同的办公室连接起来。

下图显示计算机 A 和 B 虽然位于不同的网络中,但彼此相连。您还可以注意到连接这两台计算机的两条路径;网络层会根据其认为最佳的路径路由网络数据包。

图片

网络层的示例包括互联网协议 (IP)、互联网控制消息协议 (ICMP) 和虚拟专用网络 ( VPN ) 协议,例如 IPSec 和 SSL/ TLS VPN 。

第 4 层:传输层
第四层,即传输层,实现了不同主机上运行的应用程序之间的端到端通信。您的 Web 浏览器通过传输层连接到 TryHackMe Web 服务器,传输层支持流量控制、分段和纠错等多种功能。

第 4 层的例子有传输控制协议 ( TCP ) 和用户数据报协议 ( UDP )。

第 5 层:会话层
会话层负责建立、维护和同步运行在不同主机上的应用程序之间的通信。建立会话意味着在应用程序之间发起通信并协商会话所需的必要参数。数据同步确保数据按正确的顺序传输,并提供在传输故障时进行恢复的机制。

会话层的示例包括网络文件系统 (NFS) 和远程过程调用 (RPC)。

第 6 层:表示层
表示层确保数据以应用层可以理解的形式传递。第六层(数据层)负责数据编码、压缩和加密。编码的一个例子是字符编码,例如 ASCII 或 Unicode。
在表示层,会使用各种不同的标准。假设我们要通过电子邮件发送一张图片。首先,我们使用 JPEG、GIF 和 PNG 格式来保存图片;此外,虽然邮件客户端对用户隐藏了 MIME (多用途互联网邮件扩展)格式,但我们仍然会使用 MIME 将文件作为附件添加到邮件中。MIME 使用 7 位 ASCII 字符对二进制文件进行编码。

第 7 层:应用层
应用层直接向终端用户应用程序提供网络服务。您的网络浏览器会使用 HTTP 协议来请求文件、提交表单或上传文件。

应用层是网络的最顶层,您在使用各种应用程序时可能已经接触过许多应用层协议。例如, HTTP 、 FTP 、 DNS 、 POP3 、 SMTP 和 IMAP 都是应用层协议。如果您对它们都不熟悉,也不用担心。

Summary 概括
初次接触 ISO OSI 模型可能会让人感到畏惧;然而,随着你对网络协议学习的深入,你会发现它其实并不难理解。为了帮助你更好地学习,我们在下表中总结了 ISO OSI 的各个层。

图片

Task 3 TCP/IP Model

既然我们已经了解了 ISO OSI 模型的概念,现在是时候研究一个已实现的模型 ——TCP /IP 模型了。TCP/IP 代表传输控制协议/互联网协议,由美国国防部(DoD)在 20 世纪 70 年代开发。你可能会问 , 为什么国防部要创建这样一个模型?该模型的优势之一在于,即使网络的部分组件(例如,由于军事攻击)停止运行,它也能保证网络继续运行。这种能力部分归功于路由协议的设计,使其能够随着网络拓扑结构的变化而进行调整。

在我们对 ISO OSI 模型的讲解中,我们从下往上,从第 1 层到第 7 层。在这个任务中,让我们换个角度,从上往下看。从上往下,我们有:

应用层 :OSI 模型中的应用层、表示层和会话层(即第 5、6 和 7 层)在 TCP /IP 模型中被归为应用层。
传输层 :这是第 4 层。
网络层 :这是第 3 层。OSI 模型中的网络层在 TCP /IP 模型中被称为网络层。
链路层 :这是第 2 层。

下表显示了 TCP /IP 模型层如何映射到 ISO/OSI 模型层。
图片

许多现代网络教材将 TCP /IP 模型展示为五层而非四层。例如,在《计算机网络:自顶向下方法》(第 8 版)中, Kurose 和 Ross 通过包含物理层,描述了如下五层互联网协议栈:

Application  应用
Transport  传输
Network  网络
Link  链路
Physical  物理

在接下来的任务中,我们将介绍互联网层的 IP 协议以及传输层的 UDP 和 TCP 协议。

Task 4 IP 地址和子网

提到 IP 地址,你可能会想到像 192.168.0.1 这样的地址,或者像 172.16.159.243 这样不太常见的地址。这两种情况都正确。它们都是 IP 地址;更准确地说,是 IPv4(IP 版本 4)地址。

网络上的每个主机都需要一个唯一的标识符,以便其他主机能够与其通信。如果没有唯一的标识符,就无法准确找到该主机。在使用 TCP/IP 协议族时,我们需要为连接到网络的每个设备分配一个 IP 地址。

IP 地址可以类比为你的家庭邮政地址。你的邮政地址让你能够接收来自世界各地的信件和包裹。此外,它还能准确识别你的住址;否则,你就无法进行网上购物了!

您可能已经知道,我们有 IPv4 和 IPv6(IP 版本 6)。IPv4 仍然是最常用的,因此,当您看到提到 IP 而没有注明版本时,我们通常认为指的是 IPv4。

那么,IP 地址由什么构成呢?IP 地址由四个八位字节(即 32 位)组成。一个八位字节可以表示 0 到 255 之间的十进制数。下图显示了一个 IP 地址。
图片

为了简化说明,我们可以这样理解:0 和 255 分别保留用于网络地址和广播地址。换句话说, 192.168.1.0 是网络地址,而 192.168.1.255 是广播地址。发送到广播地址会覆盖网络上的所有主机。通过简单的计算,我们可以得出结论:IPv4 地址的数量不可能超过 40 亿个。如果您对具体的计算过程感兴趣,这个数字大约是 2^32,因为我们有 32 位地址。之所以说是近似值,是因为我们没有考虑网络地址和广播地址。

  • 查找您的网络配置

您可以使用命令 ipconfig 在 Windows 命令行中查找您的 IP 地址。在 Linux 和 UNIX 系统中,您可以使用命令 ifconfig 或 ip address show ,后者可以输入为 ip as 。在下面的终端窗口中,我们展示了 ifconfig 输出。
图片

上述终端输出表明:

主机(笔记本电脑)的 IP 地址是 192.168.66.89
子网掩码为 255.255.255.0
广播地址为 192.168.66.255

让我们用 ip as 来比较一下网卡 IP 地址的显示方式。
图片

上述终端输出表明:

主机(笔记本电脑)的 IP 地址是 192.168.66.89/24
广播地址为 192.168.66.255

如果你好奇的话,子网掩码 255.255.255.0 也可以写成 /24 表示 IP 地址中最左边的 24 位在整个网络(即子网 /24 中保持不变。换句话说,最左边的三个八位字节在整个子网中都是相同的;因此,我们可以找到 192.168.66.1 到 192.168.66.254 范围内的地址。与前面提到的类似, 192.168.66.0 和 192.168.66.255 分别是网络地址和广播地址。

  • Private Addresses 私人地址

RFC 1918 定义了以下三个私有 IP 地址范围:

10.0.0.0 - 10.255.255.255 (10/8)
172.16.0.0 - 172.31.255.255 ( 172.16/12 )
192.168.0.0 - 192.168.255.255 (192.168/16)

我们之前举过一个比喻,公网 IP 地址就像你的家庭邮政地址。私网 IP 地址则不同;它的本质是无法被外部网络访问或访问。它就像一座与世隔绝的城市或社区,所有房屋和公寓都按顺序编号,彼此之间可以轻松交换邮件,但无法与外界联系。私网 IP 地址要访问互联网,路由器必须拥有公网 IP 地址,并且必须支持网络地址转换 (NAT)。目前,我们暂且不讨论 NAT 的工作原理,稍后会在本模块中详细讲解。

在继续之前,我建议您记住私有 IP 地址范围。否则,您可能会看到类似 10.1.33.7 或 172.31.33.7 的 IP 地址,并尝试从公共 IP 地址访问它。

  • Routing 路由

路由器就像你当地的邮局;你把邮件包裹交给他们,他们就知道如何投递。更进一步来说,你可能会把东西寄到另一个城市或国家的地址。邮局会核对地址,然后决定下一步的投递方向。例如,如果包裹要寄往国外,我们希望有一个中央邮局来处理所有国际邮件。

从技术角度来说,路由器负责将数据包转发到正确的网络。通常情况下,数据包在到达最终目的地之前会经过多个路由器。路由器在网络第三层工作,它会检查 IP 地址,并将数据包转发到最佳网络(路由器),从而使数据包更接近其目的地。

Task 5 UDP and TCP

IP 协议允许我们访问网络上的目标主机;主机通过其 IP 地址进行识别。我们需要一些协议,使联网主机上的进程能够相互通信。有两种传输协议可以实现这一点: UDP 和 TCP

  • UDP

用户数据报协议 ( UDP ) 允许我们访问目标主机上的特定进程。UDP 是一种简单的无连接协议,运行在传输层(即第四层 ) 。 无连接意味着它不需要建立连接。UDP 甚至不提供检测数据包是否已送达的机制。

IP 地址用于标识主机;我们需要一种机制来确定发送和接收过程。这可以通过使用端口号来实现。端口号使用两个八位字节;因此,其范围在 1 到 65535 之间;端口 0 被保留。(数字 65535 由表达式 216 − 1 计算得出。)

与 UDP 类似的一个现实例子是标准邮件服务,它不提供投递确认。换句话说, UDP 数据包无法保证已被成功接收,就像使用不提供投递确认的标准邮件寄送包裹一样。对于标准邮件而言,这意味着它比提供投递确认的邮件服务成本更低。对于 UDP 而言,这意味着它比提供“投递确认”的传输协议速度更快。

但如果我们想要一个能够确认接收到的数据包的传输协议呢?答案在于使用 TCP 而不是 UDP 。

  • TCP

TCP (传输控制协议)是一种面向连接的传输协议。它使用多种机制来确保网络主机上不同进程发送的数据能够可靠地传输。与 UDP 类似,它也是一种第四层协议。由于它是面向连接的,因此在发送任何数据之前,都需要先建立 TCP 连接。

在 TCP 协议中,每个数据字节都有一个序列号;这使得接收方能够轻松识别丢失或重复的数据包。另一方面,接收方会使用确认号来确认接收到数据,该确认号指定了最后接收到的字节。

TCP 连接是通过所谓的三次握手建立的。三次握手使用两个标志:SYN(同步)和 ACK(确认)。数据包的发送方式如下:

SYN 数据包:客户端通过向服务器发送 SYN 数据包来发起连接。该数据包包含客户端随机选择的初始序列号。
SYN-ACK 数据包:服务器对 SYN 数据包回复一个 SYN-ACK 数据包,该数据包会添加服务器随机选择的初始序列号。
ACK 数据包:客户端发送 ACK 数据包以确认收到 SYN-ACK 数据包,三次握手完成。
posted @ 2025-11-18 21:13  sec875  阅读(12)  评论(0)    收藏  举报