TCP/IP網路協議

TTMMJJ99發表於2017-11-10
網路協議即網路中(包括網際網路)傳遞、管理資訊的一些規範。如同人與人之間相互交流是需要遵循一定的規矩一樣,計算機之間的相互通訊需要共同遵守一定的規則,這些規則就稱為網路協議
TCP/IP協議是網路的基礎,是Internet的語言,可以說沒有TCP/IP協議就沒有網際網路的今天。
中文名
TCP/IP網路協議
外文名
transmission Control Protocol/Internet Protocol
範    圍
網路中傳遞、管理資訊
含    義
Internet的語言
作    用
共同遵守一定的規則

定義

編輯
TCP/IP是“transmission Control Protocol/Internet Protocol”的簡寫,中文譯名為傳輸控制協議/網際網路絡協議, TCP/IP(傳輸控制協議/網間協議)是一種網路通訊協議,它規範了網路上的所有通訊裝置,尤其是一個主機與另一個主機之間的資料往來格式以及傳送方式。TCP/IP是INTERNET的基礎協議,也是一種電腦資料打包和定址的標準方法。在資料傳送中,可以形象地理解為有兩個信封,TCP和IP就像是信封,要傳遞的資訊被劃分成若干段,每一段塞入一個TCP信封,並在該信封面上記錄有分段號的資訊,再將TCP信封塞入IP大信封,傳送上網。在接受端,一個TCP軟體包收集信封,抽出資料,按傳送前的順序還原,並加以校驗,若發現差錯,TCP將會要求重發。因此,TCP/IP在INTERNET中幾乎可以無差錯地傳送資料。 對普通使用者來說,並不需要了解網路協議的整個結構,僅需瞭解IP的地址格式,即可與世界各地進行網路通訊

簡介

