1. 程式人生 > >Linux網絡常用術語

Linux網絡常用術語

OSI七層模型、TCP、UDP、ARP

一 OSI 七層模型:

1 Osi 參考模型產生背景:

20世紀60年代以來,計算機網絡得到了飛速增長。各大廠商為了在數據通信網絡領域占據主導地位,紛紛推出了各自的網絡架構體系和標準,如IBM公司的SNA,Novell IPX/SPX協議,Apple公 司的AppleTalk協議,DEC公司的DECnet,以及廣泛流行的 TCP/IP協議。同時,各大廠商針對自己的協議生產出了不同的硬件和軟件。各個廠商的共同努力促進了網絡技術的快速發展和網絡設備種類的迅速增長。但由於多種協議的並存,也使網絡變得越來越復雜;而且,廠商之間的網絡設備大部分不能兼容,很難進行通信。 為了解決網絡之間的兼容性問題,幫助各個廠商生產出可兼容的 網絡設備,國際標準化組織ISO於1984年提出了OSI RM(Open System Interconnection Reference Model,開放系統互連參考模 型)。OSI 參考模型很快成為計算機網絡通信的基礎模型。在設 計OSI 參考模型時,遵循了以下原則:各個層之間有清晰的邊界 ,實現特定的功能;層次的劃分有利於國際標準協議的制定;層 的數目應該足夠多,以避免各個層功能重復。 OSI參考模型具有以下優點:簡化了相關的網絡操作;提供即插即 用的兼容性和不同廠商之間的標準接口;使各個廠商能夠設計出 互操作的網絡設備,促進標準化工作;防止一個區域網絡的變化 影響另一個區域的網絡,結構上進行分隔,因此每一個區域的網絡都能單獨快速升級;把復雜的網絡問題分解為小的簡單問題, 易於學習和操作型。

2 Osi 參考模型的分層

技術分享圖片
OSI參考模型分為七層,由下至上依次為第一層物理層(Physical layer)、第二層數據鏈路層(Data link layer)、第三層網絡層( Network layer)、第四層傳輸層(Transport layer)、第五層會話層(Session layer)、第六層表示層(Presentation layer)、第 七層應用層(Application layer)。

通常,OSI參考模型第一層到第三層稱為底層(Lower layer), 又叫介質層(Media Layer),底層負責數據在網絡中的傳送,網絡互連設備往往位於下三層,以硬件和軟件相結合的方式來實現。OSI參考模型的第五層到第七層稱為高層(Upper layer),又叫 主機層(Host layer),高層用於保障數據的正確傳輸,以軟件方式來實現。

3 Osi 七層功能

OSI參考模型各個層次的基本功能如下:
物理層:在設備之間傳輸比特流,規定了電平、線速和電纜針腳 。
數據鏈路層:將比特組合成字節,再將字節組合成幀,使用MAC 地址來訪問介質,檢測差錯。(MAC、)
網絡層:提供邏輯地址,供路由器確定路徑。(IP。ARP)
傳輸層:提供可靠或不可靠的數據傳遞以及進行重傳前的差錯檢測。(TCP/UDP)
會話層:負責建立、管理和終止表示層實體之間的通信會話。該 層的通信由不同設備中的應用程序之間的服務請求和響應組成。
表示層:提供各種用於應用層數據的編碼和轉換功能,確保一個 系統的應用層發送的數據能被另一個系統的應用層識別。
應用層:OSI參考模型中最靠近用戶的一層,為應用程序提供網絡服務。(HTTP)

二 TCP/IP 協議棧

1 TCP/IP協議棧及報文封裝

TCP/IP(Transfer Control Protocol/Internet Protocol,傳輸控制協議/網際協議)TCP/IP協議棧也成為互聯網的主流協議。
TCP/IP模型同樣采用分層結構,層與層相對獨立但是相互之間也 具備非常密切的協作關系。
TCP/IP模型與OSI參考模型的不同點在於TCP/IP把表示層和會話層都歸入了應用層。

TCP/IP模型由下至上依次分為網絡接口層、 網絡層、傳輸層和應用層四個層次。
技術分享圖片

