主要內容
《計算機網路原理》是一本採用全新體系結構的計算機網路基礎教材。全書共分為3篇,分別從3個角度觀察計算機網路,理解計算機網路的工作原理:第1篇是在平面上觀察計算機網路,把計算機網路看做由節點、鏈路和協定三個元素組成的系統,並介紹了鏈路和節點上的基本通信技術;第2篇是立體地觀察計算機網路,認識
計算機網路體系結構,介紹了ISO/
OSI參考模型和IEEE 802、
TCP/IP兩種計算機網路主流體系結構;第3篇介紹計算機網路應用程式的C/S工作模式和基於C/S模式的計算機網路應用程式的開發方法。這3篇將計算機網路的基本原理分解成相對獨立的3個層次。每完成一個層次內容的學習,對計算機網路工作原理的認識就會上升到一個新的高度,並最後歸結到計算機網路套用層的實現上來。
目錄
第1篇計算機網路組成
第1章計算機網路概述
1.1 計算機網路及其分類
計算機網路,是指將地理位置不同的具有獨立功能的多台計算機及其
外部設備,通過通信線路連線起來,在網路作業系統,網路管理軟體及網路通信協定的管理和協調下,實現資源共享和信息傳遞的計算機系統。
按廣義定義
關於計算機網路的最簡單定義是:一些相互連線的、以
共享資源為目的的、自治的計算機的集合。
另外,從邏輯功能上看,計算機網路是以傳輸信息為基礎目的,用通信線路將多個計算機連線起來的計算機系統的集合。一個計算機網路組成包括
傳輸介質和通信設備。
從用戶角度看,計算機網路它是這樣定義的:存在著一個能為用戶自動管理的網路作業系統。有它調用完成用戶所調用的資源,而整個網路像一個大的計算機系統一樣,對
用戶是透明的。
一個比較通用的定義是:利用通信線路將地理上分散的、具有獨立功能的計算機系統和通信設備按不同的形式連線起來,以功能完善的網路軟體及協定實現資源共享和信息傳遞的系統。
從整體上來說計算機網路就是把分布在不同地理區域的計算機與專門的
外部設備用通信線路互聯成一個規模大、功能強的系統,從而使眾多的計算機可以方便地互相傳遞信息,共享硬體、軟體、數據信息等資源。簡單來說,計算機網路就是由通信線路互相連線的許多自主工作的計算機構成的集合體。
按連線定義
計算機網路就是通過線路互連起來的、資質的計算機集合,確切的說就是將分布在不同地理位置上的具有獨立工作能力的計算機、終端及其附屬設備用通信設備和通信線路連線起來,並配置網路軟體,以實現計算機資源共享的系統。
按需求定義
計算機網路就是由大量獨立的、但相互連線起來的計算機來共同完成計算機任務。這些系統稱為計算機網路(computer networks)
1.1.1計算機網路及其功能
1.1.2計算機網路的分類
1.2 計算機網路組成
1.2.1計算機網路的拓撲結構
1.2.2鏈路
所謂鏈路就是從一個節點到相鄰節點的一段物理線路,而中間沒有任何其他的交換節點。
補充:在進行
數據通信時,兩個計算機之間的通信路逕往往要經過許多段這樣的鏈路。可見鏈路只是一條路徑的組成部分。
節點是指一台電腦或其他設備與一個有獨立地址和具有傳送或接收數據功能的網路相連。節點可以是工作站、客戶、網路用戶或
個人計算機,還可以是伺服器、印表機和其他網路連線的設備。每一個工作站﹑伺服器、
終端設備、網路設備,即擁有自己唯一
網路地址的設備都是網路節點。整個網路就是由這許許多多的網路節點組成的,把許多的網路節點用通信線路連線起來,形成一定的幾何關係,這就是
計算機網路拓撲。
各個網路節點通過網卡那裡獲得唯一的地址。每一張網卡在出廠的時候都會被廠家固化一個全球唯一的媒體介質訪問層(Media Access Control)地址﹐使用者是不可能變更此地址的。這樣的地址安排就如我們日常的家庭地址一樣﹐是用來區分各自的身份的。您的網路必須有能力去區別這一個地址有別於其它的地址。在網路裡面﹐有很多資料
封包會由一個
網路節點傳送到另一個網路節點﹐同時要確定封包會被正確的傳達目的地﹐而這個目的地就必須依靠這個網卡地址來認定了。
1.2.4協定
(1)語法:即數據與控制信息的結構或格式;
(2)語義:即需要發出何種控制信息,完成何種動作以及做出何種回響;
(3)時序,即事件實現順序的詳細說明。
計算機通信網是由許多具有信息交換和處理能力的節點互連而成的。要使整個網路有條不紊地工作, 就要求每個節點必須遵守一些事先約定好的有關數據格式及時序等的規則。 這些為實現網路數據交換而建立的規則、約定或標準就稱為網路協定。 協定是通信雙方為了實現通信而設計的約定或通話規則。
協定總是指某一層的協定。準確地說,它是在同等層之間的實體通信時,有關通信規則和約定的集合就是該層協定,例如
物理層協定、
傳輸層協定、
套用層協定。
步驟
是一系列的步驟: 它包括兩方或多方,設計它的目的是要完成一項任務!
是對數據格式和計算機之間交換數據時必須遵守的規則的正式描述。簡單的說,網路中的計算機要能夠互相順利的通信,就必須講同樣的語言,語言就相當於協定,它分為Ethernet、
NetBEUI、
IPX/SPX以及
TCP/IP協定。
特點
協定還有其他的特點:
1) 協定中的每個人都必須了解協定,並且預先知道所要完成的所有的步驟。
2) 協定中的每個人都必須同意並遵循它。
3) 協定必須是清楚的,每一步必須明確定義,並且不會引起誤解。
協定也可以這樣說,就是連入網路的計算機都要遵循的一定的技術規範,關於硬體、軟體和
連線埠等的技術規範。
網路是一個信息交換的場所,所有接入網路的計算機都可以通過彼此之間的物理連設備進行信息交換,這種
物理設備包括最常見的電纜、
光纜、無線WAP和微波等,但是單純擁有這些物理設備並不能實現信息的交換,這就好像人類的身體不能缺少大腦的支配一樣,信息交換還要具備
軟體環境,這種“軟體環境”是人類事先規定好的一些規則,被稱作“協定”,有了協定,不同的電腦可以遵照相同的協定使用物理設備,並且不會造成相互之間的“不理解”。
這種協定很類似於“
摩爾斯電碼”,簡單的一點一橫,經過排列可以有萬般變化,但是假如沒有“對照表”,誰也無法理解一新產生的協定也大多是在基層協定基礎上建立的,因而協定相對來說具有較高的安全機制,黑客很難發現協定中存在的安全問題直接入手進行
網路攻擊。但是對於某些新型協定,因為出現時間短、考慮欠周到,也可能會因安全問題而被黑客利用。
對於
網路協定的討論,更多人則認為:現今使用的基層協定在設計之初就存在安全隱患,因而無論網路進行什麼樣的改動,只要現今這種網路體系不進行根本變革,就一定無法消除其潛在的危險性。
數據在IP網際網路中傳送時會被封裝為
報文或
封包。IP協定的獨特之處在於:在
報文交換網路中
主機在傳輸數據之前,無須與先前未曾通信過的目的主機預先建立好一條特定的“通路”。
網際網路協定提供了一種“不可靠的”數據包傳輸機制(也被稱作“盡力而為”);也就是說,它不保證數據能準確的傳輸。數據包在到達的時候可能已經損壞,順序錯亂(與其它一起傳送的封包相比),產生冗餘包,或者全部丟失。如果 套用需要保證可靠性,一般需要採取其他的方法,例如利用IP的上層協定控制。
網路協定通常由語法,語義和定時關係3部分組成。
網路傳輸協定或簡稱為傳送協定(Communications Protocol),是指
計算機通信的共同語言。現在最普及的計算機通信為
網路通信,所以“傳送協定”一般都指計算機通信的傳送協定,如:
TCP/IP、
NetBEUI等。然而,傳送協定也存在於計算機的其他形式通信,例如:
面向對象編程裡面對象之間的通信;作業系統內不同程式之間的訊息,都需要有一個傳送協定,以確保傳信雙方能夠溝通無間。
其他含義
協商:雙方協定提高價格 對共同達到統一目的 可制定協定。
通俗概念:協定是做某些事情之前共同協商,共同達到統一目的,對統一達成問題作為書面形式共同約束。
協商好了就點仁義、仗義。協定要是用上了,那就是沒意義了,也就是證明即將要結束協定。
定義
協定(protocol)是指兩個或兩個以上實體為了開展某項活動,經過協商後達成的一致意見。協定總是指某一層的協定。準確地說,它是在同等層之間的實體通信時,有關通信規則和約定的集合就是該層協定,例如
物理層協定、
傳輸層協定、套用層協定。
1.3課外實踐參考——構建一個簡單的區域網路
雙絞線(Twisted Pair)是由兩條相互絕緣的導線按照一定的規格互相纏繞(一般以逆時針纏繞)在一起而製成的一種通用配線,屬於信息
通信網路傳輸介質。雙絞線過去主要是用來傳輸模擬信號的,但現在同樣適用於
數位訊號的傳輸。
雙絞線是由一對相互絕緣的金屬導線絞合而成。採用這種方式,不僅可以抵禦一部分來自外界的電磁波干擾,而且可以降低自身信號的對外干擾。把兩根絕緣的銅導線按一定密度互相絞在一起,一根導線在傳輸中輻射的電波會被另一根線上發出的
電波抵消。“
雙絞線”的名字也是由此而來。
雙絞線一般由兩根22-26號絕緣銅導線相互纏繞而成,實際使用時,
雙絞線是由多對雙絞線一起包在一個絕緣
電纜套管里的。典型的雙絞線有四對的,也有更多對雙絞線放在一個電纜套管里的。這些我們稱之為
雙絞線電纜。在雙絞線電纜(也稱雙扭線電纜)內,不同線對具有不同的扭絞長度,一般地說,扭絞長度在3.81cm至14cm內,按逆時針方向扭絞。相鄰線對的扭絞長度在1.27cm以上,一般扭線的越密其抗干擾能力就越強,與其他傳輸介質相比,雙絞線在傳輸距離,
信道寬度和
數據傳輸速率等方面均受到一定限制,但價格較為低廉。
5.2.2 IEEE 802.3與10 Mbps乙太網
5.3.1無線區域網路的特點
5.:3.2 IEEE 802.11
5.3.4 Wi-Fi
5.4.3交換機工作機理
5.4.5課外實踐參考——交換機配置
5.5 i島速乙太網
習題
第6章Internet與TCP/IP體系結構
6.1 概述
6.1.1 Internet
6.2 IP協定
6.2.2 IP位址的無分類編址CIDR
6.2.3 IPv4分組格式
6.2.4課外實踐參考——網路的TCP/IP參數設定
6.3.2 IP位址解析協定
6.4網際控制訊息協定ICMP
6.4.1 ICMP提供的服務
6.4.2 ICMP分組
6.5 IP路由
6.5.1路由器工作概述
6.5.5課外實踐參考——路由器的配置
6.5.6第三層交換
6.6 IPV6
6.6.1 IPv6及其目標
6.6.2 IPv6分組結構
6.6.3 IPv6地址
6.7.1 TCP服務的特徵
6.7.2 TCP連線的可靠建立與釋放
6.7.4 TCP報文格式
習題
第3篇計算機網路套用及其開發
第7章套用層實體及其工作模式
7.1客戶-伺服器工作模式
7.1.1客戶-伺服器模式概述
7.1.2客戶-伺服器的套用方式
7.1.3中間件
7.2客戶-伺服器模式套用舉例
7.2.3電子郵件傳送協定
習題
8.1.1 網路套用編程接口
8.1.2 socket編程模型及其類型
8.1.3 socket地址——套用進程的標識
8.1.4通信進程的阻塞與非阻塞方式
8.2.1初始化套接口——服務綁定socket()
8.2.2本地地址綁定bind()
8.2.4套接口被動轉換listen()
8.2.5從被動套接口的完成佇列中接受一個連線請求accept()
8.2.7關閉套接口通道與撤銷套接口
8.3.3一個簡單的TCP網路通信程式
8.3.4阻塞模式下的TCP輸入輸出與逾時控制
8.4.1 uDP編程模式
8.4.2一個簡單的UDP客戶一伺服器程式
8.4.3非阻塞模式下的UDP客戶一伺服器程式
8.5輸入輸出多路復用
8.5.2 select()函式及其套用
8.6並發伺服器程式設計
8.6.1多進程並發伺服器程式設計
8.6.2多執行緒並發伺服器程式設計
習題
附錄英文縮略語辭彙表
參考文獻
課程信息
課程簡介
本課程是計算機科學與技術專業學生的一門專業核心課程。通過本課程的學習和實驗,使學生能夠深入理解計算機網路系統的基本概念和工作機制,掌握
Internet採用的
TCP/IP體系結構及各層主要協定的基本內容及工作原理。
實驗目的與要求
1.實驗目的:通過實驗培養學生對
TCP/IP體系結構各層主要協定的內容,數據報文結構及功能的分析能力,加深對計算機網路工作過程和原理的理解。
2.實驗要求:利用網路協定分析軟體,構造產生各種
協定數據單元,捕捉各種數據包並進行協定分析,理解各種協定的報文結構,功能及各層協定間的相互關係,提高對網路通信過程的認識與理解。
實驗方式與注意事項
本課程所有實驗均需上機進行,每個實驗都有明確的實驗目的和內容。學生根據實驗要求獨立完成每個實驗項目。具體要求如下:
1. 學生按照實驗要求,上機前要認真研讀實驗指導書,了解實驗的目的、內容、實驗步驟;
2. 上機實驗時按實驗要求完成實驗任務,並對實驗過程中遇到的問題、解決辦法和實驗結果進行記錄;