1. 程式人生 > >軟考-架構師-第四章-計算機網路 第一節 網路架構與協議(讀書筆記)

軟考-架構師-第四章-計算機網路 第一節 網路架構與協議(讀書筆記)

版權宣告

主要針對希賽出版的架構師考試教程《系統架構設計師教程(第4版)》,作者“希賽教育軟考學院”。完成相關的讀書筆記以便後期自查,僅供個人學習使用,不得用於任何商業用途。

第一節 網路架構與協議

計算機網路使得其功能得到了大大的加強,範圍得到了很大的擴充套件。

從嚴謹的定義角度說,計算機網路是指由通訊線路互相連線的許多獨立自主工作的計算機構成的資源共享集合體,它是計算機技術和通訊技術相結合的產物。它的出現推動了資訊化的發展,從區域網到網際網路,都對資訊應用產生了深遠的影響。

說明

網路架構是指計算機網路的各層及其協議的集合。計算機之間要交換資料,就必須遵守一些事先約定好的規則,用於規定資訊的格式及如何傳送和接收資訊的一套規則就稱為網路協議。為了減少網路協議設計的複雜性,網路設計者並不是設計一個單一、巨大的協議來為所有形式的通訊規定完整的細節,而是將龐大而複雜的通訊問題轉化為若干個小問題,然後為每個小問題設計一個單獨的協議。

計算機網路採用分層設計方法,按照資訊的傳輸過程將網路的整體功能分解為一個個的功能層,不同機器上的同等功能層之間採用相同的協議,同一機器上的相鄰功能層之間通過介面進行資訊傳遞。

網路互聯模型

1977 年,國際標準化組織為適應網路標準化發展的需求,制定了開放系統互聯參考模型(Open System Interconnection/Reference Model,OSI/RM),從而形成了網路架構的國際標準。OSI/RM 構造了由下到上的七層模型,分別是物理層、資料鏈路層、網路層、傳輸層、會話層、表示層和應用層。

OSI/RM 各層的功能

(1)物理層。

物理層的主要功能是透明地完成相鄰節點之間原始位元流的傳輸。其中 “透明”的意思是指物理層並不需要關心位元代表的具體含義,而要考慮的是如何傳送“0” 和“1”,以及接收端如何識別。物理層在傳輸介質基礎上作為系統和通訊介質的介面,為資料鏈路層提供服務。

(2)資料鏈路層。

資料鏈路層負責在兩個相鄰節點之間的線路上無差錯地傳送以幀為單位的資料,通過流量控制和差錯控制,將原始不可靠的物理層連線變成無差錯的資料通道,並解決多使用者競爭問題,使之對網路層顯現一條可靠的鏈路。

(3)網路層。

網路層是通訊子網的最高層,其主要任務是在資料鏈路層服務的基礎上,實現整個通訊子網內的連線,並通過網路連線交換網路服務資料單元(packet)。它主要解決資料傳輸單元分組在通訊子網中的路由選擇、擁塞控制和多個網路互聯的問題。網路層建立網路連線為傳輸層提供服務。

(4)傳輸層。

傳輸層既是負責資料通訊的最高層,又是面向網路通訊的低三層(物理層、資料鏈路層和網路層)和麵向資訊處理的高三層(會話層、表示層和應用層)之間的中間層,是資源子網和通訊子網的橋樑,其主要任務是為兩臺計算機的通訊提供可靠的端到端的資料傳輸服務。傳輸層反映並擴充套件了網路層子系統的服務功能,並通過傳輸層地址為高層提供傳輸資料的通訊埠,使系統之間高層資源的共享不必考慮資料通訊方面的問題。

(5)會話層。

會話層利用傳輸層提供的端到端資料傳輸服務,具體實施服務請求者與服務提供者之間的通訊、組織和同步它們的會話 活動,並管理它們的資料交換過程。會話層提供服務通常需要經過建立連線、資料傳輸和釋放連線三個階段。會話層是最薄的一層,常被省略。

(6)表示層。

表示層處理的是使用者資訊的表示問題。端使用者(應用程序)之間傳送的資料包含語義和語法兩個方面。語義是資料的內容及其含義,它由應用層負責處理;語法是與資料表示形式有關的方面,例如,資料的格式、編碼和壓縮等。表示層主要用於處理應用實體面向交換的資訊的表示方法,包括使用者資料的結構和在傳輸時的位元流(或位元組流)的表示。這樣,即使每個應用系統有各自的資訊表示法,但被交換的資訊型別和數值仍能用一種共同的方法來描述。

(7)應用層。

應用層是直接面向用戶的一層,是計算機網路與終端使用者之間的介面。

TCP/IP 結構模型