2 TCP/IP協議棧報文封裝

用戶數據經過應用層協議封裝後傳遞給傳輸層,傳輸層封裝TCP頭部,交給網絡層,網絡層封裝IP頭部後,再交給數據鏈路層,數據鏈路層封裝 Ethernet幀頭和幀尾,交給物理層,物理層以比特流的形式將數據發送到物理線路上。

3OSI與 TCP/IP對比

其七層模式是概念模型,而TCP/IP的模型才是實際的網絡模型。
技術分享圖片

三 網絡層常見協議

1 常用網絡層協議

IP(Internet Protocol)、 ICMP(Internet Control Message Protocol) 、ARP(Address Resolution Protocol)、RARP(Reverse Address Resolution Protocol)。

2 IP協議作用及IP地址介紹:

為網絡層最主要的協議,其功能即為網絡層的主要功能,一是提供邏輯編址,二是提供路由功能,三是報文的封裝和解封裝。

1 網絡層地址

IP地址是一個邏輯地址並非硬件地址,硬件地址是固化在NIC(Network Interface Card)中的 ,如前面提到的MAC地址,用於同一鏈路上設備相互通信;而IP 地址則是用於不同網絡(即不同鏈路)上的設備相互通信。

2 IP 編址與路由

TCP/IP模型中,每一層都有自己的通信方式,數據鏈路層依靠 MAC地址通信,而網絡層則依靠IP地址。在了解TCP/IP協議模型以及各層的功能之後,本課程重點針對網絡層介紹IP地址結構、 IP地址分類、組網的劃分,以及網絡層設備如何進行數據包的轉發,即數據在網絡中如何被路由的。 本課程介紹TCP/IP協議棧第三層——網絡層。網絡層的主要功能 是通過IP協議實現的。包括IP編址和IP路由。
TCP/IP模型中層與層之間彼此交換信息,確保網絡設備之間能夠通信。這些層之間使用協議數據單元(PDU)來彼此通信。不同層的PDU中包含的信息也不同,根據其包含的信息,PDU被賦予不同的名稱。如傳輸層在上層數據中加入TCP報頭後得到的PDU 被稱為數據段(segment)。數據段被傳遞給網絡層,網絡層添加IP報頭,得到的PDU被稱為分組。分組被封裝到第二層報頭中 ,得到的PDU被稱為幀。最後,幀被轉換為比特,通過網絡介質進行傳輸。

3 網絡層數據封裝

網絡層接收來自傳輸層的數據,將源地址和目的地址加到這些數據中。 數據鏈路層有物理地址——MAC地址。MAC地址是全球唯一的。當有數據發送時,源網絡設備查詢對端設備的 MAC地址,然後將數據發送過去。 MAC地址通常存在於一個平面地址空間,沒有清晰的地址層次, 只適合於本網段主機的通信,另外,MAC地址固化在硬件中,靈 活性較差。對於不同網絡之間的互連通信,通常使用基於軟件實 現的網絡層地址----IP地址來通信,提供更大的靈活性。 IP地址,又稱邏輯地址,IP地址在一個網絡中是獨一無二的。每一臺網絡設備用IP地址作為唯一的標識。

4 IP地址分類:

IP地址的編址經歷了三個歷史階段:
1 分類的IP地址:在1981年通過了相應的標準協議
2 子網劃分:這個對IP地址最基本的編址方法的改進,在RFC 950 在1985年通過
3 構成超網:1993年提出。
IP地址=網絡號+主機號
A 類地址:
0 0000000-0 1111111 為A類地址的網絡位及A類地址的第一類地址範圍 0-127
B 類地址:
10 000000-10 111111 為B類地址的第一位範圍 128-191
C類地址:
110 00000-110 11111 為C類地址的第一位範圍 192-223
D 類地址:
1110 0000- 1110 1111 為D類地址的第一位範圍 224-239
E 類地址
1111 0000- 1111 1111 為E類地址的第一位範圍 240-247

5 特殊IP地址

