TCP/IP通信协议的小疑惑

发布于 2022-09-01 15:34:32 字数 110 浏览 15 评论 0

一般说基于TCP/IP的Socket编程是在通信的两端建立了一个虚拟链路,然后就可以通过虚拟链路进行通信。怎么理解这说的虚拟链路,为什么说是虚拟的? 既然是虚拟的为什么还能通信?又不是虚拟链路的连接么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

马蹄踏│碎落叶 2022-09-08 15:34:32

你说的虚拟链路就是一个连接 因为它不能保证每个数据包都经由同样的一条路由到达目的地 也不是一个专用的通信信道 但是 TCP协议通过一个连接 提供了数据的保障 保证数据能够准确的发送到目的地,相比之下UDP就不是一个可靠的传输方式 因为他没有事先建立连接 所以无法保证数据到达目的地

凉城凉梦凉人心 2022-09-08 15:34:32

虚拟链路的意思是TCP/IP只用管source和target的ip/port,并不用管物理上经过的是以太网这种局域网抑或是广域网,TCP也不用管数据包的路由。TCP的发起连接有握手,并且有序号和超时来保证收到的数据总能是完整的,就好像有一个连接一样,所以叫虚拟链路。

喜爱皱眉﹌ 2022-09-08 15:34:32

举个简单的例子给你,比如你在北京过年想回家,假设你在北京北站,你的目的地在昆明汽车站,ok,你出发到家的方式有多种,你可以先坐火车到美国,再坐汽车到家(开玩笑了),就是不管你中间去了哪里,只关心你从哪里出去,然后目的地在哪里,这里北京就相当于源ip,北站相当于源站绑定的port,昆明相当于目的ip,汽车站是目的port,中间的线路就是你所谓的虚拟链路。有问题随时补充~~~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文