在計算機網路中,用的最多的就數tcp和udp。兩者的作用都是供網路進行傳輸的協議,而兩者在原理上又有所不同。簡而言之,tcp是面向連線的資料流傳輸,而udp是非面向連線的、不可靠的傳輸方式。
物理層 : 中繼器、集線器所在層。通過媒介傳輸bit資料,確定電氣、機械等規範。
資料鏈路層 : 網橋、交換機所在層。將bit組裝成一幀幀,實現點到點的傳遞。
網路層 : 即路由器所在層,主要協議有ip、arp、rarp等。將資料報在網路間傳輸。
傳輸層 : tcp協議、udp協議所在層。提供端到端的可靠報文傳遞和錯誤恢復。
會話層 : nfs、rpc。建立、管理、終止會話。
表示層 : asii、jpeg。對資料進行翻譯、加密、壓縮。
應用層 : ftp、dns、http、smtp,我們常見的協議都在應用層。通過osi模型,最後實現不同應用的手段。
tcp傳輸單位稱為tcp報文段。相比udp,tcp更加注重資料的安全性、可靠性,tcp保證了在傳輸過程中的不錯、不亂、不丟。雖然tcp可靠,但是在資料傳遞時的確認機制、重傳機制、擁塞控制卻要花費更多的時間以及資源。並且tcp的三次握手、四次揮手機制容易被人利用,進而實現網路攻擊。
tcp對應的協議:
1.檔案傳輸協議ftp,使用了21埠。
2.郵件傳輸協議smtp,實現郵件的 收發,使用了25埠。
3.超文字傳輸協議,也就是我們上網經常使用到的協議。預設為80埠。
tcp協議具備擁塞控制機制,這個機制是為了防止過多的資料載入當前的網路中,因為過多的資料會使網路中的路由器、鏈路過載。常用的解決辦法有慢開始、擁塞控制、快重傳、快恢復。
udp對應的協議:
1.dns,用於網域名稱解析,將網域名稱解析成ip位址,使用的是53埠。
2.簡單文字傳輸協議tftp,該協議在69埠上使用udp服務。
tcp:當對網路的通訊有質量要求時,首選tcp,這樣可以將這個資料無誤地傳輸給對方。比方檔案傳輸、瀏覽器的使用。
在傳輸時,tcp通過序列號、校驗和、確認應答訊號、重發控制、視窗控制、流量控制、擁塞控制等方式實現可靠性。
校驗和:tcp保持首部和資料的校驗和,如果接收端的校驗和和傳送端的不同,tcp則會丟棄這個報文。
流量控制:在tcp連線中,會有一段固定大小的緩衝段,這意味著只允許傳送端傳送接收端能夠接收的資料量。此外,當接收的一方來不及處理傳送端傳輸過來的資料,則會提示傳送端降低速率,防止包丟失。
擁塞控制:當網路傳送堵塞時,則會減少資料的傳送。
超時重傳:當tcp傳送出乙個報文後,會啟動乙個定時器,等待接收端確認收到這個報文。若超過規定時間沒有收到應答,則會重新傳送一次。
第一次握手,客戶端傳送包到伺服器,並等待伺服器確認,並進入準備傳送狀態。
第二次握手,伺服器收到客戶端發來的包,同時返回乙個應答包給客戶端,並進入準備接收狀態。
第三次握手,客戶端收到來自伺服器的應答包後,傳送自己的乙個應答包,此包傳送完畢後開始建立傳輸,完成三次握手。
第一次揮手,主動關閉的那一方首先傳送乙個fin,用來關閉主動方到被動方的資料傳輸。
第二次揮手 ,被動關閉方收到fin後,會傳送乙個應答回去,表明已經收到關閉請求。但是被動方需要傳輸完資料才能夠結束連線。
第三次揮手,被動關閉的那一端傳送fin給主動方,告訴對方這邊也已經傳送完資料了。
第四次揮手,主動方收到來自被動方的fin後,傳送應答給被動方,確認已經收到。傳送完畢後則結束連線。
三次握手的機制是為了防止已經失效的連線請求,突然又傳送給伺服器。
比方說某個網路節點發生滯留,導致請求延遲到本次連線釋放後才傳輸到另一端。假設a傳送給b連線請求,但是因為網路延遲,b暫時沒有收到;此時a又傳送請求,b收到後兩者建立連線,正常傳輸資料。
隨後b又收到了之前因為前段時間網路滯留沒有接收到的請求,此時b表明同意建立連線。但是這個時候,這個請求對a來說已經過時,即a不會傳送資料給b,但是b卻會一直等待a傳輸資料。造成資源上的浪費
以上內容如有錯誤,歡迎指出。謝謝!
計算機網路 傳輸層
為什麼要劃分傳輸層?既然網路層已經能把源主機上發出的資料傳送給目的主機,那麼為什麼還需要加上乙個傳輸層呢?這就需要我們理解主機使用者應用層通訊的主體,位於兩台網路主機中真正的資料通訊主體並不是這兩台主機,而是兩台主機中的各種網路應用程序.同一時間一台主機上可能有多個程序同時執行,這時候就需要為應用程...
計算機網路(傳輸層)
網路層提供了主機之間的邏輯通訊,運輸層為運輸在不同主機上的程序之間提供了邏輯通訊。運輸層協議是在端系統中而不是在路由器中實現的。運輸協議能夠提供的服務常常受制於底層網路層協議的服務模型。底層無法提供時延或頻寬保證,運輸層協議也無法提供。但是即使底層網路協議不可靠,運輸協議也可以提供可靠的資料傳輸服務...
計算機網路 傳輸層
運輸層最重要的兩種協議 tcp協議,udp協議 真正的通訊 兩個主機之間應用程序的通訊 運輸層的重要功能 1 復用 傳送方的不同應用程序使用同乙個運輸層協議傳輸資料 應用層 運輸層 2 分用 接收方的運輸層在剝去報文首部後把資料真正交付到目的應用程序 運輸層 應用層 網路層和運輸層的區別 網路層說明...