1 多路復用/分用
如果某層的一個協議對應直接上層的多個協議/實體,則需要復用/分用。
2 分用如何工作?
- 主機接收到IP數據報(datagram)
- 每個數據報攜帶源IP地址、目的IP地址。
- 每個數據報攜帶一個傳輸層的段(Segment
)。 - 每個段攜帶源端口號和目的端口號
- 主機收到Segment之后,傳輸層協議提取IP地址和端口號信息,將Segment導向相應的Socket
- TCP做更多處理
無連接分用
-
利用端口號創建Socket
DatagramSocket mySocket1 = new DatagramSocket(99111);
DatagramSocket mySocket2 = new DatagramSocket(99222); -
UDP的Socket用二元組標識 (目的IP地址,目的端口號)
- 主機收到UDP段后
- 檢查段中的目的端口號
- 將UDP段導向綁定在該端口號的Socket
- 來自不同源IP地址和/或源端口號的IP數據包被導向同一個Socket
面向連接的分用
- TCP的Socket用四元組標識
- 源IP地址
- 源端口號
- 目的IP地址
- 目的端口號
- 接收端利用所有的四個值將Segment導向合適的Socket
- 服務器可能同時支持多個TCPSocket
- 每個Socket用自己的四元組標識
- Web服務器為每個客戶端開不同的Socket
面向連接的分用:多線程Web服務器