混淆:发射机如何知道他的信息(物理层中的比特,数据链路层中的帧,网络层中的数据包)被正确地传送给接收者?我知道,在数据链路层,它负责通过发送确认来确保帧被成功地传输,但我只是对这三层如何相互通信来解决这个问题感到困惑。
发布于 2018-02-08 18:43:04
我知道,在数据链路层,它负责通过发送确认来确保帧被成功地传输。
这是不正确的。很少有数据链路协议可以做到这一点。传输协议通常是确认发生的地方,但并非所有传输协议都这样做。TCP有,但UDP没有。使用无连接传输协议,这取决于应用程序。
不同层中的协议并不真正了解彼此。协议头中有一些字段(例如,以太网的EtherType,或IPv4的协议),它们告诉协议它应该向哪个进程发送其协议的有效负载。
发布于 2018-02-08 19:16:33
这是不容易回答的。
应用程序可以确保自己的交付,或者依靠传输协议来处理这个问题。网络层及以下协议通常只保证完整性(通过校验和),但不保证传递--除了一些例外,比如802.11。
发布于 2018-03-25 06:18:26
如果您将查看第二层帧,您将看到有一个字段FCS(帧检查序列)。在将帧发送到另一端时,对该帧执行一种数学算法CRC(循环冗余校验),并将该数目存储在帧的FCS字段中。当在另一端接收到帧时,再次执行相同的算法。再一次,这个数学算法给出了一个数字。
然后比较所获得的两个数字(传输前和接收后)。如果两者都是相等的,那就意味着数据是安全的,并且没有发生数据损坏。但是,如果两者不相等,这就意味着数据损坏已经发生,因此,另一端会删除该框架。
https://networkengineering.stackexchange.com/questions/47822
复制相似问题