OSI,TCP/IP,五層協(xié)議的體系結(jié)構(gòu),以及各層協(xié)議
OSI分層(7層):物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應(yīng)用層。
TCP/IP分層(4層):網(wǎng)絡(luò)接口層、 網(wǎng)際層、運輸層、 應(yīng)用層。
五層協(xié)議 (5層):物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、運輸層、應(yīng)用層。
每一層的協(xié)議如下:
物理層:RJ45、CLOCK、IEEE802.3(中繼器,集線器,網(wǎng)關(guān))
數(shù)據(jù)鏈路:PPP、FR、HDLC、VLAN、MAC(網(wǎng)橋,交換機)
網(wǎng)絡(luò)層:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、(路由器)
傳輸層:TCP、UDP、SPX
會話層:NFS、SQL、NETBIOS、RPC
表示層:JPEG、MPEG、ASII
應(yīng)用層:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
每一層的作用如下:
物理層:通過媒介傳輸比特,確定機械及電氣規(guī)范(比特Bit)
數(shù)據(jù)鏈路層:將比特組裝成幀和點到點的傳遞(幀F(xiàn)rame)
網(wǎng)絡(luò)層:負責(zé)數(shù)據(jù)包從源到宿的傳遞和網(wǎng)際互連(包PackeT)
傳輸層:提供端到端的可靠報文傳遞和錯誤恢復(fù)(段Segment)
會話層:建立、管理和終止會話(會話協(xié)議數(shù)據(jù)單元SPDU)
表示層:對數(shù)據(jù)進行翻譯、加密和壓縮(表示協(xié)議數(shù)據(jù)單元PPDU)
應(yīng)用層:允許訪問OSI環(huán)境的手段(應(yīng)用協(xié)議數(shù)據(jù)單元APDU)
IP地址的分類
A類地址:以0開頭, 第一個字節(jié)范圍:0~127(1.0.0.0 - 126.255.255.255);
B類地址:以10開頭, 第一個字節(jié)范圍:128~191(128.0.0.0 - 191.255.255.255);
C類地址:以110開頭, 第一個字節(jié)范圍:192~223(192.0.0.0 - 223.255.255.255);
10.0.0.0—10.255.255.255,172.16.0.0—172.31.255.255,192.168.0.0—192.168.255.255。(Internet上保留地址用于內(nèi)部)
IP地址與子網(wǎng)掩碼相與得到主機號
ARP是地址解析協(xié)議,簡單語言解釋一下工作原理。
1:首先,每個主機都會在自己的ARP緩沖區(qū)中建立一個ARP列表,以表示IP地址和MAC地址之間的對應(yīng)關(guān)系。
2:當(dāng)源主機要發(fā)送數(shù)據(jù)時,首先檢查ARP列表中是否有對應(yīng)IP地址的目的主機的MAC地址,如果有,則直接發(fā)送數(shù)據(jù),如果沒有,就向本網(wǎng)段的所有主機發(fā)送ARP數(shù)據(jù)包,該數(shù)據(jù)包包括的內(nèi)容有:源主機IP地址,源主機MAC地址,目的主機的IP地址。
3:當(dāng)本網(wǎng)絡(luò)的所有主機收到該ARP數(shù)據(jù)包時,首先檢查數(shù)據(jù)包中的IP地址是否是自己的IP地址,如果不是,則忽略該數(shù)據(jù)包,如果是,則首先從數(shù)據(jù)包中取出源主機的IP和MAC地址寫入到ARP列表中,如果已經(jīng)存在,則覆蓋,然后將自己的MAC地址寫入ARP響應(yīng)包中,告訴源主機自己是它想要找的MAC地址。
4:源主機收到ARP響應(yīng)包后。將目的主機的IP和MAC地址寫入ARP列表,并利用此信息發(fā)送數(shù)據(jù)。如果源主機一直沒有收到ARP響應(yīng)數(shù)據(jù)包,表示ARP查詢失敗。
廣播發(fā)送ARP請求,單播發(fā)送ARP響應(yīng)。
各種協(xié)議
ICMP協(xié)議:因特網(wǎng)控制報文協(xié)議。它是TCP/IP協(xié)議族的一個子協(xié)議,用于在IP主機、路由器之間傳遞控制消息。
TFTP協(xié)議:是TCP/IP協(xié)議族中的一個用來在客戶機與服務(wù)器之間進行簡單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開銷不大的文件傳輸服務(wù)。
HTTP協(xié)議:超文本傳輸協(xié)議,是一個屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。
DHCP協(xié)議:動態(tài)主機配置協(xié)議,是一種讓系統(tǒng)得以連接到網(wǎng)絡(luò)上,并獲取所需要的配置參數(shù)手段。
NAT協(xié)議:網(wǎng)絡(luò)地址轉(zhuǎn)換屬接入廣域網(wǎng)(WAN)技術(shù),是一種將私有(保留)地址轉(zhuǎn)化為合法IP地址的轉(zhuǎn)換技術(shù),
DHCP協(xié)議:一個局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,用途:給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動分配IP地址,給用戶或者內(nèi)部網(wǎng)絡(luò)管理員作為對所有計算機作中央管理的手段。
描述:RARP
RARP是逆地址解析協(xié)議,作用是完成硬件地址到IP地址的映射,主要用于無盤工作站,因為給無盤工作站配置的IP地址不能保存。工作流程:在網(wǎng)絡(luò)中配置一臺RARP服務(wù)器,里面保存著IP地址和MAC地址的映射關(guān)系,當(dāng)無盤工作站啟動后,就封裝一個RARP數(shù)據(jù)包,里面有其MAC地址,然后廣播到網(wǎng)絡(luò)上去,當(dāng)服務(wù)器收到請求包后,就查找對應(yīng)的MAC地址的IP地址裝入響應(yīng)報文中發(fā)回給請求者。因為需要廣播請求報文,因此RARP只能用于具有廣播能力的網(wǎng)絡(luò)。
TCP三次握手和四次揮手的全過程
三次握手:
第一次握手:客戶端發(fā)送syn包(syn=x)到服務(wù)器,并進入SYN_SEND狀態(tài),等待服務(wù)器確認;
第二次握手:服務(wù)器收到syn包,必須確認客戶的SYN(ack=x+1),同時自己也發(fā)送一個SYN包(syn=y),即SYN+ACK包,此時服務(wù)器進入SYN_RECV狀態(tài);
第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認包ACK(ack=y+1),此包發(fā)送完畢,客戶端和服務(wù)器進入ESTABLISHED狀態(tài),完成三次握手。
握手過程中傳送的包里不包含數(shù)據(jù),三次握手完畢后,客戶端與服務(wù)器才正式開始傳送數(shù)據(jù)。理想狀態(tài)下,TCP連接一旦建立,在通信雙方中的任何一方主動關(guān)閉連接之前,TCP連接都將被一直保持下去。
四次握手
與建立連接的“三次握手”類似,斷開一個TCP連接則需要“四次握手”。
第一次揮手:主動關(guān)閉方發(fā)送一個FIN,用來關(guān)閉主動方到被動關(guān)閉方的數(shù)據(jù)傳送,也就是主動關(guān)閉方告訴被動關(guān)閉方:我已經(jīng)不會再給你發(fā)數(shù)據(jù)了(當(dāng)然,在fin包之前發(fā)送出去的數(shù)據(jù),如果沒有收到對應(yīng)的ack確認報文,主動關(guān)閉方依然會重發(fā)這些數(shù)據(jù)),但是,此時主動關(guān)閉方還可 以接受數(shù)據(jù)。
第二次揮手:被動關(guān)閉方收到FIN包后,發(fā)送一個ACK給對方,確認序號為收到序號+1(與SYN相同,一個FIN占用一個序號)。
第三次揮手:被動關(guān)閉方發(fā)送一個FIN,用來關(guān)閉被動關(guān)閉方到主動關(guān)閉方的數(shù)據(jù)傳送,也就是告訴主動關(guān)閉方,我的數(shù)據(jù)也發(fā)送完了,不會再給你發(fā)數(shù)據(jù)了。
第四次揮手:主動關(guān)閉方收到FIN后,發(fā)送一個ACK給被動關(guān)閉方,確認序號為收到序號+1,至此,完成四次揮手。