雖然 OSI/RM 已成為計算機網路架構的標準模型,但因為 OSI/RM 的結構過於複雜,實際系統中採用 OSI/RM 的並不多。目前,使用最廣泛的可互操作的網路架構是 TCP/IP(Transmission Control Protocol/ Internet Protocol,傳輸控制協議/網際協議)結構模型。與 OSI/RM 結構不同,不存在一個正式的 TCP/IP 結構模型,但可根據已開發的協議標準和通訊任務將其大致分成四個比較獨立的層次,分別是網路介面層、網路互聯層、傳輸層和應用層。

(1)網路介面層。

網路介面層大致對應於 OSI/RM 的資料鏈路層和物理層,TCP/IP 協議不包含具體的物理層和資料鏈路層,只定義了網路介面層作為物理層的介面規範。網路介面層處在 TCP/IP 結構模型的最底層,主要負責管理為物理網路準備資料所需的全部服務程式和功能。

(2)網路互聯層。

網路互聯層也稱為網路層、網際網路層或網際層,負責將資料報獨立地從信源傳送到信宿,主要解決路由選擇、阻塞控制和網路互聯等問題,在功能上類似於 OSI/RM 中的網路層。

(3)傳輸層。

傳輸層負責在信源和信宿之間提供端到端的資料傳輸服務,相當於OSI/RM 中的傳輸層。

(4)應用層。

應用層直接面向用戶應用,為使用者方便地提供對各種網路資源的訪問服務,包含了OSI/RM 會話層和表示層中的部分功能。

常見的網路協議

1.應用層協議

FTP(File TransportProtocol,檔案傳輸協議)

是網路上兩臺計算機傳送檔案的協議,執行在 TCP 之上,是通過 Internet 將檔案從一臺計算機傳輸到另一臺計算機的一種途徑。 FTP 的傳輸模式包括Bin(二進位制)和 ASCII(文字檔案)兩種,除了文字檔案之外,都應該使用二進位制模式傳輸。FTP 在客戶機和伺服器之間需建立兩條 TCP 連線,一條用於傳送控制資訊(使用 21 號埠),另一條用於傳送檔案內容(使用 20 號埠)。

TFTP(Trivial FileTransfer Protocol,簡單檔案傳輸協議)

是用來在客戶機與伺服器之間進行簡單檔案傳輸的協議,提供不復雜、開銷不大的檔案傳輸服務。TFTP 建立在 UDP(User Datagram Protocol,使用者資料報協議)之上,提供不可靠的資料流傳輸服務,不提供存取授權與認證機制,使用超時重傳方式來保證資料的到達。

HTTP(Hypertext TransferProtocol,超文字傳輸協議)

是用於從 WWW 伺服器傳輸超文字到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網路傳輸減少。HTTP 建立在 TCP 之上,它不僅保證計算機正確快速地傳輸超文字文件,還確定傳輸文件中的哪一部分,以及哪部分內容首先顯示等。

SMTP(Simple Mail TransferProtocol,簡單郵件傳輸協議)

建立在 TCP 之上,是一種提供可靠且有效的電子郵件傳輸的協議。SMTP 是建模在 FTP 檔案傳輸服務上的一種郵件服務,主要用於傳輸系統之間的郵件資訊,並提供與電子郵件有關的通知。

DHCP(Dynamic HostConfiguration Protocol,動態主機配置協議)

建立在 UDP 之上,是基於客戶機/伺服器模型設計的。所有的 IP 網路設定資料都由 DHCP 伺服器集中管理,並負責處理客戶端的DHCP 要求;而客戶端則會使用從伺服器分配下來的 IP 環境資料。 DHCP 通過租約(預設為 8 天)的概念,有效且動態地分配客戶端的 TCP/IP 設定。當租約過半時,客戶機需要向 DHCP 伺服器申請續租;當租約超過 87.5%時,如果仍然沒有和當初提供 IP 的 DHCP 伺服器聯絡上,則開始聯絡其他的 DHCP 伺服器。DHCP 分配的 IP 地址可以分為三種方式,分別是固定分配、動態分配和自動分配。

Telnet(遠端登入協議)

是登入和模擬程式,建立在 TCP 之上,它的基本功能是允許使用者登入進入遠端計算機系統。以前,Telnet 是一個將所有使用者輸入送到遠端計算機進行處理的簡單的終端程式。目前,它的一些較新的版本是在本地執行更多的處理,可以提供更好的響應,並且減少了通過鏈路傳送到遠端計算機的資訊數量。

DNS(Domain NameSystem,域名系統)

