91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

計算機網絡學習(4):網絡協議與標準

發布時間:2020-07-29 18:55:49 來源:網絡 閱讀:1319 作者:lengxujun 欄目:網絡安全

最知名的網絡協議就是TCP/IP協議了。事實上,TCP/IP協議是一個協議集,由很多協議組成。TCP和IP

協議是這個協議集中兩個,TCP/IP協議集是用這兩個協議來命名的。

TCP/IP協議集中的每一個協議涉及的功能,都用程序來實現。TCP協議和IP協議有對應的TCP程序和IP程

序。

 

根據TCP協議我們了解到,網絡協議是一個約定,該約定規定了:

① 實現這個協議的程序要完成什么功能;

② 如何完成這個功能;

③ 實現這個功能需要的通訊的報文包的格式。

 

如果一個網絡協議涉及了硬件的功能,通常就被叫做標準,而不再稱為協議了。網絡標準還需要約定硬

件的物理尺寸和電氣特性。

 

ISO發布了注明的開放系統互聯參考模型(Open System Interconnection Reference Model),簡稱OSI。

OSI模型詳細規定了網絡需要實現的功能、實現這些功能的方法、以及通訊報文包的格式。但是,沒有

一個廠家遵循OSI模型來開發網絡產品。不論是網絡操作系統還是網絡設備,不是遵循廠家自己制訂的

協議(Novell公司的Novell協議,蘋果公司的AppleTalk、微軟公司的NetBEUI、IBM公司的SNA),就是

遵循某個政府部門制訂的協議(如TCP/IP協議)。而現在TCP/IP已經占主流。

 

4.1 OSI模型

    計算機網絡學習(4):網絡協議與標準

    圖4.1 OSI模型的7層協議

 

    當需要把一個數據文件發送往另外一個主機之前,這個數據要經歷這7層協議每一層的加工。例如我

    們要把一封郵件發送往服務器,當我們在Outlook中編輯完成,按發送鍵后,Outlook就會把我們的

    郵件交給第7層中按POP3或SMTP協議編寫的程序。POP3或SMTP程序按自己的協議整理數據格式,然后

    發給下面層的某個程序。每個層(除了物理層,它是硬件電路和網線,不再加工數據)也會對數據

    格式做一些加工,還會用報頭的形式增加一些信息。經過加工后的數據以幀的形式交給物理層,物

    理層的電路再以位流的形式發送數據到網絡中。

    接受方的過程是相反的,物理層接收到數據后,以相反的順序遍歷OSI的所有層,使接收方收到這個

    電子郵件。接收方的主機,每一層都會閱讀本層對應的報頭,拆除自己層的報頭把數據傳送給上一

    層。

 

    計算機網絡學習(4):網絡協議與標準

    圖4.2 OSI模型的7層協議功能描述

 

