1.1 什么是因特網
1.1.1 具體構成描述
所有被聯向因特網的設備都稱為主機(host)或端系統(end system)。
端系統通過通信鏈路(communication link)和分組交換機(packet switch)連接到一起。不同的鏈路以不同的速率傳輸數據, 鏈路的傳輸速率是以bps度量的。當一台端系統有數據要向另一台端系統發送時,發送端系統將數據分段,並為每段加上首部字節,由此形成的信息包稱為分組(packet)。
分組交換機的兩種最著名的類型是路由器(router)和鏈路層交換機(link-layer switch),它們朝着最終目的的轉發分組。
端系統通過因特網服務商(Internet Service Provider,ISP)接入因特網。
端系統、分組交換機和其他因特網部件,都要運行控制因特網中信息接收和發送的一系列協議(protocol)。TCP(Transmission Control Protocol,傳輸控制協議)和IP(Internet Protocol,網際協議)是因特網中兩個最為重要的協議。
有許多專用網絡,其內主機不能與其外主機交換信息,這些專用網絡被稱為內聯網(intranet)。
1.1.2 服務描述
與因特網相連的端系統提供了一個應用程序編程接口(Application Programming Interface,API),規定了運行在一個端系統上的軟件請求因特網基礎設施向運行在另一個端系統上的特定目的軟件交付數據的方式。因特網API是一套發送軟件必須遵循的規則集合。
1.1.3 什么是協議
一個協議定義了在兩個或多個通信實體之間交換的報文格式和次序,以及在報文傳輸和/或接受或其他事件方面所采取的的動作。
1.2 網絡邊緣
1.2.1 客戶機和服務器程序
客戶機程序(client program)是運行在一個端系統上的程序,它發出請求,並從運行在另一個端系統上的服務器程序(server program)接收服務。客戶機-服務器因特網應用程序是分布式應用程序(distributed application),客戶機程序和服務器程序通過因特網互相發送報文而進行交互。
越來越多的應用程序是對等(peer-to-peer,P2P)應用程序,其中的端系統互相作用並運行執行客戶機和服務器功能的程序。
1.2.2 接入網
接入網(access network)是將端系統連接到其邊緣路由器(edge router)的物理鏈路。
- 住宅接入(residential access),將家庭端系統與網絡相連。
一種住宅接入形式是通過普通模擬電話線用撥號調制解調器(dial-up modem)與住宅ISP相連。新型寬帶接入技術為住宅用戶提供了更高的比特速率,也為用戶提供了一種接入因特網的同時還能打電話的手段,主要有兩種常見類型:數字用戶線(digital subscriber line,DSL)和混合光纖同軸電纜(hybrid fiber-coaxial cable,HFC)。
2.公司接入(company access),局域網通常被用於連接端用戶與邊緣服務器。
3.無線接入(wireless access):無線局域網(wireless LAN)和廣域無線接入網(wide-area wireless access network)。
1.2.3 物理媒體
物理媒體(physical media)分為導引性媒體(guided media)和非導引性媒體(unguided media)。
- 雙絞銅線:
非屏蔽雙絞線(Unshielded Twisted Pair,UTP)常用在建築內計算機網絡中。 - 同軸電纜:
能被用作引導式共享媒體(shared media)。 - 光纜:
- 陸地無線電信道
- 衛星無線電信道:
常使用兩類衛星:同步衛星(geostationary satellite)和低地球軌道衛星(low-earth orbiting satellite)。
1.3 網絡核心
1.3.1 電路交換和分組交換
在電路交換(circuit switching)網絡中,沿着端系統通信路徑,為端系統之間通信所提供的資源(緩存、鏈路傳輸速度)在通信會話期間會被預留;在分組交換(packet switching)網絡中,這些資源則不會被預留,會話的報文按需使用這些資源,這將導致可能不得不等待(即排隊)接入通信線路。
電路交換網絡中的多路復用主要有頻分多路復用(Frequency-Division Multiplexing,FDM)和時分多路復用(Time-Division Multiplexing,TDM)。
分組交換中,各種應用程序在完成其任務時要交換報文(message),源主機將長報文划分為較小的數據塊,並稱之為分組(packet),在源和目的地之間,這些分組中的每個都通過通信鏈路和分組交換機傳送,分組以該鏈路最大傳輸速率在通信鏈路上傳輸。
多數分組交換機在鏈路的輸入端使用儲存轉發傳輸(store-and-forward transmission)機制,是指在交換機能夠開始向輸出鏈路傳輸改分組的第一個比特之前,必須接收到整個分組。一台主機經分組交換網絡向另一台主機發送分組需要的時間稱為儲存轉發時延(store-and-forward delay)。
每個分組交換機有多條鏈路與之相連,對於每條相連的鏈路,該分組交換機具有一個輸出緩存(output buffer)(也稱為輸出隊列(output queue)),它用於儲存路由器准備發往那條鏈路的分組。分組要承受輸出緩存的排隊時延(queuing delay),這些時延變化程度取決於網絡中的擁塞水平。一個到達的分組可能發現該緩存被等待傳輸的分組完全充滿了,因為緩存的大小是有限的,在此情況下,將出現分組丟失或丟包(packet lost)——可能是到達的分組也可能是已經排隊的分組之一被丟棄。
1.3.2 分組是怎樣通過分組交換網形成其通路的
1.3.3 ISP和因特網主干
因特網是網絡的網絡。
第一層ISP也被稱為因特網主干(Internet backbone)網絡,直接與其他每個第一層ISP相連,與大量的第二層ISP和其他客戶網絡相連,覆蓋國際區域。
第二層ISP通常具有區域性或國家性覆蓋規模,並且非常重要地僅與少數第一層ISP相連接,被稱為是它所連接的第一層ISP的客戶(customer),第一層ISP相對該客戶而言是提供商(provider)。當兩個ISP彼此直接相連時,它們被稱為彼此是對等的。
在一個ISP的網絡中,某ISP與其他ISP的連接點被稱為匯集點(Point of Presence,POP)。
1.4 分組交換網中的時延、丟包和吞吐量
1.4.1 分組交換網中的時延概述
以下4種時延總體累加起來是節點總時延(total nodal delay):
- 節點處理時延(nodal processing delay):
檢查分組首部和決定將該分組導向何處所需要的時間。 - 排隊時延(queuing delay):
分組在鏈路上輸出隊列中等待傳輸的時間。 - 傳輸時延(transmission delay):
將所有分組的比特推(傳輸)向鏈路所需要的時間,取決於分組長度和鏈路傳輸速率。 - 傳播時延(propagation delay):
分組從鏈路起點傳播到下一個路由器所需要的時間,取決於兩台路由器之間的距離。
1.4.2 排隊時延和丟包
排隊時延是節點時延中最復雜和令人感興趣的成分。
當分組到達節點時隊列已滿,路由器將丟棄(drop)該分組,即該分組將會丟失(lost)。
1.4.3 端到端時延
1.4.4 計算機網絡中的吞吐量
任何瞬間的瞬間吞吐量(instantaneous throughput)是某主機接收到某文件的速率(以bps計)。
一段時間內某主機接收某文件的平均速率是平均吞吐量(average throughput)。
端到端之間的吞吐量是瓶頸鏈路(bottleneck link)的傳輸速率(瓶頸鏈路,即平均吞吐量最小的一段鏈路)。
1.5 協議層次和它們的服務模型
1.5.1 分層的體系結構
網絡設計者以分層(layer)的方式組織協議以及現實這些協議的網絡硬件和軟件。某層向上一層提供的服務(service),即所謂的層的服務模型(service model)。
五層因特網協議棧(protocol stack),用自頂向下方法(top-down approach)作介紹:
- 應用層(application layer):
網絡應用及其應用層協議存留的地方,包括許多協議,如HTTP、SMTP和FTP。應用層的信息分組稱為報文(message)。 - 運輸層(transport layer):
提供了在應用程序端點之間傳送應用層報文的服務,因特網中有兩個運輸層協議:TCP和UDP。運輸層分組稱為報文段(segment)。 - 網絡層(network layer):
負責將稱為數據報(datagram)的網絡層分組從一台主機移動到另一台主機。源主機中的因特網運輸層協議(如TCP和UDP)向網絡層遞交運輸層報文段和目的地址。網絡層包括了著名的IP協議。
網絡層通過一系列路由器在源和目的地之間發送分組,為了將分組從一個節點(主機或路由器)移動到路徑上的下一個節點,網絡層必須依靠鏈路層的服務。 - 鏈路層(link layer):
在每個節點,網絡層將數據報下傳給鏈路層,鏈路層沿着路徑將數據報傳遞給下一個節點,在該下一個節點,鏈路層將數據報上傳給網絡層。鏈路層分組稱為幀(frame)。鏈路層包括了以太網、WiFi和點對點協議(PPP)。 - 物理層(physical layer):
鏈路層提供的服務是將整個幀從一個網絡元素移動到鄰近的網絡元素,而物理層的任務是將該幀中的一個一個比特從一個節點移動到下一個節點。
國際標准化組織(ISO)提出了大約為七層的計算機網絡應用組織,稱為開放互連(OSI)模型(自頂向下):
- 應用層
- 表示層(presentation layer):
使通信的應用程序能解釋交換數據的含義,所提供服務包括數據壓縮、數據加密以及數據描述。 - 會話層(session layer):
提供了數據交換的定界和同步功能,包括建立檢查點和恢復方案的方法。 - 運輸層
- 網絡層
- 鏈路層
- 物理層
1.5.2 報文、報文段、數據報和幀
封裝(encapsulation):應用層報文(application-layer message)被傳送給運輸層,運輸層附上附加信息,構成了運輸層報文段(transport-layer segment)傳遞至網絡層,網絡層增加了網絡層首部信息,形成了網絡層數據報(network-layer datagram)並傳遞給鏈路層,鏈路層增加鏈路層首部信息,使其成為鏈路層幀(link-layer frame)。在每一層,分組具有兩種類型的字段:首部字段和有效載荷字段(payload field),有效載荷字段通常來自上一層的分組。
1.6 攻擊威脅下的網絡
1.7 計算機網絡和因特網的歷史
1.8 小結
博文補充(轉):
計算機網絡知識點
《計算機網絡——自頂向下》閱讀筆記
