TCP/IP(一)之開啟計算機網絡之路


前言

  在一段時間里,都很想知道一台電腦怎么跟另一台電腦通信的,我發送一個qq給女朋友,怎么准確的發送過去的,又是怎么接受消息的。

  接下來一段時間給大家慢慢分享關於計算機網絡的相關知識。

一、局域網、廣域網和Internet

1.1、局域網

  1)概述

  局域網(Local Area Network,LAN)是指在某一區域內由多台計算機互聯成的計算機組。一般是方圓幾千米以內。局域網可以實現
    文件管理、應用軟件共享、打印機共享、工作組內的日程安排、電子郵件和傳真通信服務等功能。局域網是封閉型的,可以由辦公室內的兩台計算機組成,也可以由一個公司內的上千台計算機組成。
  局域網(Local Area Network,LAN)是在一個局部的地理范圍內(如一個學校、工廠和機關內),一般是方圓幾千米以內,將各種計算機,外部設備和數據庫等互相聯接起來組成的計算機通信網
    它可以通過數據通信網或專用數據電路,與遠方的局域網、數據庫或處理中心相連接,構成一個較大范圍的信息處理系統。局域網可以實現文件管理、應用軟件共享、打印機共享、
    掃描儀共享、工作組內的日程安排、電子郵件和傳真通信服務等功能。
    局域網嚴格意義上是封閉型的。它可以由辦公室內幾台甚至上千上萬台計算機組成。決定局域網的主要技術要素為:網絡拓撲,傳輸介質與介質訪問控制方法。

  2)特點 

  覆蓋范圍較小、自己花錢買設備來組件小型網絡,寬帶固定,自己維護 

  覆蓋范圍小:相比於整個internet來講,局域網肯定很小了,例如,校園網、企業網,覆蓋范圍也就那么一點

  寬帶固定:因為是局域網,范圍小,網絡部擁堵,幾乎就是有多少帶寬,趨於穩定

  自己花錢買設備維護:比如以下的是校園網, 三個教室,每個教室都有電腦,每台電腦都連自己教室里的交換機,接入交換機又連到學校里一個更大的匯聚交換機,匯聚交換機連接外面的網絡

            校園內每間教室或者每個用網的地方都是如此來上網的,這樣學校自己花錢買的交換機, 自己來維護自己學校里面的網絡。

    

1.2、廣域網

  1)概述

  廣域網(WAN,Wide Area Network)也稱遠程網(long haul network )。通常跨接很大的物理范圍,所覆蓋的范圍從幾十公里到幾千公里,
    它能連接多個城市或國家,或橫跨幾個洲並能提供遠距離通信,形成國際性的遠程網絡。
  覆蓋的范圍比局域網(LAN)和城域網(MAN)都廣。廣域網的信子網主要使用分組交換技術。廣域網的通信子網可以利用公用分組交換網、衛星通信網和無線分組交換網
    它將分布在不同地區的局域網或計算機系統互連起來,達到資源共享的目的。如因特網(Internet)是世界范圍內最大的廣域網。
  廣域網是由許多交換機組成的,交換機之間采用點到點線路連接幾乎所有的點到點通信方式都可以用來建立廣域網
    包括租用線路、光纖、微波、衛星信道。而廣域網交換機實際上就是一台計算機,有處理器和輸入/輸出設備進行數據包的收發處理。

  2)舉例生活:距離遠 花錢租帶寬 

  看下圖,我們不管哪個地方上網,都必須聯網,上網能訪問一些網站,跟別人聊天,為什么呢?
  因為有一些ISP在幫我們做牽線工作。ISP(Internet Service Provider)因特網服務提供商,電信、聯通、移動等,它們在各個地方埋網線,有自己的主機、 然后我們出錢連入他們的網絡,
  就能訪問上網了。有一些網站站點放在電信機房中,我們電信網去訪問,就會比較快,因為通往主機那邊的地址的方式很多,如果電信網訪問放在聯通主機房中的網址,則相對會受到影響。

    

