Python 套接字编程和 ISO-OSI 模型

Xin*_*nus 2 python sockets

我正在将数据包从一台电脑发送到另一台电脑。我正在使用 python 套接字socket.socket(socket.AF_INET, socket.SOCK_DGRAM )。我们需要注意接收数据包的顺序吗?在传输层下面的 ISO-OSI 模型层中处理所有数据包通信。程序中是否存在所有 ISO-OSI 层?或者其中一些存在于操作系统中?在本地主机上,我按顺序获取所有数据包。它会在互联网上有什么不同吗?

Ale*_*lli 5

SOCK_DGRAM意味着你想通过 UDP 发送数据包——没有顺序保证,没有保证接收,没有保证没有重复。SOCK_STREAM将暗示 TCP——没有数据包边界保证,但是(除非连接断开;-)保证顺序、接收和无重复。TCP/IP是赢得每个现场实践者的心和灵魂并使 Internet 成为现实网络模型,它符合 ISO/OSI——一个在起草桌上设计的标准,在现实世界中从未真正获胜。

她生活和呼吸的互联网一直是 TCP/IP。不要依赖在低延迟本地网络上进行的测试,因为它以任何方式代表现实世界中会发生的事情。欢迎来到现实世界,顺便说一句,祝你好运(你需要一些!-)。