編輯
每一層負責不同的功能:
1) 鏈路層,有時也稱作資料鏈路層網路介面層,通常包括作業系統中的裝置驅動程式和計算機中對應的網路介面卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理介面細節。
2) 網路層,有時也稱作網際網路層,處理分組在網路中的活動,例如分組的選路。在TCP/IP協議族中,網路層協議包括IP協議(網際協議),ICMP協議(internet網際網路控制報文協議),以及IGMP協議(internet組治理協議)。
3 ) 傳輸層,主要為兩臺主機上的應用程式提供端到端的通訊。在TCP/IP協議族中,有兩個互不相同的傳輸協議: TCP(傳輸控制協議)和UDP(使用者資料包文協議)。
TCP為兩臺主機提供高可靠性的資料通訊。它所做的工作包括把應用程式交給它的資料分成合適的小塊交給下面的網路層,確認接收到的分組,設定傳送最後確認分組的超時時鐘等。由於運輸層提供了高可靠性的端到端的通訊,因此應用層可以忽略所有這些細節。
而另一方面, UDP則為應用層提供一種非常簡單的服務。它只是把稱作資料包的分組從一臺主機傳送到另一臺主機,但並不保證該資料包能到達另一端。任何必需的可靠性必須由應用層來提供。
這兩種傳輸層協議分別在不同的應用程式中有不同的用途,這一點將在後面看到。
4 ) 應用層負責處理特定的應用程式細節。幾乎各種不同的TCP/IP實現都會提供下面這些通用的應用程式:
4.1 Telnet 遠端登入
4.3 SMTP 簡單郵件傳送協議。
4.4 SNMP 簡單網路治理協議。
另外還有許多其他應用,在後面章節中將介紹其中的一部分。
假設在一個區域網( LAN)如乙太網中有兩臺主機,二者都執行FTP協議,圖1 - 2列出了該過程所涉及到的所有協議。
(點選檢視原圖)
這裡,我們列舉了一個FTP客戶程式和另一個FTP伺服器程式。大多數的網路應用程式都被設計成客戶—伺服器模式。伺服器為客戶提供某種服務,在本例中就是訪問伺服器所在主機上的檔案。在遠端登入應用程式Telnet中,為客戶提供的服務是登入到伺服器主機上。
在同一層上,雙方都有對應的一個或多個協議進行通訊。例如,某個協議答應TCP層進行通訊,而另一個協議則答應兩個IP層進行通訊。
在圖1 - 2的右邊,我們注重到應用程式通常是一個使用者程式,而下三層則一般在(作業系統)核心中執行。儘管這不是必需的,但通常都是這樣處理的,例如U N I X作業系統。
在圖1 - 2中,頂層與下三層之間還有另一個要害的不同之處。應用層關心的是應用程式的細節,而不是資料在網路中的傳輸活動。下三層對應用程式一無所知,但它們要處理所有的通訊細節。
在圖1 - 2中列舉了四種不同層次上的協議。FTP是一種應用層協議, TCP是一種運輸層協議,IP是一種網路層協議,而乙太網協議則應用於鏈路層上。TCP/IP協議族是一組不同的協議組合在一起構成的協議族。儘管通常稱該協議族為TCP/IP,但TCP和IP只是其中的兩種協議而已(該協議族的另一個名字是internet協議族(Internet PRotocol Suite))。
網路介面層和應用層的目的是很顯然的—前者處理有關通訊媒介的細節(乙太網令牌環網等),而後者處理某個特定的使用者應用程式( FTP、Telnet等)。但是,從表面上看,網路層和運輸層之間的區別不那麼明顯。為什麼要把它們劃分成兩個不同的層次呢?為了理解這一點,我們必須把視野從單個網路擴充套件到一組網路。
在8 0年代,網路不斷增長的原因之一是大家都意識到只有一臺孤立的計算機構成的“孤島”沒有太大意義,於是就把這些孤立的系統組在一起形成網路。隨著這樣的發展,到了9 0年代,我們又逐漸熟悉到這種由單個網路構成的新的更大的“島嶼”同樣沒有太大的意義。於是,人們又把多個網路連在一起形成一個網路的網路,或稱作互連網( internet )。一個互連網就是一組通過相同協議族互連在一起的網路。
構造互連網最簡單的方法是把兩個或多個網路通過路由器進行連線。它是一種非凡的用於網路互連的硬體盒。路由器的好處是為不同型別的物理網路提供連線:乙太網令牌環網、點對點的連結和FDDI(光纖分散式資料介面)等等。
這些盒子也稱作IP路由器(IP Router),但我們這裡使用路由器( Router )這個術語。從歷史上說,這些盒子稱作閘道器(gateway),在很多TCP/IP文獻中都使用這個術語。現在閘道器這個術語只用來表示應用層閘道器:一個連線兩種不同協議族的程式(例如,TCP/IP和IBM的SNA),它為某個特定的應用程式服務(經常是電子郵件或檔案傳輸)。
圖1 - 3是一個包含兩個網路的互連網:一個乙太網和一個令牌環網,通過一個路由器互相連線。儘管這裡是兩臺主機通過路由器進行通訊,實際上乙太網中的任何主機都可以與令牌環網中的任何主機進行通訊。
在圖1 - 3中,我們可以劃分出端系統( End system )(兩邊的兩臺主機)和中間系統(Intermediate system)(中間的路由器)。應用層運輸層使用端到端(End-to-end)協議。在圖中,只有端系統需要這兩層協議。但是,網路層提供的卻是逐跳(Hop-by-hop)協議,兩個端系統和每個中間系統都要使用它。
在TCP/IP協議族中,網路層IP提供的是一種不可靠的服務。也就是說,它只是儘可能快地把分組從源結點送到目的結點,但是並不提供任何可靠性保證。而另一方面, TCP在不可靠的IP層上提供了一個可靠的運輸層。為了提供這種可靠的服務, TCP採用了超時重傳、傳送和接收端到端的確認分組等機制。由此可見,運輸層和網路層分別負責不同的功能。
從定義上看,一個路由器具有兩個或多個網路介面層(因為它連線了兩個或多個網路)。任何具有多個介面的系統,英文都稱作是多介面的( multihomed )。一個主機也可以有多個介面,但一般不稱作路由器, 除非它的功能只是單純地把分組從一個介面傳送到另一個介面。同樣,路由器並不一定指那種在網際網路中用來轉發分組的非凡硬體盒。大多數的TCP/IP實現也答應一個多介面主機來擔當路由器的功能,但是主機為此必須進行非凡的配置。在這種情況下,我們既可以稱該系統為主機(當它執行某一應用程式時,如FTP或Telnet),也可以稱之為路由器(當它把分組從一個網路轉發到另一個網路時)。在不同的場合下使用不同的術語。
網際網路的目的之一是在應用程式中隱藏所有的物理細節。雖然這一點在圖1 - 3由兩個網路組成的網際網路中並不很明顯,但是應用層不能關心(也不關心)一臺主機是在乙太網上,而另一臺主機是在令牌環網上,它們通過路由器進行互連。隨著增加不同型別的物理網路,可能會有2 0個路由器,但應用層仍然是一樣的。物理細節的隱藏使得網際網路功能非常強大,也非常有用。
連線網路的另一個途徑是使用網橋。網橋是在鏈路層上對網路進行互連,而路由器則是在網路層上對網路進行互連。網橋使得多個區域網(LAN)組合在一起,這樣對上層來說就似乎是一個區域網。
TCP/IP傾向於使用路由器而不是網橋來連線網路,因此我們將著重介紹路由器。文獻[Perlman 1992]的第1 2章對路由器和網橋進行了比較

相關文章