計算機網絡初識

網絡

1.什麼是計算機網絡?

定義:計算機網絡是指將地理位置不同的具有獨立功能的多臺計算機及其外部設備,通過通信線路連接起來,在網絡操作系統,網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。

這裏的定義比較繁瑣,通俗的來說,網絡,就是把一羣計算機通過一些硬件和協議連接起來,達到資源共享的東西。

2.計算機網絡發展的發展

  1. 獨立模式: 計算機之間相互獨立;
  2. 網絡互聯: 多臺計算機連接在一起, 完成數據共享;
  3. 局域網LAN: 計算機數量更多了, 通過交換機和路由器連接在一起;
  4. 廣域網WAN: 將遠隔千里的計算機都連在一起;

這就是計算機網絡的發展,起初,電腦只是用作計算或者用於辦公等,根本不需要連接網絡。後來美國軍方一通瞎操作,想搞一個信息傳遞的通道,就整出個網絡,後來以這個爲原型搞出一個飛機訂票系統。這裏不多說了,有興趣的去看看這篇文章

這裏要注意的一點是:所謂 “局域網” 和 “廣域網” 只是一個相對的概念. 比如, 我們有 “天朝特色” 的廣域網, 也可以看做一個比較大的局域網.

3.什麼是協議?

網絡協議:計算機網絡中進行數據交換而建立的規則、標準或約定的集合。

通俗來說吧,就是約定如何交互解析信息。比如,我們都知道在計算機最底層,沒有豐富的圖片,音頻,視頻,漢字等,只有簡簡單單的0和1,那麼一堆數字計算機怎麼去解析呢?這裏就需要一種約定,去規範雙方的數據格式,也就是我們所謂的協議。

起初,製造計算機的各個廠家隨便亂來,協議也都不統一,大家互相通信之間可能會導致不兼容的情況,後來計算機網絡發展的越來越快,國際標準化組織(ISO)在1978年提出了“開放系統互聯參考模型”,也被稱爲ISO七層模型。
就是這個樣子後來,大家在這個基礎上又整了個TCP/IP五層模型:
在這裏插入圖片描述如果第一次接觸網絡的話,估計都迷了,那我所知道的Http,ARP,RAP,ICMP,哪些什麼都跟什麼啊?

我們所知道的TCP/IP協議,準確地應該是TCP/IP協議簇,它裏面不同層之間有不同層的協議,用來規定數據如何加工
在這裏插入圖片描述這些協議我們後面再總結。

4.網絡中硬件

NIC: 網卡在數據鏈路層工作,是連接計算機和傳輸介質的接口,實現與傳輸介質的物理連接和電信號匹配,同時還負責幀的發送與接收、幀的封裝與拆封、介質訪問控制、數據的編碼與解碼以及數據緩存的功能等。

Repeater: 中繼器在物理層運行, 2 端口設備。放大信號,從而延長信號在同一網絡上傳輸的長度。

HUB: 集線器在物理層運行,基本上是一個多端口中繼器。集線器連接來自不同分支的多條電線,例如連接星形拓撲中的不同節點。集線器不能過濾數據,因此數據包將發送到所有連接的設備(廣播)。集線器都有碰撞檢測功能,每次只允許一個設備發送廣播信號,效率低。

Bridge: 網橋在數據鏈路層運行,2 端口設備。跟集線器相比,網橋可以通過讀取源和目的地的 MAC 地址來過濾內容,從而隔離網絡。

Switch: 交換機在數據鏈路層運行,是一個多端口網橋。交換機中維護一張 Port-MAC 映射表,記錄每個端口上的主機的 MAC 地址。跟集線器相比,交換機記錄每個端口上主機的 MAC 地址,每次轉發數據時都只會發送到指定的端口,而不是廣播到所有主機,效率高。