1.3、Internet

  Internet,中文正式譯名為因特網,又叫做國際互聯網。它是由那些使用公用語言互相通信的計算機連接而成的全球網絡。一旦你連接到它的任何一個節點上,就意味着您的計算機已經連入Internet網上了。
  Internet目前的用戶已經遍及全球,有超過幾億人在使用Internet,並且它的用戶數還在以等比級數上升。

二、計算機數據之間通信的過程

2.1、路由器的功能(轉發收到的分組)

  1)什么是分組?

  發送一段數據,將該段數據進行分組發送,而不是一次性全發送完。

  2)什么是分組交換?

    在網路中,路由器跟路由器之間有一定的距離, 我們計算機要發送一段數據出去,首先將數據分成n個分組,在每個分組前特定的頭部,就成了數據包

  然后將數據包發送到路由器,通過路由器來接受這些數據包,然后一部分一部分的發送,接受,在發送其中一個數據包的過程中,占用了其中的道路,發送完這一個,

  就釋放並不是一直占用該資源,直到傳輸結束,在其接受或發送數據時,也可以接受或發送別的數據,看先接受誰,就先發送誰,其實就是一個隊列

  3)分組交換、電路交換、報文交換的區別?

  電路交換:就是電話線, A打給B ,AB之間的電話線就接通了,那么不管他兩說沒說話,說多久,直到掛斷之前,該線都是在占用之中。

  報文交換:一次性發送完整的數據,那么該段路就被占用,傳完就釋放,然后接下一步的傳送。直到到達目的地

  分組交換:高效、靈活、迅速、可靠。

  4)圖解

    情景: 1號計算機和2號計算機組成局域網, 主機1、主機2、主機3就相當於電信的主機,網頁都存在在主機中

    

    4.1)ip地址跟MAC地址:   

      每個計算機都有自己獨特的ip地址,全球獨一無二,跟電話一樣,有些電話是 031-開頭 有些地區是079開頭, 這是分地區的,ip地址也是一樣,

      mac地址:每台計算機上都有一個物理地址,也是獨有的。在網卡上面,路由器也有mac地址。

    4.2)號計算機如何通過www.baidu.com來訪問到百度的主頁:

      每台計算機上都有DNS解析器, 通過DNS將域名解析成對應地址,

      路由器每次識別目標ip地址,以此來更改原mac地址和下一步目標的mac地址

      

    4.3)主機如何將網頁數據發回請求的計算機:   

      第一步:將要返回的數據分成N份
      第二步:每次將發送幾份到緩存中,緩存就相當於隊列,先進先出,緩存中發一份發回請求的計算機
      第三步:計算機接到第一份,返回一個數據,讓主機發送下一份,然后將緩存中剛才發送的那一份刪除
      第四步;如果中途數據丟包,則從緩存中繼續發送剛才不成功那一份,直到接收到請求的計算機發回的確認數據。

三、OSI參考模型

3.1、OSI參考模型概述

  

  OSI(Open Systems Interconnection Reference Model)OSI/RM   簡稱 OSI 開放系統互連參考模型,通俗的將就是我們說的7層協議的體系結構

  OSI七層模型的划分:

  OSI定義了網絡互連的七層框架(物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層),即ISO開放互連系統參考模型。

  每一層實現各自的功能和協議,並完成與相鄰層的接口通信。OSI的服務定義詳細說明了各層所提供的服務。某一層的服務就是該層及其下各層的一種能力,它通過接口提供給更高一層。各層所提供的服務與這些服務是怎么實現的無關。

    