在 Internet 上域名與 IP 地址之間是一一對應的,域名雖然便於人們記憶,但機器之間只能互相識別 IP 地址,它們之間的轉換工作稱為域名解析,域名解析需要由專門的域名解析伺服器來完成,DNS 就是進行域名解析的伺服器。DNS 通過對使用者友好的名稱查詢計算機和服務。當用戶在應用程式中輸入 DNS 名稱時,DNS 服務可以將此名稱解析為與之相關的其他資訊,例如,IP 地址。

SNMP(Simple NetworkManagement Protocol,簡單網路管理協議)

是為了解決 Internet 上的路由器管理問題而提出的,它可以在 IP、IPX、AppleTalk 和其他傳輸協議上使用。SNMP 是指一系列網路管理規範的集合,包括協議本身、資料結構的定義和一些相關概念。目前, SNMP 已成為網路管理領域中事實上的工業標準,並被廣泛支援和應用,大多數網路管理系統和平臺都是基於 SNMP 的。

2.傳輸層協議

傳輸層主要有兩個傳輸協議,分別是 TCP 和 UDP(User Datagram Protocol,使用者資料報協議),這些協議負責提供流量控制、錯誤校驗和排序服務。

TCP

是整個 TCP/IP 協議族中最重要的協議之一,它在 IP 協議提供的不可靠資料服務的基礎上,採用了重發技術,為應用程式提供了一個可靠的、面向連線的、全雙工的資料傳輸服務。TCP 協議一般用於傳輸資料量比較少,且對可靠性要求高的場合。

UDP

是一種不可靠的、無連線的協議,可以保證應用程式程序間的通訊,與 TCP 相比,UDP 是一種無連線的協議,它的錯誤檢測功能要弱得多。可以這樣說,TCP 有助於提供可靠性,而 UDP 則有助於提高傳輸速率。UDP 協議一般用於傳輸資料量大,對可靠性要求不是很高,但要求速度快的場合。

3.網路層協議

網路層中的協議主要有 IP、ICMP(Internet Control Message Protocol,網際控制報文協議)、IGMP(Internet Group Management Protocol,網際組管理協議)、ARP(Address Resolution Protocol,地址解析協議)和 RARP(Reverse Address Resolution Protocol,反向地址解析協議)等,這些協議處理資訊的路由和主機地址解析。

IP

IP 所提供的服務通常被認為是無連線的和不可靠的,它將差錯檢測和流量控制之類的服務授權給了其他的各層協議,這正是 TCP/IP 能夠高效率工作的一個重要保證。網路層的功能主要由 IP 來提供,除了提供端到端的分組分發功能外,IP 還提供很多擴充功能。例如,為了克服資料鏈路層對幀大小的限制,網路層提供了資料分塊和重組功能,這使得很大的 IP 資料包能以較小的分組在網路上傳輸。

ARP

ARP 用於動態地完成 IP 地址向實體地址的轉換。實體地址通常是指計算機的網絡卡地址,也稱為MAC(Media Access Control,媒體訪問控制)地址,每塊網絡卡都有唯一的地址;RARP 用於動態完成實體地址向 IP 地址的轉換。

ICMP

ICMP 是一個專門用於傳送差錯報文的協議,由於 IP 協議是一種盡力傳送的通訊協議,即傳送的資料可能丟失、重複、延遲或亂序傳遞,所以需要一種儘量避免差錯並能在發生差錯時報告的機制,這就是 ICMP 的功能。

IGMP

IGMP 允許 Internet 中的計算機參加多播,是計算機用作向相鄰多目路由器報告多目組成員的協議。多目路由器是支援組播的路由器,它向本地網路傳送 IGMP 查詢,計算機通過傳送 IGMP 報告來應答查詢。多目路由器負責將組播包轉發到網路中所有組播成員。

IPv6

網際網路絡能發展到當前的規模,IPv4 協議的建立功不可沒。但同時它的缺點也已經充分顯現出來,如地址空間耗盡、路由表急劇膨脹、缺乏對 QoS 的支援、本身並不提供任何安全機制、移動性差等問題。儘管採用了許多新的機制來緩解這些問題,如 DHCP 技術、 NAT 技術、CIDR 技術等,但都不可避免地要引入其他新的問題,問題沒有得到根本解決。於是 IETF 從 90 年代起就開始積極探討下一代 IP 網路,經過幾年努力,在廣泛聽取業界和專家意見的基礎上,終於在 1995 年 12 月推出了下一代網路的 RFC 文件——IPv6 協議,該協議最早叫做下一代 IP(IP Next Generation,IPng)。現在它的全稱是“網際網路協議第 6 版”,即下一代的網際協議。

1.IPv6 地址表示

一個 32 位的 IPv4 地址以 8 個位為一段分成 4 段,每段之間用點“.”分開。而 IPv6地址的 128 位是以 16 位為一段,共分為 8 段,每段的 16 位轉換為一個 4 位的 16 進位制數字,每段之間用冒號“:”分開。

