TCP/IP通信协议的小疑惑


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

编程 Android java tcp-ip 协议

WINKW 9 years, 9 months ago

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

Mr丶十六夜 answered 9 years, 9 months ago

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

saintud answered 9 years, 9 months ago

Your Answer