8

所以我的问题是,是否有可能编写一个与 Internet 协议相同的协议,如果可以,我该如何开始?并且不要说“互联网协议不够好?”,是的,只是看看是否可能:P

我想知道更多关于如何,只是为了学习协议是如何完成的。我有一些编程经验,但没有网络协议之类的经验。

4

3 回答 3

5

简短的回答是肯定的——它已经完成了,并且可以再次完成。

已完成的示例包括 DECnet、NetBIOS、Appletalk 和 ATM。虽然我不确定它是否完全按照预期实现(尽管 DECNet 非常接近),但标准的 OSI 7 层网络模型最初作为实际实现的模型(即,意图是人们会实现那些层,并且您可以通过将您选择的每一层的实现插入在一起来构建一个完整的网络堆栈)。

当然,今天我们大多数人认为的 IP 实际上是 IPv4——正如您可能从版本号中猜到的那样,它有前辈(以及后继者,IPv6)。

编辑:至于你是如何做到的:几乎和其他任何事情一样。我会先写一些关于你的动机的东西——你想完成什么,它应该支持什么样的操作,等等。然后开始研究最简单的设计,你可以弄清楚它可能会做你想做的事。然后,当您使用它并遇到问题时,请弄清楚它们是否源于糟糕的实现,还是设计本身的缺陷。根据需要修改一个或两个,尽量保持其演变的连贯性和可理解性。

于 2012-05-23T19:06:14.413 回答
1

简而言之:是的,这是可能的。在更高级别(即 OSI 第 7 层)上,它每天都完成。如果你想实现下一个 IP,你只需要:

  • 特殊硬件(对于实际的物理实现,假设您的协议与 IP 有很大不同)
  • 支持您的协议的您喜欢的操作系统的设备驱动程序
  • 也许是一个高级 API 来促进实现

编辑:看到另外两个人打败了我;)

于 2012-05-23T19:06:18.413 回答
0

是否可以编写与 Internet 协议相同的协议?

是的,可以编写自己的 IP 堆栈,但是除非你是编程和网络方面的专家级别,否则要真正去做(并且实际上做对了)是非常困难的

于 2012-05-23T19:06:06.887 回答