二、傳輸層
負責在使用者和伺服器兩個端點之間建立一個邏輯的傳輸,指的是Process-to-Process Delivery的資料傳輸方式,它不會管Porcess的內容,只會看Process之間是否能夠連接,伺服器電腦可能有多個不同的Process,所以會用埠號(Port Number)來做辨識。
傳輸層工作:
• 多工(Multiplexing) - 讓多個工作在一個頻道裡傳輸
• 解多工(Demultiplexing) - 當工作到達不同的Process要去做分辨
• 流量控制(Flow Control) - 控制傳送端與接收端的快慢
• 壅塞控制(Congestion Control) - 傳送後無回應時傳送端就會受到控制,以免資料丟失
• 錯誤控制 - 傳送錯誤資料時會進行偵錯
傳輸層最常用到的協定:
• TCP - Transmission Control Protocl(傳輸控制協定)
在發送端與接收端之間會建立一個可靠的連結,所以也被叫做連結式協定(Connection-oriented Protocol),先送的先到,後送的後到,為了維持可靠的連結,基本傳輸層的工作它都會做,發送端在送出封包後,會針對該封包計時﹐當下層網路延遲過久導致封包不能照預計時間送達接收端,那麼發送端會認為封包可能在傳送過程中丟失,然後會重新發送封包與計時,如果封包在逾時前被接收到,則進行下一封包的傳送,如:應用層HTTP下的傳輸層就是TCP
• UDP - User Datagram Protocol(使用者資料封包協定)
它不會建立連結,是非連結式協定(Connectionless Protocol),不保證資料一定能送達,流量控制與壅塞控制它也不做,通常是多媒體、網路管理的伺服器才會用UDP,如:傳送一個影片時,弄丟了中間幾個影像,要再傳送一次反而會使接收端延遲,變得更麻煩
參考資料
https://www.youtube.com/watch?v=o6rmx9xXj5U&list=PLdSWxzxDhd3GB6A2ApEIpgj9NWgoICmxT&index=2