網絡管理tcp/ip協議詳解

一、網絡概念

1.什麼是計算機網絡?

      利用通信線路將地理上分散的、具有獨立功能的計算機系統和通信設備按不同的形式連接起來,以功能完善的網絡軟件及協議實現資源共享和信息傳遞的系統。

2.網絡特徵

 速度

 成本

 安全性

 可用性

 可擴展性

 可靠性

 拓撲

二、OSI模型

  網絡分層就是將網絡節點所要完成的數據的發送或轉發、打包或拆包,控制信息的加載或拆出等工作,分別由不同的硬件和軟件模塊去完成。這樣可以將往來通信和網絡互連這一複雜的問題變得較爲簡單。

1.OSI模型的七層結構

spacer.gifwKioL1mqeaPzB_7uAAB34suDK_Q165.png

wKiom1mqeeOwK6GgAACrQsCEZMg140.png

2.通訊模式:單播、廣播、組播

三、網絡設備

wKioL1mqeffi-bvpAABZqa8JxAM717.png

四、TCP/IP 協議棧 (傳輸控制協議/因特網互聯協議)

       協議本質上無非是一種網上交流的約定,由於聯網的計算機類型可以各不相同,各自使用的操作系統和應用軟件也不盡相同,爲了保持彼此之間實現信息交換和資源共享,它們必須具有共同的語言,交流什麼、怎樣交流及何時交流,都必須遵行某種互相都能夠接受的規則。

   目前,全球最大的網絡是因特網(Internet),它所採用的網絡協議是TCP/IP協議。它是因特網的核心技術。TCP/IP協議,具體的說就是傳輸控制協議(Transmission Control Protocol,即TCP)和網際協議(Internet Protocol,即IP)。其中TCP協議用於負責網上信息的正確傳輸,而IP協議則是負責將信息從一處傳輸到另一處。

   TCP/IP協議本質上是一種採用分組交換技術的協議。其基本思想是把信息分割成一個個不超過一定大小的信息包來傳送。目的是:一方面可以避免單個用戶長時間地佔用網絡線路;另一方面

共定義了四層,和ISO參考模型的分層有對應關係,每一層都是爲了完成一種功能,爲了實現這些功能就需要大家都遵守的規則,這種規則就叫做協議,互聯網每一層都定義了很多協議,總稱爲互聯網協議。

wKiom1mqeiny49wUAADDiHSdnqQ442.png

1. 網絡訪問層

      相當於OSI模型的物理層和數據鏈路層

1.1定義

      把電腦鏈接起來的物理手段,主要規定了一些電氣特性、過程規範和功能規範,定義如何格式化數據以便進行傳輸和如何控制對網絡的訪問。

1.2以太網協議

      以太網(Ethernet)協議規定網絡訪問層傳遞的數據單位是幀(frame)包含兩部分標頭(head)和數據(date)

      標頭包含數據包的一些說明包括源地址、目的地址 數據類型,數據則是數據包的具體內容

      標頭長度固定爲18字節,數據長度最短46字節,最長1500字節,因此整個幀最短爲64字節,最長爲1518字節,如果數據很長就要分割成多個幀發送

1.3MAC地址

       以太網規定連入網絡的所有設備都必須具有網卡接口,數據包必須是從一塊網卡傳送到另一塊網卡,網卡的地址稱爲MAC地址,每個網卡出廠時都要一個獨一無二的MAC地址用十二位16進製表示。那麼一塊網卡怎麼知道另一塊網卡的MAC地址呢?答案是利用ARP協議把MAC地址解析爲IP,然後利用廣播向本網絡的所有計算機發送數據,計算機讀取數據包標頭接收方的MAC地址與自身對比,相同就接收否則丟棄。

2.網絡層

2.1網絡層的由

       以太網協議依靠MAC地址發送數據侷限於同一個子網絡,而且採用廣播方式效率低下,因此需要一種方法區分哪些MAC地址屬於同一個子網絡,哪些不是。如果是一個子網就用廣播的方式發送,否則就用路由的方式,因此誕生了網絡層,他的作用是引進一套新的地址,即網絡地址,由管理員分配,每個計算機都有兩套地址,網絡地址確定計算機所在子網絡,MAC地址將數據包送到該子網中目標網卡。

2.2 IP協議

       規定網絡地址的協議叫做IP協議,它所定義的IP地址被稱爲IP地址,ipv4規定網絡地址由32個二進制組成,IP地址=網絡地址+主機地址,處於相同子網的IP地址網絡地址相同,但是從IP地址無法看出哪部分是網絡地址,因此定義了子網掩碼,所謂的子網掩碼也是一個32位二進制數,它的網絡部分全部爲1,主機部分全部爲0,如192.168.0.1已知網絡部分是前16位,則主機是後16位,那麼子網掩碼爲11111111.11111111.0.0寫成十進制爲255.255.0.0,知道子網掩碼後,兩個網絡分別與各自子網掩碼相與結果相同就在同一個網絡中,不同就不是。

2.3IP數據包

wKiom1mqen7i5e-gAAENn2WnVb4687.png

2.4ARP協議

     因爲IP數據包是放在以太網數據包裏發送的,我們必須同時知道兩個地址,一個是對方的MAC地址,一個是對方的IP地址。通常情況下,對方的IP地址是已知的,但不知道對方的MAC地址,所有我們需要一種方法從對方的IP地址得到對方的MAC地址

      第一種情況,兩臺機子不在同一個子網絡,只能把數據包交給網關處理

      第二種情況,兩臺主機在同一個子網絡,通過ARP協議得到對方的MAC地址ARP發出數據包在目的地址寫的是FF:FF:FF:FF:FF:FF:FF:FF,這是一個廣播地址,子網每臺主機都會收到從中取出IP地址與自身IP地址對比,相同就做出回覆,否則丟棄。

2.5ICMP協議

網際控制消息協議ICMP:發送消息,並報告有關數據包的傳送錯誤

互聯組管理協議IGMP:被IP主機拿來向本地多路廣播路由器報告主機組成員

3.傳輸層UDP/TCP

3.1傳輸層的由來

     當同一臺主機許多程序都需要網絡,比如一邊聊天,一邊瀏覽網頁時怎樣確定來自網絡的數據包是表示網頁內容還是聊天內容,我們需要一個參數表示這個數據包供哪個進程使用,這個參數叫做”端口“

      端口是0到65535(2^16)之間的一個整數,0-1023端口被系統佔用

      cat   etc/service  常用端口號

      服務器端口固定,客戶端端口隨機

      傳輸層就是建立端口到端口的通信,相比之下網絡層就是建立主機到主機的通信只要確定主機和端口就可以進行程序之間交流,Linux把主機+端口叫做”套接字“

3.2UDP

    在數據中加入端口信息,需要新的協議,最簡單的叫做UDP 協議,它的格式幾乎實在數據前面加上端口號。

wKioL1mqeobSL9vgAABOLmDnGng488.png

3.3TCP

    UDP協議簡單容易實現,但缺點是可靠性差,數據發出無法知道對方是否收到,爲了解決這個問題提高網絡可靠性誕生了TCP協議,它是有確認機制的UDP協議,每發出一個數據包都要求確認,如果數據包丟失就會重發,“三次握手”“四次揮手”

wKioL1mqeqbRygFCAACxRzSqPPc988.png

3.4TCP、UDP 對比

wKiom1mqetihP3vIAAAaw_3HAII856.png

4.應用層

     應用層是最高的一層,直接面向用戶,作用就是規定應用程序的數據格式,比如Email、www協議分別規定了電子郵件、網頁的數據格式。


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