![在 PC 上通过 FTP 发送文件,无需 IP 地址](https://linux22.com/image/754442/%E5%9C%A8%20PC%20%E4%B8%8A%E9%80%9A%E8%BF%87%20FTP%20%E5%8F%91%E9%80%81%E6%96%87%E4%BB%B6%EF%BC%8C%E6%97%A0%E9%9C%80%20IP%20%E5%9C%B0%E5%9D%80.png)
两台 PC 能否通过 FTP 相互通信,而无需使用 IP 地址(完全跳过网络层)?我知道,FTP 是客户端-服务器架构,但我想知道如果知道 LAN 网络和 MAC 地址,那么从技术上讲,两台 PC 只能通过 NIC - MAC 地址进行通信,因此两台 PC 无需 IP 地址即可通过 ftp 发送文件。我之所以问这个问题,是因为我读到网络层的存在是为了提供逻辑地址,以便于路由器确定路径,那么从理论上讲,在不需要 Internet 访问的小型 LAN 中,这些 PC 的 IP 地址似乎是不必要的。
答案1
不可以,FTP 不能在第 2 层上运行。
FTP 依赖于 TCP 提供的可靠流传输机制,而 TCP 又依赖于 IP 提供的数据包传输功能。
可以创建一个协议,使用 L2 以太网帧将数据从主机传输到主机。但是,该协议必须实现与 IP/TCP 类似的功能才能真正传输文件。
答案2
简短回答:不。
长答案:开放系统互连模型(“OSI 模型”)可帮助您了解网络基础设施。正确理解 OSI 后,所有此类问题都会迎刃而解。
基本上,OSI 定义了 7 层,下一个更高层建立在这些层之上。没有底层,下一层就无法工作。第 2 层没有第 1 层就无法运行,第 3 层没有第 2 层(需要第 1 层)就无法运行,依此类推。
FTP 作为一种应用程序(或者确切地说是应用程序协议)在第 7 层上运行。这意味着,FTP 需要第 1-6 层才能工作。虽然 IP 在第 3 层,但需要第 4 层来传输第 3 层中包含的信息。因此需要完整的堆栈(1-电缆、2-MAC、3-IP、4-TCP、5-会话以及最后的 6-FTP)。
虽然两台机器能要使用 MAC 地址相互连接,您需要一个协议来执行操作。有一些古老的协议能在第 2 层交换数据(我们都记得 NetBEUI,对吧?),但“仅限第 2 层”已被证明极其不可靠,并且实际上在任何地方都没有使用。
答案3
您可以创建一个临时网络,但您不会绕过网络层。因此,基本上您将在本地网络中使用没有互联网的 FTP。
你可以尝试用以太网电缆连接两台电脑。为两台电脑静态分配不同的 IP 地址(确保它们位于同一子网)
PC1: 192.168.1.2/24
PC2: 192.168.1.3/24
因此,如果您想在直接连接两台 PC 时在它们之间传输文件,这个答案将为您提供帮助。但您也遵循 OSI 模型。
两个以太网接口都有 MAC 地址,并且您也为网络层分配了 IP 地址,然后就可以使用 FTP 协议在它们之间传输文件。