tcp/ip 是通訊協議的統稱。如: tcp、ip、http等協議的集合
協議即是規則,比如:國家規定語言標準為普通話,那麼大家都會遵守這個標準,無論遇到什麼地區的人都可以通過普通話交流。如果沒有這個標準,就會發生每個地區都有自己的語言,各個地區語言不通,無法交流,導致閉環,當前地區只能和本地區的人進行溝通。
iso/組織制定國際標準osi(open systems interconnection),但是目前osi標準並未普及,主要原因是因為osi標準過度理想化,制定的協議不具備實用性。。
tcp/ip由iete(internet engineering task force)建議的,並且大部分提議標準在提議前就會投入使用,使得最終制定出來的協議更具備實用性。更多tcp/ip協議規範參考:
3.1.1 應用模組
應用將資料進行編碼,資料需要附帶tcp首部,首部源埠號和目標埠號、序號(告訴接收端那部分是資料)、校驗和(判斷資料是否遭到破壞)。
3.1.2 tcp模組
tcp根據應用的指示,負責建立鏈結、傳送資料、以及斷開鏈結。(為了實現這一功能應用必須新增tcp首部)
3.1.3 ip模組
ip將tcp傳過來的tcp首部和tcp資料合起來作為自己的資料,並在tco首部的前端加上自己的ip首部,首部包含了傳送方ip和接收方ip, 緊隨ip首部還有用於判斷後面的資料是tcp還是udp的資訊。
3.1.4 網路介面(乙太網驅動)處理
根據ip傳來的資料報,加上乙太網首部並進行傳送處理。乙太網首部包含了。接收方mac位址,傳送端mac位址
以及標誌乙太網型別的乙太網資料的協議。同時還會設定fcs(frame check sequence) 由硬體計算,新增到最後。主要為了防止資料被破壞的校驗碼。
資料鏈路指osi參考模型中的資料鏈路層,有時候也指乙太網、無線區域網等通訊手段。
在資料鏈結層中通過"幀"的塊,進行資料傳輸。
4.1.1 作用
mac位址主要用於識別資料鏈路中互連的節點。
4.1.2 構成
mac位址長48位元,並且在裝置出廠前就會燒錄在rom中,因此在這種情況下任何乙個網絡卡對應的mac位址都是唯一的,全世界內都不會出現重複。除特殊情況: 虛擬機器的虛擬網絡卡,因為可以自己設定或者生成mac位址無法保證mac位址的唯一性。
ip即網路協議, tcp/ip的核心就是網路層,而這一層主要由ip(internet protocol),icmp(internet control message protocol) 兩個協議組成。
路由控制保證了資料能夠傳送到最終目標位址的功能,即使網路非常複雜,也可以通過路由控制確定到達目標位址的通路。一旦路由控制出現異常,資料可能「迷失」,無法到達目標位址。因此乙個資料報之所以能夠成功到達目標位址,全靠路由控制。
5.1.1 路由控制過程
主機傳送資料報時,並不知道資料報的乙個完整傳輸路徑,而且根據區間進行詢問然後跳轉。
5.2.1 什麼是dns?
dns就是將網域名稱轉換為ip的,因為ip記憶相對困難,而電腦通訊又必須用ip,所以人類發明了網域名稱,讓我們可以記住baidu.com、taobao.com這種還算能記得住的網域名稱。然後通過dns,將這些網域名稱轉換為電腦需要的ip。
5.2.2 網域名稱級別
.代表根網域名稱
.com這種是頂級網域名稱,也叫一級網域名稱
baidu.com這種叫二級網域名稱, www.baidu.com這種叫**網域名稱,依次類推。
5.2.3 解析過程
使用者解析123.abc.qq.com.cn**,首先會檢查本地是否具有快取,有就直接返回,沒有就檢視是否有abc.qq.com.cn的dns記錄,如果有則解析,如果沒有,就檢視qq.com.cn的dns的記錄,如果有則解析,沒有就去檢視com.cn的dns,還沒有就去看有無cn的dns,如果連cn的ns記錄都沒有,才去問根。
arp主要作用是通過ip位址轉換為mac位址。
特點:通過校驗和、序列號、確認應答、重發控制、連線管理以及視窗控制等機制實現可靠性傳輸。
目的:保證使用ip資料報的可靠性傳輸
為了確保鏈結的可靠性,tcp通過序列號與確認應答機制提高可靠性
當超過一定時間尚未接收到訊息確認,則重新傳送訊息
兩者在建立鏈結時會告訴對方自己的「最大訊息長度」(mss: maximun segment size), 然後選取兩者最小的mss進行使用。
6.4.1 視窗控制與重發控制
tcp以1個段為單位,每發乙個段進行一次確認應答處理,這樣傳輸雖然保證資料能夠完整的傳送,但是包的往返時間越長通訊效能越低。
為了解決這個問題,tcp引入了視窗概念,即使在往返時間較長的情況下,它也能控制網路效能的下降。
每次傳送資料不再以段為單位,而是以更大的單位進行確認,如:傳送乙個段後不必一直等待應答,而是繼續傳送。視窗大小就是指無需等待確認應答就可以繼續傳送資料的最大值。具體確認由接收端的快取區大小進行確認。
為避免通訊剛開始就傳送大量的資料報,可能導致其他問題,如: 網路堵塞。
為了防止問題出現,tcp採用的是一種慢啟動的演算法,對傳送資料量進行控制。
在慢啟動的時候,將這個擁塞視窗的大小設定為1個資料段(1mss)傳送資料, 之後每收到一次確認應答( ack),擁塞視窗的值就加1。在傳送資料報時,將擁塞視窗的大小與接收端主機通知的視窗大小做比較,然後按照它們當中較小那個值,傳送比其還要小的資料量。如果重發採用超時機制,那麼擁塞視窗的初始值可以設定為1以後再進行慢啟動修正。有了上述這些機制,就可以有效地減少通訊開始時連續發包導致的網路擁堵,還可以避免網路擁塞情況的發生。
TCP IP協議與HTTP協議 詳細介紹(一)
1 什麼是tcp ip 如果要了解乙個人,可以從他歸屬的集體聊起來。我們的http協議就屬於tcp ip協議家族中的一員,了解http協議再整個網路流程中的地位,也能更加充分的理解http協議。tcp ip協議是乙個協議集合。大家叫的時候方便說,所以統稱為tcp ip。tcp ip協議族中有乙個重要...
TCP IP協議(一) TCP IP模型介紹
兩個裝置之間如何傳送資料?1.找到對方的ip。2.將資料傳送到對方指定的應用程式上,為了標識這些程式,給這些網路應用程式設定了數字標識,將這些數字標識叫做埠號,稱作邏輯埠。3.定義通訊規則,這些規則稱為協議,通用協議有tcp協議和udp協議。osi參考模型和tcp ip參考模型 tcp ip模型四層...
TCP IP協議簡單介紹
tcp ip 是用於網際網路 internet 的通訊協議。是基於 tcp 和 ip 這兩個最初的協議之上的不同的通訊協議的大的集合 即協議簇 tcp 用於從應用程式到網路的資料傳輸控制。tcp 負責在資料傳送之前將它們分割為 ip 包,然後在它們到達的時候將它們重組。udp用於從應用程式間的簡單通...