IP地址用於唯一地標識一臺網絡設備,但並不是每一個IP地址都是可用的,一些特殊的IP地址有特殊的用途,不能用於標識網絡設備。
1 網絡地址
對於主機部分全為“0”的IP地址,稱為網絡地址,網絡地址用來 標識一個網段。
2 廣播地址
對於主機部分全為“1”的IP地址,稱為網段廣播地址,廣播地址用於標識一個網絡的所有主機。廣播地址用於向本網段的所有節點發送數據包 。
3 回環地址:用於檢測網卡上的IP協議棧是否正常。
對於網絡部分為127的IP地址,例如127.0.0.1往往用於環路測試。
4 其他地址
全“0”的IP地址0.0.0.0代表所有的主機,華為VRP系列路由器用 0.0.0.0地址指定默認路由。
全“1”的IP地址255.255.255.255,也是廣播地址,但 255.255.255.255代表所有主機,用於向網絡的所有節點發送數據包。這樣的廣播不能被路由器轉發。

6 各類地址的分類中的私有地址:

在進行IP地址規劃時,通常會在公司內部網絡使用私有IP地址。 私有IP地址是由InterNIC預留的由各個企業內部網自由支配的IP地 址。使用私有IP地址不能直接訪問Internet是因為公網上沒有針對私有地址的路由。當訪問Internet時,需要利用網絡地址轉換( NAT,Network Address Translation)技術,把私有IP地址轉換為 Internet可識別的公有IP地址。InterNIC預留了以下網段作為私有 IP地址:
A類地址10.0.0.0~10.255.255.255;
B類地址172.16.0.0~ 172.31.255.255;
C類地址192.168.0.0~192.168.255.255等。
每一個網段會有一些IP地址不能用作主機IP地址。下面計算一下可用的IP地址。
如B類網段172.16.0.0, 有16個主機位,因此有216個IP地址,去掉一個網絡地址172.16.0.0,一個廣播地址172.16.255.255不能用作標識主機,那麽共有216-2個可用地址。
C類網段192.168.1.0,有 8個主機位,共有28=256個IP地址,去掉一個網絡地址 192.168.1.0,一個廣播地址192.168.1.255,共有254個可用主機 地址。 每一個網段可用主機地址可以用這樣一個公式表示:假定這個網段的主機部分位數為n,則可用的主機地址個數為2n-2個。 網絡層設備(例如路由器等)使用網絡地址來代表本網段內的主機,大大減少了路由器的路由表條目。

使用私有IP地址,不僅減少了用於購買公有IP地址的投資,而且 節省了IP地址資源。
掩碼用於區分網絡部分和主機部分。掩碼與IP地址的表示法相同 。掩碼中用1表示該位為網絡位,0表示主機部分。一個255則表示 有8個1。 缺省狀態下,A類網絡的網絡掩碼為255.0.0.0,B類網絡的網絡掩 碼為255.255.0.0,C類網絡掩碼為255.255.255.0。

7 無子網編址

對於沒有子網的IP地址組織,外部將該組織看作單一網絡,不需 要知道內部結構。例如,所有到地址172.16 .X.X的路由被認為同一方向,不考慮地址的第三和第四個8位分組,這種方案的好處是 減少路由表的項目。但這種方案沒法區分一個大的網絡內不同的子網網段,這使網絡內所有主機都能收到在該大的網絡內的廣播,會降低網絡的性能 ,另外也不利於管理

8 帶子網編址

從地址分配的角度來看,子網是網段地址的擴充。網絡管理員根據組織增長的需要決定子網的大小。 網絡設備使用子網掩碼(Subnet Masking)決定IP地址中哪部分為網絡部分,哪部分為主機部分。 子網掩碼使用與IP地址一樣的格式。子網掩碼的網絡部分和子網部分全都是1,主機部分全都是0。缺省狀態下,如果沒有進行子網劃分,A類網絡的子網掩碼為255.0.0.0,B類網絡的子網掩碼為 255.255.0.0,C類網絡子網掩碼為255.255.255.0。利用子網,網 絡地址的使用會更有效。對外仍為一個網絡,對內部而言,則分為不同的子網。 這樣可使路由器根據目的子網地址進行路由,從而限制 一個子網的廣播報文發送到其它網段,不對網絡的效率產生影響 。

