如何使用IPv4传输大于65536字节的文件

如何使用IPv4传输大于65536字节的文件,ip,fragmentation,Ip,Fragmentation,我想知道是否有任何方法可以通过使用IPv4发送大于65536字节的文件。您使用的IP版本与您可以传输的文件大小之间没有关系。请做好准备。这取决于您所说的“文件”是什么意思。大文件每天都通过网络发送,而且它仍然像99%的IPv4,所以我想最正确的答案应该是“是”。您可能需要阅读传输协议,其中最突出的是。您不应该使用原始IP TCP/IP的实现通常被称为“堆栈”,这是有原因的。通信通常是通过将协议层层叠加来完成的。每一层都取其下一层,或者抽象出较低级别协议的某些方面,或者添加有用的功能 例如,web

我想知道是否有任何方法可以通过使用IPv4发送大于65536字节的文件。您使用的IP版本与您可以传输的文件大小之间没有关系。请做好准备。

这取决于您所说的“文件”是什么意思。大文件每天都通过网络发送,而且它仍然像99%的IPv4,所以我想最正确的答案应该是“是”。您可能需要阅读传输协议,其中最突出的是。

您不应该使用原始IP

TCP/IP的实现通常被称为“堆栈”,这是有原因的。通信通常是通过将协议层层叠加来完成的。每一层都取其下一层,或者抽象出较低级别协议的某些方面,或者添加有用的功能

例如,web服务器最终使用多个协议层:

  • 以太网、WiFi或其他此类协议,提供物理(或无线电)连接和信令规则,使机器能够相互通信
  • IP,它增加了路由和全局可用地址的概念
  • TCP,哪个
    • 添加了“端口”的概念,允许多个应用程序同时使用相同的IP地址,而无需相互干涉
    • 将IP的离散数据包抽象为全双工、任意长度的字节流;及
    • 添加对错误和丢失/重复数据的检测和更正
  • SSL和/或TLS(有时),添加半透明加密(一旦建立)
  • HTTP,它通过将其内容组织到消息(请求和响应)中来向流添加结构,这些消息可能(而且几乎总是)包含关于消息体应如何解释的元数据
  • 在API级别,您几乎总是从传输层协议开始,比如TCP、UDP,或者有时是SCTP。出于安全原因,操作系统很少允许您通过IP直接通信

    因此,为了传输文件,您需要

  • 建立与另一台机器的TCP“连接”,这台机器通常在某个已知端口上运行服务。(对于HTTP,这通常是80。)这本身就消除了IP对数据大小施加的任何限制
  • 如果另一端需要,请设置SSL或TLS。不过,你可能还不该为它们操心。它是一个可选的、非常重要的附加功能,大多数服务器都提供了一些无需它的通信方式
  • 使用另一端理解的应用层协议,以便发送存储文件(当然还有文件内容)的请求

  • 您可以使用TCP/IP传输任何大小的文件…您好,欢迎使用堆栈溢出。你指的是包吗?如果是这样的话,这个问题在国外的互联网上已经被讨论过很多次了。请看一看这些,如果这些没有回答你的问题,说你看了什么以及它如何没有回答你的问题。要了解更多信息,请查看堆栈溢出是什么。谢谢