1,OSI,TCP/IP,五層協(xié)議的體系結(jié)構(gòu),以及各層協(xié)議OSI分層 (7層):物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層。 TCP/IP分層(4層):網(wǎng)絡(luò)接口層、 網(wǎng)際層、運(yùn)輸層、 應(yīng)用層。 五層協(xié)議 (5層):物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、運(yùn)輸層、 應(yīng)用層。 每一層的協(xié)議如下: 物理層:RJ45、CLOCK、IEEE802.3 (中繼器,集線器,網(wǎng)關(guān)) 數(shù)據(jù)鏈路:PPP、FR、HDLC、VLAN、MAC (網(wǎng)橋,交換機(jī)) 網(wǎng)絡(luò)層:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器) 傳輸層:TCP、UDP、SPX 會(huì)話層:NFS、SQL、NETBIOS、RPC 表示層:JPEG、MPEG、ASII 應(yīng)用層:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS 每一層的作用如下: 物理層:通過媒介傳輸比特,確定機(jī)械及電氣規(guī)范(比特Bit) 數(shù)據(jù)鏈路層:將比特組裝成幀和點(diǎn)到點(diǎn)的傳遞(幀F(xiàn)rame) 網(wǎng)絡(luò)層:負(fù)責(zé)數(shù)據(jù)包從源到宿的傳遞和網(wǎng)際互連(包PackeT) 傳輸層:提供端到端的可靠報(bào)文傳遞和錯(cuò)誤恢復(fù)(段Segment) 會(huì)話層:建立、管理和終止會(huì)話(會(huì)話協(xié)議數(shù)據(jù)單元SPDU) 表示層:對(duì)數(shù)據(jù)進(jìn)行翻譯、加密和壓縮(表示協(xié)議數(shù)據(jù)單元PPDU) 應(yīng)用層:允許訪問OSI環(huán)境的手段(應(yīng)用協(xié)議數(shù)據(jù)單元APDU) 2,IP地址分類IP地址是32位的二進(jìn)制數(shù)值,用于在TCP/IP通訊協(xié)議中標(biāo)記每臺(tái)計(jì)算機(jī)的地址。通常我們使用點(diǎn)式十進(jìn)制來表示,如192.168.0.5等等。 每個(gè)IP地址又可分為兩部分。即網(wǎng)絡(luò)號(hào)部分和主機(jī)號(hào)部分:網(wǎng)絡(luò)號(hào)表示其所屬的網(wǎng)絡(luò)段編號(hào),主機(jī)號(hào)則表示該網(wǎng)段中該主機(jī)的地址編號(hào)。按照網(wǎng)絡(luò)規(guī)模的大小,IP地址可以分為A、B、C、D、E五類。 A類地址:以0開頭, 第一個(gè)字節(jié)范圍:0~127(1.0.0.0 - 126.255.255.255); B類地址:以10開頭, 第一個(gè)字節(jié)范圍:128~191(128.0.0.0 - 191.255.255.255); C類地址:以110開頭, 第一個(gè)字節(jié)范圍:192~223(192.0.0.0 - 223.255.255.255); 類別 網(wǎng)絡(luò)號(hào) /占位數(shù) 主機(jī)號(hào) /占位數(shù) 用途A(以0開頭) 1~126 / 8 0~255 0~255 1~254 / 24 國(guó)家級(jí)B(以10開頭) 128~191 0~255 / 16 0~255 1~254 / 16 跨過組織C(以110開頭)192~223 0~255 0~255 / 24 1~254 / 8 企業(yè)組織 注意: 1)以下是留用的內(nèi)部私有地址,Internet上沒使用的地址 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 2)IP地址與子網(wǎng)掩碼相與得到網(wǎng)絡(luò)號(hào) 3)主機(jī)號(hào),全為0的是網(wǎng)絡(luò)號(hào)(例如:192.168.2.0),主機(jī)號(hào)全為1的為廣播地址(192.168.2.255) 3,ARP是地址解析協(xié)議,簡(jiǎn)單語言解釋一下工作原理。地址解析協(xié)議,即ARP(Address Resolution Protocol),是根據(jù)IP地址獲取物理地址的一個(gè)TCP/IP協(xié)議。 1:首先,每個(gè)主機(jī)都會(huì)在自己的ARP緩沖區(qū)中建立一個(gè)ARP列表,以表示IP地址和MAC地址之間的對(duì)應(yīng)關(guān)系。 2:當(dāng)源主機(jī)要發(fā)送數(shù)據(jù)時(shí),首先檢查ARP列表中是否有對(duì)應(yīng)IP地址的目的主機(jī)的MAC地址,如果有,則直接發(fā)送數(shù)據(jù),如果沒有,就向本網(wǎng)段的所有主機(jī)發(fā)送ARP數(shù)據(jù)包,該數(shù)據(jù)包包括的內(nèi)容有:源主機(jī) IP地址,源主機(jī)MAC地址,目的主機(jī)的IP 地址 3:當(dāng)本網(wǎng)絡(luò)的所有主機(jī)收到該ARP數(shù)據(jù)包時(shí),首先檢查數(shù)據(jù)包中的IP地址是否是自己的IP地址,如果不是,則忽略該數(shù)據(jù)包,如果是,則首先從數(shù)據(jù)包中取出源主機(jī)的IP和MAC地址寫入到ARP列表中,如果已經(jīng)存在,則覆蓋,然后將自己的MAC地址寫入ARP響應(yīng)包中,告訴源主機(jī)自己是它想要找的MAC地址。 4:源主機(jī)收到ARP響應(yīng)包后。將目的主機(jī)的IP和MAC地址寫入ARP列表,并利用此信息發(fā)送數(shù)據(jù)。如果源主機(jī)一直沒有收到ARP響應(yīng)數(shù)據(jù)包,表示ARP查詢失敗。 注意:廣播(255.255.255.255)發(fā)送ARP請(qǐng)求,單播發(fā)送ARP響應(yīng)。 4,簡(jiǎn)單介紹幾種協(xié)議ICMP協(xié)議: 因特網(wǎng)控制報(bào)文協(xié)議。它是TCP/IP協(xié)議族的一個(gè)子協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息 TFTP協(xié)議: 是TCP/IP協(xié)議族中的一個(gè)用來在客戶機(jī)與服務(wù)器之間進(jìn)行簡(jiǎn)單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開銷不大的文件傳輸服務(wù)。 HTTP協(xié)議: 超文本傳輸協(xié)議,是一個(gè)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡(jiǎn)捷、快速的方式,適用于分布式超媒體信息系統(tǒng) NAT協(xié)議:網(wǎng)絡(luò)地址轉(zhuǎn)換屬接入廣域網(wǎng)(WAN)技術(shù),是一種將私有(保留)地址轉(zhuǎn)化為合法IP地址的轉(zhuǎn)換技術(shù) DHCP協(xié)議:動(dòng)態(tài)主機(jī)配置協(xié)議,是一種讓系統(tǒng)得以連接到網(wǎng)絡(luò)上,并獲取所需要的配置參數(shù)手段,使用UDP協(xié)議工作。具體用途:給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動(dòng)分配IP地址,給用戶或者內(nèi)部網(wǎng)絡(luò)管理員作為對(duì)所有計(jì)算機(jī)作中央管理的手段。 5,TCP三次握手四次揮手三次握手: 第一次握手:客戶端發(fā)送syn包(seq=x)到服務(wù)器,并進(jìn)入SYN_SEND(發(fā)送)狀態(tài),等待服務(wù)器確認(rèn); 第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=x+1),同時(shí)自己也發(fā)送一個(gè)SYN包(seq=y),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV(接收)狀態(tài); 第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=y+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED(已建立)狀態(tài),完成三次握手。 說明: 四次揮手: 第一次揮手:主動(dòng)關(guān)閉方發(fā)送一個(gè)FIN,用來關(guān)閉主動(dòng)方到被動(dòng)關(guān)閉方的數(shù)據(jù)傳送,也就是主動(dòng)關(guān)閉方告訴被動(dòng)關(guān)閉方:我已經(jīng)不 會(huì)再給你發(fā)數(shù)據(jù)了(當(dāng)然,在fin包之前發(fā)送出去的數(shù)據(jù),如果沒有收到對(duì)應(yīng)的ack確認(rèn)報(bào)文,主動(dòng)關(guān)閉方依然會(huì)重發(fā)這些數(shù)據(jù)),但是,此時(shí)主動(dòng)關(guān)閉方還可 以接受數(shù)據(jù)。 第二次揮手:被動(dòng)關(guān)閉方收到FIN包后,發(fā)送一個(gè)ACK給對(duì)方,確認(rèn)序號(hào)為收到序號(hào)+1。 第三次揮手:被動(dòng)關(guān)閉方發(fā)送一個(gè)FIN,用來關(guān)閉被動(dòng)關(guān)閉方到主動(dòng)關(guān)閉方的數(shù)據(jù)傳送,也就是告訴主動(dòng)關(guān)閉方,我的數(shù)據(jù)也發(fā)送完了,不會(huì)再給你發(fā)數(shù)據(jù)了。 第四次揮手:主動(dòng)關(guān)閉方收到FIN后,發(fā)送一個(gè)ACK給被動(dòng)關(guān)閉方,確認(rèn)序號(hào)為收到序號(hào)+1,至此,完成四次揮手。 說明: 1)SYN攻擊 用眾多偽造ip地址向服務(wù)器發(fā)送SYN=1(請(qǐng)求連接),讓服務(wù)器處于SYN-RCVD狀態(tài),但都無法第三次握手(因?yàn)閭卧靑p不存在) 2)4次揮手中的FIN就相當(dāng)于三次握手中的SYN。 3)序號(hào)seq,確認(rèn)序號(hào)ack,確認(rèn)標(biāo)志位ACK作用還是一樣的,就是確認(rèn)作用(把seq加上1賦給ack,并把ACK置1) 4)為什么一個(gè)3次1個(gè)4次不一樣? 因?yàn)閮啥说臄?shù)據(jù)并不是同時(shí)發(fā)送完,所以兩端誰發(fā)送完數(shù)據(jù)都需要自己告訴對(duì)方一次,并且對(duì)方確認(rèn)一次。 6, 在瀏覽器中輸入www.baidu.com后執(zhí)行的全部過程1、客戶端瀏覽器通過DNS解析到www.baidu.com的IP地址220.181.27.48,通過這個(gè)IP地址找到客戶端到服務(wù)器的路徑??蛻舳藶g覽器發(fā)起一個(gè)HTTP會(huì)話到220.161.27.48,然后通過TCP進(jìn)行封裝數(shù)據(jù)包,輸入到網(wǎng)絡(luò)層。 2、在客戶端的傳輸層(添加TCP頭),把HTTP會(huì)話請(qǐng)求分成報(bào)文段,添加源和目的端口,如服務(wù)器使用80端口監(jiān)聽客戶端的請(qǐng)求,客戶端由系統(tǒng)隨機(jī)選擇一個(gè)端口如5000,與服務(wù)器進(jìn)行交換,服務(wù)器把相應(yīng)的請(qǐng)求返回給客戶端的5000端口。然后使用IP層的IP地址查找目的端。 3、客戶端的網(wǎng)絡(luò)層(添加IP頭)不用關(guān)系應(yīng)用層或者傳輸層的東西,主要做的是通過查找路由表確定如何到達(dá)服務(wù)器,期間可能經(jīng)過多個(gè)路由器,這些都是由路由器來完成的工作,我不作過多的描述,無非就是通過查找路由表決定通過那個(gè)路徑到達(dá)服務(wù)器。 4、客戶端的鏈路層(添加MAC頭),包通過鏈路層發(fā)送到路由器,通過鄰居協(xié)議查找給定IP地址的MAC地址,然后發(fā)送ARP請(qǐng)求查找目的地址,如果得到回應(yīng)后就可以使用ARP的請(qǐng)求應(yīng)答交換的IP數(shù)據(jù)包現(xiàn)在就可以傳輸了,然后發(fā)送IP數(shù)據(jù)包到達(dá)服務(wù)器的地址。 7,TCP和UDP的區(qū)別這是傳輸層的兩個(gè)協(xié)議,先說一下傳輸層的兩大功能:
傳輸層和網(wǎng)絡(luò)層的區(qū)別:
UDP(User Data Protocol)用戶數(shù)據(jù)報(bào)協(xié)議
TCP(Transmission Control Protocol)傳輸控制協(xié)議
什么是TCP連接 TCP連接是一種抽象的概念,表示一條可以通信的鏈路。 什么是套接字 一條TCP連接的兩端就是兩個(gè)套接字。 8, TCP對(duì)應(yīng)的協(xié)議和UDP對(duì)應(yīng)的協(xié)議TCP對(duì)應(yīng)的協(xié)議: (1) FTP:定義了文件傳輸協(xié)議,使用21端口。 (2) Telnet:一種用于遠(yuǎn)程登陸的端口,使用23端口,用戶可以以自己的身份遠(yuǎn)程連接到計(jì)算機(jī)上,可提供基于DOS模式下的通信服務(wù)。 (3) SMTP:郵件傳送協(xié)議,用于發(fā)送郵件。服務(wù)器開放的是25號(hào)端口。 (4) POP3:它是和SMTP對(duì)應(yīng),POP3用于接收郵件。POP3協(xié)議所用的是110端口。 (5)HTTP:是從Web服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。 UDP對(duì)應(yīng)的協(xié)議: (1) DNS:用于域名解析服務(wù),將域名地址轉(zhuǎn)換為IP地址。DNS用的是53號(hào)端口。 (2) SNMP:簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議,使用161號(hào)端口,是用來管理網(wǎng)絡(luò)設(shè)備的。由于網(wǎng)絡(luò)設(shè)備很多,無連接的服務(wù)就體現(xiàn)出其優(yōu)勢(shì)。 (3) TFTP(Trival File Transfer Protocal),簡(jiǎn)單文件傳輸協(xié)議,該協(xié)議在熟知端口69上使用UDP服務(wù)。 9,DNS域名系統(tǒng),簡(jiǎn)單描述其工作原理。當(dāng)DNS客戶機(jī)需要在程序中使用名稱時(shí),它會(huì)查詢DNS服務(wù)器來解析該名稱??蛻魴C(jī)發(fā)送的每條查詢信息包括三條信息:包括:指定的DNS域名,指定的查詢類型,DNS域名的指定類別?;?span lang='EN-US'>UDP服務(wù),端口53. 該應(yīng)用一般不直接為用戶使用,而是為其他應(yīng)用服務(wù),如HTTP,SMTP等在其中需要完成主機(jī)名到IP地址的轉(zhuǎn)換。 10,面向連接和非面向連接的服務(wù)的特點(diǎn)是什么?面向連接的服務(wù),通信雙方在進(jìn)行通信之前,要先在雙方建立起一個(gè)完整的可以彼此溝通的通道,在通信過程中,整個(gè)連接的情況一直可以被實(shí)時(shí)地監(jiān)控和管理。 非面向連接的服務(wù),不需要預(yù)先建立一個(gè)聯(lián)絡(luò)兩個(gè)通信節(jié)點(diǎn)的連接,需要通信的時(shí)候,發(fā)送節(jié)點(diǎn)就可以往網(wǎng)絡(luò)上發(fā)送信息,讓信息自主地在網(wǎng)絡(luò)上去傳,一般在傳輸?shù)倪^程中不再加以監(jiān)控。 11,TCP的三次握手過程?為什么會(huì)采用三次握手,若采用二次握手可以嗎?答:建立連接的過程是利用客戶服務(wù)器模式,假設(shè)主機(jī)A為客戶端,主機(jī)B為服務(wù)器端。 (1)TCP的三次握手過程:主機(jī)A向B發(fā)送連接請(qǐng)求;主機(jī)B對(duì)收到的主機(jī)A的報(bào)文段進(jìn)行確認(rèn);主機(jī)A再次對(duì)主機(jī)B的確認(rèn)進(jìn)行確認(rèn)。 (2)采用三次握手是為了防止失效的連接請(qǐng)求報(bào)文段突然又傳送到主機(jī)B,因而產(chǎn)生錯(cuò)誤。失效的連接請(qǐng)求報(bào)文段是指:主機(jī)A發(fā)出的連接請(qǐng)求沒有收到主機(jī)B的確認(rèn),于是經(jīng)過一段時(shí)間后,主機(jī)A又重新向主機(jī)B發(fā)送連接請(qǐng)求,且建立成功,順序完成數(shù)據(jù)傳輸。考慮這樣一種特殊情況,主機(jī)A第一次發(fā)送的連接請(qǐng)求并沒有丟失,而是因?yàn)榫W(wǎng)絡(luò)節(jié)點(diǎn)導(dǎo)致延遲達(dá)到主機(jī)B,主機(jī)B以為是主機(jī)A又發(fā)起的新連接,于是主機(jī)B同意連接,并向主機(jī)A發(fā)回確認(rèn),但是此時(shí)主機(jī)A根本不會(huì)理會(huì),主機(jī)B就一直在等待主機(jī)A發(fā)送數(shù)據(jù),導(dǎo)致主機(jī)B的資源浪費(fèi)。(這就是缺少第三次握手(A再給B確認(rèn))) (3)采用兩次握手不行,原因就是上面說的實(shí)效的連接請(qǐng)求的特殊情況。 12,了解交換機(jī)、路由器、網(wǎng)關(guān)的概念,并知道各自的用途1)交換機(jī) 在計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中,交換機(jī)是針對(duì)共享工作模式的弱點(diǎn)而推出的。交換機(jī)擁有一條高帶寬的背部總線和內(nèi)部交換矩陣。交換機(jī)的所有的端口都掛接在這條背 部總線上,當(dāng)控制電路收到數(shù)據(jù)包以后,處理端口會(huì)查找內(nèi)存中的地址對(duì)照表以確定目的MAC(網(wǎng)卡的硬件地址)的NIC(網(wǎng)卡)掛接在哪個(gè)端口上,通過內(nèi)部 交換矩陣迅速將數(shù)據(jù)包傳送到目的端口。目的MAC若不存在,交換機(jī)才廣播到所有的端口,接收端口回應(yīng)后交換機(jī)會(huì)“學(xué)習(xí)”新的地址,并把它添加入內(nèi)部地址表 中。 交換機(jī)工作于OSI參考模型的第二層,即數(shù)據(jù)鏈路層。交換機(jī)內(nèi)部的CPU會(huì)在每個(gè)端口成功連接時(shí),通過ARP協(xié)議學(xué)習(xí)它的MAC地址,保存成一張 ARP表。在今后的通訊中,發(fā)往該MAC地址的數(shù)據(jù)包將僅送往其對(duì)應(yīng)的端口,而不是所有的端口。因此,交換機(jī)可用于劃分?jǐn)?shù)據(jù)鏈路層廣播,即沖突域;但它不 能劃分網(wǎng)絡(luò)層廣播,即廣播域。 交換機(jī)被廣泛應(yīng)用于二層網(wǎng)絡(luò)交換,俗稱“二層交換機(jī)”。 交換機(jī)的種類有:二層交換機(jī)、三層交換機(jī)、四層交換機(jī)、七層交換機(jī)分別工作在OSI七層模型中的第二層、第三層、第四層盒第七層,并因此而得名。 2)路由器 路由器(Router)是一種計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備,提供了路由與轉(zhuǎn)送兩種重要機(jī)制,可以決定數(shù)據(jù)包從來源端到目的端所經(jīng)過 的路由路徑(host到host之間的傳輸路徑),這個(gè)過程稱為路由;將路由器輸入端的數(shù)據(jù)包移送至適當(dāng)?shù)穆酚善鬏敵龆?在路由器內(nèi)部進(jìn)行),這稱為轉(zhuǎn) 送。路由工作在OSI模型的第三層——即網(wǎng)絡(luò)層,例如網(wǎng)際協(xié)議。 路由器的一個(gè)作用是連通不同的網(wǎng)絡(luò),另一個(gè)作用是選擇信息傳送的線路。 路由器與交換器的差別,路由器是屬于OSI第三層的產(chǎn)品,交換器是OSI第二層的產(chǎn)品(這里特指二層交換機(jī))。 3)網(wǎng)關(guān) 網(wǎng)關(guān)(Gateway),網(wǎng)關(guān)顧名思義就是連接兩個(gè)網(wǎng)絡(luò)的設(shè)備,區(qū)別于路由器(由于歷史的原因,許多有關(guān)TCP/IP 的文獻(xiàn)曾經(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)。 http://www.cnblogs.com/zyf-zhaoyafei/p/4716297.html |
|