計算機網絡(一)

計算機網絡

重點在TCP/IP協議和HTTP協議等。
記憶加理解

爲了使不同計算機廠家生產的計算機能夠相互通信,以便在更大的範圍內建立計算機網絡,國際標準化組織(ISO)在1978年提出了"開放系統互聯參考模型",
即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它將計算機網絡體系結構的通信協議劃分爲七層,自下而上依次爲:物理層(Physics Layer)、
數據鏈路層(Data Link Layer)、網絡層(Network Layer)、傳輸層(Transport Layer)、會話層(Session Layer)、表示層(Presentation Layer)、
應用層(Application Layer)。其中第四層完成數據傳送服務,上面三層面向用戶。

TCP/IP協議是Internet最基本的協議、Internet國際互聯網絡的基礎,由網絡層的IP協議和傳輸層的TCP協議組成。
通俗而言:TCP負責發現傳輸的問題,一有問題就發出信號,要求重新傳輸,直到所有數據安全正確地傳輸到目的地。
而IP是給因特網的每一臺聯網設備規定一個地址。

IP層接收由更低層(網絡接口層例如以太網設備驅動程序)發來的數據包,並把該數據包發送到更高層—TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數據包傳送到更低層。
IP數據包是不可靠的,因爲IP並沒有做任何事情來確認數據包是否按順序發送的或者有沒有被破壞,IP數據包中含有發送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。

TCP是面向連接的通信協議,通過三次握手建立連接,通訊完成時要拆除連接,由於TCP是面向連接的所以只能用於端到端的通訊。
TCP提供的是一種可靠的數據流服務,採用"帶重傳的肯定確認"技術來實現傳輸的可靠性。
TCP還採用一種稱爲"滑動窗口"的方式進行流量控制,所謂窗口實際表示接收能力,用以限制發送方的發送速度。

21 ftp 文件傳輸協議(FTP)端口;有時被文件服務協議(FSP)使用
22 ssh 安全 Shell(SSH)服務
23 telnet Telnet 服務
25 smtp 簡單郵件傳輸協議(SMTP)
53 domain 域名服務(如 BIND)
69 tftp 小文件傳輸協議(TFTP)
80 http 用於萬維網(WWW)服務的超文本傳輸協議(HTTP)
443 https 安全超文本傳輸協議(HTTP)


目錄

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5
物理層(PHY) 數據鏈路層(LINK) 網絡層(IP) 傳輸層(TCP/UDP) 應用層(HTTP)

內容

物理層(PHY)

- 物理特性、電氣特性、功能特性、過程特性

- 該層爲上層協議提供了一個傳輸數據的可靠的物理媒體。簡單的說,物理層確保原始的數據可在
各種物理媒體上傳輸。

- 物理層記住兩個重要的設備名稱,中繼器(Repeater,也叫放大器)和集線器。

數據鏈路層(LINK)

-數據鏈路層爲網絡層提供可靠的數據傳輸; 
- 基本數據單位爲幀;
- 主要的協議:以太網協議;
- 兩個重要設備名稱:網橋和交換機。

網絡層(IP)

- 網絡層負責對子網間的數據包進行路由選擇。此外,網絡層還可以實現擁塞控制、網際互連等功能;

- 基本數據單位爲IP數據報;

- 包含的主要協議:

- IP協議(Internet Protocol,因特網互聯協議);

- ICMP協議(Internet Control Message Protocol,因特網控制報文協議);

- ARP協議(Address Resolution Protocol,地址解析協議);

- RARP協議(Reverse Address Resolution Protocol,逆地址解析協議)。