9 變長子網掩碼:

把一個網絡劃分成多個子網,要求每一個子網使用不同的網絡標 識ID。但是每個子網的主機數不一定相同,而且相差很大,如果我們每個子網都采用固定長度子網掩碼,而每個子網上分配的地 址數相同,這就造成地址的大量浪費。這時候可以采用變長子網掩碼(VLSM,Variable Length Subnet Mask)技術,對節點數比較多的子網采用較短的子網掩碼,子網掩碼較短的地址可表示的 網絡/子網數較少,而子網可分配的地址較多;節點數比較少的子網采用較長的子網掩碼,可表示的邏輯網絡/子網數較多,而子網 上可分配地址較少。這種方案能節省大量的地址,節省的這些地址可以用於其它子網上。 如上圖所示,某公司準備用C類網絡地址192.168.1.0進行IP地址 的子網規劃。這個公司共購置了5臺路由器,一臺路由器作為企業 網的網關路由器接入當地ISP,其它4臺路由器連接四個辦公點, 每個辦公點20臺PC。從上圖可以看出,需要劃分8個子網,4個辦 公點各網段需要21個IP地址(包括一個路由器接口),與網關路 由器相連的四個網段各需要2個IP地址,每個網段IP地址數目差異 較大,可以采用VLSM技術。四個辦公點網段采用子網掩碼 255.255.255.224,劃出3個子網位,共有5個主機位,可以容納最 多25-2=30臺主機。對於四個辦公點路由器和網關路由器相連網段 ,劃出6個子網位,2個主機位,最多有2個合法IP地址。

10 無類域間路由

CIDR(Classless Inter Domain Routing,無類域間路由)由 RFC1817定義。CIDR突破了傳統IP地址分類邊界,將路由表中的 若幹條路由匯聚為一條路由,減少了路由表的規模,提高了路由 器的可擴展性。 如上圖所示,一個ISP被分配了一些C類網絡, 198.168.0.0~198.168.255.0。該ISP準備把這些C類網絡分配給各 個用戶群,目前已經分配了三個C類網段給用戶。如果沒有實施 CIDR技術,ISP的路由器的路由表中會有三條下連網段的路由條 目,並且會把它通告給Internet上的路由器。通過實施CIDR技術 ,我們可以在ISP的路由器上把這三條網段198.168.1.0, 198.168.2.0,198.168.3.0匯聚成一條路由198.168.0.0/16。這樣 ISP路由器只向Internet通告198.168.0.0/16這一條路由,大大減少 了路由表的數目。 值得註意的是,使用CIDR技術匯聚的網絡地址的比特位必須是一 致的,如上例所示。如果上圖所示的ISP連接了一個172.178.1.0 網段,這個網段路由將無法被匯聚。

3 ARP地址解析協議:

1 介紹

ARP實現IP地址到硬件地址的動態映射,即根據已知的IP地址獲 得相應的硬件地址。
RARP實現硬件地址到IP地址的動態映射,即根據已知的硬件地址 獲得相應的IP地址。
地址解析協議ARP是一種廣播協議,主機通過它可以動態地發現 對應於一個IP地址的MAC地址。 每一個主機都有一個ARP高速緩存(ARP cache),有IP地址到 物理地址的映射表,這些都是該主機目前知道的一些地址。當主機A欲向本局域網上的主機B發送一個IP數據報時,就先在其ARP 高速緩存中查看有無主機B的IP地址。如有,就可查出其對應的物理地址,然後將該數據報文發往此物理地址。 也有可能查不到主機B的IP地址的條目。可能是主機B才入網,也可能是主機A剛剛加電,其高速緩存還是空的。在這種情況下,假定主機A需要知道主機B的MAC地址,主機A以廣播方式發送ARP 請求給網段上的每一臺主機。發送的ARP請求報文中,帶有自己 的IP地址到MAC地址的映射,同時還帶有需要解析的目的主機的 IP地址。目的主機B收到請求報文後,將其中的主機A的IP地址與 MAC地址的映射存到自己的ARP高速緩存中,並把自己的IP地址 到MAC地址的映射作為響應發回主機A。主機A收到ARP應答,就得到了主機B的MAC地址,同時,主機A緩存主機B的IP地址到 MAC地址映射。