在瀏覽器中輸入www.baidu.com后執(zhí)行的全部過程
1、客戶端瀏覽器通過DNS解析到www.baidu.com的IP地址220.181.27.48,通過這個IP地址找到客戶端到服務(wù)器的路徑??蛻舳藶g覽器發(fā)起一個HTTP會話到220.161.27.48,然后通過TCP進行封裝數(shù)據(jù)包,輸入到網(wǎng)絡(luò)層。
2、在客戶端的傳輸層,把HTTP會話請求分成報文段,添加源和目的端口,如服務(wù)器使用80端口監(jiān)聽客戶端的請求,客戶端由系統(tǒng)隨機選擇一個端口如5000,與服務(wù)器進行交換,服務(wù)器把相應(yīng)的請求返回給客戶端的5000端口。然后使用IP層的IP地址查找目的端。
3、客戶端的網(wǎng)絡(luò)層不用關(guān)系應(yīng)用層或者傳輸層的東西,主要做的是通過查找路由表確定如何到達服務(wù)器,期間可能經(jīng)過多個路由器,這些都是由路由器來完成的工作,我不作過多的描述,無非就是通過查找路由表決定通過那個路徑到達服務(wù)器。
4、客戶端的鏈路層,包通過鏈路層發(fā)送到路由器,通過鄰居協(xié)議查找給定IP地址的MAC地址,然后發(fā)送ARP請求查找目的地址,如果得到回應(yīng)后就可以使用ARP的請求應(yīng)答交換的IP數(shù)據(jù)包現(xiàn)在就可以傳輸了,然后發(fā)送IP數(shù)據(jù)包到達服務(wù)器的地址。
TCP和UDP的區(qū)別?
TCP提供面向連接的、可靠的數(shù)據(jù)流傳輸,而UDP提供的是非面向連接的、不可靠的數(shù)據(jù)流傳輸。
TCP傳輸單位稱為TCP報文段,UDP傳輸單位稱為用戶數(shù)據(jù)報。
TCP注重數(shù)據(jù)安全性,UDP數(shù)據(jù)傳輸快,因為不需要連接等待,少了許多操作,但是其安全性卻一般。
TCP對應(yīng)的協(xié)議和UDP對應(yīng)的協(xié)議
TCP對應(yīng)的協(xié)議:
(1)FTP:定義了文件傳輸協(xié)議,使用21端口。
(2)Telnet:一種用于遠程登陸的端口,使用23端口,用戶可以以自己的身份遠程連接到計算機上,可提供基于DOS模式下的通信服務(wù)。
(3)SMTP:郵件傳送協(xié)議,用于發(fā)送郵件。服務(wù)器開放的是25號端口。
(4)POP3:它是和SMTP對應(yīng),POP3用于接收郵件。POP3協(xié)議所用的是110端口。
(5)HTTP:是從Web服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。
UDP對應(yīng)的協(xié)議:
(1)DNS:用于域名解析服務(wù),將域名地址轉(zhuǎn)換為IP地址。DNS用的是53號端口。
(2)SNMP:簡單網(wǎng)絡(luò)管理協(xié)議,使用161號端口,是用來管理網(wǎng)絡(luò)設(shè)備的。由于網(wǎng)絡(luò)設(shè)備很多,無連接的服務(wù)就體現(xiàn)出其優(yōu)勢。
(3)TFTP(Trival File Tran敏感詞er Protocal),簡單文件傳輸協(xié)議,該協(xié)議在熟知端口69上使用UDP服務(wù)。
DNS域名系統(tǒng),簡單描述其工作原理。
當(dāng)DNS客戶機需要在程序中使用名稱時,它會查詢DNS服務(wù)器來解析該名稱。客戶機發(fā)送的每條查詢信息包括三條信息:包括:指定的DNS域名,指定的查詢類型,DNS域名的指定類別。基于UDP服務(wù),端口53.該應(yīng)用一般不直接為用戶使用,而是為其他應(yīng)用服務(wù),如HTTP,SMTP等在其中需要完成主機名到IP地址的轉(zhuǎn)換。
面向連接和非面向連接的服務(wù)的特點是什么?
面向連接的服務(wù),通信雙方在進行通信之前,要先在雙方建立起一個完整的可以彼此溝通的通道,在通信過程中,整個連接的情況一直可以被實時地監(jiān)控和管理。
非面向連接的服務(wù),不需要預(yù)先建立一個聯(lián)絡(luò)兩個通信節(jié)點的連接,需要通信的時候,發(fā)送節(jié)點就可以往網(wǎng)絡(luò)上發(fā)送信息,讓信息自主地在網(wǎng)絡(luò)上去傳,一般在傳輸?shù)倪^程中不再加以監(jiān)控。
TCP的三次握手過程?為什么會采用三次握手,若采用二次握手可以嗎?
答:建立連接的過程是利用客戶服務(wù)器模式,假設(shè)主機A為客戶端,主機B為服務(wù)器端。
(1)TCP的三次握手過程:主機A向B發(fā)送連接請求;主機B對收到的主機A的報文段進行確認;主機A再次對主機B的確認進行確認。
(2)采用三次握手是為了防止失效的連接請求報文段突然又傳送到主機B,因而產(chǎn)生錯誤。失效的連接請求報文段是指:主機A發(fā)出的連接請求沒有收到主機B的確認,于是經(jīng)過一段時間后,主機A又重新向主機B發(fā)送連接請求,且建立成功,順序完成數(shù)據(jù)傳輸??紤]這樣一種特殊情況,主機A第一次發(fā)送的連接請求并沒有丟失,而是因為網(wǎng)絡(luò)節(jié)點導(dǎo)致延遲達到主機B,主機B以為是主機A又發(fā)起的新連接,于是主機B同意連接,并向主機A發(fā)回確認,但是此時主機A根本不會理會,主機B就一直在等待主機A發(fā)送數(shù)據(jù),導(dǎo)致主機B的資源浪費。
(3)采用兩次握手不行,原因就是上面說的實效的連接請求的特殊情況。
端口及對應(yīng)的服務(wù)?

IP數(shù)據(jù)包的格式
IP數(shù)據(jù)報由首部和數(shù)據(jù)兩部分組成。首部由固定部分和可選部分組成。首部的固定部分有20字節(jié)。可選部分的長度變化范圍為1——40字節(jié)。固定部分的字段:

TCP數(shù)據(jù)報的格式?
一個TCP報文段分為首部和數(shù)據(jù)兩部分。首部由固定部分和選項部分組成,固定部分是20字節(jié)。TCP首部的最大長度為60。首部固定部分字段:

TCP數(shù)據(jù)報的格式?
用戶數(shù)據(jù)報UDP由首部和數(shù)據(jù)部分組成。首部只有8個字節(jié),由4個字段組成,每個字段都是兩個字節(jié)。

了解交換機、路由器、網(wǎng)關(guān)的概念,并知道各自的用途
1)交換機
在計算機網(wǎng)絡(luò)系統(tǒng)中,交換機是針對共享工作模式的弱點而推出的。交換機擁有一條高帶寬的背部總線和內(nèi)部交換矩陣。交換機的所有的端口都掛接在這條背部總線上,當(dāng)控制電路收到數(shù)據(jù)包以后,處理端口會查找內(nèi)存中的地址對照表以確定目的MAC(網(wǎng)卡的硬件地址)的NIC(網(wǎng)卡)掛接在哪個端口上,通過內(nèi)部 交換矩陣迅速將數(shù)據(jù)包傳送到目的端口。目的MAC若不存在,交換機才廣播到所有的端口,接收端口回應(yīng)后交換機會“學(xué)習(xí)”新的地址,并把它添加入內(nèi)部地址表 中。
交換機工作于OSI參考模型的第二層,即數(shù)據(jù)鏈路層。交換機內(nèi)部的CPU會在每個端口成功連接時,通過ARP協(xié)議學(xué)習(xí)它的MAC地址,保存成一張ARP表。在今后的通訊中,發(fā)往該MAC地址的數(shù)據(jù)包將僅送往其對應(yīng)的端口,而不是所有的端口。因此,交換機可用于劃分?jǐn)?shù)據(jù)鏈路層廣播,即沖突域;但它不能劃分網(wǎng)絡(luò)層廣播,即廣播域。
交換機被廣泛應(yīng)用于二層網(wǎng)絡(luò)交換,俗稱“二層交換機”。
交換機的種類有:二層交換機、三層交換機、四層交換機、七層交換機分別工作在OSI七層模型中的第二層、第三層、第四層盒第七層,并因此而得名。
2)路由器
路由器(Router)是一種計算機網(wǎng)絡(luò)設(shè)備,提供了路由與轉(zhuǎn)送兩種重要機制,可以決定數(shù)據(jù)包從來源端到目的端所經(jīng)過的路由路徑(host到host之間的傳輸路徑),這個過程稱為路由;將路由器輸入端的數(shù)據(jù)包移送至適當(dāng)?shù)穆酚善鬏敵龆?在路由器內(nèi)部進行),這稱為轉(zhuǎn) 送。路由工作在OSI模型的第三層——即網(wǎng)絡(luò)層,例如網(wǎng)際協(xié)議。
路由器的一個作用是連通不同的網(wǎng)絡(luò),另一個作用是選擇信息傳送的線路。路由器與交換器的差別,路由器是屬于OSI第三層的產(chǎn)品,交換器是OSI第二層的產(chǎn)品(這里特指二層交換機)。
3)網(wǎng)關(guān)
網(wǎng)關(guān)(Gateway),網(wǎng)關(guān)顧名思義就是連接兩個網(wǎng)絡(luò)的設(shè)備,區(qū)別于路由器(由于歷史的原因,許多有關(guān)TCP/IP的文獻曾經(jīng)把網(wǎng)絡(luò)層使用的路由器(Router)稱為網(wǎng)關(guān),在今天很多局域網(wǎng)采用都是路由來接入網(wǎng)絡(luò),因此現(xiàn)在通常指的網(wǎng)關(guān)就是路由器的IP),經(jīng)常在家 庭中或者小型企業(yè)網(wǎng)絡(luò)中使用,用于連接局域網(wǎng)和Internet。網(wǎng)關(guān)也經(jīng)常指把一種協(xié)議轉(zhuǎn)成另一種協(xié)議的設(shè)備,比如語音網(wǎng)關(guān)。
在傳統(tǒng)TCP/IP術(shù)語中,網(wǎng)絡(luò)設(shè)備只分成兩種,一種為網(wǎng)關(guān)(gateway),另一種為主機(host)。網(wǎng)關(guān)能在網(wǎng)絡(luò)間轉(zhuǎn)遞數(shù)據(jù)包,但主機不能 轉(zhuǎn)送數(shù)據(jù)包。在主機(又稱終端系統(tǒng),end
system)中,數(shù)據(jù)包需經(jīng)過TCP/IP四層協(xié)議處理,但是在網(wǎng)關(guān)(又稱中介系 統(tǒng),intermediate system)只需要到達網(wǎng)際層(Internet layer),決定路徑之后就可以轉(zhuǎn)送。在當(dāng)時,網(wǎng)關(guān)(gateway)與路由器(router)還沒有區(qū)別。
在現(xiàn)代網(wǎng)絡(luò)術(shù)語中,網(wǎng)關(guān)(gateway)與路由器(router)的定義不同。網(wǎng)關(guān)(gateway)能在不同協(xié)議間移動數(shù)據(jù),而路由器(router)是在不同網(wǎng)絡(luò)間移動數(shù)據(jù),相當(dāng)于傳統(tǒng)所說的IP網(wǎng)關(guān)(IP gateway)。
網(wǎng)關(guān)是連接兩個網(wǎng)絡(luò)的設(shè)備,對于語音網(wǎng)關(guān)來說,他可以連接PSTN網(wǎng)絡(luò)和以太網(wǎng),這就相當(dāng)于VOIP,把不同電話中的模擬信號通過網(wǎng)關(guān)而轉(zhuǎn)換成數(shù)字信號,而且加入?yún)f(xié)議再去傳輸。在到了接收端的時候再通過網(wǎng)關(guān)還原成模擬的電話信號,最后才能在電話機上聽到。
對于以太網(wǎng)中的網(wǎng)關(guān)只能轉(zhuǎn)發(fā)三層以上數(shù)據(jù)包,這一點和路由是一樣的。而不同的是網(wǎng)關(guān)中并沒有路由表,他只能按照預(yù)先設(shè)定的不同網(wǎng)段來進行轉(zhuǎn)發(fā)。網(wǎng)關(guān)最重要的一點就是端口映射,子網(wǎng)內(nèi)用戶在外網(wǎng)看來只是外網(wǎng)的IP地址對應(yīng)著不同的端口,這樣看來就會保護子網(wǎng)內(nèi)的用戶。