- 重要的設備:網關、路由器。
  • IP地址

    • 網絡地址
      IP地址由網絡號(包括子網號)和主機號組成,網絡地址的主機號爲全0,網絡地址代表着整個網絡。

    • 廣播地址
      廣播地址通常稱爲直接廣播地址,是爲了區分受限廣播地址。

      廣播地址與網絡地址的主機號正好相反,廣播地址中,主機號爲全1。當向某個網絡的廣播地址發送消息時,該網絡內的所有主機都能收到該廣播消息。

    • 組播地址
      D類地址就是組播地址。

      先回憶下A,B,C,D類地址吧:

        - A類地址以0開頭,第一個字節作爲網絡號,地址範圍爲:0.0.0.0~127.255.255.255;
      
        - B類地址以10開頭,前兩個字節作爲網絡號,地址範圍是:128.0.0.0~191.255.255.255;
      
        - C類地址以110開頭,前三個字節作爲網絡號,地址範圍是:192.0.0.0~223.255.255.255。
      
        - D類地址以1110開頭,地址範圍是224.0.0.0~239.255.255.255,D類地址作爲組播地址(一對多的通信);
      
        - E類地址以1111開頭,地址範圍是240.0.0.0~255.255.255.255,E類地址爲保留地址,供以後使用。
      
        - 注:只有A,B,C有網絡號和主機號之分,D類地址和E類地址沒有劃分網絡號和主機號。
      
    • 255.255.255.255

      • 該IP地址指的是受限的廣播地址。受限廣播地址與一般廣播地址(直接廣播地址)的區別在於,受限廣播地址只能用於本地網絡,路由器不會轉發以受限廣播地址爲目的地址的分組;
        一般廣播地址既可在本地廣播,也可跨網段廣播。例如:主機192.168.1.1/30上的直接廣播數據包後,另外一個網段192.168.1.5/30也能收到該數據報;若發送受限廣播數據報,則不能收到。

      • 注:一般的廣播地址(直接廣播地址)能夠通過某些路由器(當然不是所有的路由器),而受限的廣播地址不能通過路由器。

    • 0.0.0.0

      • 常用於尋找自己的IP地址,例如在我們的RARP,BOOTP和DHCP協議中,若某個未知IP地址的無盤機想要知道自己的IP地址,它就以255.255.255.255爲目的地址,
        向本地範圍(具體而言是被各個路由器屏蔽的範圍內)的服務器發送IP請求分組。
    • 迴環地址

      • 127.0.0.0/8被用作迴環地址,迴環地址表示本機的地址,常用於對本機的測試,用的最多的是127.0.0.1。
    • A、B、C類私有地址

      • 私有地址(private address)也叫專用地址,它們不會在全球使用,只具有本地意義。

        • A類私有地址:10.0.0.0/8,範圍是:10.0.0.0~10.255.255.255

        • B類私有地址:172.16.0.0/12,範圍是:172.16.0.0~172.31.255.255

        • C類私有地址:192.168.0.0/16,範圍是:192.168.0.0~192.168.255.255

  • 爲什麼進行子網劃分

    • 減少網絡流量,無論什麼樣的流量,我們都希望它少些,網絡流量亦如此。如果沒有可信賴的路由器,網絡流量可能導致整個網絡停頓,但有了路由器後,
      大部分流量都將呆在本地網絡內,只有前往其他網絡的分組將穿越路由器。路由器增加廣播域,廣播域越多,每個廣播輕鬆劃分子網域就越小,而每個網段的網絡流量也越少。

    • 優化網絡性能,這是減少網絡流量的結果。

    • 簡化管理,與龐大的網絡相比,在一系列相連的小網絡中找出並隔離網絡問題更容易。

    • 有助於覆蓋大型地理區域,WAN鏈路比LAN鏈路的速度慢得多,且更昂貴;單個大跨度的大型網絡在前面說的各個方面都可能出現問題,而將多個小網絡連接起來可提高系統的效率。

  • 網關

    • 網關(Gateway)又稱網間連接器、協議轉換器。默認網關在網絡層上以實現網絡互連,是最複雜的網絡互連設備,僅用於兩個高層協議不同的網絡互連。
      網關的結構也和路由器類似,不同的是互連層。網關既可以用於廣域網互連,也可以用於局域網互連

    • 網關實質上是一個網絡通向其他網絡的IP地址。

    • 比如有網絡A和網絡B,網絡A的IP地址範圍爲“192.168.1.1~192. 168.1.254”,子網掩碼爲255.255.255.0;網絡B的IP地址範圍爲“192.168.2.1~192.168.2.254”,子網掩碼爲255.255.255.0。
      在沒有路由器的情況下,兩個網絡之間是不能進行TCP/IP通信的,即使是兩個網絡連接在同一臺交換機(或集線器)上,TCP/IP協議也會根據子網掩碼(255.255.255.0)判定兩個網絡中的主機
      處在不同的網絡裏。而要實現這兩個網絡之間的通信,則必須通過網關。如果網絡A中的主機發現數據包的目的主機不在本地網絡中,就把數據包轉發給它自己的網關,再由網關轉發給網絡B的網關,
      網絡B的網關再轉發給網絡B的某個主機。

    • 所以說,只有設置好網關的IP地址,TCP/IP協議才能實現不同網絡之間的相互通信。那麼這個IP地址是哪臺機器的IP地址呢?網關的IP地址是具有路由功能的設備的IP地址,
      具有路由功能的設備有路由器、啓用了路由協議的服務器(實質上相當於一臺路由器)、代理服務器(也相當於一臺路由器)。

  • 子網掩碼的計算:

    • 對於無須再劃分成子網的IP地址來說,其子網掩碼非常簡單,即按照其定義即可寫出:如某B類IP地址爲 10.12.3.0,無須再分割子網,則該IP地址的子網掩碼255.255.0.0。如果它是一個C類地址,則其子網掩碼爲 255.255.255.0。其它類推,不再詳述。下面我們關鍵要介紹的是一個IP地址,還需要將其高位主機位再作爲劃分出的子網網絡號,剩下的是每個子網的主機號,這時該如何進行每個子網的掩碼計算。

    • 下面總結一下有關子網掩碼和網絡劃分常見的面試考題:
        1)利用子網數來計算
      在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。

        (1) 將子網數目轉化爲二進制來表示;
            如欲將B類IP地址168.195.0.0劃分成27個子網:27=11011;
      
        (2) 取得該二進制的位數,爲N;
            該二進制爲五位數,N = 5
      
        (3) 取得該IP地址的類子網掩碼,將其主機地址部分的的前N位置1即得出該IP地址劃分子網的子網掩碼。
            將B類地址的子網掩碼255.255.0.0的主機地址前5位置 1,得到 255.255.248.0
      
      • 2)利用主機數來計算
        如欲將B類IP地址168.195.0.0劃分成若干子網,每個子網內有主機700臺:

          			(1) 將主機數目轉化爲二進制來表示;
          			700=1010111100
          			
          			(2) 如果主機數小於或等於254(注意去掉保留的兩個IP地址),則取得該主機的二
          			進制位數,爲N,這裏肯定 N<8。如果大於254,則 N>8,這就是說主機地址將佔
          			據不止8位;
          			該二進制爲十位數,N=10;
        
          			(3) 使用255.255.255.255來將該類IP地址的主機地址位數全部置1,然後從後向前的
          			將N位全部置爲 0,即爲子網掩碼值。
          			將該B類地址的子網掩碼255.255.0.0的主機地址全部置1,得到255.255.255.255,
          			然後再從後向前將後 10位置0,即爲:11111111.11111111.11111100.00000000,即
          			255.255.252.0。
          			這就是該欲劃分成主機爲700臺的B類IP地址 168.195.0.0的子網掩碼。
        
      • 3)還有一種題型,要你根據每個網絡的主機數量進行子網地址的規劃和計算子網掩碼。這也可按上述原則進行計算。
        比如一個子網有10臺主機,那麼對於這個子網需要的IP地址是:
        10+1+1+1=13

          			注意:加的第一個1是指這個網絡連接時所需的網關地址,接着的兩個1分別是指網
          			絡地址和廣播地址。
        
          			因爲13小於16(16等於2的4次方),所以主機位爲4位。而256-16=240,所以該
          			子網掩碼爲255.255.255.240。
        
          			如果一個子網有14臺主機,不少人常犯的錯誤是:依然分配具有16個地址空間的子
          			網,而忘記了給網關分配地址。這樣就錯誤了,因爲14+1+1+1=17,17大於
          			16,
          			所以我們只能分配具有32個地址(32等於2的5次方)空間的子網。這時子網掩碼
          			爲:255.255.255.224。
        
  • ARP/RARP協議

    • 地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,
      並接收返回消息,以此確定目標的物理地址;收到返回消息後將該IP地址和物理地址存入本機ARP緩存中並保留一定時間,下次請求時直接查詢ARP緩存以節約資源。
      地址解析協議是建立在網絡中各個主機互相信任的基礎上的,網絡上的主機可以自主發送ARP應答消息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存;
      由此攻擊者就可以向某一主機發送僞ARP應答報文,使其發送的信息無法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。ARP命令可用於查詢本機ARP緩存中
      IP地址和MAC地址的對應關係、添加或刪除靜態對應關係等。

      • ARP工作流程舉例:

          			主機A的IP地址爲192.168.1.1,MAC地址爲0A-11-22-33-44-01;
          			主機B的IP地址爲192.168.1.2,MAC地址爲0A-11-22-33-44-02;
          			當主機A要與主機B通信時,地址解析協議可以將主機B的IP地址(192.168.1.2)解
          			析成主機B的MAC地址,以下爲工作流程:
        
          					(1)根據主機A上的路由表內容,IP確定用於訪問主機B的轉發IP地址是
          					192.168.1.2。然後A主機在自己的本地ARP緩存中檢查主機B的匹配MAC地
          					址。
          					
          					(2)如果主機A在ARP緩存中沒有找到映射,它將詢問192.168.1.2的硬件地
          					址,從而將ARP請求幀廣播到本地網絡上的所有主機。源主機A的IP地址和
          					MAC地址都包括在ARP請求中。										
          					本地網絡上的每臺主機都接收到ARP請求並且檢查是否與自己的IP地址匹配。
          					如果主機發現請求的IP地址與自己的IP地址不匹配,它將丟棄ARP請求。
          					(3)主機B確定ARP請求中的IP地址與自己的IP地址匹配,則將主機A的IP地
          					址和MAC地址映射添加到本地ARP緩存中。
          					
          					(4)主機B將包含其MAC地址的ARP回覆消息直接發送回主機A。
          					
          					(5)當主機A收到從主機B發來的ARP回覆消息時,會用主機B的IP和MAC地
          					址映射更新ARP緩存。本機緩存是有生存期的,生存期結束後,將再次重複上
          					面的過程。
          					主機B的MAC地址一旦確定,主機A就能向主機B發送IP通信了。
        
    • 逆地址解析協議,即RARP,功能和ARP協議相對,其將局域網中某個主機的物理地址轉換爲IP地址,比如局域網中有一臺主機只知道物理地址而不知道IP地址,那麼可以通過RARP協議發出徵求自身IP地址的廣播請求,然後由RARP服務器負責回答。

      • RARP協議工作流程:

          		(1)給主機發送一個本地的RARP廣播,在此廣播包中,聲明自己的MAC地址並且請求任何收到此請求的RARP服務器分配一個IP地址;
          		(2)本地網段上的RARP服務器收到此請求後,檢查其RARP列表,查找該MAC地址對應的IP地址;
          		(3)如果存在,RARP服務器就給源主機發送一個響應數據包並將此IP地址提供給對方主機使用;
          		(4)如果不存在,RARP服務器對此不做任何的響應;
        
  • 路由選擇協議
    常見的路由選擇協議有:RIP協議、OSPF協議。

    • RIP協議 :底層是貝爾曼福特算法,它選擇路由的度量標準(metric)是跳數,最大跳數是15跳,如果大於15跳,它就會丟棄數據包。

    • OSPF協議 :Open Shortest Path First開放式最短路徑優先,底層是迪傑斯特拉算法,是鏈路狀態路由選擇協議,它選擇路由的度量標準是帶寬,延遲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章