29.TCP/IP協(xié)議的理解
TCP/IP(Transmission Control Protocol/Internet Protocol的簡寫),中文譯名為傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議,又叫網(wǎng)絡通訊協(xié)議。這個協(xié)議是Internet最基本的協(xié)議,也是Internet的基礎。簡單地說,它的名字是由網(wǎng)絡層的IP協(xié)議和傳輸層的TCP協(xié)議組成的。但是確切地說,TCP/IP協(xié)議是一組包括TCP協(xié)議和IP協(xié)議,UDP(User Datagram Protocol)協(xié)議、ICMP(Internet Control Message Protocol)協(xié)議和其他一些協(xié)議的協(xié)議組。
TCP/IP定義了電子設備(如計算機)如何連入因特網(wǎng),以及數(shù)據(jù)如何在它們之間傳輸?shù)臉藴?。它是互?lián)網(wǎng)中的基本通信語言或協(xié)議,在私網(wǎng)中,它也被用作通信協(xié)議。當用戶直接網(wǎng)絡連接時,計算機應提供一個TCP/IP程序的標準實現(xiàn),而且接收所發(fā)送的信息的計算機也應有一個TCP/IP程序的標準實現(xiàn)。
TCP/IP協(xié)議并不完全符合OSI標準定制的七層參考模型,它采用了四層的層級結構,每一層都呼叫它的下一層所提供的網(wǎng)絡來完成自己的需求。這四層分別為以下幾個方面:
- 應用層:應用程序間溝通的層,如萬維網(wǎng)(WWW)、簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡遠程訪問協(xié)議(Telnet)等。
- 傳輸層:在此層中,它提供了節(jié)點間的數(shù)據(jù)傳送,應用程序之間的通信服務,主要功能是數(shù)據(jù)格式化、數(shù)據(jù)確認和丟失重傳等。主要協(xié)議包括TCP和UDP。
- 網(wǎng)際層IP:負責提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達目的主機,但不檢查是否被正確接收,主要體現(xiàn)為IP協(xié)議。
- 網(wǎng)絡接口層:接收IP數(shù)據(jù)報并進行傳輸,從網(wǎng)絡上接收物理幀,抽取IP數(shù)據(jù)報轉(zhuǎn)交給下一層,對實際的網(wǎng)絡媒體的管理,定義如何使用物理網(wǎng)絡,如以太網(wǎng)。
對于網(wǎng)絡開發(fā)者來說,關心最多的應該是最高的應用層,也就是開發(fā)出能給用戶直接使用的網(wǎng)絡應用程序。開發(fā)者使用傳輸層所提供的接口進行開發(fā),常見的兩種通信模型為TCP和UDP。
對于Java開發(fā)者來說,JDK已經(jīng)提供了充分的開發(fā)接口,java.net包下的接口和類就是網(wǎng)絡編程人員經(jīng)常會光顧的地方。Java關于網(wǎng)絡開發(fā)的API的設計依然是遵循TCP/IP協(xié)議的基本思想。常用的接口和類包括:ServerSocket、Socket、URL等。
30.TCP協(xié)議的通信特點是什么
TCP協(xié)議主要擁有如下的通信特點:
- 面向連接的傳輸
- 端到端的通信
- 可靠性,確保傳輸數(shù)據(jù)的正確性,不出現(xiàn)丟失或亂序
- 采用字節(jié)流方式,即以字節(jié)為單位傳輸字節(jié)序列
31.UDP協(xié)議的通信特點是什么
UDP協(xié)議主要擁有如下的通信特點:
- UDP是一個無連接協(xié)議,傳輸數(shù)據(jù)之前源端和終端不建立連接,當它想傳送時就簡單地去抓取來自應用程序的數(shù)據(jù),并盡可能快地把它扔到網(wǎng)絡上
- 不需要維護連接狀態(tài),包括收發(fā)狀態(tài)等
- 字節(jié)開銷很小
- 吞吐量主要受應用軟件生成數(shù)據(jù)的速率、傳輸帶寬、源端和終端主機性能等因素的限制。