我读过一些关于互联网协议的知识,并推断在局域网中,没有必要使用IP协议,尽管它通常被使用。
是否可以在 Linux 中关闭 IP 协议并仅使用 MAC(以太网)地址进行帧传输?你会怎么做?
我估计会有问题TCP
。我不确定它是否可以在LLC layer
.
IP 协议开销是如此之小以至于它也被用在 LAN(带有集线器)上?
答案1
答案2
理论上是可行的,但实际上现在许多 UNIX 程序和守护进程都期望至少有一个基本功能的 IP 堆栈。开销可以忽略不计,当然不值得您花费时间和麻烦,您需要耐心地向一个又一个软件解释它甚至不应该费心寻找 127.0.0.1...
答案3
理论上,您可以直接在没有 IP 标头的以太网帧中发送 TCP 数据包,但这实际上是不可能的,因为使用 TCP 的应用程序期望处理 IP 地址,而不是以太网 MAC 地址。 IP 标头仅为每个数据包添加约 20 字节的开销,不到 1500 字节以太网数据包的 2%,因此可以忽略不计。
答案4
这是可能的。
IIRC,您需要合适的套接字和权限/功能。您需要处理底层媒体(MAC)地址并制作自己的帧等。这与我们对许多嵌入式系统所做的没有太大不同。看数据包(7)。
您将无法以极低的价格获得 IP 所提供的好处,例如名称解析、路由、可靠的流等。
正如其他答案所说,您可能不会有太多的应用程序支持。