計算機網路基礎知識總結

2021-07-15 17:02:11 字數 4387 閱讀 7896

主題

概要網路基礎

網路知識的常用概念,常用協議,分層結構

編輯時間

新建20160727

序號參考資料

1鳥哥的linux私房菜

2計算機網路,清華大學出版社

osi資料層協議的傳輸方式

這一層是我們最感興趣的囉,因為我們提及的 ip (internet protocol) 就是在這一層定義的。 同時也定義出計算機之間的聯機建立、終止與維持等,資料封包的傳輸路徑選擇等等,因此這個層級當中最重要的除了 ip 之外,就是封包能否到達目的地的路由 (route) 概念了!

這乙個分層定義了傳送端與接收端的聯機技術(如 tcp, udp 技術), 同時包括該技術的封包格式,資料封包的傳送、流程的控制、傳輸過程的偵測檢查與復原重新傳送等等, 以確保各個資料封包可以正確無誤的到達目的端。

在這個層級當中主要定義了兩個位址之間的聯機通道之連線與結束通話,此外,亦可建立應用程式之對談、 提供其他加強型服務如網路管理、簽到簽退、對談之控制等等。如果說傳送層是在判斷資料封包是否可以正確的到達目標, 那麼會談層則是在確定網路服務建立聯機的確認。

我們在應用程式上面所製作出來的資料格式不一定符合網路傳輸的標準編碼格式的! 所以,在這個層級當中,主要的動作就是:將來自本地端應用程式的資料格式轉換(或者是重新編碼)成為網路的標準格式, 然後再交給底下傳送層等的協議來進行處理。所以,在這個層級上面主要定義的是網路服務(或程式)之間的資料格式的轉換, 包括資料的加解密也是在這個分層上面處理。

應用層本身並不屬於應用程式所有,而是在定義應用程式如何進入此層的溝通介面,以將資料接收或傳送給應用程式,最終展示給使用者。

osi 七層協議的架構非常嚴謹,但是也就是因為太過嚴謹了,因此程式撰寫相當不容易,而由 arpanet 發展而來的 tcp/ip也是使用 osi 七層協議的觀念,只是將它簡化為四層,在結構上面比較沒有這麼嚴謹,程式撰寫會更加容易,更廣為接受。

osi協議與tcp/ip協議對應關係

2.1.1 point-to-point protocol (ppp 協議)

2.1.2 非對稱數字用路迴路 (asymmetric digital subscriber line, adsl)

2.1.3 以太網路的傳輸協議:csma/cd

2.1.4 hub與交換機鏈路上進行傳輸的最小單位為幀(frame),目的位址與**位址是網絡卡卡號(hardware address, 硬體位址),在mac的傳送中,它僅在區域網內生效,如果跨過不同的網域,**與目的的硬體位址就會跟著變動。

ipv4 (internet protocol version 4)的表頭結構至少佔據20位元組,如下所示:

具體每個欄位的意思,暫時不用全知道,用到的時候去查就行。

3.2.1 ip的組成

ip由32位二進位制組成,為了人們閱讀習慣,分成四小段,每段8位,並用十進位制表示。

所以 ip 最小可以由 0.0.0.0 一直到 255.255.255.255,而這一串數字又分為net_id (網域號碼)與 host_id (主機號碼) 兩部份

注:在同乙個網段內,net_id 是不變的,而 host_id 則是不可重複,此外,host_id 在二進位制的表示法當中,不可同時為 0 也不可同時為 1 ,因為全為 0 表示整個網段的位址 (network ip),而全為 1 則表示為廣播的位址 (broadcast ip)。

internic 將整個 ip 網段分為五種等級, 每種等級的範圍主要與 ip 那 32 bits 數值的前面幾個位有關,基本定義如下:

一般只掌握a b c三類,d類作為群播 (multicast) 的特殊功能,e類為網段保留。

3.2.3.1 public ip

公共 ip ,經由 internic 所統一規劃的 ip,有這種 ip 才可以連上 internet 。

3.2.3.2private ip

私有 ip 或保留 ip,不能直接連上 internet 的 ip,主要用於區域網路內的主機聯機規劃。

私有 ip 也分別在 a, b, c 三個 class 當中各保留一段作為私有 ip 網段,那就是:

class a:10.0.0.0 - 10.255.255.255

class b:172.16.0.0 - 172.31.255.255

class c:192.168.0.0 - 192.168.255.255