3.2、各層功能概述

  在這里我們簡單描述一下各層的功能,不詳細深究,因為每一層實際都是一個復雜的層。整個過程以公司A和公司B的一次商業報價單發送為例子進行講解

  注意:這七層是在發送數據到網線之前,在計算機中內部就已經經過了這7層,不是在傳輸過程中才慢慢經過這7層的

  1)應用層 

    OSI參考模型中 最靠近用戶的一層,是為 計算機用戶提供應用接口,也為用戶直接提供各種網絡服務。我們常見應用層的網絡服務協議有: HTTP,HTTPS,FTP,POP3、SMTP等。
          例子 :實際公司A的老板就是我們所述的用戶,而他要發送的商業報價單,就是應用層提供的一種網絡服務,當然,老板也可以選擇其他服務,比如說,發一份商業合同,發一份詢價單,等等。
  2)表示層
     表示層提供各種用於 應用層數據的編碼和轉換功能,確保 一個系統的應用層發送的數據能被另一個系統的應用層識別。如果必要,該層可提供一種 標准表示形式
    用於 將計算機內部的多種數據格式轉換成通信中采用的標准表示形式。數據 壓縮和加密也是表示層可提供的轉換功能之一。
    例子:由於公司A和公司B是不同國家的公司,他們之間的商定統一用英語作為交流的語言,所以此時表示層(公司的文秘),就是將應用層的傳遞信息轉翻譯成英語。
       同時為了防止別的公司看到,公司A的人也會對這份報價單做一些加密的處理。這就是表示的作用,將應用層的數據轉換翻譯等。
  3)會話層
     會話層就是 負責建立、管理和終止表示層實體之間的通信會話。該層的通信由不同設備中的 應用程序之間的服務請求和響應組成。 
    例子:會話層的同事拿到表示層的同事轉換后資料,(會話層的同事類似公司的外聯部),會話層的同事那里可能會掌握本公司與其他好多公司的聯系方式,這里公司就是實際傳遞過程中的實體。
       他們要管理本公司與外界好多公司的聯系會話。當接收到表示層的數據后,會話層將會建立並記錄本次會話,他首先要找到公司B的地址信息,然后將整份資料放進信封,並寫上地址和聯系方式。
       准備將資料寄出。等到確定公司B接收到此份報價單后,此次會話就算結束了,外聯部的同事就會終止此次會話。
  4)傳輸層
     傳輸層建立了 主機端到端的鏈接,傳輸層的作用是 為上層協議提供端到端的可靠和透明的數據傳輸服務,包括處理差錯控制和流量控制等問題。該層向高層屏蔽了下層數據通信的細節,
    使高層用戶看到的只是在兩個傳輸實體間的一條主機到主機的、可由用戶控制和設定的、可靠的數據通路。我們通常說的, TCP UDP就是在這一層。端口號既是這里的“端”。 
    例子: 傳輸層就相當於公司中的負責快遞郵件收發的人,公司自己的投遞員,他們負責將上一層的要寄出的資料投遞到快遞公司或郵局。
  5)網絡層
     本層 通過IP尋址來建立兩個節點之間的連接,為源端的運輸層送來的分組,選擇合適的路由和交換節點正確無誤地按照地址傳送給目的端的運輸層
     就是通常說的IP層。這一層就是我們經常說的 IP協議層。IP協議是Internet的基礎
    例子: 網絡層就相當於快遞公司龐大的快遞網絡,全國不同的集散中心,比如說,從深圳發往北京的順豐快遞(陸運為例啊,空運好像直接就飛到北京了),
          首先要到順豐的深圳集散中心,從深圳集散中心再送到武漢集散中心,從武漢集散中心再寄到北京順義集散中心。這個 每個集散中心,就相當於網絡中的一個IP節點
  6)數據鏈路層    

    將比特組合成字節,再將字節組合成幀,使用鏈路層地址 (以太網使用MAC地址)來訪問介質,並進行差錯檢測。
    數據鏈路層又分為2個子層:邏輯鏈路控制子層(LLC)和媒體訪問控制子層(MAC)。
    MAC子層處理CSMA/CD算法、數據出錯校驗、成幀等;LLC子層定義了一些字段使上次協議能共享數據鏈路層。 在實際使用中,LLC子層並非必需的。

  7)物理層

    實際最終信號的傳輸是通過物理層實現的。通過物理介質傳輸比特流。規定了電平、速度和電纜針腳。
    常用設備有(各種物理設備)集線器、中繼器、調制解調器、網線、雙絞線、同軸電纜。這些都是物理層的傳輸介質。
    例子: 快遞寄送過程中的交通工具,就相當於我們的物理層,例如汽車,火車,飛機,船。

