网络基础
什么是网络
什么是网络
网络连接着各种事物
什么是互联网
因特网是一个巨大的网络,由许多内部的小网络组成。
Internet 由许多连接在一起的小型网络组成。这些小型网络称为专用网络,连接这些小型网络的网络称为公共网络——或因特网!
识别网络上的设备
为了通信和维持秩序,设备必须在网络上既可识别又可被识别。
网络上的设备与人类非常相似,因为我们有两种识别方式:
- 我们的名字
- 我们的指纹
设备具有相同的功能:两种识别方式:
- IP地址
- 媒体访问控制 ( MAC ) 地址——将其视为类似于序列号。
IP地址
IP 地址(或Internet协议)地址可用作在一段时间内识别网络上主机的方式,然后该 IP 地址可与另一台设备相关联,而无需更改 IP 地址。
此处为IPv4
255.255.255.255
每一部分 0—255
IP 地址是一组分为四个八位字节的数字。每个八位字节的值将汇总为网络上设备的 IP 地址。这个数字是通过一种称为 IP 寻址和子网划分的技术计算出来的。IP 地址可以因设备而异,但在同一网络中不能同时激活超过一次。
IP 地址遵循一组称为协议的标准。这些协议是网络的支柱,并迫使许多设备以相同的语言进行通信。但是,设备可以同时位于专用网络和公共网络上。根据他们所在的位置,将确定他们拥有的 IP 地址类型:公共 IP 地址或私有 IP 地址。
公共地址用于在 Internet 上识别设备,而私有地址用于在其他设备中识别设备。
随着越来越多的设备连接起来,获得一个尚未使用的公共地址变得越来越困难。
我们只讨论了称为 IPv4 的 Internet 协议寻址方案的一个版本,它使用 2^32 个 IP 地址(42.9 亿)的编号系统。
IPv6 是 Internet 协议寻址方案的新迭代,可帮助解决此问题。虽然它看起来更令人生畏,但它支持多达 2^128 个 IP 地址(超过 340 万亿)
MAC地址
网络上的设备都有一个物理网络接口,它是设备主板上的一块微芯片板。该网络接口在其制造时被分配了一个唯一的地址,称为MAC地址。MAC地址是一个由十二个字符组成的十六进制数(在计算中用于表示数字的十六进制编号系统)分成两个并用冒号分隔。这些冒号被视为分隔符。例如,a4:c3:f0:85:ac:2d。前六个字符代表制作网络接口的公司,后六个是唯一编号。
ICMP
Ping 是我们可用的最基本的网络工具之一。Ping 使用ICMP(互联网控制消息协议)数据包来确定设备之间连接的性能,例如,连接是否存在或是否可靠。
ICMP 数据包在设备之间传输所花费的时间是通过 ping 测量的
如下面的屏幕截图所示。此测量是使用 ICMP 的回显数据包完成的,然后是来自目标设备的 ICMP 回显回复。
可以针对网络上的设备执行 Ping,例如您的家庭网络或网站等资源。这个工具可以很容易地使用并安装在操作系统 (OS) 上,例如Linux和 Windows。执行简单 ping 的语法是
ping IP address or website URl
局域网介绍
LAN拓扑
关于网络,当我们提到术语“拓扑”时,我们实际上指的是手头网络的设计或外观。
星型拓扑
星型拓扑的主要前提是设备通过中央网络设备(如交换机或集线器)单独连接。这种拓扑是当今最常见的拓扑,因为它具有可靠性和可扩展性——尽管成本很高。
发送到此拓扑中设备的任何信息都是通过它所连接的中央设备发送的。
优点
这种拓扑本质上更具可扩展性,这意味着随着网络需求的增加,添加更多设备非常容易。
缺点
此拓扑需要更多布线和购买专用网络设备,因此它比任何其他拓扑都昂贵。
网络规模越大,保持网络功能所需的维护就越多。这种对维护的依赖性增加也会使故障排除变得更加困难。
如果连接设备的集中式硬件发生故障,这些设备将无法再发送或接收数据。值得庆幸的是,这些集中式硬件设备通常都很稳健。
星形拓扑仍然容易发生故障
总线拓扑
这种类型的连接依赖于称为主干电缆的单一连接。这种类型的拓扑结构类似于树的叶子。
优点
总线拓扑结构是一种更容易设置且更具成本效益的拓扑结构
缺点
因为发往每个设备的所有数据都沿着同一条电缆传输,所以如果拓扑中的设备同时请求数据,它很容易变得缓慢和出现瓶颈。这个瓶颈还导致故障排除非常困难,因为很难确定哪个设备遇到了数据都沿同一路径传输的问题。
在发生故障时几乎没有冗余。这个缺点是因为主干电缆上存在单点故障。如果这条电缆断了,设备将无法再沿总线接收或传输数据。
环形拓扑
环形拓扑(也称为令牌拓扑)具有一些相似之处。计算机等设备直接相互连接形成环路,这意味着几乎不需要布线,也不太依赖星型拓扑中的专用硬件。
环形拓扑的工作原理是通过环路发送数据,直到到达目标设备,然后使用环路中的其他设备转发数据。有趣的是,如果一个设备没有任何数据要发送,它只会发送从该拓扑中的另一个设备接收到的数据。如果设备刚好有数据要发送,它会先发送自己的数据,然后再发送其他设备的数据。
优点
因为数据在这个拓扑中只有一个方向,所以很容易排除出现的任何故障。然而,这是一把双刃剑,因为它不是一种有效的数据跨网络传输方式,因为它可能必须先访问许多多个设备才能到达目标设备。
缺点
这种拓扑结构的设计确实意味着电缆切断或设备损坏等故障将导致整个网络中断。
什么是交换机
交换机是网络中的专用设备,旨在聚合多个其他设备,例如计算机、打印机或使用以太网的任何其他具有联网功能的设备。这些不同的设备插入交换机的端口。交换机通常出现在较大的网络中,例如企业、学校或类似规模的网络,其中有许多设备要连接到网络。交换机可以通过具有 4、8、16、24、32 和 64 端口供设备插入来连接大量设备。
交换机比其较小的对应物(集线器/中继器)效率高得多。交换机跟踪哪个设备连接到哪个端口。这样,当他们收到数据包时,它不会像集线器那样将数据包重复发送到每个端口,而是将其发送到预期目标,从而减少网络流量。
交换机和路由器都可以相互连接。这样做的能力通过为数据添加多条路径来增加网络的冗余(可靠性)。如果一条路径失败,则可以使用另一条路径。虽然这可能会降低网络的整体性能,因为数据包必须花费更长的时间才能传输,但不会出现停机时间——考虑到替代方案,这是一个很小的代价。
什么是路由器
连接网络并在它们之间传递数据是路由器的工作。它通过使用路由(因此得名路由器!)来做到这一点。
路由是数据在网络中传输的过程的标签。路由涉及在网络之间创建路径,以便可以成功传送此数据。
当设备通过多条路径连接时,路由很有用,如下面的示例图所示。
OSI模型
什么是OSI
OSI模型(或开放式系统互联通信参考模型)是网络中使用的绝对基础模型。这个关键模型提供了一个框架,规定所有联网设备将如何发送、接收和解释数据。
OSI 模型的主要优点之一是设备在与其他设备通信时可以在网络上具有不同的功能和设计。其他设备可以理解通过遵循 OSI 模型一致性的网络发送的数据。
有7层。
物理层: 将数据转换为可通过物理介质传送的电子信号 相当于邮局中的搬运工人。
数据链路层: 决定访问网络介质的方式。
在此层将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址,相当于邮局中的装拆箱工人。
网络层: 使用权数据路由经过大型网络 相当于邮局中的排序工人。
传输层: 提供终端到终端的可靠连接 相当于公司中跑邮局的送信职员。
会话层: 允许用户使用简单易记的名称建立连接 相当于公司中收寄信、写信封与拆信封的秘书。
表示层: 协商数据交换格式 相当公司中简报老板、替老板写信的助理。
应用层: 用户的应用程序和网络之间的接口。
第七层 应用层
应用层是您最熟悉的层。这种熟悉是因为应用层是协议和规则确定用户应如何与发送或接收的数据进行交互的层。
电子邮件客户端、浏览器或文件服务器浏览软件(如 FileZilla)等日常应用程序提供友好的图形用户界面( GUI ) ,供用户与发送或接收的数据进行交互。其他协议包括DNS(域名系统),这是将网站地址转换为 IP 地址的方式。
第六层 表示层
第 6 层是开始进行标准化的层。因为软件开发人员可以以不同的方式开发任何软件,例如电子邮件客户端,所以数据仍然需要以相同的方式处理——无论软件如何工作。
该层充当应用程序层(第 7 层)之间的数据转换器。接收计算机还将理解以一种格式发送到计算机的数据以另一种格式发送。例如,当您发送电子邮件时,其他用户可能有另一个电子邮件客户端给您,但电子邮件的内容仍然需要显示相同。
数据加密(如访问安全站点时的 HTTPS)等安全功能发生在这一层。
第五层 会话层
一旦从表示层(第 6 层)正确转换或格式化数据,会话层(第 5 层)将开始创建与数据目的地的另一台计算机的连接。建立连接后,将创建一个会话。当此连接处于活动状态时,会话也是如此。
会话层(第 5 层)使两台计算机同步,以确保它们在发送和接收数据之前处于同一页面上。一旦这些检查到位,会话层将开始将发送的数据分成更小的数据块,并开始一次一个地发送这些数据块(数据包)。这种划分是有益的,因为如果连接丢失,则只有尚未发送的块需要再次发送——而不是整个数据(可以将其视为在视频游戏中加载保存文件)。
值得注意的是,会话是唯一的——这意味着数据不能在不同的会话中传输,但实际上,只能在每个会话中传输。
第四层 传输层
在通过网络传输数据方面起着至关重要的作用,两种协议
- TCP
- UDP协议
TCP协议
传输控制协议( TCP)。_ _ 可能由名称暗示,该协议在设计时考虑了可靠性和保证。该协议在发送和接收数据所需的时间内保留两个设备之间的恒定连接。
不仅如此,TCP还在其设计中加入了错误检查。错误检查是 TCP 如何保证从会话层(第 5 层)中的小块发送的数据已被接收并以相同的顺序重新组合。
TCP的优点 |
TCP的缺点 |
保证数据的准确性。 |
需要两个设备之间的可靠连接。如果没有收到一小块数据,则无法使用整个数据块。 |
能够同步两个设备以防止彼此被数据淹没。 |
慢速连接可能会阻碍另一台设备,因为连接将一直保留在接收计算机上。 |
为可靠性执行更多的过程。 |
TCP比 UDP 慢得多,因为使用此协议的设备必须完成更多工作。 |
TCP用于文件共享、互联网浏览或发送电子邮件等情况。这种用法是因为这些服务要求数据准确和完整
UDP协议
该协议远不如它的兄弟——TCP协议先进。它没有 TCP 提供的许多功能,例如错误检查和可靠性。事实上,任何通过 UDP 发送的数据都会被发送到计算机,无论它是否到达那里。两个设备之间没有同步或保证。
UDP的优点 |
UDP的缺点 |
UDP比 TCP 快得多。 |
UDP不关心是否收到数据。 |
UDP让应用层(用户软件)决定是否可以控制数据包的发送速度。 |
从这个意义上说,它对软件开发人员来说是相当灵活的。 |
UDP不像 TCP 那样在设备上保留连续连接。 |
这意味着不稳定的连接会给用户带来糟糕的体验。 |
UDP在发送少量数据的情况下很有用。例如,用于发现设备的协议(我们在LAN 介绍中讨论的ARP和DHCP )或视频流等更大的文件(如果视频的某些部分像素化也没关系。像素只是丢失的部分)数据!)
第三层 网络层
网络层是数据路由和重组魔法发生的地方(从这些小块到更大的块)。首先,路由只是确定发送这些数据块的最佳路径。
虽然这一层的一些协议确切地确定了数据到达设备应该采用的“最佳”路径,但我们应该只知道它们存在于网络模块的这个阶段。简而言之,这些协议包括OSPF(O pen S hortest Path First )和RIP(R outing Information Protocol )。决定采用何种路线的因素由以下因素决定:
- 什么路径最短?即数据包需要经过的设备数量最少。
- 什么路径最靠谱?我以前在该路径上丢失过数据包吗?
- 哪条路径的物理连接速度更快?即是使用铜连接(较慢)还是光纤(相当快)的路径?
在这一层,一切都通过 IP 地址处理,例如 192.168.1.100。能够使用 IP 地址传送数据包的设备(例如路由器)被称为第 3 层设备,因为它们能够在 OSI 模型的第三层工作。
第二层 数据链路层
数据链路层侧重于传输的物理寻址。它从网络层接收数据包(包括远程计算机的 IP 地址)并添加接收端点的物理MAC(媒体访问控制) 地址。每台启用网络的计算机内部都有一个网络接口卡( NIC),它带有一个唯一的MAC地址来识别它。
MAC地址由制造商设置并直接烧入卡中;它们无法更改——尽管它们可以被欺骗。当通过网络发送信息时,实际上是物理地址用于确定将信息发送到哪里。
此外,以适合传输的格式呈现数据也是数据链路层的工作。
第一层 物理层
这一层指的是网络中使用的硬件的物理组件,是您能找到的最低层。设备使用电信号在二进制编号系统(1 和 0)中相互传输数据。
例如,以太网电缆连接设备,如下图所示:
数据包和帧
什么是数据包和帧
数据包和帧是小块数据,当它们组合在一起时,会形成更大的信息或消息。但是,它们在 OSI 模型中是两个不同的东西。帧位于第 2 层 - 数据链路层,这意味着没有 IP 地址等信息。
这个过程称为封装,我们讨论过:OSI 模型。在这个阶段,可以安全地假设当我们谈论任何 IP 地址时,我们都是在谈论数据包。当封装信息被剥离时,我们谈论的是框架本身。
数据包是跨联网设备传输数据的有效方式。由于此数据以小块形式交换,因此与一次发送大消息相比,跨网络出现瓶颈的可能性更小。
例如,当从网站加载图像时,该图像不会作为一个整体发送到您的计算机,而是在您的计算机上重建的小块。以下图为例说明此过程。狗的照片被分成三个数据包,当它到达计算机以形成最终图像时会在其中重建。
数据包具有不同的结构,这取决于正在发送的数据包的类型。正如我们将要讨论的那样,网络充满了标准和协议,它们作为一组规则来决定如何在设备上处理数据包。
Internet 协议示例。使用此协议的数据包将具有一组标头,其中包含通过网络发送的数据的附加信息。
一些值得注意的标题包括:
标头 |
描述 |
生存时间 |
该字段为数据包设置一个到期计时器,如果它永远无法到达主机或逃逸,则不会阻塞您的网络! |
校验和 |
该字段为 TCP/IP 等协议提供完整性检查。如果更改了任何数据,则此值将与预期的不同并因此损坏。 |
源地址 |
发送 数据包的设备的 IP 地址,以便数据知道返回到哪里。 |
目的地地址 |
数据包被发送到的设备的 IP 地址,以便数据知道下一步要传输到哪里。 |
TCP/IP的三次握手
TCP (或 简称为传输控制协议)是网络中使用的另一种规则。
该协议与我们之前讨论过的 OSI 模型非常相似。TCP/IP 协议由四层组成,可以说只是 OSI 模型的一个概括版本。这些层是:
- 应用
- 运输
- 互联网
- 网络接口
与 OSI 模型的工作方式非常相似,当数据(或数据包)穿过它时,信息被添加到TCP模型的每一层。您可能还记得,这个过程被称为封装——这个过程的逆过程是解封装。
TCP的一个定义特征是它是 基于连接的,这意味着TCP必须在 发送数据之前在客户端和充当服务器的设备之间建立连接 。
因此,TCP保证发送的任何数据都会在另一端收到。这个过程被命名为三次握手,这是我们稍后将要讨论的内容。 下表比较了TCP的优缺点:
TCP的优点 |
TCP的缺点 |
保证数据的完整性。 |
需要两个设备之间的可靠连接。如果没有收到一小块数据,则无法使用整个数据块,必须重新发送。 |
能够同步两个设备以防止彼此被错误顺序的数据淹没。 |
慢速连接可能会成为另一台设备的瓶颈,因为连接将一直保留在另一台设备上。 |
为可靠性执行更多的过程 |
TCP比 UDP 慢得多,因为使用此协议的设备必须完成更多工作(计算)。 |
TCP数据包包含从封装中添加的称为标头的各种信息部分。让我们解释下表中的一些关键标头:
标头 |
描述 |
源端口 |
此值是发送方打开的用于发送TCP数据包的端口。该值是随机选择的(从当时尚未使用的 0-65535 端口中选择)。 |
目的端口 |
该值是远程主机(接收数据的主机)上运行的应用程序或服务的端口号;例如,在端口 80 上运行的 Web 服务器。与源端口不同,此值不是随机选择的。 |
源IP |
这是发送数据包的设备的 IP 地址。 |
目的IP |
这是数据包的目标设备的 IP 地址。 |
序列号 |
当连接发生时,传输的第一条数据被赋予一个随机数。我们将在后面更深入地解释这一点。 |
确认编号 |
在一条数据被赋予序号后,下一条数据的序号将是序号+1。我们还将在后面更深入地解释这一点。 |
校验 |
这个值赋予了TCP完整性。在记住输出的地方进行数学计算。当接收设备执行数学计算时,如果输出与发送的不同,则数据一定是损坏的。 |
数据 |
该标头是存储数据(即正在传输的文件的字节)的位置。 |
旗帜 |
此标头确定在握手过程中任一设备应如何处理数据包。特定的标志将决定特定的行为,这就是我们将在下面解释的内容。 |
接下来,我们将继续讨论 三次握手—— 用于在两个设备之间建立连接的过程的术语。 三向握手使用一些特殊消息进行通信 - 下表突出显示了主要消息:
步 |
信息 |
描述 |
1个 |
同步号 |
SYN 消息是客户端在握手期间发送的初始数据包。此数据包用于启动连接并将两个设备同步在一起(稍后我们将进一步解释)。 |
2个 |
同步/确认 |
此数据包由接收设备(服务器)发送,以确认来自客户端的同步尝试。 |
3个 |
确认 |
客户端或服务器可以使用确认数据包来确认已成功接收到一系列消息/数据包。 |
4个 |
数据 |
建立连接后,数据(例如文件的字节)将通过“DATA”消息发送。 |
5个 |
鳍 |
此数据包用于在连接完成后干净地(正确地)关闭连接。 |
# |
RST |
这个数据包突然结束了所有的通信。这是最后的手段,表明在此过程中出现了一些问题。例如,如果服务或应用程序没有正常运行,或者系统出现资源不足等故障。 |
任何发送的数据都被赋予一个随机数序列,并使用该数字序列重建并递增 1。两台计算机必须同意相同的数字序列才能以正确的顺序发送数据。该命令在三个步骤中达成一致:
- SYN - 客户端:这是我的初始序列号 (ISN) 与 (0) SYN chronise
- SYN/ACK - 服务器:这是我的初始序列号 (ISN) 与 (5,000)同步同步,我 确认您的初始序列号 (0)
- ACK - 客户:我 确认您的初始序列号 (ISN) 为 (5,000),这是我的 ISN+1 (0 + 1) 的一些数据
设备 |
初始编号序列 (ISN) |
最终编号序列 |
客户(发件人) |
0 |
0 + 1 = 1 |
客户(发件人) |
1个 |
1 + 1 = 2 |
客户(发件人) |
2个 |
2 + 1 = 3 |
TCP关闭连接:
让我们快速解释一下TCP关闭连接背后的过程。首先,一旦一个设备确定另一个设备已成功接收到所有数据,TCP 将关闭连接。
因为TCP在设备上保留系统资源,所以最好尽快关闭 TCP 连接。
要启动TCP连接的关闭,设备将向其他设备发送“FIN”数据包。当然,对于 TCP,其他设备也必须确认此数据包。
让我们像以前一样使用爱丽丝和鲍勃来展示这个过程。
在图中,我们可以看到 Alice 向 Bob 发送了一个“ FIN ”数据包。因为鲍勃收到了这个,他会让爱丽丝知道他收到了,他也想关闭连接(使用 FIN)。爱丽丝已经清楚地听到了鲍勃的声音,并且会让鲍勃知道她承认这一点。
UDP/IP
用户数据报协议 ( UDP )是 另一种用于在设备之间传送数据的协议。
与其兄弟TCP不同,UDP 是一种 无状态 协议,不需要两个设备之间的持续连接来发送数据。例如,没有发生三次握手,两个设备之间也没有任何同步。
回想一下“OSI 模型”中对这两个协议所做的一些比较。即,UDP用于应用程序可以容忍数据丢失的情况(例如视频流或语音聊天)或不稳定连接不是最终结果的情况。UDP优缺点比较表如下:
UDP的优点 |
UDP的缺点 |
UDP比 TCP 快得多。 |
UDP不关心是否接收到数据。 |
UDP让应用程序(用户软件)决定是否可以控制数据包的发送速度。 |
从这个意义上说,它对软件开发人员来说是相当灵活的。 |
UDP不像 TCP 那样在设备上保留连续连接。 |
这意味着不稳定的连接会给用户带来糟糕的体验。 |
如前所述,在两个设备之间建立连接时不会发生任何过程。这意味着不考虑是否接收到数据,并且没有TCP提供的保护措施,例如数据完整性。
UDP数据包比 TCP 数据包简单得多,并且具有更少的标头。但是,这两个协议共享一些标准标头,这些标头在下表中有注释:
标头 |
描述 |
生存时间 (TTL) |
此字段为数据包设置一个到期计时器,因此如果它永远无法到达主机或逃逸,它不会阻塞您的网络! |
源地址 |
发送数据包的设备的 IP 地址,以便数据知道返回到哪里。 |
目的地地址 |
数据包被发送到的设备的 IP 地址,以便数据知道下一步要传输到哪里。 |
源端口 |
此值是发送方打开的用于发送TCP数据包的端口。该值是随机选择的(从当时尚未使用的 0-65535 端口中)。 |
目的端口 |
该值是在远程主机(接收数据的主机)上运行的应用程序或服务的端口号;例如,在端口 80 上运行的 Web 服务器。与源端口不同,此值不是随机选择的。 |
数据 |
该标头是存储数据(即正在传输的文件的字节)的位置。 |
接下来,我们将继续讨论通过UDP 的连接过程与 TCP 等连接过程有何不同。我们应该记得 UDP 是无状态的。连接期间不发送确认。
下图显示了Alice 和 Bob 之间的正常UDP连接。在现实生活中,这将发生在两个设备之间。
端口
端口是可以交换数据的重要点。想想港口,希望停靠港口的船舶必须前往与船舶尺寸和设施相适应的港口。例如,邮轮不能停靠在为渔船建造的港口,反之亦然。
这些端口强制规定可以停放什么以及放在哪里——如果不兼容,就不能停放在这里。网络设备在相互通信时也使用端口来执行严格的规则。建立连接后(从 OSI 模型回忆起),设备发送或接收的任何数据都将通过这些端口发送。在计算中,端口是介于0 和 65535 (65,535)之间的数值 。
因为端口的范围可以在 0-65535 之间的任何位置,所以很快就会有失去对哪个应用程序正在使用哪个端口的跟踪的风险。繁忙的港口一片混乱!值得庆幸的是,我们将应用程序、软件和行为与一组标准规则相关联。例如,通过强制任何 Web 浏览器数据通过端口 80 发送,软件开发人员可以设计一种 Web 浏览器(如 Google Chrome 或 Firefox)以彼此相同的方式解释数据。
这意味着所有 Web 浏览器现在都共享一个通用规则:数据通过端口 80 发送。浏览器的外观、感觉和易用性取决于设计者或用户的决定。
虽然 Web 数据的标准规则是 端口 80,但一些其他协议已分配了标准规则。0 和 1024 (1,024)之间的任何端口 都称为公共端口。让我们在下面探讨其中一些其他协议:
协议 |
端口号 |
描述 |
文件传输协议( FTP ) |
21 |
该协议由基于客户端-服务器模型构建的文件共享应用程序使用,这意味着您可以从中央位置下载文件。 |
安全外壳( SSH ) |
22 |
该协议用于通过基于文本的管理界面安全登录系统。 |
超文本传输协议 ( HTTP ) |
80 |
该协议为万维网 (WWW) 提供支持!您的浏览器使用它来下载网页的文本、图像和视频。 |
超文本传输协议安全( HTTPS ) |
443 |
该协议与上面的完全相同;但是,安全地使用加密。 |
服务器消息块( SMB ) |
445 |
该协议类似于文件传输协议 ( FTP );但是,除了文件,SMB 还允许您共享打印机等设备。 |
远程桌面协议( RDP ) |
3389 |
该协议是一种使用可视化桌面界面登录系统的安全方式(与 SSH 协议的基于文本的限制相反)。 |
我们只简要介绍了网络安全中更常见的协议。您可以找到列出的 1024 个公共端口表以获取更多信息。
这里值得注意的是,这些协议只遵循标准。也就是说,您可以在标准端口以外的不同端口上管理与这些协议交互的应用程序(在 8080 而不是 80 标准端口上运行 Web 服务器)。但是请注意,应用程序将假定遵循标准,因此您必须提供冒号(:) 和端口号。
扩展您的网络
端口转发
端口转发是将应用程序和服务连接到 Internet 的重要组成部分。如果没有端口转发,Web 服务器等应用程序和服务只能用于同一直接网络中的设备。
以下面的网络为例。在这个网络中,IP 地址为“192.168.1.10”的服务器在端口 80 上运行一个网络服务器。只有这个网络上的其他两台计算机才能访问它(这被称为内部网)。
如果管理员希望公众可以访问该网站(使用 Internet),他们必须实施端口转发,如下图所示:
通过这种设计,网络 #2 现在可以使用网络 #1 (82.62.51.70) 的公共 IP 地址访问在网络 #1 上运行的网络服务器。
很容易将端口转发与防火墙的行为(我们将在稍后的任务中讨论的技术)混淆。但是,在这个阶段,只需了解端口转发打开特定端口(回想一下数据包的工作原理)。相比之下,防火墙确定流量是否可以通过这些端口(即使这些端口已通过端口转发打开)。
端口转发是在网络的路由器上配置的。
防火墙
防火墙是网络中的一种设备,负责确定允许哪些流量进入和退出。将防火墙视为网络的边界安全。 管理员可以根据多种因素将防火墙配置为 允许 或 拒绝流量进入或退出网络,
例如:
- 流量从哪里来?(是否已告知防火墙接受/拒绝来自特定网络的流量?)
- 交通要往哪里去?(是否已告知防火墙接受/拒绝发往特定网络的流量?)
- 流量流向哪个端口?(是否已告知防火墙仅接受/拒绝发往端口 80 的流量?)
- 流量使用什么协议?(是否已告知防火墙接受/拒绝UDP、 TCP 或两者的流量?)
防火墙执行数据包检查以确定这些问题的答案。
防火墙有各种形状和大小。从可以处理大量数据的专用硬件(通常在企业等大型网络中找到)到住宅路由器(例如在您家中!)或Snort等软件,防火墙可以分为 2 到 5 类。
我们将在下表中介绍防火墙的两个主要类别:
防火墙类别 |
描述 |
有状态的 |
这种类型的防火墙使用来自连接的全部信息;该防火墙不是检查单个数据包,而是根据整个连接确定设备的行为。 与无状态防火墙相比,这种防火墙类型会消耗很多资源,因为决策是动态的。例如,防火墙可能允许TCP握手的第一部分,但稍后会失败。 如果来自主机的连接不好,它会阻塞整个设备。 |
无状态的 |
此防火墙类型使用一组静态规则来确定单个数据包是否可接受。例如,发送坏数据包的设备不一定意味着整个设备随后被阻止。 虽然这些防火墙使用的资源比其他防火墙少得多,但它们更笨。例如,这些防火墙仅作为其中定义的规则才有效。如果规则不完全匹配,它实际上是无用的。 但是,当从一组主机接收大量流量时(例如分布式拒绝服务攻击),这些防火墙非常有用 |
VPN
虚拟专用网络(或 简称VPN )是一种技术,它允许不同网络上的设备通过在 Internet 上创建彼此之间的专用路径(称为隧道)来安全地通信。在此隧道内连接的设备形成了自己的专用网络。
例如,只有同一网络内(例如企业内)的设备才能直接通信。但是,VPN 允许连接两个办公室。让我们看下图,其中有三个网络:
- 网络#1(办公室#1)
- 网络#2(办公室#2)
- 网络 #3(两台设备通过 VPN 连接)
连接在网络 #3 上的设备仍然是网络 #1 和网络 #2 的一部分,但也一起形成一个专用网络(网络 #3),只有通过此 VPN 连接的设备才能通过该网络进行通信。
让我们在下表中介绍 VPN 提供的其他一些好处:
益处 |
描述 |
允许连接不同地理位置的网络。 |
例如,拥有多个办公室的企业会发现 VPN 很有用,因为这意味着可以从另一个办公室访问服务器/基础设施等资源。 |
提供隐私。 |
VPN 技术使用加密来保护数据。这意味着它只能在发送它的设备和目的地的设备之间被理解,这意味着数据不容易被嗅探。 这种加密在有公共 WiFi 的地方很有用,在这些地方网络不提供加密。您可以使用 VPN 来保护您的流量不被其他人查看。 |
提供匿名性。 |
记者和活动家依靠 VPN 在言论自由受到控制的国家安全地报道全球问题。 通常,您的 ISP 和其他中介可以查看您的流量并因此对其进行跟踪。 VPN 提供的匿名级别仅与网络上其他设备尊重隐私的程度一样多。例如,记录您所有数据/历史记录的 VPN 在这方面与不使用 VPN 基本相同。 |
多年来,VPN 技术得到了改进。让我们在下面探索一些现有的 VPN 技术:
VPN技术 |
描述 |
PPP |
PPTP(下面解释)使用该技术来允许身份验证和提供数据加密。VPN 通过使用私钥和公共证书(类似于SSH)来工作。私钥和证书必须匹配才能连接。 该技术无法自行离开网络(不可路由)。 |
PPTP |
点对点隧道协议(PPTP ) 是允许来自 PPP的数据传输和离开 网络的技术。 PPTP 非常容易设置并且被大多数设备支持。但是,与替代方案相比,它的加密程度较低。 |
安全协议 |
Internet 协议安全 (IPsec) 使用现有的Internet协议( IP ) 框架对数据进行加密。 与替代方案相比,IPSec 很难设置;但是,如果成功,它就会拥有强大的加密功能,并且在许多设备上也受到支持。 |
路由器
连接网络并在它们之间传递数据是路由器的工作。它通过使用路由(因此得名路由器!)来做到这一点。
路由是数据在网络中传输的过程的标签。路由涉及在网络之间创建路径,以便可以成功传送此数据。路由器在 OSI 模型的第 3 层运行。它们通常具有交互式界面(例如网站或控制台),允许管理员配置各种规则,例如端口转发或防火墙。
当设备通过多条路径连接时,路由很有用,例如在下面的示例图中,其中采用了最佳路径:
路由器是专用设备,不执行与交换机相同的功能。
我们可以看到电脑A的网络是通过中间的两个路由器连接到电脑B的网络的。问题是:将采取什么路径?不同的协议将决定应该采取什么路径,但因素包括:
- 什么路径最短?
- 什么路径是最可靠的?
- 哪条路径有更快的介质(例如铜或光纤)?
交换机
交换机是一种专用网络设备,负责提供连接多个设备的方法。交换机可以方便许多设备(从 3 到 63 个)使用以太网电缆。
交换机可以在 OSI 模型的第 2 层和第 3 层运行。但是,从第 2 层交换机不能在第 3 层运行的意义上说,这些是排他性的。
以下图中的第 2 层交换机为例。这些交换机将使用它们的MAC地址将帧(记住这些不再是数据包,因为 IP 协议已被剥离)转发到连接的设备上。
这些交换机单独负责将帧发送到正确的设备。
现在,让我们转到第 3 层交换机。这些交换机比第 2 层更复杂,因为它们可以执行 路由器的一些 职责。也就是说,这些交换机会将帧发送到设备(如第 2 层所做的那样)并使用 IP 协议将数据包路由到其他设备。
让我们看一下下面的第 3 层交换机的示意图。我们可以看到有两个IP地址:
- 192.168.1.1
- 192.168.2.1
一种称为VLAN(虚拟局域网)的技术允许将网络中的特定设备虚拟分开。这种分离意味着他们都可以从互联网连接等方面受益,但会被分开对待。这种网络分离提供了安全性,因为它意味着适当的规则决定了特定设备如何相互通信。这种分离如下图所示:
在上图中,“销售部”和“会计部”将能够访问 Internet,但无法相互通信(尽管它们连接到同一台交换机)。