本書是一本關于TCP/IP協議原理編程技術的教材,由兩部分組成:第1部分系統(tǒng)地介紹了TCP/IP協議族的體系結構,并分別介紹了IP層、傳輸層和應用層中各種協議的具體原理和工作機制;第2部分介紹了基于socket編程接口的網絡編程技術,重點講述了客戶端和服務器端編程應注意的問題、可用的模式和技術。作為一本TCP/IP協議理論基礎和編程技術的教材,本書既注重清晰地描述概念和理論,又做到了理論聯系實際,能有效提高讀者對TCP/IP的理解和網絡開發(fā)能力。它可作為高等院校計算機、通信等專業(yè)的教學參考書,也可供從事相關開發(fā)工作和網絡管理人員參考。本書前言Internet是20世紀最偉大的發(fā)明之一,它將全世界數以千萬計的計算設備(不管它們是龐大的巨型機,還是桌面上的個人電腦,甚至是人們口袋中的移動電話)連接成一個巨大的網絡,并使它們能夠在彼此之間迅速方便地傳輸信息。整個世界好像突然變小了,不同地區(qū)的人與人之間的距離不再遙不可及。然而,改變整個世界的不只是Internet本身,還有無法計數的構筑在其上的應用軟件。通過電子郵件,信件的往來不再需要幾天甚至幾周了;通過網上商城,在家就可以購物;視頻點播讓人們可以在家中欣賞喜愛的電影。如果沒有這些應用,Internet至今還僅僅是科研人員實驗室里使用的科研工具。正如Internet的核心TCP/IP協議的目標所指出的,任何人都可以方便地使用Internet,并在其上開發(fā)出新的應用。當然,要開發(fā)基于Internet上的應用必須先知道它是如何工作的,即它是如何將各種不同的設備連接起來的,如何將數據從一個計算設備傳輸到另一個的,是如何支撐各種各樣的應用軟件的。當然,如果你的工作不需要知道這些,如果你對此不感興趣,那就可以合上這本書了。但如果你是一個程序員,或者你想成為他們中的一員;如果你正在開發(fā)一個網絡軟件,你開發(fā)的軟件的客戶端或服務器端在局域網工作正常但在廣域網中卻總出問題,或者它們的效率總達不到要求;如果你是所在單位的網絡管理員,那么本書將會對你有所幫助。司機雖然不用生產自己開的汽車,但一個好的司機應該知道汽車的工作原理。同樣,網絡軟件開發(fā)人員不用自己設計通信網絡的協議,但應該知道網絡協議的工作原理和機制,這樣才能開發(fā)出正確、穩(wěn)定、高效的網絡軟件。本書的目的是幫助讀者提高對Internet的理解和網絡編程能力。為達到這個目的,本書從Internet的工作原理TCP/IP協議族和實際的編程模式和技巧兩個方面進行了介紹。本書由兩部分組成:第1部分由1~16章組成,介紹了TCP/IP協議族的體系結構及各層組成協議的工作機制。這部分介紹的各種協議是網絡編程中常見的需要了解的協議,對它們的理解有助于理解各種網絡編程技術。第1章介紹了Internet的發(fā)展歷史、現狀及發(fā)展趨勢;第2章對TCP/IP協議族總體的體系結構進行了系統(tǒng)的說明;第3~7章介紹網絡層中的部分重要協議,其中重點是作為TCP/IP核心的IP協議;第8章和第9章分別介紹了傳輸層的兩個協議:UDP和TCP;第10~14章介紹幾種常見的應用層協議,包括遠程登錄、電子郵件、HTTP協議、網絡文件和網絡管理等;第15章對下一代IP協議即IPv6進行了介紹;第16章則簡單介紹了常見操作系統(tǒng)(Windows,UNIX/Linux)中的TCP/IP協議的實現機制。第2部分由17~22章組成,介紹了網絡編程的接口、模式和技巧。第17章和19章詳細介紹了Windows中的網絡編程接口Socket及使用;第18章、第20章和21章介紹客戶端/服務器的網絡編程模型,并重點介紹了服務器端編程經常使用的技術,第22章通過對一個完整的Web服務器程序的分析,進一步說明了這部分各章中介紹的各種編程技術。通過對各種協議工作機制的了解,并使用試驗驗證各種網絡編程技術,理論和實踐緊密結合,相信讀者對Internet的理解和編程能力都能在較短時間內得到提高。如果本書確實能夠為讀者提供幫助,那將是我們最大的榮幸。由于時間倉促,加之作者水平有限,書中難免會有不足之處,真誠歡迎各位讀者予以批評指正。