一、tcp/ip的分層模型
osi協議參考模型,它是基於國際標準化組織(
iso)的建議發展起來的,
它分為7個層次:應用層、表示層、會話層、傳輸層、網路層、資料鏈路層及物理層。
這個7層的協議模型雖然規定得非常細緻和完善,但在實際中卻得不到廣泛的應用,其重要的原因之一就在於它過於複雜。
但它仍是此後很多協議模型的基礎。與此相區別的tcp/ip協議模型將
osi的
7層協議模型簡化為
4層,從而更有利於實現和使用。
①網路介面層(network inte***ce layer)
網路介面層是tcp/ip協議軟體的最底層,負責將二進位製流轉換為資料幀,並進行資料幀的傳送和接收。資料幀是網路傳輸的基本單元。
②網路層(internet layer)
網路層負責在主機之間的通訊中選擇資料報的傳輸路徑,即路由。當網路層接收到傳輸層的請求後,傳輸某個具有目的位址資訊的分組。該層把分組封裝在ip資料報中,填入資料報的首部,使用路由演算法來確定是直接交付資料報,還是把它傳遞給路由器,然後把資料報交給適當的網路介面進行傳輸。
③傳輸層(transport layer)
傳輸層負責提**用程式之間的通訊服務。這種通訊又稱為端到端通訊。傳輸層要系統地管理資訊的流動,還要提供可靠的傳輸服務,以確保資料到達無差錯、無亂序。為了達到這個目的,傳輸層協議軟體要進行協商,讓接收方回送確認資訊及讓傳送方重發丟失的分組。傳輸層協議軟體把要傳輸的資料流劃分為分組,把每個分組連同目的位址交給網路層去傳送。)
應用層是分層模型的最高層,在這個最高層中,使用者呼叫應用程式通過tcp/ip網際網路來訪問可行的服務。與各個傳輸層協議互動的應用程式負責接收和傳送資料。每個應用程式選擇適當的傳輸服務型別,把資料按照傳輸層的格式要求封裝好向下層傳輸。
tcp/ip模型邊界特性 ip
邏輯位址與底層網路的硬體位址分開;乙個是作業系統邊界特性,它將網路應用與協議軟體分開 。
二、tcp/ip中的核心協議
1.tcp協議
tcp的上一層是應用層,
tcp向應用層提供可靠的物件導向的資料流傳輸服務,
tcp資料傳輸實現了從乙個應用程式到另乙個應用程式的資料傳遞。它能提供高可靠性通訊
(即資料無誤、資料無丟失、資料無失序、資料無重複到達的通訊。
),應用程式通過向
tcp層提交資料接傳送
/收端的位址和埠號而實現應用層的資料通訊。
通過ip的源
/目的可以惟一地區分網路中兩個裝置的連線,通過
socket的源/
目的可以惟一地區分網路中兩個應用程式的連線。
三次握手
tcp是面向連線的,所謂面向連線,就是當計算機雙方通訊時必需先建立連線,然後進行資料通訊,最後拆除連線三個過程。
tcp在建立連線時又分三步走:
第一步(a->b):主機
a向主機
b傳送乙個包含
syn即同步(
synchronize
)標誌的
tcp報文,
syn同步報文會指明客戶端使用的埠以及
tcp連線的初始序號;
第二步(b->a):主機
b在收到客戶端的
syn報文後,將返回乙個
syn+ack
的報文,表示主機
b的請求被接受,同時
tcp序號被加一,
ack即確認(
acknowledgement
)。
第三步(a->b):主機
a也返回乙個確認報文
ack給伺服器端,同樣
tcp序列號被加一,到此乙個
tcp連線完成。
2.udp協議
udp即使用者資料報協議,是一種面向無連線的不可靠傳輸協議,不需要通過
3次握手來建立乙個連線,同時,乙個
udp應用可同時作為應用的客戶或伺服器方。
由於udp協議並不需要建立乙個明確的連線,因此建立
udp應用要比建立
tcp應用簡單得多。
udp比
tcp/
伺服器模式的網路應用都使用
udp協議。
③協議選擇
協議的選擇應該考慮到資料可靠性、應用的實時性和網路的可靠性。
對資料可靠性要求高的應用需選擇tcp協議,而對資料的可靠性要求不那麼高的應用可選擇
udp傳送。
tcp協議中的
3次握手、重傳確認等手段可以保證資料傳輸的可靠性,但使用
tcp協議會有較大的時延,因此不適合對實時性要求較高的應用;而
udp協議則有很好的實時性。
網路狀況不是很好的情況下需選用tcp協議(如在廣域網等情況
),網路狀況很好的情況下選擇
udp協議可以減少網路負荷。
TCP IP理論基礎
linux中網路棧的介紹一般分為四層的internet模型。分別為應用層 傳輸層 網際層和網路介面。tcp ip實際上是乙個協同工作的通訊家族,為網路資料通訊提供通路。為方便將tcp ip協議族大致上分為三部分 1.internet協議 ip 這一部分也稱為網路層。主要包括ip icmp和arp。其...
SCM理論基礎
在乙個大型的專案中,會有很多人員,比如說專案管理者 開發人員等,人多的情況下,很可能就會在及時溝通 管理等方面出現問題,具體可以總結為 這些問題的存在,不僅會使我們的開發效率很低,做出來的產品質量也會受影響。有了scm,就很好的解決了這些問題。scmsoftwareconfiguration man...
C STL理論基礎
c stl理論基礎 開發工具與關鍵技術 c visualstudiostl standardtemplatelibrary,標準模板庫 是惠普實驗室開發的一系列軟體 的統稱。現然主要出現在 c 中,但在被引入 c 之前該技術就已經存在了很長 的一段時間。stl 的從廣義上講分為三類 algorith...