我的理解:建立區域網時,如果能確認不用連上internet就算不使用保留網段也可以,但是不夠專業。

3.2.3.3特殊loopbackip網段

linux主機上常見乙個lo奇怪的網域,即127.0.0.0/8這個class a。這個 lo 的網路是當初被用來作為測試作業系統內部迴圈所用的乙個網域,同時也能夠提供給系統內部原本就需要使用網路介面的服務 (daemon) 所使用。簡單說,如果你沒有安裝網路卡在的機器上面, 但是你又希望可以測試一下在你的機器上面設定的伺服器環境到底可不可以順利運作,這個時候就可以利用這個內部迴圈網路。預設主機位址localhost:127.0.0.1就在這個網段中。

子網掩碼,用來劃分子網,32位,網路段為1,主機段為0。比如,以 192.168.0.0 ~ 192.168.0.255 這個網域為範例。這個 ip 網段可以分為 net_id 與 host_id,既然 net_id 是不可變的,那就假設他所佔據的 bits 已經被用光了 (全部為 1),而 host_id 是可變的,就將他想成是保留著 (全部為 0),所以, netmask 的表示就成為:

注意:host_id 全部為 0 以及全部為 1 的時後該 ip 是不可以使用的,因為 host_id 全部為 0 的時後,表示 ip 是該網段的 network ,至於全部為 1 的時後就表示該網段最後乙個 ip ,也稱為 broadcast。

因此,乙個網段的相關引數由網段、掩碼和廣播位址組成。

所謂子網切分,就是利用掩碼把host_id拿來當作net_id。比如,繼續把192.168.0.0 ~192.168.0.255這個網段細分為兩個子域,就會成如下所示:

注意,兩個子網的掩碼一致,都用了25位表示net_id。但network和broadcast都不相同。

路由和路由器是不同的概念,路由器負責不同網域之間的封包傳遞,傳遞封包的規則是依靠路由表,整個路徑搜尋的功能可以稱之為路由。每部主機都有自己的路由表,由route指令檢視。

網路中最重要的概念就是ip,但以太網路中幀的傳輸主要依靠mac,因此ip與mac勢必有一定關聯,依靠的就是arp (address resolution protocol, 網路位址解析) 協議,以及 rarp (revers arp, 反向網路位址解析)協議。

具體關聯過程是:

我們想要了解某個 ip 其實是設定於某張以太網路卡上頭時,我們的主機會對整個區網傳送出 arp 封包, 對方收到 arp 封包後就會回傳他的 mac 給我們,我們的主機就會知道對方所在的網絡卡,那接下來就能夠開始傳遞資料囉。 如果每次要傳送都得要重新來一遍這個 arp 協定那不是很煩?因此,當使用 arp 協議取得目標 ip 與他網絡卡卡號後, 就會將該筆記錄寫入我們主機的 arp table 中 (記憶體內的資料) 記錄 20 分鐘。

用arp –n指令檢視本機的ip/mac的關聯表:

網路層之上就是傳輸層,傳輸層上最常見的是tcp封包。各封包之間的相關性,如下圖所示。

tcp的表頭結構,也至少包含20個位元組,如下圖所示。各個欄位的含義,包括三次握手,詳細可以參考tcp/ip詳解這本書。

計算機網路基礎知識總結

1.一次完整的http請求所包含的7個步驟 a.建立tcp連線 internet被稱為tcp ip網路,http是比tcp更高層次的應用層協議,只有低層次的建立之後才能進行高層次的連線。b.web瀏覽器向web伺服器傳送請求命令 例如 get sample hello.jsp http 1.1 c....

計算機網路基礎知識總結

1.網路層次劃分 2.osi七層網路模型 tcp ip協議是網際網路的基礎協議,沒有它就根本不可能上網,任何和網際網路有關的操作都離不開tcp ip協議。不管是osi七層模型還是tcp ip的四層 五層模型,每一層中都有自己的專屬協議,完成自己相應的工作以及與上下層級之間進行溝通。由於osi七層模型...

計算機網路基礎知識總結

osi rm模型 七層協議 從下而上 物理層 資料鏈路層 網路層 傳輸層 會話層 表示層 應用層 其中第四層完成資料傳輸服務 上面三層面向使用者 物理層 physical layer 啟用 維持 關閉通訊端點之間的機械特性 電氣特性 功能特性以及過程特性。該層為上層協議提供了乙個傳輸資料的可靠的物理...