2 代理ARP的功能

就是使那些不在同一網絡上的計算機或路由器能 夠相互通信。 通常情況下,當一臺路由器R收到一條ARP請求報文時,路由器R 將進行檢查,看該ARP請求的目的地址是否是自己,如果是,發 出ARP應答報文;如果不是,丟棄該報文。 如果路由器R開啟代理ARP功能,當路由器R收到一條ARP請求報 文時,發現該報文的目的地址不是自己,路由器R並不立即丟棄該 報文,而是查找路由表,如果路由器R有到達該目的地址的路由, 則路由器R將自己的MAC地址發送給ARP請求方。ARP請求方就 將到該目的地址的報文發送給路由器R,路由器R再將其轉發出去 。

3 Gratuitous ARP(免費ARP)

主機發送ARP查找自已IP地址對 應的MAC地址。如果網絡上沒有另一臺主機設置了相同的IP地址 ,則主機不會收到回答。而當主機收到該請求的回答時,則表示 有另一臺主機設置了與本機相同的IP地址。於是主機會在終端日 誌上生成一個錯誤消息,表示以太網上存在一個重復的IP地址。 免費ARP的作用: 1、通過發送免費ARP可以確認IP地址是否有沖突。當發送方收到 一條免費ARP請求的回答時,表示存在著一個與該IP地址相沖突 的設備。 2、更新舊的硬件地址信息。當發送免費ARP的主機正好改變了硬 件地址,如更換網卡。免費ARP就可以起到更新硬件地址信息的 功能。當接收方收到一條ARP請求時,並且該ARP信息在ARP表 中已經存在,則接收方必須用新的ARP請求中的地址信息更新舊 的ARP信息表。

4 RARP協議:

在進行地址轉換時,有時還要用到逆向地址解析協議RARP。 RARP常用於無盤工作站,這些設備知道自己MAC地址,需要獲 得IP地址。 為了使RARP能工作,在局域網上至少有一個主機要充當RARP服 務器。 以上圖為例,無盤工作站需要獲得自己的IP地址,向網絡中廣播 RARP請求,RARP服務器接收廣播請求,發送應答報文,無盤工 作站獲得IP地址。 對應於ARP、RARP請求以廣播方式發送,ARP、RARP應答一般 以單播方式發送,以節省網絡資源。

四 常見傳輸層協議:

1 簡介:

傳輸層位於TCP/IP協議棧第四層,為應用程序提供服務。傳輸層 定義了主機應用程序之間端到端的連通性。傳輸層將上層的數據 封裝到自己的數據部分並加上傳輸層頭部封裝成數據段交給下層 協議處理。傳輸層定了兩個不同傳輸協議TCP和UDP。TCP和 UDP分別定義了自己的報文格式。

2 TCP 協議概述

TCP傳輸控制協議為應用程序提供可靠的、面向連接的服務。

1 可靠性保持原因

TCP通過如下幾方面提供其可靠性:
面向連接的傳輸:TCP的任何一方進行數據傳輸之前必須在雙方之間建立連接。
MSS(最大報文段長度):表示TCP發往另一端的最大報文段長 度。當建立一個連接時,連接的雙方都要通告各自的MSS,以充分利用帶寬資源。
傳輸確認機制:當TCP傳輸一個數據段後,它啟動一個定時器, 等待目的端確認收到這個報文段。如果不能及時收到目的端的確 認報文,TCP將重傳該數據段。
首部和數據的檢驗和:TCP將保持首部和數據的檢驗和,這是一 個端到端的檢驗。目的是檢測數據在傳輸過程中的變化。如果收 到段的檢驗和有所差錯,TCP將丟棄該報文段並不確認收到此報 文段。因此TCP將啟動重傳機制。
流量控制:TCP還能提供流量控制。TCP連接的每一方都有一個 固定大小的緩沖空間。TCP接收端只允許另一端發送接收緩沖區 所能夠容納的數據。這能夠防止較快的主機致使較慢的主機緩沖 區溢出。