Router: 路由器在網絡層運行,類似交換機,但是根據 IP 地址發送數據包。家庭路由器通常將局域網和廣域網連接在一起。路由器中有一個動態更新的路由表,以此作爲決策依據。現在的路由器通常集成了多個功能,包括有 4 個端口的集線器、NAT(Network Address Translator 網絡地址轉換)、DHCP(Dynamic Host Configuration Protocol 動態主機配置協議)、DNS(Domain Name Service 域名服務)代理服務器和硬件防火牆。路由器有一個 WAN 端口,可以連接到電信或聯通的網絡。通過路由器內部的集線器可以方便的創建 LAN。藉助 DHCP 和 NAT,這個 LAN 中的所有設備都可以使用唯一的 IP 地址訪問網絡。

Gateway: 網關是將兩個網絡連接在一起的通道,可以在不同的網絡協議下工作。網關也稱爲協議轉換器,可以在任何網絡層運行。網關通常比交換機或路由器更復雜。路由器可以在相同網絡間移動數據,相當於特殊的網關(IP 網關)。

5.IP地址和MAC地址

IP地址:

首先說明,IP協議有兩個版本, IPv4和IPv6.。我們現在基本使用的都是IPV4,但前段時間IPV4的地址已經耗盡了,現在都在轉變成IPV6。
IP地址是在IP協議中, 用來標識網絡中不同主機的地址;

對於IPv4來說, IP地址是一個4字節, 32位的整數;(我們通常也使用 “點分十進制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用點分割的每一個數字表示一個字節, 範圍是 0 - 255)

對於IPv6來說,IP地址是一個16字節,也就是128位。(表示方法有三種:1.冒分十六進制表示法 2.0位壓縮表示法 3.內嵌IPv4地址表示法)

這裏要細說IP地址,IP地址是由網絡地址與主機地址兩部分所組成,分爲A類,B類,C類,D類,E類

 最初設計互聯網絡時,爲了便於尋址以及層次化構造網絡,每個IP地址包括兩個標識碼(ID),即網絡ID和主機ID。同一個物理網絡上的所有主機都使用同一個網絡ID,網絡上的一個主機(包括網絡上工作站,服務器和路由器等)有一個主機ID與其對應。IP地址根據網絡ID的不同分爲5種類型,A類地址、B類地址、C類地址、D類地址和E類地址。

1. A類IP地址 一個A類IP地址由1字節的網絡地址和3字節主機地址組成,網絡地址的最高位必須是“0”, 地址範圍從1.0.0.0 到126.0.0.0。可用的A類網絡有126個,每個網絡能容納1億多個主機。  

2. B類IP地址 一個B類IP地址由2個字節的網絡地址和2個字節的主機地址組成,網絡地址的最高位必須是“10”,地址範圍從128.0.0.0到191.255.255.255。可用的B類網絡有16382個,每個網絡能容納6萬多個主機 。 

3. C類IP地址 一個C類IP地址由3字節的網絡地址和1字節的主機地址組成,網絡地址的最高位必須是“110”。範圍從192.0.0.0到223.255.255.255。C類網絡可達209萬餘個,每個網絡能容納254個主機。 

4. D類地址用於多點廣播(Multicast)。 D類IP地址第一個字節以“lll0”開始,它是一個專門保留的地址。它並不指向特定的網絡,目前這一類地址被用在多點廣播(Multicast)中。多點廣播地址用來一次尋址一組計算機,它標識共享同一協議的一組計算機。224.0.0.0到239.255.255.255用於多點廣播 。

5. E類IP地址 以“llll0”開始,爲將來使用保留。240.0.0.0到255.255.255.254

這塊吧,能理解多少是多少,反正要是光寫程序,瞭解就好,我們一般是應用層。。。

MAC地址

MAC地址用來識別數據鏈路層中相連的節點;
mac地址長度爲48位, 及6個字節.
一般用16進制數字加上冒號的形式來表示(例如: 08:00:27:03:fb:19)
在網卡出廠時就確定了, 不能修改. mac地址通常是唯一的(虛擬機中的mac地址不是真實的mac地址, 可能會衝突; 也有些網卡支持用戶配置mac地址)

IP地址和MAC地址的區別

