第1章概述node
1.1 計算機網絡在信息時代中的做用git
Internet,即互聯網,是計算機網絡的表明。服務器
1.2 互聯網概述網絡
在計算機網絡領域,node應當譯爲結點,而不是節點。app
網絡把許多計算機連在一塊兒,而互連網則把許多網絡經過路由器鏈接在一塊兒。與網絡相連的計算機常稱爲主機。因爲智能手機中有CPU,所以也能夠把鏈接在計算機網絡上的智能手機稱爲主機。ide
以小寫字母i開頭的internet(互連網)是一個通用名詞,泛指由多個計算機網絡互連而成的計算機網絡。在這些網絡之間的通訊協議(即通訊規則)能夠任意選擇,不必定非要使用TCP/IP協議族。以大寫字母I開頭的Internet(互聯網)則是一個專有名詞,指當前全球最大的的互連網,它採用TCP/IP協議族做爲通訊規則。性能
互聯網服務提供者ISP(Internet Service Provider)在許多狀況下,就是一個進行商業活動的公司,所以ISP又常譯爲互聯網服務提供商。ui
1.3 互聯網的組成計算機網絡
互聯網的拓撲結構從其工做方式上看,能夠劃分爲邊緣部分(由全部鏈接在互聯網上的主機組成。這部分是用戶直接使用的,用來進行通訊和資源共享)和核心部分(由大量網絡和鏈接這些網絡的路由器組成。這部分是爲邊緣部分提供服務的)。設計
處在互聯網邊緣的部分的就是鏈接在互聯網上的全部主機,又稱爲端系統。
進程就是運行着的程序。
P2P方式表示Peer-to-Peer方式,即對等方式,從本質上看仍然是使用客戶-服務器方式,只是對等鏈接中的每一臺主機既是客戶又同時是服務器。
客戶(client)和服務器(server)都是指通訊中涉及的兩個應用進程。客戶和服務器原本都指的是計算機進程(軟件)。使用計算機的人是計算機的用戶(user)而不是客戶。但常常也把運行客戶程序的機器稱爲client(在這種狀況下可譯爲客戶端),把運行服務器程序的機器稱爲server(在這種狀況下可譯爲服務器端)。所以咱們應當根據上下文來判斷client或server是指軟件仍是硬件。
路由器(router)是一種專用計算機。路由器是實現分組交換(packet switching)的關鍵構件,其任務是轉發收到的分組,這是網絡核心部分最重要的功能。
電路交換:必須通過「創建鏈接(佔用通訊資源)、通話(一直佔用通訊資源)、釋放鏈接(歸還通訊資源)」三個步驟的交換方式。當使用電路交換來傳送計算機數據時,其線路的傳輸效率每每很低,由於計算機數據是突發式地出如今傳輸線路上的。
分組交換採用存儲轉發技術。要發送的整塊數據稱爲一個報文(message)。在發送報文以前,先把較長的報文劃分爲一個個更小的數據段,在每個數據段前面,加上一些由必要的控制信息組成的首部(header)後,就構成了一個分組(packet)。分組又稱爲「包」。路由器收到一個分組,先暫時存儲如下,檢查其首部,查找路由表,按照首部中的目的地址,找到合適的接口轉發出去,把分組交給下一個路由器或直接交付給主機,這就是存儲轉發。分組交換在傳送數據以前沒必要先佔用一條端到端的鏈路的通訊資源,分組在哪段鏈路上傳送才佔用這段鏈路的通訊資源。
1.5計算機網絡的類別
廣域網是互聯網的核心部分。
目前不少城域網採用的是以太網技術,所以有時也併入局域網的範圍進行討論。
接入網既不屬於互聯網的核心部分,也不術語互聯網的邊緣部分。接入網是從某個用戶端系統到互聯網中的第一個路由器(也稱爲邊緣路由器)之間的一種網絡。
1.6 計算機網絡的性能
比特(bit)來源於binary digit,意思是一個「二進制數字」。
數據的傳送速率也稱爲數據率(data rate)或比特率(bit rate)。在通訊領域,k=1000,M=1000000等等(只有「1000」使用小寫),在計算機領域,數的計算使用二進制,所以,K=2^10,M=2^20等等(全是大寫)。
在計算機網絡中,帶寬表示網絡中某通道傳送數據的能力,所以網絡帶寬表示在單位時間內網絡中的某信道能經過的「最高數據率」,單位就是數據率的單位,即bit/s。
吞吐量(throughput)表示在單位時間內經過某個網絡(或信道、接口)的實際的數據量。
時延(delay或latency)是數據從網絡(或鏈路)的一端傳送到另外一端所需的時間。
在高速鏈路(或高帶寬鏈路)上,僅僅是數據的發送速率高而不是比特在鏈路上的傳播(propagation)速率高。荷載信息的電磁波在通訊線路上的傳播速率(這是光速的數量級)取決於通訊線路的介質材料。一般所說的「光纖信號的傳輸速率高」是指能夠用很高的速率向光纖信道發送數據,而光纖信道的傳播速率實際上還要比銅線略低。
RTT:Round-Trip Time,往返時間。
信道或網絡的利用率太高會產生很是大的時延。
1.7 計算機網絡體系結構
爲了設計複雜的計算機網絡,提出了分層的方法。分層可將龐大而複雜的問題,轉化爲若干較小的局部問題,而這些較小的局部問題就比較易於研究和處理。
爲進行網絡中的數據交換而創建的規則、表混或約定稱爲網絡協議(network protocol),簡稱協議。協議一般有兩種不一樣的形式。一種是使用便於人來閱讀和理解的文字描述。另外一種是使用讓計算機可以理解的程序代碼。
計算機網路的各層及其協議的集合就是網絡的體系結構(architecture)。換種說法,計算機網絡的體系結構就是這個計算機網絡及其構件所應完成的功能的精肯定義。而這些功能到底是用何種硬件或軟件完成的,則是一個遵循這種體系結構的實現(implementation)的問題。體系結構是抽象的,而實現是具體的。
TCP/IP是一個四層的體系結構。其中,網際層(也能夠叫網絡層)之因此用這個名字是爲了強調這一層是爲了解決不一樣網絡的互連問題。從實質上將,TCP/IP只有最上面的三層,由於最下面的網絡接口層並無什麼具體內容。五層協議的體系結構只是爲介紹網絡原理而設計的,實際應用仍是TCP/IP四層體系結構。
應用(application)層的任務是經過應用進程間的交互來完成特定網絡應用。對於不一樣的網絡應用須要有不一樣的應用層協議。應用層交互的數據單元稱爲報文(message)。
運輸(transport)層的任務是負責向兩臺主機中進程之間的通訊提供通用的數據傳輸服務。多種應用可使用同一個運輸層服務。運輸層主要使用的協議是傳輸控制協議TCP(Transmission Control Protocol)和用戶數據報協議UDP(User Datagram Protocol),前者的數據傳輸的單位是報文段(segment),後者的數據傳輸的單位是用戶數據報。有人把運輸層稱爲傳輸層,理由是這一層使用的TCP協議就叫作傳輸控制協議。
網絡(network)層負責爲分組交換網上的不一樣主機提供通訊服務。在發送數據時,網絡層把運輸層產生的報文段或用戶數據報封裝成分組(也能夠稱爲「包」)進行傳送。因爲網絡層使用IP協議,所以分組也叫作IP數據報,簡稱數據報。此外,不管在哪一層傳送的數據單元,均可籠統地用「分組」來表示。互聯網使用的網絡層協議是無鏈接的網際協議IP(Internet Protocol)和許多路由選擇協議,所以互聯網的網絡層也叫作網際層或IP層。
數據鏈路(data link)層,簡稱鏈路層。兩臺主機之間的數據傳輸,老是在一段一段的鏈路上傳送的,這就須要使用專門的鏈路層的協議。數據鏈路層的數據單元是幀(frame)。
物理(physical)層傳的數據的單位是bit。物理層要考慮用多大的電壓表明「1」和「0」,以及接收方如何識別出發送方發送的比特。物理層還要肯定鏈接電纜的插頭應當由多少根引腳以及各引腳應如何鏈接。解釋比特表明的意思不是物理層的任務。傳遞信息利用的物理媒體,如雙絞線、同軸電纜、光纜、無線信道等,不在物理層協議以內而是在物理層協議之下。物理層因爲是比特流的傳送,因此不須要加上帶控制信息的首部或尾部。
人們常常提到的TCP/IP並不必定是單指TCP和IP這兩個具體的協議,而每每是表示互聯網使用的整個TCP/IP協議族(protocol suite)。
各層協議,實際上就是在各個對等層之間傳遞數據時的各項規定。
當研究開放系統的信息交換時,每每使用實體(entity)表示任何可發送或接收信息的硬件或軟件進程。
協議的實現保證了可以向上一層提供服務。並不是在一個層內完成的所有功能都稱爲服務,只有那些能被高一層實體「看得見」的功能才能稱爲服務。
TCP/IP協議族像沙漏計時器形狀,代表:TCP/IP協議能夠爲各式各樣的應用提供服務(所謂的everything over IP),同時TCP/IP協議也容許IP協議在各式各樣的網絡構成的互聯網上運行(所謂的IP over everything)。
以上是第1章,還有5章,有空了再補上,最近忙找暑期實習的事。