我现在正在学习网络课程,并试图了解三种协议的使用位置。我知道他们正在努力使不可靠的链路层(IP)可靠。
它们实际上是否在任何地方实施? TCP是否实现了其中任何一个?就此而言,除了TCP和UDP之外,还有其他协议在传输层上运行吗?
我正在使用这本书计算机网络由Kurose&罗斯
非常感谢任何帮助!
答案 0 :(得分:2)
“使用三种协议的地方。我知道他们努力使不可靠的链路层(IP)可靠。”
首先,不要让RDT与GBN和SR混淆,因为GBN和SR是RDT协议。当我们谈论RDT时,它就像我们正在谈论的那样.RDT规定了可靠数据传输协议的要求,要求是重传,错误检测和确认。只要任何协议(可能是您制作并获得批准的IETF :))满足这些要求就可以被视为rdt协议。 rdt的好例子是SW(停止和等待),GBN和SR。
这回答了第一个问题,除了我不能帮助自己在问题的最后提到错误,而不是“链接层”我确定你的意思是网络层。
“它们实际上是在任何地方实现的吗?TCP是否实现了它们中的任何一个?”
同样,为了使协议可靠,只要满足rdt原则,就不必将其视为GBN或SR。例如,我们不会将TCP称为GBN协议或SR协议,而是将其自身称为..但它确实与两者共享一些,例如累积的ack(虽然方式略有不同,因为它没有ack计时器)作为GBN)并且它在其缓冲区中保持无序数据包以最终重新排序它们(与SR一样,而SR使用独立的acks)。
“就此而言,除了TCP和UDP之外,还有其他协议在传输层上运行吗?”
当然,你甚至可以像我之前提到的那样自己制作并咨询IETF;)但是TCP和UDP是最流行和最广泛使用的协议。
希望澄清它。
答案 1 :(得分:1)
是的,TCP实现了所有这些,但“选择性重复”是一个选项(RFC 2018)。
你的第二个问题有点难以回答,因为它总是会转化为语义论证。还有其他协议(OSPF和EIGRP,两个名称),它们位于IP之上并且内置了自己的传输功能。但它们并不适合OSI模型,因此您可以将它们称为传输或应用层协议取决于你的观点。