IP地址相當於你們家的地址,而MAC地址相當於你的身份證號,家能知道你的位置但家的位置可能搬來搬去,而身份證號,一生只有一個,無法更改。
也就是說,IP地址就是你電腦在網絡上的位置的,但這玩意是不固定的,當你設備連上網絡,DHCP服務自動爲你設備分配一個IP地址,你斷開連接後,這個IP地址就不是你的了。而MAC地址就是你設備的唯一標識,直接燒錄在網卡,無法更改(也不絕對,有動手能力的黑客可以改吧),這個是唯一的,永遠是你設備的。

6.一次通訊的過程

我們上網,打開一個網頁,就簡簡單單的鼠標一點,其實在後臺已經發生了許多事情了。這裏我們以訪問一個本地主機爲例,ip爲192.168.0.100;

(1)數據包封裝

前置條件
1.服務端:局域網內有192.168.0.100的ip主機,提供服務;(目的IP+目的端口號)
2. 客戶端:本機在瀏覽器訪問192.168.0.100

流程

  1. 應用層:瀏覽器將請求數據(ip)封裝爲Http協議(默認端口80)的數據(ip+port)
  2. 傳輸層:本機傳輸層tcp將前一個封裝數據再次封裝爲tcp數據包
  3. 網絡層:網絡層ip協議再次封裝
  4. 數據鏈路層:攜帶mac
  5. 請求端—>發送數據---->局域網主機
    下圖爲數據的變化:
    在這裏插入圖片描述到此一個數據就封裝好了,然後交給物理層(網線)進行傳遞。
數據包分用

接收端處理數據

  1. 數據鏈路層:操作系統在網卡接受數據,由系統解析
  2. 網絡層:系統處理ip頭
  3. 傳輸層:系統處理tcp頭(ip+port),知道了端口號,就知道應用程序,系統把數據包交給程序進行執行
  4. 應用層:應用程序處理數據(根據協議)

在這裏插入圖片描述

整個過程的流向,除了物理層是真實連接以外,其餘都是虛通訊。
在這裏插入圖片描述

7.MAC地址的來源

我們剛說了,在數據鏈路層會攜帶mac地址,那麼mac地址怎麼來的呢?
我們分三種情況:
局域網內發送數據(沒有交換機,沒有路由器):
現在只知道目的ip,不知道目的mac,(本機ARP緩存表ip<---->mac映射關係),
(1)查找 本機緩存表 ,找到了就發送目的mac主機。
(2)如果找不到, 廣播 一條請求mac地址的數據(不是發送目的mac,是發送目的ip),局域網所有主機都收到這條消息,檢查自己ip和請求ip地址,不一致就丟棄,一致則說明是請求我, 響應 我的mac消息。
(3)請求方知道目的mac以後,再 發送 數據包(包含目的ip,目的port,目的mac)(局域網所有主機接收到該數據包,如果發現目的mac和自己不一致,就丟棄,如果一致,就處理數據)

碰撞域/衝突域 :局域網內主機接收數據包,mac地址衝突

局域網發送數據(有交換機,沒有路由器)
發送端封裝和接收端分用的過程一樣
前置條件:
交換機MAC地址轉換表:轉換IP和局域網MAC;交換機由多個端口號處理局域網主機數據報
(1)發送數據到 交換機
(2)交換機處理數據:查看 MAC地址轉換表 ,如果有目的ip的mac,就直接發送;如果沒有,就發送請求mac的 廣播 報,所有局域網主機都接收到,不是自己的ip,就丟棄,是我,就把我的mac發送給交換機
(3)交換機 更新 MAC地址轉換表
(4)知道了目的MAC, 發送 數據

碰撞域/衝突域 :仍然存在,但是減小了碰撞機率

局域網發送數據(有交換機,也有路由器)
發送端封裝和接收端分用的過程一樣
前置條件:交換機處理邏輯和之前一樣
IP:分爲網絡號(前三位)+主機號(最後一位)
子網掩碼:利用子網掩碼可以判斷一個ip是否是同一個局域網(按位與操作)
網關(路由器):路由的功能,路由表來實現。提供網關ip
局域網內所有主機配置子網掩碼,網關ip

發佈了42 篇原創文章 · 獲贊 12 · 訪問量 3336
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章