CCNA學習筆記 基礎知識回顧(1)
OSI參考模型:國際標準化組織(ISO)在1979年建立了一個分委員會來專門研究一種用於開放系統互連的體系結構(Open Systems Interconnection),簡稱OSI。
“開放”這個詞表示:只要遵循OSI標準,一個系統可以和位於世界上任何地方的、也遵循OSI標準的其他任何系統進行連線。這個分委員會提出了開放系統互連,即OSI參考模型,它定義了連線異種計算機的標準框架。
OSI分層模型:高層與資料流層
高層:
1. 應用層
2. 表示層
3. 會話層
資料流層:
4. 傳輸層
5. 網路層
6. 資料鏈路層
7. 物理層
層(layer):描述了所有需求的有效的通訊過程,並把這些過程邏輯上的組叫做層。
應用層:提供使用者介面
使用者介面:與其他計算機進行通訊的一個應用,對應應用程式的通訊服務。
常見應用層協議:Telnet、SMTP、HTTP、FTP
表示層:資料表示加密(解密、編碼、解碼)等特殊處理過程,主要功能是定義資料格式(ASCII MPG JPEG等)及加密。
會話層:保證不同應用間的資料區分,定義瞭如何開始、控制和結束一個會話、包括對多個雙向會話的控制和管理,以便在只完成連續訊息的一部分時可以通知應用,從而使表示層看到的資料是連續的。
傳輸層:可靠或不可靠的資料傳輸、資料重傳前的錯誤糾正。是否選擇差錯恢復協議還是無差錯恢復協議,在同一主機上對不同應用的資料流的輸入進行復用,對收到的順序不對的資料包的重新排序。還定義瞭如何將一個大塊資料分割成更小的段的分段方法。TCP、UDP、SPX
網路層:決定路徑的邏輯定址,資料包和地址的格式。定義了能夠表示所有節點的邏輯地址,還定義了路由實現的方式和學習的方式。為了適應最大傳輸單元長度小於包長度的傳輸介質,網路層還定義瞭如何將一個包分解成更小的包的分段方法。IP、IPX
資料鏈路層:封裝成幀、控制對物理層介質的訪問、標識連線到介質上的網路裝置、發現錯誤但不能糾正。定義了在單個鏈路上如何傳輸資料。802.3/802.2、HDLC/PPP、Frame-Relay
物理層:裝置間接受或傳送位元流說明電壓、線速和線纜等。物理層協議分為功能性協議和程式性協議。EIA/TIA-232、V.35、RJ45
PDU(protocol data unit):每一層使用自己層的協議和別的系統的對應層相互通訊,協議層的協議在對等層之間交換的資訊叫做協議資料單元。
各層協議資料單元(PDU):
高層:message 訊息
傳輸層:segment 段
網路層:packet 包
資料鏈路層:frame 幀
物理層:bit 位元流
封裝(encapsulate/encapsulation):資料要通過網路進行傳輸,要從高層一層一層的向下傳送,如果一個主機要傳送資料到別的主機,先把資料轉到一個特殊協議報頭中,這個過程叫做封裝。
封裝分為:切片和加控制資訊。
解封裝:上述的逆向過程。
各層封裝過程:
高層——>傳輸層:上層資料
傳輸層——>網路層:TCP頭&上層資料
網路層——>資料鏈路層:IP頭&TCP+切片的上層資料
資料鏈路層——>物理層:
LLC頭(邏輯鏈路控制)&IP+TCP+切片的上層資料&FCS
MAC頭&LLC頭+IP+TCP+切片的上層資料&FCS(幀效驗序列)
物理層:01010100011000101001……
中間系統(網路中心):根據地址資訊將資料轉發到正確的目的地。裝置包括路由器和交換機等。
路由器:網路層+資料鏈路層+物理層
交換機:資料鏈路層+物理層
分層的優點:
- 使人們容易探討和理解協議的許多細節
- 在各層間標準化介面,允許不同的產品只提供各層功能的一部分(如路由器在一到三層),或者只提供協議功能的一部分。(Win95中的Microsoft TCP/IP)
- 建立更好的整合環境
- 減少複雜性,允許更容易程式設計改變或快速評估
- 用各層的headers和trailers排錯
- 較低的層為較高的層提供服務
- 把複雜的網路劃分為更容易管理的層
OSI分層模型的缺陷:
- 許多功能在多個層次重複,有冗餘感(如流量控制、差錯控制等)
- 各層功能分配不均勻(鏈路、網路層任務重、會話層任務輕)
- 功能和服務定義複雜,很難產品化
因此誕生了事實上的標準——TCP/IP
OSI和TCP/IP:
OSI是一種通訊協議的七層抽象的參考模型,其中每一層執行某一特定任務。該模型的目的是使各種硬體在相同的層次上相互通訊。而TCP/IP通訊協議採用了4層的層級結構,每一層都呼叫它的下一層所提供的網路來完成自己的需求
OSI與TCP/IP對應關係:
OSI: TCP/IP:
應用層
表示層 應用層
會話層
—————————————-
傳輸層 主機到主機層
—————————————-
網路層 網際網路層
—————————————-
資料鏈路層
物理層 網路介面層
—————————————-
也有教材中的TCP/IP分為五層,其中的資料鏈路層與物理層並未分開。
TCP/IP中的應用層:應用程式間溝通的層。
包括TFTP、FTP、SMTP、Telnet、rlogin(遠端登入)、SNMP(簡單網路管理協議)、DNSping、tracert
TCP/IP中的主機到主機層:提供了節點間的資料傳送服務
TCP:傳輸控制協議
UDP:使用者資料報協議
TCP/IP中的網際網路層:基本的資料封包傳送功能
IP:網際網路協議
ICMP:網際網路控制資訊協議
ARP:地址解析協議
RARP:逆向地址解析協議
TCP/IP中的網路介面層:同OSI中資料鏈路層與物理層
TCP資料格式:附圖
16位源(SP)和目的埠號(DP):為封裝的資料指定了源和目的程式
32位序列號:確認了傳送資料中被封裝資料所在的位置
32位確認號:接收節點下一次希望從目標接收的序列號
4位首部長度:指定了TCP頭部的長度
6位保留位一般設定為000000
6位標記欄位:URG、ACK(置1則接收端檢視確認號)、PSH、RST、SYN(置1則代表是一個連線請求)、FIN(置1則代表是傳輸中的最後一個數據)
16位視窗大小:用於流量控制
16位檢驗和:檢測整個TCP資料段是否有錯誤
16位緊急指標:URG被置1時使用,被新增到序列號上,用於指明緊急資料
(上述欄位總計20位元組)
選項欄位:一般用不到
資料欄位:上層資料
埠:一般指網路中面向連線服務和無連線服務的通訊協議埠,是一種抽象的軟體結構,包括一些資料結構和I/O緩衝區。
埠分類:
1. 公認埠(Well Known Ports):從0到1023,它們緊密綁定於一些服務。通常這些埠的通訊明確表明了某種服務的協議。
2. 註冊埠(Registered Ports):從1024到49151.它們鬆散地綁定於一些服務。也就是說有許多服務綁定於這些埠,這些埠同樣用於許多其他目的。例如:許多系統處理動態埠從1024左右開始。
3. 動態和/或私有埠(Dynamic and/or Private Ports):從49152到65535.理論上,不應為服務分配這些埠。實際上,機器通常從1024起分配埠。
TCP的三次握手:
在正式傳輸使用者資料前,主機之間建立TCP連線的過程。
1. 首先主機A向主機B傳送SYN請求(seq=A,ctl=SYN)
2. 主機B接收到SYN請求,向主機A傳送SYN和ACK資料段(seq=B,ack=A+1,ctl=syn,ack)
3. 主機A接收到SYN請求,證明B已正確收到A的SYN請求,並且B將與A建立TCP連線。主機A傳送一個數據段(seq=A+1,ack=B+1,ctl=ack)
4. TCP連線建立
TCP的確認機制:
傳送方序列號
接收方確認號=傳送方序列號+1
第一個ACK=1
TCP確認機制舉例:
1. A:seq=10,ack=1
2. B:seq=1,ack=11(10+1)
3. A:seq=11,ack=2(1+1)
……
TCP視窗機制(流量控制、確認重傳):
假設window size=n
傳送方:send 1,send 2……send n-1,send n.
接收方:僅收到了1至n-1的資料段,傳送ack=n,調整window size=n-x(x由接收方快取大小決定)
傳送方:window size=n,(根據接收方window size傳送n-x個數據段)send n,send n+1……send n+n-x-1
接收方:window size=2,ack=5
……
UDP資料格式:
16位源埠號
16位目的埠號
16位UDP長度
16位UDP檢驗和
(上述UDP首部一共8位元組)
資料
(視訊、語音等多使用UDP)
IP(Internet Protocol):網路互聯協議。為計算機網路相互連線進行通訊而設計的協議。
在因特網中,它是能使連線到網上的所有計算機網路實現相互通訊的一套規則,規定了計算機在因特網上進行通訊時應當遵守的規則。任何廠家生產的計算機系統,只要遵守IP協議就可以與因特網互連互通。正是因為有了IP協議,因特網才得以迅速發展成為世界上最大的、開放的計算機通訊網路。因此IP協議也可以叫做“因特網協議”。
IP資料格式:
4位版本:IPv4(0100)、IPv6(0110)
4位首部長度:標識IP首部長度
8位服務型別(TOS):指示特殊資料包的處理標誌(優先順序、區分服務程式碼)
16位總長度(位元組數):標識IP包大小
16位標識:和3位標誌13位片偏移一起使用,同一個資料包分片擁有一樣的16位標識
3位標誌:僅使用後兩位,第二位置1,表示路由器不能切片處理。
13位偏移量:IP分片相對於原始報頭的偏移位置
8位生存時間(TTL):最大255,資料包每經過一個路由器,TTL-1
8位協議:指示交付上層資料的上層協議型別,置1代表ICMP,置4代表IP-in-IP,置6代表TCP,置17代表UDP
16位首部檢驗和:對IP首部校驗
32位源IP地址
32位目的IP地址
選項
以上IP首部共20位元組
資料
IP地址=網路號+主機號
IP地址分類:
A類:8位網路號+24位主機號
第一個8位位組以0開始,且不全為0(1——126)
B類:16位網路號+16位主機號
第一個8位位組以10開始(128——191)
C類:24位網路號+8位主機號
第一個8位位組以110開頭(192——223)
D類:組播地址
第一個8位位組以1110開頭(224——239)
E類:研究用地址
未劃分
一些特殊的IP地址:
1本地迴環(loopback)測試地址127.0.0.1(我記得本地迴環地址不僅僅是127.0.0.1這一個,實際上以127開頭的且主機位不全為0的都是loopback地址,已經用PING測試驗證)
全網廣播地址:255.255.255.255(同一資料鏈路中)
IP地址0.0.0.0:代表任何網路
主機位全為0:代表該網段
廣播地址:主機位全為1的IP地址用於廣播
(廣播是指同時向網上所有的主機發送報文,也就是說不管物理網路特性如何,Internet網支援廣播傳輸。如136.78.255.255就是B類地址中的一個廣播地址,將資料包送到此地址,就是將資訊送給網路號為136.78.0.0的所有主機)
私有地址(RFC 1918中定義,為解決網路地址緊張而建立,不出現在公網中):
A類地址中:10.0.0.0到10.255.255.255
B類地址中:172.16.0.0到172.31.255.255
C類地址中:192.168.0.0到192.168.255.255
子網掩碼:標識出某個IP地址哪部分是網路位,哪部分是主機位。
子網掩碼的設定規則:與IP地址長度相同,32位。左邊是網路位,用二進位制數字“1”標識,右邊是主機位,用二進位制數字“0”表示。
子網掩碼不能單獨存在,必須結合IP地址一起使用。
預設情況下的子網掩碼:
A類:255.0.0.0
B類:255.255.0.0
C類:255.255.255.0
ARP(地址解析協議):執行在同一個乙太網鏈路當中。
廣播對某一IP地址的ARP請求,目的主機單播自身的實體地址。可在CMD中用arp -a指令查詢自身的ARP表
MAC(Media Access Control):介質訪問控制
MAC地址:燒錄在NIC裡,也叫硬體地址,由48位元長,16進位制的數字組成。
MAC地址中0-23位代表廠商,24-47位由廠商分配給自己生產的網絡卡,叫做組織唯一識別符號,是識別LAN節點的標識。
在網路底層的傳輸過程中,使用MAC地址來識別主機的,它一般也是全球唯一的。
RARP(Reverse Address Resolution Protocol):反向地址轉換協議,已知本地的MAC地址,求本地IP。
ICMP(Internet Control Message Protocol):Internet控制報文協議,它是TCP/IP協議族的一個子協議,通過IP資料包進行傳遞,協議號為1,用於在IP主機、路由器之間傳遞控制訊息,控制訊息是指網路通不通、主機是否可達、路由是否可用等網路本身的訊息。這些控制訊息雖然不傳輸使用者資料,但是對於使用者資料的傳遞起著重要的作用。其本身的特點決定了它非常容易被用於攻擊網路上的路由器和主機。典型使用為ping、tracert/traceroute