4.2 TCP/IP協議

    計算機網絡學習(4):網絡協議與標準

    圖4.3 OSI模型和TCP/IP協議集模型對比

    

    TCP/IP協議是一個協議集,它由十幾個協議組成。

    

    計算機網絡學習(4):網絡協議與標準

    圖4.4 TCP/IP協議集中的各個協議

 

    主要的TCP/IP協議有:

    . 應用層:FTP,TFTP,Http,SMTP,POP3,SNMP,DNS,Telnet

    . 傳輸層:TCP,UDP

    . 網絡層:IP,ARP,RARP,ICMP,RIP,IGRP,OSPF

    

    4.2.1 應用層協議

          FTP:文件傳輸協議。用于主機間文件交換。FTP使用TCP協議進行數據傳輸,是一個可靠的、

               面向連接的協議。FTP支持二進制文件和ASCII協議。

          TFTP:簡單的文件傳輸協議。它比FTP簡易,是一個非面向連接的協議,使用UDP進行傳輸,

                因此傳送速度更快。該協議多用于局域網中,交換機和路由器把自己的配置文件傳

                送到主機上。

          SMTP:簡單郵件傳輸協議。

          POP3:郵件傳輸協議,比SMTP更科學,本不屬于TCP/IP協議集。

          Telnet:遠程終端仿真協議。可以使一臺主機遠程登錄到其他機器,成為那臺遠程主機的顯

                  示和鍵盤終端。

          DNS:域名解析協議。根據域名,解析出對應的IP地址。

          SNMP:簡單網絡管理協議。網管工作站搜集、了解網絡中交換機、路由器等設備的工作狀態

                所使用的協議。

          NFS:網絡文件系統協議。允許網絡上的其他主機共享某臺機器目錄的協議。

    

    4.2.2 傳輸層協議

          TCP/IP協議集在傳輸層只有兩個協議:傳輸控制協議(TCP)和用戶數據報協議(UDP)。

 

          TCP協議要完成5個主要功能:

          . 端口地址尋址;

          . 連接的建立、維護與拆除;

          . 流量控制;

          . 出錯重發;

          . 數據分段。

 

          (1) 端口地址尋址

              端口地址到底有什么用呢?當數據報到達主機后,鏈路層的程序會通過數據報的幀報尾

              進行CRC校驗,校驗合格的數據幀被去掉幀報頭向上交給IP程序。IP程序去掉報頭后,

              再向上把數據交給TCP程序。待TCP程序把TCP報頭去掉后,它把數據交給誰呢?這時,

              TCP程序就可以通過TCP報頭中由源主機指出的端口地址,了解到發送主機希望目標主機

              的什么應用程序接收這個數據報。

              因此,端口地址尋址是對應用層程序尋址

 

              計算機網絡學習(4):網絡協議與標準

              圖4.5 常用端口地址

 

              詳細的端口號編排可以在TCP/IP的注釋RFC1700查到。

              TCP/IP規定端口號的編排方法:

              低于255的編號:用于FTP、Http這樣的公共應用層協議。

              255到1023的編號:提供給操作系統開發公司,為市場化的應用層協議編號。

              大于1023的編號:普通應用程序。

              端口號的編碼范圍從0到65535。從1024到49151的地址范圍需要注冊使用,49152到

              65535的地址范圍可以自由使用。

 

              端口地址被源主機在數據發送前封裝在其TCP報頭或UDP報頭中。圖4.6給出了TCP報頭

              的格式:

              計算機網絡學習(4):網絡協議與標準

              圖4.6 TCP報頭格式

 

              計算機網絡中約定,當一臺主機向另一臺主機發出連接請求時,這臺發送請求的機器被

              視為客戶機,而那臺接受請求的機器被視為服務器。通常,客戶機在給自己的程序編端

              口號時,隨機使用一個大于1023的編號。例如一臺主機訪問WWW服務器,在其TCP報頭中

              的源端口地址封裝為1391,目標端口地址則需要為80,指明與Http通訊。

              

          (2) TCP連接的建立、維護與拆除

              TCP協議是一個面向連接的協議,所謂面向連接,是指一臺主機需要和另外一臺主機通

              訊時,需先呼叫對方,請求與對方建立連接,只有對方同意,才能開始通訊。

              所謂呼叫,就是連接的發起方發送一個“建立連接請求”的報文給對方,對方如果同

              意這個連接,就簡單的發回一個“連接響應”的應答包,連接就建立起來了。

              圖4.7描述了TCP建立連接的過程。

              計算機網絡學習(4):網絡協議與標準

              圖4.7 建立TCP連接

 

              主機A希望與主機B建立連接以交換數據,它的TCP程序首先構造一個請求連接報文包給對

              方,請求連接包的TCP報頭中報文性質碼標志為SYN(見圖4.8),聲明是一個“連接請求

              包”。主機B的TCP程序收到主機A的連接請求后,如果同意這個連接,就發回一個“確

              認連接包”,應答A主機。主機B的“確認連接包”的TCP報頭中的報文性質碼標志為

              ACK。

              

              計算機網絡學習(4):網絡協議與標準

              圖4.8 SYN標志位和ACK標志位

              

              SYN和ACK是TCP報頭中報文性質碼的連接標志位(見圖4.8),建立連接時,SYN標志置

              1,ACK標志置0,表示本報文包是個同步包;確認連接包,ACK置1,SYN置1,表示本報

              文包是確認包。

 

              從圖4.7可以看到,建立連接的第3個包,是主機A對主機B的連接確認。主機A為什么要發

              送第3個包呢?

              注:這里的第3個包是這樣計算得來的:主機A連接請求包是第1個包,主機B的應答包是

                  第2個包,主機A收到主機B的應答包后再發的包(ACK=y+1)就是第3個包了。

              繼續討論為什么要發第3個包。考慮這樣一種情況:主機A發送一個請求包,但這個請求

              包在傳輸過程中丟失主機A再重發連接請求包,第2個連接請求包到達主機B,保證了

              連接的建立。但是如果連接請求包沒有丟失而只是網絡慢而導致主機A超時呢?這就會

              使主機B收到兩個連接請求包,使主機B誤以為第2個連接請求是主機A的又一個請求。第

              3個確認包就是為防止這樣的錯誤而設計的。這樣的連接機制被稱為三次握手

              從TCP程序設計的深層看,源主機發送“連接請求包”是為了觸發對方主機的TCP程序開

              辟一個對應的TCP進程。你的主機可以邀請對方開辟多個TCP進程,同時進行多路通訊。

              FLOOD******就是采用無休止的邀請對方建立連接,使對方主機開辟無數個TCP進程與

              之連接,最后耗盡對方主機資源。

 

              可以理解,當通訊結束時,發起連接的主機應該發送拆除連接的報文包,通知對方主機

              關閉響應的TCP進程,釋放資源。拆除連接報文包的TCP報頭中,報文性質碼的FIN標志

              置1。

              為了防止連接雙方的一側出現故障后異常關機,而另外一方的TCP進程無休止地駐留,任

              何一方如果發現對方長時間沒有通訊流量,就會拆除連接

              但是有時確實有一段時間沒有流量,但還需要保持連接,就需要發送空的報文包,以維

              持這個連接。維持連接的報文包叫:keepalive。為了在一段時間內沒有數據發送但還

              需要保持連接而發送keepalive包,被稱為連接的維護

 

          (3) TCP報頭中的報文序號

              TCP是將應用層交給的數據分段發送的。為了支持數據出錯重發和數據段組裝,TCP為

              每個數據段封裝的報頭中,設計了兩個數據報序號字段,分別稱為發送序號確認序

              號

              

              出錯重發是指一旦發現有丟失的數據段,可以重發丟失的數據,以保證數據傳輸的完整

              性。如果數據沒有分段,出錯后源主機就不得不重發整個數據。為了確認丟失的數據是

              哪個數據段,報文就需要安裝序號。

              

              數據分段可以使報文在網絡中的傳輸非常靈活。一個數據的各個分段,可以選擇不同的

              路徑到達目標主機。由于網絡中各條路徑在傳輸速度上不一致性,有可能前面發出的數

              據段后到達,而后出發的數據段先到達。為了使目標主機能夠按照正確的次序重新裝配

              數據,也需要在數據段的報頭中安裝序號。

              

              TCP報頭中的第3,4個字段分別是發送序號和確認序號。發送序號是指本數據段是第幾個

              報文包,確認序號是指對方發來的下一個數據段該是第幾號段。


              計算機網絡學習(4):網絡協議與標準

              圖4.9 發送序號與確認序號

 

          (4) PAR出錯重發機制

              在網絡中有兩種情況會丟失數據包。如果網絡設備的負荷太大,當其數據包緩沖區滿的

              時候,就會丟失數據包。另外一種情況是,如果在傳輸中因為噪聲干擾、數據碰撞或設

              備故障,數據包就會受到損壞。在接受主機的鏈路層接受校驗時就會被丟棄。

 

              發送主機應發現丟失的數據段,并重發出錯的數據。

 

              TCP使用PAR(Positive Acknowledgement and Retransmission)的出錯重發方案。

 

              TCP程序在發送數據時,先把數據段都放到其發送窗口中,然后發送出去。然后,PAR會

              為發送窗口中每個已發送的數據段啟動定時器,被對方主機確認收到的數據,將從發送

              窗口中刪除。如果某數據段的定時時間到,仍然沒有收到確認,PAR就會重發這個數據

              段。

              

              計算機網絡學習(4):網絡協議與標準

              圖4.10 PAR出錯重發機制

 

              在圖4.10中,發送主機的2號數據段丟失,接收主機只確認了1號數據段。發送主機從發

              送窗口中刪除已確認的1號包,放入4好數據段,將2,3,4號發送出去,其中,2,3是重發

              的數據段。你會發現,盡管數據段3已經被接收主機收到,仍然被重發,這顯然是一種

              浪費。但是PAR機制只能這樣處理,因為只有一個確認序號字段,如果有丟失大于一個數

              據段,一個確認序號無法記錄多個丟失數據包。而單獨設計一個包來通知源主機也不

              行,因為這個通知包也丟失了該怎么辦呢?

 

         (5) TCP流量控制

             如果接收主機同時與多個TCP通訊,接收的數據包的重新組裝需要在內存中排隊。如果

             接收主機的負荷太大,因為內存緩沖區滿,就有可能丟失數據。因此,當接收主機無法

             承受發送主機的發送速度時,就需要通知發送主機放慢數據的發送速度。事實上,接收

             主機并不是通知發送主機放慢發送速度,而是直接控制發送主機的發送窗口大小。接收

             主機如果需要對方放慢數據的發送速度,就減小數據報中TCP報頭里“發送窗口”字段

             的數值。對方主機必須服從這個數值,減小發送窗口的大小,從而降低了發送速度。

 

             計算機網絡學習(4):網絡協議與標準

             圖4.11 TCP流量控制

              

             極端的情況,如果接收主機把窗口大小字段設為0,發送主機將暫停發送數據。有趣的

             是,盡管發送主機接受接收主機的窗口設置降低了發送速度,但是,發送主機會自己漸

             漸擴大窗口,這樣做的目的是盡可能的提高數據的發送速度。也就是說,發送主機會降

             低發送速度,但不一定會減小窗口大小。

             在實際中,TCP報頭中的窗口字段不是用數據段的個數來說明大小,而是以字節數來說

             明大小。

 

         (6) UDP協議

             TCP/IP協議集中設計了另外一個傳輸層協議:無連接數據傳輸協議(Connectionless

             Data Transport Protocol)。這是一個簡化了的傳輸層協議。UDP去掉了TCP協議5個功

             能中的3個:

             連接建立、流量控制、出錯重發,只保留端口尋址和數據分段2個功能。

 

             UDP通過犧牲可靠性換得通訊效率的提供。對于那些數據可靠性要求不高的數據傳輸,

             可以使用UDP協議完成。如DNS,SNMP,TFTP,DHCP。

              

             UDP的報頭格式非常簡單,核心內容只有源端口地址和目標端口地址兩個字段。DHCP的

             細節詳見RFC768。

 

             計算機網絡學習(4):網絡協議與標準

             圖4.12 UDP報頭格式

 

             UDP程序需要與TCP一樣完成端口地址尋址和數據分段兩個功能。但是它不知道數據包是

             否到達目標主機,接收主機也不能抑制發送數據的速度。由于數據報中不再有報文序

             號,一旦數據包沿不同路徑到達目標主機的次序出現變化,目標主機也無法按正確的次

             序糾正這樣的錯誤。

 

     4.2.3 網絡層協議

           TCP/IP協議集中最重要的網絡層協議是IP和ARP。除了這兩個協議外,網絡層還有一些其

           它的協議,如RARP,DHCP,ICMP,RIP,IGRP,OSPF等。這些協議的功能是:


           IP協議:

                   用于將多個包交換網絡連接起來的。


           ARP(Address Resolution Protocol)協議

                   根據IP地址獲取MAC地址


           RARP(Reverse Address Resolution Protocol)協議

                   將局域網中某個主機的MAC地址轉換為IP地址


           BOOTP(Bootstrap Protocol)協議

                   是一種引導協議,基于IP/UDP協議,也稱自舉協議,是DHCP協議的前身。BOOTP用

                   于無盤工作站的局域網中,可以讓無盤工作站從一個中心服務器上獲得IP地址。通過

                   BOOTP協議可以為局域網中的無盤工作站分配動態IP地址,這樣就不需要管理員去為

                   每個用戶去設置靜態IP地址。


           DHCP(Dynamic Host Configuration Protocol)協議

                   是一個局域網的網絡協議,使用UDP協議工作, 主要有兩個用途:給內部網絡或網

                   絡服務供應商自動分配IP地址,給用戶或者內部網絡管理員作為對所有計算機作中央

                   管理的手段,在RFC 2131中有詳細的描述。DHCP有3個端口,其中UDP67和UDP68

                   為正常的DHCP服務端口,分別作為DHCP Server和DHCP Client的服務端口;546號

                   端口用于DHCPv6 Client,而不用于DHCPv4,是為DHCP failover服務,這是需要特別

                   開啟的服務,DHCP failover是用來做“雙機熱備”的。


           ICMP(Internet Control Message Protocol)協議

                    Internet控制報文協議。它是TCP/IP協議族的一個子協議,用于在IP主機、路由器之間

                    傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身

                    的消息。


           RIP協議

           是一種內部網關協議(IGP),是一種動態路由選擇協議,用于自治系統(AS)內的路由

                    信息的傳遞。RIP協議基于距離矢量算法(DistanceVectorAlgorithms),使用“跳數”(即

                    metric)來衡量到達目標地址的路由距離。這種協議的路由器只關心自己周圍的世界,只與

                    自己相鄰的路由器交換信息,范圍限制在15跳(15度)之內,再遠,它就不關心了。RIP應

                    用于OSI網絡七層模型的應用層。

                    各廠家定義的管理距離(AD,即優先級)如下:

                    華為定義的優先級是100,思科定義的是120。


           IGRP(Interior Gateway Routing Protocol)協議

           是一種內部網關路由協議,它由Cisco公司八十年代中期設計。


           OSPF(Open Shortest Path First 開放式最短路徑優先)協議

                   是一個內部網關協議(Interior Gateway Protocol,簡稱IGP),用于在單一自治系統

                   (Autonomous System,AS)內決策路由

 