2 TCP 數據包簡介

TCP使用IP作為網絡層協議,TCP數據段被封裝在一個IP數據包內。

TCP數據段由TCP Head(頭部)和TCP Data(數據)組成。
TCP最多有60個字節的首部,如果沒有任選字段,正常的長度是20 字節。
TCP報文結構:
技術分享圖片
16位源端口號:TCP會為源應用程序分配一個源端口號。
16位目的端口號:目的應用程序的端口號。 每個TCP段都包含源和目的端的端口號,用於尋找發端和收端應用進程。
這兩個值加上IP首部中的源端IP地址和目的端IP地址可 以唯一確定一個TCP連接。
32位序列號:用於標識從TCP發端向TCP收端發送的數據字節流 。
32位確認序列號:確認序列號包含發送確認的一端所期望收到的 下一個序號。確認序列號為上次成功收到的數據序列號加1。
4位首部長度:表示首部占32bit字的數目。因為TCP首部的最大長 度為60字節。
16位窗口大小:表示接收端期望接收的字節, 由於該字段為16位,因而窗口大小最大值為65535字節。
16位檢驗和:檢驗和覆蓋了整個TCP報文段,包括TCP首部和 TCP數據。該值由發端計算和存儲並由接收端進行驗證。

3 TCP 鏈接的建立

TCP提供可靠的面向連接的全雙工傳輸層協議。TCP的可靠性通過很多方法來得到保障,在數據連接建立之後再傳送數據就是其 中一種方法。 TCP的任何一方在傳輸數據之前都必須在通信的雙方之間建立一 條連接。
TCP連接的建立是一個三次握手的過程:
技術分享圖片
1、請求端(通常也稱為客戶端)發送一個SYN段表示客戶期望連 接服務器端口,初始序列號為X。
2、服務器發回序列號為b的SYN段作為響應。同時設置確認序號 為客戶端的序列號加1(X+1)作為對客戶端的SYN報文的確認。
3、客戶端設置序列號為服務器端的序列號加1(b+1)作為對服務 器端SYN報文段的確認。 這三個報文段完成TCP連接的建立。

4 TCP 鏈接的終止

前面提到TCP是面向連接的全雙工傳輸層協議。全雙工意味著同 一時刻雙方向都可以進行數據的傳輸,因此通信的雙方都必須關閉連接。
TCP連接的建立是一個三次握手的過程,而TCP連接的終止則要 經過四次握手。
技術分享圖片
1、請求端(通常也稱為客戶端)想終止連接則發送一個FIN段, 序列號設置為a。 2、服務器回應一個確認序號為客戶端的序列號加1(a+1)的 ACK確認段,作為對客戶端的FIN報文的確認。
3、服務器端向客戶端發送一個FIN終止段(設置序列號為b,確認 號為a+1)。
4、客戶端返回一個確認報文(設置序列號為b+1)作為響應。 以上四次交互完成雙方向的連接的關閉。

3 Udp

1 概述

UDP為應用程序提供面向無連接的服務,所以在傳數據之前源端和目的端之間不必要像TCP一樣需要事先建立連接。正由於UDP 是面向無連接的傳輸協議,所以UDP不需要去維護連接狀態和收 發狀態,因此服務器可同時向多個客戶端傳輸相同的消息。 UDP適用於對傳輸效率要求高的運用,由應用層提供可靠性的保 障。如常用於認證計費的Radius協議、RIP路由協議都是基於 UDP的。
UDP和TCP一樣都使用IP作為網絡層協議,TCP數據報被封裝在 一個IP數據包內。 由於UDP不像TCP一樣提供可靠的傳輸,因此UDP的報文格式相 對而言較簡單。

2 UDP 報文結構:

技術分享圖片

16位源端口號:為源端應用程序分配的一個源端口號。 16位目的端口號:目的應用程序的端口號 16位UDP長度:是指UDP首部和UDP數據的字節長度。該字段的 最小值為8。 16位UDP檢驗和:該字段提供與TCP檢驗和同樣的功能,只不過 在UDP協議中該字段是可選的。

Linux網絡常用術語