分别从UDP和TCP这两个协议的同一视角:目标IP视角来看,问题就很清晰了。
无连接传输 UDP #
- User Datagram Protocol 用户数据报协议
下图中,从==目标视角==来看,对于不同源IP和port但是相同目标IP和port的进程,他们在传输到目标时,向上走到是同一个socket。
- 反过来,从==源视角==来看是很自然的,相同源IP和port的进程从同一个socket向下出发。
- transport上面的黄色框表示一个socket
TCP #
和上面的UDP图有明显的不同: 还是同样从==目标视角==来看,对于不同源IP和port但是相同目标IP和port的进程,他们在传输到目标时,向上走到是不同socket,这就是TCP和UDP最本质的区别。
但是为什么会有这个区别呢?
本质原因在于连接,TCP在传输层的socket是四元组,而四元组相比二元组最大的区别就是产生了连接。
- 从这两个小节的两次“目标视角”的区别就可以很直观的理解这句话了。
参考 #
- 中科大计网ppt
- 3.2 多路复用和解复用_哔哩哔哩_bilibili