ip和tcp在互聯(lián)網(wǎng)中有什么用,如何應用?
互聯(lián)網(wǎng)協(xié)議,一個網(wǎng)絡通信模型,以及一整個網(wǎng)絡傳輸協(xié)議家族,為互聯(lián)網(wǎng)的基礎通信架構。它常被通稱為TCP/IP協(xié)議族,簡稱TCP/IP。由于在網(wǎng)絡通訊協(xié)議中采用分層的結構,當多個層次的協(xié)議共同工作時,如同計算機科學中的堆棧,因此又被稱為TCP/IP協(xié)議棧 。這些協(xié)議最早發(fā)源于美國國防部的ARPA網(wǎng)項目,因此也被稱作DoD模型??煲黄饋砹私庖幌耰p和tcp在互聯(lián)網(wǎng)中有什么用吧!
本文目錄
1、ip和tcp在互聯(lián)網(wǎng)中有什么用?
2、tcp/ip參考模型分為哪幾層?
3、tcp/ip協(xié)議屬于哪一層?
ip和tcp在互聯(lián)網(wǎng)中有什么用?
互聯(lián)網(wǎng)協(xié)議中,ip是指網(wǎng)際互連協(xié)議(Internet Protocol),tcp是指傳輸控制協(xié)議(Transmission Control Protocol)。
1、ip協(xié)議
IP是Internet Protocol(網(wǎng)際互連協(xié)議)的縮寫,是TCP/IP體系中的網(wǎng)絡層協(xié)議。設計IP的目的是提高網(wǎng)絡的可擴展性:一是解決互聯(lián)網(wǎng)問題,實現(xiàn)大規(guī)模、異構網(wǎng)絡的互聯(lián)互通;二是分割頂層網(wǎng)絡應用和底層網(wǎng)絡技術之間的耦合關系,以利于兩者的獨立發(fā)展。根據(jù)端到端的設計原則,IP只為主機提供一種無連接、不可靠的、盡力而為的數(shù)據(jù)包傳輸服務。
IP是整個TCP/IP協(xié)議族的核心,也是構成互聯(lián)網(wǎng)的基礎。IP位于TCP/IP模型的網(wǎng)絡層(相當于OSI模型的網(wǎng)絡層),對上可載送傳輸層各種協(xié)議的信息,例如TCP、UDP等;對下可將IP信息包放到鏈路層,通過以太網(wǎng)、令牌環(huán)網(wǎng)絡等各種技術來傳送。
為了能適應異構網(wǎng)絡,IP強調(diào)適應性、簡潔性和可操作性,并在可靠性做了一定的犧牲。IP不保證分組的交付時限和可靠性,所傳送分組有可能出現(xiàn)丟失、重復、延遲或亂序等問題。
2、tcp協(xié)議
傳輸控制協(xié)議(TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793定義。
TCP旨在適應支持多網(wǎng)絡應用的分層協(xié)議層次結構。 連接到不同但互連的計算機通信網(wǎng)絡的主計算機中的成對進程之間依靠TCP提供可靠的通信服務。TCP假設它可以從較低級別的協(xié)議獲得簡單的,可能不可靠的數(shù)據(jù)報服務。 原則上,TCP應該能夠在從硬線連接到分組交換或電路交換網(wǎng)絡的各種通信系統(tǒng)之上操作。
tcp/ip參考模型分為哪幾層?
TCP/IP協(xié)議族是一個四層協(xié)議系統(tǒng),自底而上分別是數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層和應用層。每一層完成不同的功能,且通過若干協(xié)議來實現(xiàn),上層協(xié)議使用下層協(xié)議提供的服務。
1、數(shù)據(jù)鏈路層(網(wǎng)絡接口層)
數(shù)據(jù)鏈路層實現(xiàn)了網(wǎng)卡接口的網(wǎng)絡驅(qū)動程序,以處理數(shù)據(jù)在物理媒介(比如以太網(wǎng)、令牌環(huán)等)上的傳輸。
數(shù)據(jù)鏈路層兩個常用的協(xié)議是ARP協(xié)議(Address Resolve Protocol,地址解析協(xié)議)和RARP協(xié)議(ReverseAddress Resolve Protocol,逆地址解析協(xié)議)。它們實現(xiàn)了IP地址和機器物理地址(通常是MAC地址,以太網(wǎng)、令牌環(huán)和802.11無線網(wǎng)絡都使用MAC地址)之間的相互轉換。
網(wǎng)絡層使用IP地址尋址一臺機器,而數(shù)據(jù)鏈路層使用物理地址尋址一臺機器,因此網(wǎng)絡層必須先將目標機器的IP地址轉化成其物理地址,才能使用數(shù)據(jù)鏈路層提供的服務,這就是ARP協(xié)議的用途。
RARP協(xié)議僅用于網(wǎng)絡上的某些無盤工作站。因為缺乏存儲設備,無盤工作站無法記住自己的IP地址,但它們可以利用網(wǎng)卡上的物理地址來向網(wǎng)
絡管理者(服務器或網(wǎng)絡管理軟件)查詢自身的IP地址。運行RARP服務的網(wǎng)絡管理者通常存有該網(wǎng)絡上所有機器的物理地址到IP地址的映射。
2、網(wǎng)絡層
網(wǎng)絡層實現(xiàn)數(shù)據(jù)包的選路和轉發(fā)。
WAN(Wide Area Network,廣域網(wǎng))通常使用眾多分級的路由器來連接分散的主機或LAN(Local Area Network,局域網(wǎng)),因此,通信的兩臺主機一般不是直接相連的,而是通過多個中間節(jié)點(路由器)連接的。網(wǎng)絡層的任務就是選擇這些中間節(jié)點,以確定兩臺主機之間的通信路徑。同時,網(wǎng)絡層對上層協(xié)議隱藏了網(wǎng)絡拓撲連接的細節(jié),使得在傳輸層和網(wǎng)絡應用程序看來,通信的雙方是直接相連的。
網(wǎng)絡層最核心的協(xié)議是IP協(xié)議(Internet Protocol,因特網(wǎng)協(xié)議)。IP協(xié)議根據(jù)數(shù)據(jù)包的目的IP地址來決定如何投遞它。如果數(shù)據(jù)包不能直接發(fā)送給目標主機,那么IP協(xié)議就為它尋找一個合適的下一跳(next hop)路由器,并將數(shù)據(jù)包交付給該路由器來轉發(fā)。多次重復這一過程,數(shù)據(jù)包最終到達目標主機,或者由于發(fā)送失敗而被丟棄??梢?,IP協(xié)議使用逐跳(hop by hop)的方式確定通信路徑。
網(wǎng)絡層另外一個重要的協(xié)議是ICMP協(xié)議(Internet Control Message Protocol,因特網(wǎng)控制報文協(xié)議)。它是IP協(xié)議的重要補充,主要用于檢測網(wǎng)絡連接。
3、傳輸層
傳輸層為兩臺主機上的應用程序提供端到端(end to end)的通信。與網(wǎng)絡層使用的逐跳通信方式不同,傳輸層只關心通信的起始端和目的端,而不在乎數(shù)據(jù)包的中轉過程。
垂直的實線箭頭表示TCP/IP協(xié)議族各層之間的實體通信(數(shù)據(jù)包確實是沿著這些線路傳遞的),而水平的虛線箭頭表示邏輯通信線路。該圖中還附帶描述了不同物理網(wǎng)絡的連接方法。可見,
數(shù)據(jù)鏈路層(驅(qū)動程序)封裝了物理網(wǎng)絡的電氣細節(jié);網(wǎng)絡層封裝了網(wǎng)絡連接的細節(jié);傳輸層則為應用程序封裝了一條端到端的邏輯通信鏈路,它負責數(shù)據(jù)的收發(fā)、鏈路的超時重連等。
傳輸層協(xié)議:TCP協(xié)議、UDP協(xié)議。
TCP協(xié)議(Transmission Control Protocol,傳輸控制協(xié)議)為應用層提供可靠的、面向連接的和基于流(stream)的服務。TCP協(xié)議使用超時重傳、數(shù)據(jù)確認等方式來確保數(shù)據(jù)包被正確地發(fā)送至目的端,因此TCP服務是可靠的。使用TCP協(xié)議通信的雙方必須先建立TCP連接,并在內(nèi)核中為該連接維持一些必要的數(shù)據(jù)結構,比如連接的狀態(tài)、讀寫緩沖區(qū),以及諸多定時器等。當通信結束時,雙方必須關閉連接以釋放這些內(nèi)核數(shù)據(jù)。TCP服務是基于流的?;诹鞯臄?shù)據(jù)沒有邊界(長度)限制,它源源不斷地從通信的一端流入另一端。發(fā)送端可以逐個字節(jié)地向數(shù)據(jù)流中寫入數(shù)據(jù),接收端也可以逐個字節(jié)地將它們讀出。
UDP協(xié)議(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)則與TCP協(xié)議完全相反,它為應用層提供不可靠、無連接和基于數(shù)據(jù)報的服務。“不可靠”意味著UDP協(xié)議無法保證數(shù)據(jù)從發(fā)送端正確地傳送到目的端。如果數(shù)據(jù)在中途丟失,或者目的端通過數(shù)據(jù)校驗發(fā)現(xiàn)數(shù)據(jù)錯誤而將其丟棄,則UDP協(xié)議只是單地通知應用程序發(fā)送失敗。因此,使用UDP協(xié)議的應用程序通常要自己處理數(shù)據(jù)確認、超時重傳等邏輯。UDP協(xié)議是無連接的,即通信雙方不保持一個長久的聯(lián)系,因此應用程序每次發(fā)送數(shù)據(jù)都要明確指定接收端的地址(IP地址等信息)?;跀?shù)據(jù)報的服務,是相對基于流的服務而言的。每個UDP數(shù)據(jù)報都有一個長度,接收端必須以該長度為最小單位將其所有內(nèi)容一次性讀出,否則數(shù)據(jù)將被截斷。
4、應用層
應用層負責處理應用程序的邏輯。
數(shù)據(jù)鏈路層、網(wǎng)絡層和傳輸層負責處理網(wǎng)絡通信細節(jié),這部分必須既穩(wěn)定又高效,因此它們都在內(nèi)核空間中實現(xiàn)。而應用層則在用戶空間實現(xiàn),因為它負責處理眾多邏輯,比如文件傳輸、名稱查詢和網(wǎng)絡管理等。如果應用層也在內(nèi)核中實現(xiàn),則會使內(nèi)核變得非常龐大。當然,也有少數(shù)服務器程序是在內(nèi)核中實現(xiàn)的,這樣代碼就無須在用戶空間和內(nèi)核空間來回切換(主要是數(shù)據(jù)的復制),極大地提高了工作效率。不過這種代碼實現(xiàn)起來較復雜,不夠靈活,且不便于移植。
ping是應用程序,而不是協(xié)議,前面說過它利用ICMP報文檢測網(wǎng)絡連接,是調(diào)試網(wǎng)絡環(huán)境的必備工具。
telnet協(xié)議是一種遠程登錄協(xié)議,它使我們能在本地完成遠程任務。
OSPF(Open Shortest Path First,開放最短路徑優(yōu)先)協(xié)議是一種動態(tài)路由更新協(xié)議,用于路由器之間的通信,以告知對方各自的路由信息。
DNS(Domain Name Service,域名服務)協(xié)議提供機器域名到IP地址的轉換。
應用層協(xié)議(或程序)可能跳過傳輸層直接使用網(wǎng)絡層提供的服務,比如ping程序和OSPF協(xié)議。應用層協(xié)議(或程序)通常既可以使用TCP服務,又可以使用UDP服務,比如DNS協(xié)議。我們可以通過/etc/services文件查看所有知名的應用層協(xié)議,以及它們都能使用哪些傳輸層服務。
tcp/ip協(xié)議屬于哪一層?
tcpip協(xié)議屬于第三層,即網(wǎng)際層;IP的責任就是把數(shù)據(jù)從源傳送到目的地,它不負責保證傳送可靠性,流控制,包順序和其它對于主機到主機協(xié)議來說很普通的服務。
IP協(xié)議就是網(wǎng)際協(xié)議,工作在第三層,即網(wǎng)際層。
IP不提供可靠的傳輸服務,它不提供端到端的或(路由)結點到(路由)結點的確認,對數(shù)據(jù)沒有差錯控制,它只使用報頭的校驗碼,它不提供重發(fā)和流量控制。如果出錯可以通過ICMP報告,ICMP在IP模塊中實現(xiàn)。
IP的責任就是把數(shù)據(jù)從源傳送到目的地。它不負責保證傳送可靠性,流控制,包順序和其它對于主機到主機協(xié)議來說很普通的服務。
TCP/IP協(xié)議并不完全符合OSI的七層參考模型,OSI(Open System Interconnect)是傳統(tǒng)的開放式系統(tǒng)互連參考模型,是一種通信協(xié)議的7層抽象的參考模型,其中每一層執(zhí)行某一特定任務。該模型的目的是使各種硬件在相同的層次上相互通信。
總結:TCP/IP是一組用于實現(xiàn)網(wǎng)絡互連的通信協(xié)議。Internet網(wǎng)絡體系結構以TCP/IP為核心?;赥CP/IP的參考模型將協(xié)議分成四個層次,它們分別是:網(wǎng)絡訪問層、網(wǎng)際互聯(lián)層(主機到主機)、傳輸層、和應用層。