3.3、各層通信的特點

  通信特點:對等通信     

  對等通信,為了使數據分組從源傳送到目的地,源端OSI模型的每一層都必須與目的端的對等層進行通信,這種通信方式稱為對等層通信。在每一層通信過程中,使用本層自己協議進行通信。

    

四、TCP/IP五層模型

 TCP/IP五層協議和OSI的七層協議對應關系如下  

  

在每一層都工作着不同的設備,比如我們常用的交換機就工作在數據鏈路層的,一般的路由器是工作在網絡層的。

  

在每一層實現的協議也各不同,即每一層的服務也不同.下圖列出了每層主要的協議。其中每層中具體的協議。

  

五、OSI參考模型和TCP/IP協議

  1)OSI參考模型和TCP/IP協議圖

    

  2)發送數據:數據的封裝,各個層次都做了什么事情

    

  3)數據封裝后的樣子

    

  4)接受數據,解封裝

    

六、計算機上的各種性能指標解釋

速率、帶寬、吞吐量、時延、時延帶寬積、往返時間、利用率

6.1、速率

  在計算機與計算機之間通信時傳輸數據位數的速率 單位 bit/s 1 bit也就是 1 位

  byte 與 bit 的區別和換算

    byte:字節    bit:位

    1byte = 8bit

  按字節換算

    1 k = 1024byte  M與byte之間的換算是1024

    1M = 1024K   

  按位換算

    1kb = 1000bit

    1Mb = 1000Kb

    1Gb = 1000Mb

  問題一:我們人們常說的我的網絡是8M 為什么下載速度只有1M/S呢?

    這里的8M,單位是Mb,也就是按位來算的, 而下載速度是按字節算的 8M = 8000Kb = 8000,000bit = 1000,000 byte ≈1000kb ≈1M

    所以一般都市直接除以8,8M的網絡下載速度就是1M/s 100M的網下載速度也就10M/s

6.2、帶寬

  接口支持最高的傳輸速率, 也就是我們的帶寬是8M, 帶寬是100M. 就是最高支持一次傳輸8M,自己換算一下,能傳多個位。 

6.3、吞吐量

  單位時間內通過某個網絡的數據量

  簡單的說,就是通過一根網線一次性傳輸的多少個位,最高位就是帶寬,但不是每次傳輸都達到了帶寬值,有可能通過的只有3M,5M,都不一定,通過的量就是我們說的吞吐量     

6.4、時延

  發送時延、傳播時延、處理時延、排隊時延

  發送時延 = 數據塊長度(bit)/信道寬度(bit/s)

  過一個特定情景來講解                  

    A----------------路由器---------------------B

    A發送0101010101(10bit)數據到B 帶寬是10bit/s  A距離B 100米 信號在信道上的傳播速率 10米/s

    當從開始發送1到最后一個0從A的網卡中出來結束,發送時延 = 10bit/10bit/s = 1s

  傳播時延 = 信道長度(米)/信號在信道上傳播速率(米/秒)

  傳播時延:從A發送1開始,到路由器,接受最后一個0結束,這一段也算是傳播時延,路由器到B之間也是 100/10 = 10秒。 在電線上花費的時間是10秒

  排隊時延:路由器接受數據,有一個緩沖區,相當於隊列,數據到路由器,先到緩沖區排隊等待路由器一個個接受數據,直到路由器開始接受第一個位,這就是排隊時延,從路由器出來也需要排隊時延

  處理時延:路由器開始接受第一個位,這就開始處理數據了,到最后一個位接受完,這之間就是處理時延

6.5、時延帶寬積

   其實也就是在信道中有多少位數據在其中,用的是帶寬,也就是最高的數據。

  傳播時延 * 帶寬 

6.6、往返時間

  從A到B,在B返回數據到A,之間用了多少時間

  使用命令 ping www.baidu.com 從我們瀏覽器到存放百度地址的主機,然后返回數據到我們計算機需要的時間

 

覺得不錯的伙伴:點個“推薦”哦!

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM