IP地址
IP地址位數(shù)=網(wǎng)絡(luò)位數(shù)+主機(jī)位數(shù)=32位。
子網(wǎng)掩碼
子網(wǎng)掩碼的位數(shù)就是網(wǎng)絡(luò)的位數(shù)。它決定前多少位是網(wǎng)絡(luò)位,多少位是主機(jī)數(shù)的.
- A類網(wǎng)絡(luò)的網(wǎng)絡(luò)位數(shù)是8位,子網(wǎng)掩碼就是255.0.0.0,B類網(wǎng)絡(luò)的網(wǎng)絡(luò)位數(shù)是16位,子網(wǎng)掩碼是255.255.0.0,C類是24位,255.255.255.0。
- 當(dāng)兩個(gè)不同子網(wǎng)的ip進(jìn)行通信時(shí),先去查詢默認(rèn)網(wǎng)關(guān)的mac,因?yàn)榭缱泳W(wǎng)通訊需要默認(rèn)網(wǎng)關(guān)的轉(zhuǎn)發(fā),而要和默認(rèn)網(wǎng)關(guān)通訊,就需要獲得其mac地址。
OSI網(wǎng)絡(luò)參考模型:
- 物理層
- 數(shù)據(jù)鏈路層
- 網(wǎng)絡(luò)層
- 傳輸層
- 會(huì)話層
- 表示層
- 應(yīng)用層
為了方便記憶我縮寫為 “ 物數(shù)網(wǎng)傳會(huì)表應(yīng) ”。 下面是每層結(jié)構(gòu)所對(duì)應(yīng)的功能以及常用協(xié)議(由高層到低層)。
- 應(yīng)用層:確定進(jìn)程之間通信的性質(zhì),以滿足用戶的需要。HTTP,HTTPS,F(xiàn)TP,TELNET,SSH,SMTP,POP3。
- 表示層:主要用于處理兩個(gè)通信系統(tǒng)中交換信息的表示方式。為上層用戶解決用戶信息的語法問題。它包括數(shù)據(jù)格式交換、數(shù)據(jù)加密與解密、數(shù)據(jù)壓縮與終端類型的轉(zhuǎn)換。
- 會(huì)話層:在兩個(gè)節(jié)點(diǎn)之間建立端連接。為端系統(tǒng)的應(yīng)用程序之間提供了對(duì)話控制機(jī)制。
- 傳輸層:常規(guī)數(shù)據(jù)遞送-面向連接或無連接。為會(huì)話層用戶提供一個(gè)端到端的可靠、透明和優(yōu)化的數(shù)據(jù)傳輸服務(wù)機(jī)制。 tcp udp。
- 網(wǎng)絡(luò)層:本層通過尋址來建立兩個(gè)節(jié)點(diǎn)之間的連接,為源端的運(yùn)輸層送來的分組,選擇合適的路由和交換節(jié)點(diǎn),正確無誤地按照地址傳送給目的端的運(yùn)輸層。它包括通過互連網(wǎng)絡(luò)來路由和中繼數(shù)據(jù) ;除了選擇路由之外,網(wǎng)絡(luò)層還負(fù)責(zé)建立和維護(hù)連接,控制網(wǎng)絡(luò)上的擁塞以及在必要的時(shí)候生成計(jì)費(fèi)信息。常用設(shè)備有交換機(jī)。ip ipx ‘a(chǎn)pple talk’
- 數(shù)據(jù)鏈路層:在此層將數(shù)據(jù)分幀,并處理流控制。屏蔽物理層,為網(wǎng)絡(luò)層提供一個(gè)數(shù)據(jù)鏈路的連接,在一條有可能出差錯(cuò)的物理連接上,進(jìn)行幾乎無差錯(cuò)的數(shù)據(jù)傳輸(差錯(cuò)控制)。本層指定拓?fù)浣Y(jié)構(gòu)并提供硬件尋址。常用設(shè)備有網(wǎng)卡、網(wǎng)橋、交換機(jī)。802.3、802.4、802.5、802.11、FDDI、ATM
- 物理層:處于OSI參考模型的最底層。物理層的主要功能是利用物理傳輸介質(zhì)為數(shù)據(jù)鏈路層提供物理連接,以便透明的傳送比特流。常用設(shè)備有(各種物理設(shè)備)集線器、中繼器、調(diào)制解調(diào)器、網(wǎng)線、雙絞線、同軸電纜。v.24 v.35 RS232 RS485
TCP/IP模型
_TCP/IP是一組用于實(shí)現(xiàn)網(wǎng)絡(luò)互連的通信協(xié)議。Internet網(wǎng)絡(luò)體系結(jié)構(gòu)以TCP/IP為核心。基于TCP/IP的參考模型將協(xié)議分成四個(gè)層次,它們分別是:網(wǎng)絡(luò)訪問層、網(wǎng)際互連層、傳輸層(主機(jī)到主機(jī))、和應(yīng)用層。 _
- 應(yīng)用層
應(yīng)用層對(duì)應(yīng)于OSI參考模型的高層,為用戶提供所需要的各種服務(wù),例如:FTP、Telnet、DNS、SMTP等. - 傳輸層
傳輸層對(duì)應(yīng)于OSI參考模型的傳輸層,為應(yīng)用層實(shí)體提供端到端的通信功能,保證了數(shù)據(jù)包的順序傳送及數(shù)據(jù)的完整性。該層定義了兩個(gè)主要的協(xié)議:傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UDP).
TCP協(xié)議提供的是一種可靠的、面向連接的數(shù)據(jù)傳輸服務(wù);而UDP協(xié)議提供的則是不可靠的、無連接的數(shù)據(jù)傳輸服務(wù). - 網(wǎng)際互聯(lián)層
網(wǎng)際互聯(lián)層對(duì)應(yīng)于OSI參考模型的網(wǎng)絡(luò)層,主要解決主機(jī)到主機(jī)的通信問題。它所包含的協(xié)議設(shè)計(jì)數(shù)據(jù)包在整個(gè)網(wǎng)絡(luò)上的邏輯傳輸。注重重新賦予主機(jī)一個(gè)IP地址來完成對(duì)主機(jī)的尋址,它還負(fù)責(zé)數(shù)據(jù)包在多種網(wǎng)絡(luò)中的路由。該層有四個(gè)主要協(xié)議:網(wǎng)際協(xié)議(IP)、地址解析協(xié)議(ARP)、互聯(lián)網(wǎng)組管理協(xié)議(IGMP)和互聯(lián)網(wǎng)控制報(bào)文協(xié)議(ICMP)。
IP協(xié)議是網(wǎng)際互聯(lián)層最重要的協(xié)議,它提供的是一個(gè)不可靠、無連接的數(shù)據(jù)報(bào)傳遞服務(wù)。 - 網(wǎng)絡(luò)接入層(即主機(jī)-網(wǎng)絡(luò)層)
網(wǎng)絡(luò)接入層與OSI參考模型中的物理層和數(shù)據(jù)鏈路層相對(duì)應(yīng)。它負(fù)責(zé)監(jiān)視數(shù)據(jù)在主機(jī)和網(wǎng)絡(luò)之間的交換。事實(shí)上,TCP/IP本身并未定義該層的協(xié)議,而由參與互連的各網(wǎng)絡(luò)使用自己的物理層和數(shù)據(jù)鏈路層協(xié)議,然后與TCP/IP的網(wǎng)絡(luò)接入層進(jìn)行連接。
常見協(xié)議解析
- __TCP 協(xié)議:__TCP是面向有鏈接安全的傳輸,是提供有序的傳輸,所以每個(gè)數(shù)據(jù)段都要標(biāo)上一個(gè)序號(hào)當(dāng)接收方收到亂序的包時(shí),可以重新排序。
基于TCP:CIFS, FTP, HTTP, HTTPS。
Seq:一個(gè)Seq號(hào)的大小是根據(jù)上一個(gè)數(shù)據(jù)段的Seq號(hào)和長(zhǎng)度相加來的。
Len:該數(shù)據(jù)段的長(zhǎng)度,TCP頭部帶的數(shù)據(jù)很多,所以不要以為L(zhǎng)en=0就沒有意義。
Ack:確認(rèn)號(hào),比如甲方發(fā)送了“Seq:x,Len:y”,那么乙回復(fù)的確認(rèn)號(hào)Ack就是:x+y。
TCP頭附帶了很多標(biāo)志位:
SYN 這個(gè)標(biāo)志頭說明正在發(fā)起連接請(qǐng)求,因?yàn)檫B接是雙方的,所以說雙方都需要放一個(gè)SYN。
FIN 這個(gè)標(biāo)志頭表明正在請(qǐng)求終止連接。
RST 這個(gè)是用來重置一個(gè)混亂的連接,或者拒絕一個(gè)無效的請(qǐng)求。
TCP協(xié)議連接時(shí)的三次握手形象的表示:
客戶端:“我能跟你建立連接嗎?我的初始發(fā)送序號(hào)是x,如果你同意的話就Ack=x+1。”
服務(wù)器:“收到啦,Ack=x+1,我也想跟你建立連接。我的初始發(fā)送序號(hào)是Y,你如果答應(yīng)就Ack=Y+1。”
客戶端:“收到啦,Ack=Y+1。”
為什么要用三個(gè)包來建立連接,兩個(gè)會(huì)不夠可靠,比如說某個(gè)網(wǎng)絡(luò)有多條路徑,客戶端請(qǐng)求建立連接的第一個(gè)包跑到一個(gè)延遲嚴(yán)重的路徑上,所以遲遲沒有得到回應(yīng),因此客戶端以為是丟包了,又重新發(fā)送了一個(gè)包,第二次由于走了正確的路徑很快完成工作并關(guān)閉了連接,對(duì)于客戶端來說事情已經(jīng)結(jié)束了,沒想到它的第一個(gè)請(qǐng)求經(jīng)過跋山涉水,還是達(dá)到了服務(wù)器,服務(wù)器并不知道這是一個(gè)舊的無效請(qǐng)求,所以按照慣例回復(fù),假如TCP兩次握手,服務(wù)器這樣就建立了一個(gè)無效的連接,而在三次握手的機(jī)制下,客戶端收到服務(wù)器的回復(fù),知道這個(gè)連接是無效,所以發(fā)出一個(gè)拒絕包,就終止了連接。
TCP斷開連接的“四次握手”。
客戶端:“我希望斷開連接(注意FIN標(biāo)志)”。
服務(wù)端:“知道了,斷開吧。”
服務(wù)端:“我這邊的連接也想斷開(請(qǐng)注意FIN標(biāo)志)”。
客戶端:“知道了,斷開吧”。
Window Size:TCP的每個(gè)包的都含有Window Size,是在向?qū)Ψ铰暶髯约旱慕邮沾翱凇?br>
RTO:超時(shí)重傳。
快速重傳:當(dāng)發(fā)生擁塞時(shí),后續(xù)的包到達(dá)接收方時(shí),接收方會(huì)發(fā)現(xiàn)其Seq號(hào)比期望的值大,所以它每收到一個(gè)包就ACK一次期望的Seq號(hào),以此提醒發(fā)送方重傳。當(dāng)發(fā)送方收到3個(gè)或者以上的重復(fù)確認(rèn)(Dup Ack)時(shí),就意識(shí)到相應(yīng)的包丟失,從而立即重傳它。這個(gè)過程稱為快速重傳,因?yàn)樗幌癯瑫r(shí)重傳時(shí)一樣需要等待一段時(shí)間。
假設(shè)發(fā)送方發(fā)送了1,2,3,4,5,6,7,8,但是接收方就只收到了1,4,5,6,7,8(下面關(guān)于NewReno方案和SACK方案)
NewReno方案:當(dāng)接收方收到重傳過來的2號(hào)包之后,會(huì)回復(fù)一個(gè)Ack3,因此發(fā)送方可以推斷出3號(hào)包也丟失了,把它也傳一遍,因?yàn)閬G的包都已經(jīng)補(bǔ)全,所以回復(fù)一個(gè)Ack9,這時(shí)候發(fā)送方就可以傳新的包了。但是當(dāng)丟包量特別大的時(shí)候,就需要花費(fèi)多個(gè)RTT(往返時(shí)間)來重傳丟失的包。
SACK方案:接收到Ack2以后,順便就把收到的包號(hào)告訴了發(fā)送方,就像這樣:收到4號(hào)包時(shí),告訴發(fā)送方:“我已經(jīng)收到4號(hào)包,請(qǐng)給我2號(hào)包”。收到5號(hào)包時(shí),告訴發(fā)送方:“我已經(jīng)收到4,5包,請(qǐng)給我2號(hào)包”。... 因此發(fā)送方對(duì)丟包已經(jīng)了如指掌了,在快速重傳2號(hào)包之后,它接著傳3號(hào)包就行了,然后再傳9號(hào)包。
TCP的特點(diǎn):
- 沒有擁塞時(shí),發(fā)送窗口越大,性能越好。
- 經(jīng)常發(fā)生擁塞時(shí),限制發(fā)送窗口能提高性能。
- 超時(shí)重傳對(duì)性能影響很大,因?yàn)樗幸欢螘r(shí)間(RTO)是沒有傳輸數(shù)據(jù)的。
- 快速重傳對(duì)性能影響的小一些,因?yàn)樗鼪]有等待時(shí)間,而且擁塞窗口減少的幅度不是很大。
- SACK和NewReno有利于提高傳輸?shù)男剩岣咝阅堋?/li>
- 丟包對(duì)極小的文件比大文件嚴(yán)重。
- UDP協(xié)議:面向無鏈接的協(xié)議,UDP沒有重傳機(jī)制,所以丟包由應(yīng)用層來處理,當(dāng)傳輸?shù)倪^程中,丟失一個(gè)包,則要重傳整個(gè)包。UDP的協(xié)議頭里面只有端口號(hào),包長(zhǎng)度,和驗(yàn)證碼等少量的信息,總共就8個(gè)字節(jié)。
- DNS協(xié)議:域名解析協(xié)議,把域名解析成IP地址。有兩種查詢方式:遞歸查詢,還有迭代查詢。DNS除了能用來欺騙還能用來當(dāng)作攻擊,著名的DNS放大攻擊就很厲害。
- ARP協(xié)議:地址解析協(xié)議,即ARP(Address Resolution Protocol),是根據(jù)IP地址獲取物理地址的一個(gè)TCP/IP協(xié)議。
為什么要有ARP?
OSI 模式把網(wǎng)絡(luò)工作分為七層,彼此不直接打交道,只通過接口(layre interface). IP地址在第三層, MAC地址在第二層。協(xié)議在發(fā)生數(shù)據(jù)包時(shí),首先要封裝第三層 (IP地址)和第二層 (MAC地址)的報(bào)頭, 但協(xié)議只知道目的節(jié)點(diǎn)的IP地址,不知道其物理地址,又不能跨第二、三層,所以得用ARP的服務(wù)。
__RARP協(xié)議:__RARP協(xié)議(Reverse Address Resolution Protocol),反向地址轉(zhuǎn)換協(xié)議。反向地址轉(zhuǎn)換協(xié)議就是將局域網(wǎng)中某個(gè)主機(jī)的物理地址轉(zhuǎn)換為IP地址,比如局域網(wǎng)中有一臺(tái)主機(jī)只知道物理地址而不知道IP地址,那么可以通過RARP協(xié)議發(fā)出征求自身IP地址的廣播請(qǐng)求,然后由RARP服務(wù)器負(fù)責(zé)回答。RARP協(xié)議廣泛用于獲取無盤工作站的IP地址。
-
__NFS協(xié)議:__network file system,NFS可以提供共享目錄,分別掛在到多臺(tái)客戶端的本地目錄上,當(dāng)本地的客戶端讀寫這些目錄時(shí),實(shí)際上就是在對(duì)NFS服務(wù)器上的讀寫,以下是NFS最顯而易見的好處:
- 節(jié)省本地存儲(chǔ)空間,將常用的數(shù)據(jù)存放在一臺(tái)NFS服務(wù)器上且可以通過網(wǎng)絡(luò)訪問,那么本地終端將可以減少自身存儲(chǔ)空間的使用。
- 用戶不需要在網(wǎng)絡(luò)中的每個(gè)機(jī)器上都建有Home目錄,Home目錄可以放在NFS服務(wù)器上且可以在網(wǎng)絡(luò)上被訪問使用。
- 一些存儲(chǔ)設(shè)備如軟驅(qū)、CDROM和Zip(一種高儲(chǔ)存密度的磁盤驅(qū)動(dòng)器與磁盤)等都可以在網(wǎng)絡(luò)上被別的機(jī)器使用。這可以減少整個(gè)網(wǎng)絡(luò)上可移動(dòng)介質(zhì)設(shè)備的數(shù)量。
__CIFS協(xié)議:__Common Internet File System。CIFS協(xié)議有三個(gè)版本:SMB,SMB2,SMB3,目前SMB,SMB2比較流行。在windows上創(chuàng)建一個(gè)CIFS共享非常簡(jiǎn)單,只需要右鍵單擊,在選擇屬性里-->共享,在配置權(quán)限就行了,CIFS是基于TCP的。
FTP協(xié)議:文件傳輸協(xié)議File Transfer Protocol,F(xiàn)TP的服務(wù)器端口號(hào)是21。采用明文傳輸,基于TCP。
HTTP協(xié)議:超文本傳輸協(xié)議HyperText Transfer Protocol,HTTP的服務(wù)器端口號(hào)是80,無加密傳輸,基于TCP
__HTTPS協(xié)議:__Hyper Text Transfer Protocol over Secure Socket Layer,是以安全為目標(biāo)的HTTP通道,簡(jiǎn)單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL,端口號(hào)是443,HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。
筆記來于<<Wireshark 網(wǎng)絡(luò)分析就這么簡(jiǎn)單>> 林沛滿 著