計算機網絡
從下往上:
物理層
數據鏈路層
網絡層
傳輸層
會話層
表示層
應用層
網絡接口層
網際層
傳輸層
應用層
物理層
數據鏈路層
網絡層
傳輸層
應用層
任何發送或者接收信息的硬件或軟件進程
控制兩個對等實體(或多個實體)進行通信的規則的集合
在協議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務。要實現本層協議,還需要使用下面一層所提供的服務。
在同一系統中相鄰兩層的實體進行交互(即交換信息)的地方。SAP:Service Access Point
在物理層上,所傳數據的單位是比特。因此物理層要考慮用多大的電壓代表「1」或「0」,以及接收方如何識別出發送方所發送的比特。物理層還要確定連接電纜的插頭應當有多少根引腳以及各引腳應如何連接。
物理層的重點在於怎樣才能在連接各種計算機的傳輸媒體上傳輸數據比特流。
1)鏈路
從一個結點到相鄰結點的一段物理線路(有線或無線),而且中間沒有任何其他的交換結點。
2)數據鏈路:
當需要在一條線路上傳送數據時,除了必須有一條物理線路外,還必須有一些必要的通信協議來控制這些數據的傳輸。若把實現這些協議的硬件和軟件加到鏈路上,就構成了數據鏈路。
3)幀
點對點信道的協議數據單元
4)數據鏈路層的作用
數據鏈路層把網絡層交下來的數據構成幀發送到鏈路上,以及把接收到的幀中的數據取出並上交給網絡層。
5)點對點信道的數據鏈路層在進行通信時的主要步驟
(1)結點A的數據鏈路層把網絡層交下來的IP數據報添加首部和尾部封裝成幀。
(2)結點A把封裝好的幀發送給結點B的數據鏈路層。
(3)若結點B的數據鏈路層收到的幀無差錯,則從收到的幀中提取出IP數據報交給上面的網絡層;否則丟棄這個幀。
1)封裝成幀
封裝成幀就是在一段數據的前後分別增加首部和尾部,這樣就構成了一個幀。
2)透明傳輸
當傳輸的幀是用文本文件組成的幀時(文本文件中的字符都是直接從鍵盤上輸入的)其數據部分顯然不會出現像SOH或EOT這樣的幀定界字符,可見不管是從鍵盤上輸入什麼字符讀可以放在這樣的幀中傳輸過去,因此這樣的傳輸就是透明傳輸。
當傳輸的幀的數據部分出現幀定界符時,爲了解決透明傳輸的問題:發送端的數據鏈路層在數據中出現控制字符SOH或EOT的前面插入一個轉義字符「ESC」。而在接收端的數據鏈路層在把數據送往網絡層執勤刪除這個插入的轉義字符。這種方法稱之爲字節填充或字符填充。
3)差錯檢測
傳輸差可分爲兩大類:比特差錯(採用CRC 循環冗餘檢驗的校錯技術);非比特差錯:幀丟失、幀重複、幀失序
策略:
對於通信質量良好的有線傳輸鏈路,數據鏈路層協議不使用確認和重傳機制,即不要求數據鏈路層向上提供可靠傳輸的服務。如果在數據鏈路層傳輸數據時出現了差錯並且需要進行改正,那麼改正差錯的任務就由上層協議來完成。
對於通信質量較差的無線傳輸鏈路,數據鏈路層協議使用確認和重傳機制,數據鏈路層向上提供可靠傳輸的服務。
1)定義
用戶計算機和ISP進行通信時所使用的數據鏈路層協議
2)PPP協議應滿足的需求
(1)簡單
(2)封裝成幀
(3)透明性
(4)多種網絡協議
(5)多種類型網絡
(6)差錯檢測
(7)檢測連接狀態
(8)最大傳送單元
(9)網絡層地址協商
(10)數據壓縮協商
3)PPP協議的組成
(1)一個將IP數據報封裝到串行鏈路的方法
(2)一個用來建立、配置和測試數據鏈路連接的鏈路控制協議LCP Link Control Protocol
(3)一套網絡控制協議NCP Network Control Protocol
4)PPP協議的幀格式
(1)各字段的意義
(2)字節填充-------異步傳輸
當PPP使用異步傳輸時,它把轉義字符定義爲0x7D,並使用字節填充。填充方法如下:
在發送端,先掃描整個信息字段(通常用硬件實現,可以用軟件實現,只是速度比較慢)。只要發現有5個連續1,則立即填入一個0.接收端在收到一個幀時,先找到標誌字段F以確定一個幀的邊界,接着再用硬件對其中的比特流進行掃面,當發現5個連續1時,就把5個連續1後的一個0刪除,以還原成原來的信息比特六流。
5)PPP協議的工作狀態
1)局域網的特點
網絡爲一個單位所擁有,且地理範圍和站點數目均有限
2)局域網的優點
(1)具有廣播功能,從一個站點可以很方便地訪問全網,局域網上的主機可共享連接在局域網上的各種硬件和軟件資源。
(2)便於系統的擴展和逐漸演變,各設備的位置可靈活調整和改變。
(3)提高了系統的可靠性,可用性和生存性
3)計算機通過適配器和局域網進行通信
4)共享信道需要着重考慮的一個問題:
如何使衆多用戶能夠合理而方便的共享通信媒體資源,這在技術上有兩種方法:
5)CSMA/CD協議---看不懂
網絡層向上只提供簡單靈活的,無連接的,盡最大努力交付的數據服務。
網絡在發送分組時不需要先建立來凝結,每一個分組(也就是IP數據報)獨立發送,與其前後的分組無關(不進行編號)。網絡層不提供服務質量的承諾。
1)與IP協議配套使用的其他3個協議
(1)地址解析協議ARP(Address Resolution Protocol)
(2)網際控制報文協議ICMP(Internet Contro Message Protocol)
(3)網際組管理協議IGMP(Internet Group Management Protocol)
1)從一般的概念來講,將網絡互相連接起來許喲啊使用要一些中間設備。根據中間設備所在的層次,可以有以下4種不同的中間設備
(1)物理層使用的中間設備叫做轉發器
(2)數據鏈路層使用的中間設備叫做網橋胡總和橋接器
(3)網絡層使用的中間設備叫做路由器
(4)在網絡層以上使用的中間設備叫做網關。用網關連接兩個不兼容的系統需要在高層進行協議的轉換。
2)虛擬互連網絡也就是邏輯互連網絡哦,它的意思是互連起來的各種物理網路的異構性本來是客觀存在的,但是我們呢利用IP協議就可以使這些性能各異的網絡在網絡層上看起來好像是一個統一的網絡。
1)IP地址及其表示方法
(1)IP地址
給互聯網上 每一臺主機(或路由器)的每一個接口分配一個在全世界範圍內唯一的32位的標識符。
(2)IP地址的編址方法共經過了3個歷史階段
【1】分類的IP地址
【2】子網的劃分
【3】構成超網
A、B、C類地址都由兩個固定長度的字段組成
IP地址:={<網絡號>,<主機號>}
A類地址:
網絡號:0(8位):2 7-2:0:代表本網絡;127:保留作爲環回測試使用
主機號:24位:2 24-2:0.0.0:本網絡連接到的單個網絡地址
1.1.1:該網絡上的所有主機
B類地址:
網絡號:10(16位):2 14-1:128.0.0.0:不指派,最小爲128.1.0.0
主機號:16位:2 16 -2:0.0:本主機所連接的單個網絡地址
1.1:該網絡上的所有主機
C類地址:
網絡號:110(24位):2 24 -1:192.0.0.0:不指派,最小爲192.0.1.0
主機號:8位:2 8-2:0:本主機所連接的單個網絡地址
1:該網絡上的所有主機
2)IP地址的一些特點
(1)IP地址是一種分等級的地址結構
(2)實際上IP地址是標誌一臺主機(或路由器)和一條鏈路的接口
(3)一個網絡是指具有相同網絡號的主機的表示,因此,用轉發器或者網橋連接起來的若干個局域網仍爲一個網絡,具有不同網絡號的局域網必須使用路由器進行互連。
(4)在IP地址中,所有分配到網絡號的網路都是平等的
(1)物理地址是數據鏈路層和物理層使用的地址,而IP地址是網絡層和以上各層使用的地址,是一種邏輯地址。
(2)IP地址放在IP數據報的首部,而硬件你地址則放在MAC幀的首部。
1)地址解析協議用來解決的問題
已知一臺機器的IP地址,如何獲取它的硬件地址
2)解決方式
在主機ARP高速緩存中存放一個從IP地址到硬件地址的映射表,並且這個映射表還經常動態更新(新增或按時刪除)。每一臺主機都設有一個ARP高速緩存,裏面有本局域網上的各主機和路由器的IP地址到硬件地址的映射表,這些都是該主機目前知道的一些地址。
ARP對保存在高速緩存中的每一個映射地址項目都設置生存時間。
ARP是解決同一個局域網上的主機或者路由的IP地址和硬件地址的映射問題。
3)使用ARP的4種典型情況
(1)發送方是主機(如H1),要把IP數據報發送到同一個網絡上的另一臺主機(如H2)這時H1發送ARP請求分組(在網1上廣播),找到目的主機H2的硬件地址。
(2)發送方是主機(如H1),要把IP數據報發送到另一個網絡上的一臺主機(如H3或H4).這時H1發送ARP請求分組(在網1上廣播),找到網1上的一個路由器R1的硬件地址。剩下的工作由路由器來完成。R1要做的事情就是下面的(3)或者(4)
(3)發送方是路由器(如R1),要把IP數據報轉發到與R1連接在同一個網絡(網2)上是主機(如H3)。這時R1發送ARP請求分組(在網2上廣播),找到目的主機H3的硬件地址。
(4)發送方是路由器(如R1),要把IP數據報轉發到網3上的一臺主機(如H4),H4與R1不是連接在同一個網絡上,這時R1發送ARP請求分組(在網2上廣播),找到連接在網2上的一個路由器R2的硬件地址,剩下的工作由這個路由器完成。
1)分組轉發算法
(1)從數據報的首部提取目的主機的IP地址D,得出目的網絡地址爲N
(2)若N就是與此路由器直接相連的某個網咯地址,則進行直接交付,不需要經過其他的路由器,直接把數據交付目的主機(這裏包括把目的主機地址D轉換爲具體的硬件地址,把數據報封裝成MAC幀,再發送此幀);否則就是間接交付,執行(3)
(3)若路由表中有目的地址爲D的特定主機路由,則把數據傳送給該路由表中所指明的下一跳路由器;否則,執行(4)
(4)若路由表中有到達網絡N的路由,則把數據報傳送給路由表追蹤所指明的下一跳路由器;否則,執行(5)
(5)若路由表中有一個默認路由 ,則把數據報傳送給路由表中所指明的默認路由;否則,執行(6)
(6)報告轉發分組出錯