4.3 IEEE 802標準

    TCP/IP沒有對OSI模型最下面兩層的實現,TCP/IP協議主要是在網絡操作系統中實現的。主機中的

    應用層、傳輸層、網絡層任務由TCP/IP程序來完成,而主機OSI模型的最下面兩層數據鏈路層和物

    理層的功能由網卡制造廠商的程序和硬件電路來完成。

      

    網絡設備廠商在制造網卡、交換機、路由器的時候,其數據鏈路層和物理層的功能是依照IEEE

    802規范,也沒有按照OSI的具體協議開發。


    IEEE制訂的802規范標準規定了數據鏈路層物理層功能是:

    . 物理地址尋址

      發送方需要對數據包安裝幀報頭,將物理地址封裝在幀報頭中。接收方能夠根據物理地址識別

      是否是發給自己的數據。


    . 介質訪問控制

      如何使用共享傳輸介質,避免介質使用沖突。

      知名的介質訪問控制技術有以太網技術、令牌網技術、FDDI技術等。


    . 數據幀校驗

      數據幀在傳輸過程中是否受到損壞,丟棄損壞了的幀。      


    . 數據的發送和接收

      操作內存中的待發送數據向物理層電路中發送的過程。在接收方完成相反的操作。

 

    IEEE 802根據不同功能,有相應的協議規范,統稱為IEEE 802x標準。

    圖4.13列出了現在流行的IEEE 802標準。

    

    計算機網絡學習(4):網絡協議與標準

    圖4.13 IEEE協議標準


    由圖4.13可見,OSI模型把數據鏈路層又劃分為兩個子層:

    邏輯鏈路控制(LLC: Logical Link Control)子層

    和

    介質訪問控制(MAC: Media Access Control)子層


    LLC子層任務是提供網絡層程序與鏈路層程序的接口,使得鏈路層主體MAC子層的程序設計獨立于

    網絡層的某個具體協議程序。這樣設計是有必要的,例如新的網絡層協議出現時,只需要為這個新

    的網絡層協議程序寫出對應的LLC子層接口程序,就可以使用已有的鏈路層程序,而不需要全部推翻

    過去的鏈路層程序。

    

    MAC子層完成所有OSI對數據鏈路層要求完成的功能:物理地址尋址、介質訪問控制、數據幀校驗、

    數據發送與接收的控制。


    IEEE 802.2協議對應OSI模型的LLC子層。


    IEEE 802x的核心標準是10余個跨越MAC子層和物理層的設計規范。下面列出了一些常見的IEEE 802

    協議:


    IEEE 802.3

    以太網標準協議規范,提供10M局域網的介質訪問控制子層和物理層設計標準。


    IEEE 802.3u

    快速以太網標準規范,提供100M局域網的介質訪問控制子層和物理層設計標準。


    IEEE 802.3ab

    千兆以太網標準規范,提供1000M局域網的介質訪問控制子層和物理層設計標準。


    IEEE 802.5

    令牌環網標準規范,提供令牌環網的介質訪問控制子層和物理層設計標準。


    IEEE 802.11

    無線局域網標準規范,提供2.4G微波波段1-2Mbps低速WLAN的介質訪問控制子層和物理層設計標準。

    

    IEEE 802.11a

    無線局域網標準規范,提供5G微波波段54Mbps高速WLAN的介質訪問控制子層和物理層設計標準。


    IEEE 802.11b

    無線局域網標準規范,提供2.4G微波波段11Mbps高速WLAN的介質訪問控制子層和物理層設計標準。


    IEEE 802.11g

    無線局域網標準規范,提供IEEE 802.11a和IEEE 802.11b兼容標準。

    

    IEEE 802.14

    有線電視網標準規范,提供Cable Model技術所設計的介質訪問控制子層和物理層設計標準。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定结县| 贵德县| 浏阳市| 东丽区| 杭锦后旗| 阜新| 田阳县| 博罗县| 合山市| 马龙县| 乌兰浩特市| 获嘉县| 鄂托克旗| 会同县| 龙江县| 美姑县| 上高县| 陆丰市| 防城港市| 教育| 驻马店市| 琼中| 布尔津县| 大连市| 英山县| 富民县| 道孚县| 四川省| 陵水| 大竹县| 荆门市| 佳木斯市| 旌德县| 凌源市| 合水县| 贵阳市| 当涂县| 山阴县| 罗田县| 安宁市| 旬邑县|