如何封装第 2 层(以添加一些信息)并通过 Internet 发送。在接收端,将使用添加的信息,然后将数据包解封装以获得原始 L2。
如何封装二层帧?
网络工程
ip
通讯协议
层2
桥接
2021-07-08 14:27:07
4个回答
听起来您需要创建自己的协议。第 2 层协议(例如以太网)具有固定的框架,不可扩展以添加信息。试图改变帧会导致 FCS 不正确,这将导致整个帧和有效载荷因损坏而被丢弃。如果框架已经达到其最大尺寸,那么如果再放大它,它就会像一个巨人一样被丢弃。此外,第 2 层帧头被路由器从第 3 层数据包中剥离,因此这些帧永远不会穿过 Internet。
第 3 层数据包也有限制。您可以将一个数据包包装在另一个数据包(隧道)中,但是您可能会超过 MTU。第3层数据包头将采用第3层协议的格式,通过添加信息来改变它会产生后果。
您可以轻松创建隧道(出于不同原因一直这样做),但数据包是根据数据包标头路由的,其中包括有效负载的长度。如果更改数据包有效负载以添加信息,则必须更改数据包头,在 IPv4 的情况下,这将需要重新计算 Header Checksum 字段中的 CRC。
对于您要执行的操作,需要考虑很多事情,这将是一个自定义协议,在这里将是题外话。此外,它会涉及编程,这在这里是题外话。
封装是通过诸如互联网协议软件套件之类的软件完成的。
看看 VXLAN 协议。它将 L2 信息封装在一个 UDP 数据包中。我不是说使用 VXLAN——您的自定义协议会有所不同,但其结构与您的想法相似。
由于您的问题相当模糊,因此您将在此处获得详细的答案。