如 RFC 2373 所定義,有 3 種格式表示 IPv6 地址。首選格式是最長的表示方法,由所有的 32 個 16 進位制字元組成。如,下面這個 128 位的 IPv6 地址用 2 進製表示為:

00100000000000010000110110101000110100000000000100000000000000010000000000000000000000000000000000000000000000001100111011001101

先把這 128 位按照 16 位一段分開:

0010000000000001 0000110110101000 1101000000000001 0000000000000001 0000000000000000 0000000000000000 0000000000000000 1100111011001101

把每 16 位一段轉換為 4 個字元表示的 16 進位制,然後以冒號隔開,可以得到如下表示形式:

2001:0da8:d001:0001:0000:0000:0000:0001

上面這個地址就是首選格式,是一個適合於計算機“思維”的表示法。

2.IP v6 壓縮地址表示

在 IPv6 中,常見到使用包含一長串 0 的地址,為了方便書寫,對於每一段中的前導0可以進行省略。如前面的首選格式地址經過一次壓縮,可以得到:

2001:da8:d001:1:0:0:0:1

對於連續 2 段以上都為 0 的欄位,可以使用“::”(兩個冒號)來表示,這樣再次壓縮,變成:

2001:da8:d001:1::1

這就是 IPv6 地址的壓縮表示法。(注意:每個 IPv6 地址只允許有一個“::”)

3.內嵌 IPv4 地址的 IPv6 地址

還有一種表示法就是在 IPv6 地址中使用內嵌的 IPv4 地址。這種表示法的地址的第一部分使用十六進位制表示,而 IPv4 部分採用十進位制。這是過渡機制所用的 IPv6 地址特有的表示法。如:fe80::200:5efe:58.20.27.60,這個 IPv6 地址的後半部分就是一個 IPv4 地址。

4.IPv6 地址型別 

IPv4 有單播、廣播和組播地址型別,在 IPv6 裡面,廣播已經不再使用了,這對網路管理員來說,應該是個好訊息,因為在傳統的 IP 網路中,出現的很多問題都是由於廣播引起的。IPv6 仍有 3 種地址型別,分別是單播、多播(也稱作組播)、泛播(也稱作任意播)。

(1)單播 IPv6 地址

單播地址唯一標識一個 IPv6 節點的介面。傳送往單播地址的資料包最終傳遞給這個地址所標識的介面。為適應負載均衡,IPv6 協議允許多個介面使用相同的 IPv6 地址,只要它們對於主機上的 IPv6 協議表現為一個介面。

(2)多播 IPv6 地址

多播地址標識一組 IPv6 節點的介面。傳送往多播地址的資料包會被該多播組所有的成員處理。

(3)泛播 IPv6 地址

泛播地址指派給多個節點的介面。傳送往泛播地址的資料包只會傳遞給其中的一個介面,一般是相隔最近的一個介面。 

5.IPv6 的優勢 

與 IPv4 相比,IPv6 具有以下幾點優勢:

(1)IPv6 具有更大的地址空間。IPv4 中規定 IP 地址長度為 32 位,而 IPv6 中 IP 地址的長度為128 位。

(2)IPv6 使用更小的路由表。IPv6 的地址分配一開始就遵循路由匯聚的原則,使路由器能在路由表中用一條記錄表示一個子網,大大減小了路由器中路由表的長度,提高了路由器轉發資料包的速度。

(3)IPv6 增加了增強的組播支援和對流支援,使網路上的多媒體應用有了長足發展的機會,為服務質量(Quality of Service,QoS)控制提供了良好的網路平臺。

(4)IPv6 加入了對自動配置的支援。這是對 DHCP 協議的改進和擴充套件,使得網路(尤其是區域網)的管理更加方便和快捷。

(5)IPv6 具有更高的安全性。在使用 IPv6 網路時,使用者可以對網路層的資料進行加密,並對 IP 報文進行校驗,極大地增強了網路的安全性。

6.IPv4 到 IPv6 的過渡技術 

(1)雙協議棧技術

雙棧技術通過節點對 IPv4 和 IPv6 雙協議棧的支援,從而支援兩種業務的共存。

(2)隧道技術

隧道技術通過在 IPv4 網路中部署隧道,實現在 IPv4 網路上對 IPv6 業務的承載,保證業務的共存和過渡。具體的隧道技術包括:6to4 隧道;6over4 隧道;ISATAP 隧道。

(3)NAT-PT 技術

NAT - PT 使用閘道器裝置連線 IPv6 和 IPv4 網路。當 IPv4 和 IPv6節點互相訪問時,NAT - PT 閘道器實現兩種協議的轉換翻譯和地址的對映。