面試常見問(wèn)題計(jì)算機(jī)網(wǎng)絡(luò)_第1頁(yè)
面試常見問(wèn)題計(jì)算機(jī)網(wǎng)絡(luò)_第2頁(yè)
面試常見問(wèn)題計(jì)算機(jī)網(wǎng)絡(luò)_第3頁(yè)
面試常見問(wèn)題計(jì)算機(jī)網(wǎng)絡(luò)_第4頁(yè)
面試常見問(wèn)題計(jì)算機(jī)網(wǎng)絡(luò)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、計(jì)算機(jī)網(wǎng)絡(luò)? OSI與TCP/IP各層的結(jié)構(gòu)與功能,都有哪些協(xié)議。ISO/OSI 模型用途主要作用協(xié)議應(yīng)用層進(jìn)程間通信為操作系統(tǒng)或網(wǎng)絡(luò)應(yīng)用程序提TFTP , HIIP ,供訪問(wèn)網(wǎng)絡(luò)服務(wù)的接口。SNMP , FTP , SMTP, DNS, Telnet表小層數(shù)據(jù)表示(編碼)解決用戶信息的語(yǔ)法表示問(wèn)題。無(wú)協(xié)議提供格式化的表示和轉(zhuǎn)換數(shù)據(jù)J服務(wù)。數(shù)據(jù)的壓縮和解壓縮,冽 登和解密等工作都由表示層負(fù) 責(zé)。會(huì)話層建立和管理主機(jī) 間的會(huì)話會(huì)話層不參與具體的傳輸, 它提 供包括訪問(wèn)驗(yàn)證和會(huì)話管理在內(nèi)的建立和維護(hù)應(yīng)用之間通信的機(jī)制。如服務(wù)器驗(yàn)證用戶登錄 便是由會(huì)話層完成的。(以上統(tǒng)稱報(bào)文)無(wú)協(xié)議傳輸層端到端鏈接

2、提供主機(jī)之間連接,屏蔽技術(shù)細(xì) 節(jié)。將分組組成報(bào)文,可靠傳輸、 流量控制。為上層提供端到端TCP, UDP(最終用戶到最終用戶)的透明的、可靠的數(shù)據(jù)傳輸服務(wù)。網(wǎng)絡(luò)層尋址路徑選擇為傳輸層提供建立、維護(hù)和網(wǎng)絡(luò) 連接,解決路由選擇。數(shù)據(jù)單元-分組 packetIP, ICMP , RIP, OSPF, BGP, IGMP數(shù)據(jù)鏈路層占用傳輸介質(zhì)數(shù)據(jù)鏈路層在不可靠的物理介_?SLIP, CSLIP, PPP,質(zhì)上提供可靠的傳輸。建立相鄰 結(jié)點(diǎn)之間的數(shù)據(jù)鏈路, 通過(guò)差錯(cuò)ARP, RARP, MTU控制提供數(shù)據(jù)幀(Frame)在信道| 上無(wú)差錯(cuò)的傳輸。作用; 物理地|址尋址、數(shù)據(jù)的成幀、流量控制、數(shù)據(jù)的檢錯(cuò)、

3、重發(fā)。物理層比特傳輸實(shí)現(xiàn)相鄰節(jié)點(diǎn)之間 比特?cái)?shù)據(jù)流 的透明傳送,盡可能屏蔽具體傳 輸介質(zhì)和物理設(shè)備的差異。建立、維護(hù)和拆除物理鏈路連接ISO2110, IEEE802IEEE802.2TCP/IPTCP/IP模型用途主要作用協(xié)議應(yīng)用層為操作系統(tǒng)或網(wǎng)絡(luò)應(yīng) 用程序提供訪問(wèn)網(wǎng)絡(luò) 服務(wù)的接口。HIIP:超文本傳輸FTP:文件傳輸SMTP:電子郵件Telent:遠(yuǎn)程登錄SNMP:網(wǎng)絡(luò)管理DNS:域名管理傳輸層使源主機(jī)和目標(biāo)主機(jī) 對(duì)等實(shí)體之間會(huì)話, 端到端鏈接。傳輸控制協(xié)議 TCP (鏈 接):誤差、流量控制用戶數(shù)據(jù)報(bào)協(xié)議 UDP (無(wú) 連接)IP層網(wǎng)絡(luò)間屬地傳輸主要 依賴于網(wǎng)間網(wǎng)層中的IP協(xié)議IP (無(wú)連

4、接的最佳傳送 路由選擇):1.管理Internet中地址;2.路由 選擇;3.數(shù)據(jù)報(bào)分片與 重組ICMP:報(bào)告差錯(cuò)、傳輸控 制信息;ARP:將IP地址 轉(zhuǎn)換成物理地址;RARP: 物理地址到IP地址網(wǎng)絡(luò)接口層用某種協(xié)議與網(wǎng)絡(luò)連 接,以便通過(guò)網(wǎng)絡(luò)傳 遞IP分組。相似之處:基于獨(dú)立的協(xié)議族,層的功能劃分相似 差異:ISO/OSI:從概念模型到協(xié)議實(shí)現(xiàn);TCP/IP:從協(xié)議實(shí)現(xiàn)到概念描述層次數(shù)量差別;? 2.TCP與UDP的區(qū)別。UDP( UserDatagramProtocol ) : 不提供復(fù)雜的控制機(jī)制,利用IP 提供面向無(wú)連接的通信服務(wù) 。 并且他是將應(yīng)用程序發(fā)來(lái)的數(shù)據(jù)在收到那一刻,立刻按照

5、原樣發(fā)送到網(wǎng)絡(luò)上的一種機(jī)制。即使出現(xiàn)網(wǎng)絡(luò)擁堵, UDP 也無(wú)法進(jìn)行流量控制等避免擁塞的行為。如果傳輸途中 出現(xiàn)丟包, 也不負(fù)責(zé)重發(fā)。甚至出現(xiàn)包的到達(dá)亂序時(shí)也沒(méi)有糾正功能。 如果需要這些細(xì)節(jié)控制,要交給采用UDP 的應(yīng)用程序處理。 UDP 將控制轉(zhuǎn)移到應(yīng)用程序,只提供作為傳輸層協(xié)議的最基本功能。TCP( TransmissionControlProtocol ) : TCP 充分實(shí)現(xiàn)了數(shù)據(jù)傳輸時(shí)的各種控制功能,可以 進(jìn)行丟包的重發(fā)控制、對(duì)亂序的分包進(jìn)行順序控制。 此外, TCP 作為一種面向有鏈接的協(xié)議,只有在確認(rèn)通信對(duì)端存在時(shí)才會(huì)發(fā)送數(shù)據(jù),從而可以控制通信流量的 浪費(fèi) 。TCP 通過(guò)檢驗(yàn)和、序

6、列號(hào)、確認(rèn)應(yīng)答、重發(fā)控制、連接管理以及窗口控制等機(jī)制實(shí)現(xiàn)可靠性傳輸。如何加以區(qū)分使用?TCP 用于傳輸層有必要實(shí)現(xiàn)可靠性傳輸?shù)?情況。 UDP 主要用于對(duì)高速傳輸和實(shí)時(shí)性有較高要求的通信或廣播通信。區(qū)別:1 ) TCP 面向連接;UDP 是無(wú)連接的,發(fā)送數(shù)據(jù)之前不需要建立連接。2) TCP提供可靠的服務(wù)。TCP傳送的數(shù)據(jù)無(wú)差錯(cuò),不丟失,不重復(fù),且按序到達(dá);UDP盡最大努力交付,不保證可靠交付。3) TCP 面向字節(jié)流,實(shí)際上TCP 把數(shù)據(jù)看成一串無(wú)結(jié)構(gòu)的字節(jié)流;UDP 是面向報(bào)文的,UDP 沒(méi)有擁塞控制,網(wǎng)絡(luò)出現(xiàn)擁塞不會(huì)使源主機(jī)的發(fā)送速率降低。4)每一條TCP連接只能是點(diǎn)對(duì)點(diǎn)的;UDP支持一對(duì)

7、一、一對(duì)多、多對(duì)一和多對(duì)多的交互通 信5) TCP首部開銷20字節(jié);UDP首部開銷8字節(jié);6) TCP邏輯通信信道是全雙工的可靠信道,UDP則是不可靠信道? 3.TCP報(bào)文結(jié)構(gòu)。IP結(jié)構(gòu)首部固定長(zhǎng)度20 字節(jié),所有IP 數(shù)據(jù)報(bào)必須具有??蛇x字段,長(zhǎng)度可變。? 版本:占4 位,值 IP 協(xié)議的版本,當(dāng)前IP 協(xié)議版本號(hào)為4( IPv4)? 首部長(zhǎng)度:4 位,表示最大數(shù)值是15 個(gè)單位(一個(gè)單位4 字節(jié)) ,首部最大值為60 字節(jié)。? 區(qū)分服務(wù):未被使用。? 總長(zhǎng)度:占16 位,值首部和數(shù)據(jù)之和的長(zhǎng)度,單位為字節(jié),數(shù)據(jù)報(bào)最大長(zhǎng)度65535 字節(jié),總長(zhǎng)度不超過(guò)最大傳送單元MTU( 1500)? 標(biāo)識(shí)

8、:占16 位,它是一個(gè)計(jì)數(shù)器,用來(lái)產(chǎn)生數(shù)據(jù)報(bào)標(biāo)識(shí)。? 標(biāo)志:占3 位,只有前兩位有意義。標(biāo)志字段最低位MF( morefragment ) MF=1 表示“還有分片”。 MF=0 表示最后一個(gè)分片。標(biāo)志字段中間位DF( Don tfragment )當(dāng) DF=0允許分片。? 片偏移:12 位,較長(zhǎng)的分組在分片后某片在原分組中的相對(duì)位置。以8 字節(jié)為偏移單位。? 生成時(shí)間:TTL, 8 位,數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中可通過(guò)的路由器的最大值。? 協(xié)議: 8 位, 指出數(shù)據(jù)報(bào)寫的數(shù)據(jù)所用的協(xié)議,以便目的主機(jī)的IP 層將數(shù)據(jù)上交那個(gè)處理過(guò)程。 ( TCP、 UDP、 ICMP、 IGMP、 OSPF)? 首部校驗(yàn)

9、和:16位,只建安數(shù)據(jù)報(bào)的首部。不采用 CRC,采用簡(jiǎn)單計(jì)算方法? 源地址、目的地址:各占4 字節(jié)? TCP結(jié)構(gòu)? 源端口、目的端口:各 占 兩個(gè)字節(jié)。端口是傳輸層與應(yīng)用層的服務(wù)接口。運(yùn)輸層的復(fù)用和分用功能都要通過(guò)端口實(shí)現(xiàn)。? 序號(hào): 4 字節(jié)。本報(bào)文段所發(fā)送的數(shù)據(jù)的第一個(gè)字節(jié)的編號(hào)? 確認(rèn)號(hào):4 字節(jié),期望收到對(duì)方的下一個(gè)報(bào)文段的數(shù)據(jù)的第一個(gè)字節(jié)序號(hào)。數(shù)據(jù)偏移:4 位,表示首部長(zhǎng)度,以4 字節(jié)為計(jì)算單位。? 保留: 6 位,未使用? URG: 為 1 時(shí), 表明緊急指針字段有效。通知系統(tǒng)此報(bào)文段有緊急數(shù)據(jù),應(yīng)盡快傳送(優(yōu)先級(jí)高的數(shù)據(jù))? ACK:為1是確認(rèn)號(hào)字段有效,為0時(shí)無(wú)效.? PSH接

10、收到的PSH=1的報(bào)文,盡快交付應(yīng)用進(jìn)程,不等待整個(gè)緩沖區(qū)填滿。? RST:為1表明TCP連接中出現(xiàn)差錯(cuò),必須釋放連接,然后重新建立。? SYN:為1表示這是一個(gè)連接請(qǐng)求或連接接受報(bào)文。? FIN:用來(lái)釋放一個(gè)連接。為 1表明該報(bào)文段的發(fā)送端的數(shù)據(jù)已經(jīng)發(fā)送完畢,要求釋放 連接。? 窗口: 2 字節(jié),用來(lái)讓對(duì)方設(shè)置發(fā)送窗口的依據(jù)。? 校驗(yàn)和: 2 字節(jié), 校驗(yàn)范圍包括首部和數(shù)據(jù)。在計(jì)算校驗(yàn)和時(shí),要在TCP 報(bào)文段前加12個(gè)字節(jié)的偽首部。? 緊急指針:16 位, 指出本報(bào)文段中緊急數(shù)據(jù)有多少字節(jié)(放在本報(bào)文段數(shù)據(jù)的最前面)? 選項(xiàng):MSS,告訴TCP緩存所能接受的報(bào)文段的數(shù)據(jù)字段的最大長(zhǎng)度是MSS

11、個(gè)字節(jié)。? 填充? 4.TCP的三次握手與四次揮手過(guò)程,各個(gè)狀態(tài)名稱與含義,TIMEWAIT的作用。TimeWait 作用:1 ) 為了保證客戶端發(fā)送的最后一個(gè)ACK 報(bào)文能夠到達(dá)B。2 ) 防止“已失效連接請(qǐng)求報(bào)文段”出現(xiàn)在本連接中。經(jīng)過(guò)2MSL( 最大報(bào)文段生存時(shí)間) ,可以使本來(lái)連接持續(xù)時(shí)間內(nèi)產(chǎn)生的所有報(bào)文段,都從網(wǎng)絡(luò)中消失,這樣就可以使下一個(gè)新的連接中不會(huì)出現(xiàn)就得連接請(qǐng)求報(bào)文。? 5.TCP擁塞控制。什么是擁塞?在某段時(shí)間,若對(duì)網(wǎng)絡(luò)中某一資源的需求超過(guò)了該資源所能提供的可用部分,網(wǎng)絡(luò)性能變壞,這種情況叫擁塞。擁塞控制就是防止過(guò)多的數(shù)據(jù)注入網(wǎng)絡(luò),使網(wǎng)絡(luò)中的路由器或鏈路不至過(guò)載。擁塞控制是

12、一個(gè)全局性的過(guò)程,和流量控制不同,流量控制是點(diǎn)對(duì)點(diǎn)通信量的控制。擁塞窗口cwnd :發(fā)送方維持一個(gè)擁塞窗口的狀態(tài)變量。其大小取決于網(wǎng)絡(luò)的擁塞程度,并且動(dòng)態(tài)變化。發(fā)送方讓自己的發(fā)送窗口等于擁塞窗口。如果考慮接收方的接收能力,發(fā)送窗口可能小于擁塞窗口??刂茡砣翱谠瓌t : 只要網(wǎng)絡(luò)沒(méi)有出現(xiàn)擁塞,窗口就增大一些,只要出現(xiàn)擁塞,窗口就減小一些。慢開始與擁塞避免慢開始算法:剛開始發(fā)送報(bào)文是,設(shè)置cwnd=1, 每收到一個(gè)新的確認(rèn),擁塞窗口加1,直到MSS。慢開始門限狀態(tài)變量ssthresh : 當(dāng) cwndssthresh 時(shí),停止使用慢開始改用擁塞避免算法;cwnd=ssthresh 時(shí),兩種方法都可

13、以。擁塞避免算法:讓擁塞窗口 cwnd緩慢增大,每經(jīng)過(guò)一個(gè)往返時(shí)間 RTT把發(fā)送發(fā)的擁塞窗口cwnd 加 1,不是加倍,是擁塞窗口cwnd 線性增長(zhǎng)。當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時(shí):無(wú)論是慢開始階段還是擁塞避免階段,只要發(fā)送方判斷網(wǎng)絡(luò)出現(xiàn)擁塞(根據(jù)是沒(méi)有按時(shí)收到確認(rèn)), 把慢開始門限ssthresh 設(shè)置為出現(xiàn)擁塞時(shí)發(fā)送方窗口的一般。然后把擁塞窗口cwnd 重新設(shè)置為1 ,執(zhí)行慢開始算法。這樣可以迅速減少主機(jī)發(fā)送到網(wǎng)絡(luò)中的分組數(shù),使得發(fā)生擁塞的路由器有足夠時(shí)間把擠壓的分組處理完畢??熘貍骱涂旎謴?fù)快重傳 : 接收方每收到一個(gè)失序的報(bào)文段就立即發(fā)出重復(fù)確認(rèn)。讓發(fā)送方及早知道有報(bào)文段沒(méi)有到達(dá)接收方。發(fā)送方只要一連

14、接收到三個(gè)重復(fù)確認(rèn)就立即重傳對(duì)方尚未收到的報(bào)文段。快恢復(fù) : 當(dāng)發(fā)送端收到連續(xù)三個(gè)重復(fù)的確認(rèn)是,把慢開始門限ssthresh 減半, 但不執(zhí)行慢開始算法。 由于發(fā)送方現(xiàn)在認(rèn)為網(wǎng)絡(luò)很可能沒(méi)有發(fā)生擁塞(因?yàn)榭梢允盏饺齻€(gè)連續(xù)重復(fù)確認(rèn)),因此不執(zhí)行慢開始算法,而是將cwnd 設(shè)置為慢開始門限ssthresh 減半后的數(shù)值,開始執(zhí)行擁塞避免算法。發(fā)送窗口的上限值:發(fā)送方的發(fā)送窗口的上限值應(yīng)當(dāng)取為接收方rwnd 和擁塞窗口cwnd 中較小的一個(gè)。當(dāng) rwndcwnd 時(shí),是接收方的接收能力限制發(fā)送窗口的最大值。當(dāng) cwndrwnd 時(shí),是網(wǎng)絡(luò)的擁塞限制發(fā)送方窗口的最大值。隨機(jī)早起檢測(cè)RED路由器的隊(duì)列維持

15、兩個(gè)參數(shù),即隊(duì)列長(zhǎng)度最小門限THmin 和最大門限THmaxRED對(duì)每個(gè)到達(dá)的數(shù)據(jù)報(bào)先at算平均隊(duì)列長(zhǎng)度Lav.LavTHmax ,則將新到達(dá)的數(shù)據(jù)報(bào)丟棄。Lav介于之間時(shí),按照概率p將新到達(dá)的數(shù)據(jù)報(bào)丟棄。? 6.TCP滑動(dòng)窗口與回退N針協(xié)議。TCP 滑動(dòng)窗口:發(fā)送方和接收方都會(huì)維護(hù)一個(gè)數(shù)據(jù)幀的序列,這個(gè)序列被稱為窗口。發(fā)送方的窗口大小由接收方確定,目的在于控制發(fā)送速度,以免接收方的緩沖不夠大,導(dǎo)致溢出,同時(shí)流量控制可以避免網(wǎng)絡(luò)擁塞。1 比特滑動(dòng)窗口協(xié)議(停等協(xié)議): 接收方和發(fā)送方的窗口大小都是1 。 發(fā)送方每次只能發(fā)送一個(gè),并且必須等待這個(gè)數(shù)據(jù)報(bào)的ACK,才能發(fā)送下一個(gè)。ARQ(Autom

16、aticRepeatreQuest) 自動(dòng)重傳請(qǐng)求。重傳的請(qǐng)求是自動(dòng)進(jìn)行的。接收方不需 要請(qǐng)求發(fā)送方重傳某個(gè)出錯(cuò)的分組?;赝?N( Go-back-N )表示需要再退回來(lái)重傳已發(fā)送的N 個(gè)分組。累計(jì)確認(rèn):不必對(duì)收到的分組逐個(gè)發(fā)送確認(rèn),而是對(duì)按序到達(dá)的最后一個(gè)分組發(fā)送確認(rèn)。優(yōu)點(diǎn)是容易實(shí)現(xiàn),即使確認(rèn)丟失也不必重傳。缺點(diǎn)是:不能向發(fā)送方反映接收方已經(jīng)正確收到的所有分組。選擇確認(rèn)SACK:接收方收到了不連續(xù)的字節(jié)塊。如果這些字節(jié)塊的序號(hào)在接收窗口內(nèi),那么接收方收下這些數(shù)據(jù),但要把這些信息準(zhǔn)確的告訴發(fā)送方,是發(fā)送方不再發(fā)送重復(fù)的數(shù)據(jù)。選擇重傳協(xié)議:后退 N 協(xié)議的問(wèn)題是,當(dāng)有錯(cuò)誤幀出現(xiàn)后,要重發(fā)之后的所

17、有幀,會(huì)是網(wǎng)絡(luò)狀況惡化。重傳協(xié)議是用來(lái)解決這個(gè)問(wèn)題的。接收端總會(huì)緩存所有收到的幀,當(dāng)某個(gè)幀出錯(cuò)時(shí),值要求重傳這一個(gè)幀。缺點(diǎn)在于接收端要更多的緩存。? 7.Http 的報(bào)文結(jié)構(gòu)。方法:對(duì)所請(qǐng)求的對(duì)象進(jìn)行的操作,實(shí)際上就是一些命令。包括 getpostoptionheadputdeletetraceconnectURL:所請(qǐng)求的資源的 URL。版本:HTTP 的版本。版本:HTTP 的版本狀態(tài)碼:1XX 表示通知信息,如請(qǐng)求收到了或正在進(jìn)行處理。2XX 表示成功,如接受或知道了。3XX表示重定向,表示要完成的請(qǐng)求還必須采取進(jìn)一步行動(dòng)。4XX 表示客戶的差錯(cuò),如請(qǐng)求中有錯(cuò)誤的語(yǔ)法或不能完成。5XX

18、表示服務(wù)器的差錯(cuò),如服務(wù)器失效無(wú)法完成請(qǐng)求。?8.Http 的狀態(tài)碼含義。?狀態(tài)碼:1XX 表示通知信息,如請(qǐng)求收到了或正在進(jìn)行處理。?2XX表示成功,如接受或知道了。?3XX表示重定向,表示要完成的請(qǐng)求還必須采取進(jìn)一步行動(dòng)。?4XX 表示客戶的差錯(cuò),如請(qǐng)求中有錯(cuò)誤的語(yǔ)法或不能完成。?5XX 表示服務(wù)器的差錯(cuò),如服務(wù)器失效無(wú)法完成請(qǐng)求。? 9.Httprequest 的幾種類型。getpostoptionheadputdeletetraceconnect? 10.Http1.1 和 Http1.0 的區(qū)別HTTP1.0 規(guī)定瀏覽器與服務(wù)器只保持短暫的連接, 瀏覽器每次請(qǐng)求都需要與服務(wù)器建立一個(gè)

19、TCP 連接,服務(wù)器完成請(qǐng)求處理后立即斷開TCP 連接,服務(wù)器也不跟蹤每個(gè)客戶也不記錄過(guò)去的請(qǐng)求。HTTP1.1支持持久連接,在一個(gè)TCP連接上可以傳送多個(gè) HTTP請(qǐng)求和響應(yīng),減少了建立和 關(guān)閉連接的消耗和延遲。HTTP1.1 還允許客戶端不用等待上一次請(qǐng)求結(jié)果返回,就可以發(fā)出下一次請(qǐng)求(流水線), 但服務(wù)器端必須按照收到客戶端請(qǐng)求的先后順序依次回送響應(yīng)結(jié)果,以保證客戶端能夠區(qū)分出每次請(qǐng)求的響應(yīng)內(nèi)容,這樣顯著減少了所需時(shí)間。HTTP1.0不支持Host請(qǐng)求頭字段,在 HTTP1.1中增加了 Host請(qǐng)求頭字段,WEB瀏覽器可以使用主機(jī)頭名來(lái)明確表示要訪問(wèn)服務(wù)器上的哪個(gè)WEB 站點(diǎn),實(shí)現(xiàn)了在一

20、臺(tái)WEB 服務(wù)器上可以在同一個(gè)IP 地址和端口號(hào)上使用不同的主機(jī)名來(lái)創(chuàng)建多個(gè)虛擬WEB 站點(diǎn)。HTTP1.1 還提供了與身份認(rèn)證、狀態(tài)管理和Cache 緩存機(jī)制相關(guān)的請(qǐng)求頭和響應(yīng)頭。? 11.Http 怎么處理長(zhǎng)連接。判斷長(zhǎng)連接是否需要結(jié)束?Keep-Alive:timeout=20 ,表示這個(gè) TCP通道可以保持 20秒。另外還可能有 max=XXX ,表示這個(gè)長(zhǎng)連接最多接收XXX 次請(qǐng)求就斷開。對(duì)于客戶端來(lái)說(shuō),如果服務(wù)器沒(méi)有告訴客戶端超時(shí)時(shí)間也沒(méi)關(guān)系,服務(wù)端可能主動(dòng)發(fā)起四次握手?jǐn)嚅_TCP 連接,客戶端能夠知道該TCP連接已經(jīng)無(wú)效;另外TCP 還有心跳包來(lái)檢測(cè)當(dāng)前連接是否還活著,方法很多,避

21、免浪費(fèi)資源。? 12.Cookie與Session的作用于原理。? 13.電腦上訪問(wèn)一個(gè)網(wǎng)頁(yè),整個(gè)過(guò)程是怎么樣的:DNS、HTTP、 TCP、 OSPF、 IP、 ARP。? 14.Ping 的整個(gè)過(guò)程。ICMP 報(bào)文是什么。ICMP( InternetControlMessageProtocol ) 報(bào)文: 網(wǎng)際控制報(bào)文協(xié)議。通過(guò)它可以知道故障的具體原因和位置。由于 IP 不是為可靠傳輸服務(wù)設(shè)計(jì)的, ICMP 的目的主要是用在TCP/IP 網(wǎng)絡(luò)中 發(fā)送出錯(cuò)和 控制消息。 ICMP 數(shù)據(jù)包是封裝在IP 數(shù)據(jù)包里的。ICMP 的錯(cuò)誤報(bào)告只能通知出錯(cuò)數(shù)據(jù)報(bào)的源主機(jī)。ICMP報(bào)文三種:差錯(cuò)報(bào)告(IP

22、不可靠傳輸)、控制報(bào)文(用于重定向)、請(qǐng)求應(yīng)答報(bào)文(測(cè)試路由是否可達(dá)ping ) 。Ping 的整個(gè)過(guò)程:1 ) 同一網(wǎng)段內(nèi):如果主機(jī)A 要去 ping 主機(jī)B。 主機(jī) A 就要查詢自己的MAC 地址表, 如果沒(méi)有找到B 的MAC 地址,就會(huì)向外發(fā)送一個(gè)ARP 廣播包。首先,交換機(jī)會(huì)收到這個(gè)報(bào)文,交換機(jī)有學(xué)習(xí)MAC 地址的功能,他會(huì)檢索自己有沒(méi)有保存主機(jī)B的MAC地址,如果有,就返回給主機(jī)A,沒(méi)有,就會(huì)向所有端口發(fā)送ARP廣播,其他主機(jī)收到后,發(fā)現(xiàn)不是找自己,就丟棄報(bào)文。主機(jī)B 收到報(bào)文后,就立即響應(yīng),發(fā)送自己的MAC 地址,同時(shí)學(xué)習(xí)到主機(jī)A 的 MAC 地址,并按照同樣的ARP 報(bào)文格式返回

23、主機(jī)A。這時(shí), 主機(jī) A 學(xué)到了主機(jī)B 的 MAC 地址, 就把這個(gè)MAC 地址封裝到ICMP 協(xié)議的二層報(bào)文中向B 發(fā)送,B 收到這個(gè)報(bào)文后,發(fā)現(xiàn)是A 的 ICMP 回顯請(qǐng)求,就按同樣格式返回一個(gè)值給 A,完成ping.2)不同網(wǎng)段內(nèi)主機(jī)A要ping主機(jī)C,兩者不在一個(gè)網(wǎng)段,A需要找網(wǎng)關(guān)轉(zhuǎn)發(fā),為了學(xué)習(xí)網(wǎng)關(guān)的MAC地址, A 發(fā)送一個(gè)ARP 廣播,學(xué)到后,再發(fā)封裝ICMP 報(bào)文給網(wǎng)關(guān)路由器。路由器接收到A 的 ICMP 報(bào)文, 查找路由表的目的IP, 得到一個(gè)出口指針,加上自己的MAC地址向主機(jī)C 轉(zhuǎn)發(fā)。路由器端口2 和主機(jī) C 相互學(xué)習(xí)MAC 地址,路由器2 端口轉(zhuǎn)發(fā)非1 端口, 1 已經(jīng)學(xué)

24、到A 的MAC 地址,將ICMP 的回顯請(qǐng)求回復(fù)。? 15.C/S 模式下使用socket 通信,幾個(gè)關(guān)鍵函數(shù)。什么是 Socket?WinSock(WindowsSockets) 是處理網(wǎng)絡(luò)通信的WindowsAPI 。許多函數(shù)與在BSD 中使用的Berkely 套接字函數(shù)是相同的。套接字,簡(jiǎn)單的說(shuō)就是通信雙方的一種約定,用套接字中的相關(guān)函數(shù)來(lái)完成通信過(guò)程。應(yīng)用層通過(guò)傳輸層進(jìn)行數(shù)據(jù)通信時(shí),TCP 和 UDP 會(huì)遇到同時(shí)為多個(gè)應(yīng)用程序進(jìn)程提供并發(fā)服務(wù)的問(wèn)題。多個(gè)TCP 連接或多個(gè)應(yīng)用程序進(jìn)程可能需要通過(guò)同一個(gè)TCP 協(xié)議端口傳輸數(shù)據(jù)。 為了區(qū)別不同的應(yīng)用程序進(jìn)程和連接,許多計(jì)算機(jī)操作系統(tǒng)為應(yīng)用

25、程序與TCP/IP 協(xié)議交互提供了稱為套接字(Socket) 的接口 。區(qū)分 不同應(yīng)用程序進(jìn)程間的網(wǎng)絡(luò)通信和連接,主要有3 個(gè)參數(shù) :通信的目的IP 地址、使用的傳輸層協(xié)議(TCP或UDP)和使用的端口號(hào)。Socket原意是“插座”,通過(guò)將這3個(gè)參數(shù)結(jié)合起來(lái), 與一個(gè)“插座”Socket 綁定, 應(yīng)用層就可以和傳輸層通過(guò)套接字接口區(qū)分來(lái)自不同應(yīng)用程序進(jìn)程或網(wǎng)絡(luò)連接的通信,實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù)。Socket 類型;傳輸套接字主要有兩類:流式套接字( SOCK_STREAM) 和數(shù)據(jù)報(bào)套接字( SOCK_DGRAM ) 。流類型的套接字是為需要可靠連接的應(yīng)用程序設(shè)計(jì)的。這些程序通常使用連續(xù)的數(shù)據(jù)

26、流。用于這種類型套接字的協(xié)議是TCP, 適合 FTP 這類實(shí)現(xiàn)。流套接字是最常用的,一些眾所周知的協(xié)議如HTTP、 TCP、 SMTP、 POP3 等都是基于面向流的協(xié)議。數(shù)據(jù)報(bào)套接字使用UDP做為下層協(xié)議,是無(wú)連接的,有一個(gè)最大緩沖區(qū)大小(數(shù)據(jù)包大小 的最大值)。它是為那些需要發(fā)送小數(shù)據(jù)包,并且對(duì)可靠性要求不高的應(yīng)用程序設(shè)計(jì)的。與流式套接字不同,數(shù)據(jù)報(bào)套接字并不保證數(shù)據(jù)會(huì)到達(dá)終端,也不保證它是以正確的順序到來(lái)的。數(shù)據(jù)報(bào)套接字的傳輸效率相當(dāng)高,它經(jīng)常用于音頻或視頻應(yīng)用程序。對(duì)這些程序來(lái)說(shuō), 速度比可靠性更加重要。二、基本socket 函數(shù)1、socket 函數(shù)包含頭文件?功能:創(chuàng)建一個(gè)套接字用

27、于通信?原型:intsocket(intdomain,inttype,intprotocol);?參數(shù)?domain :指定通信協(xié)議族(protocolfamily ) , AF_INET、AF_INET6、AF_UNIX 等? type :指定socket類型,流式套接字 SOCK_STREAM ,數(shù)據(jù)報(bào)套接字 SOCK_DGRAM ,原始套接字 SOCK_RAW?protocol :協(xié)議類型,IPPROTO_TCP 等;一般由前兩個(gè)參數(shù)就決定了協(xié)議類型,設(shè)置為0即可。?返回值:成功返回非負(fù)整數(shù),它與文件描述符類似,我們把它稱為套接口描述字,簡(jiǎn)稱套接字。失敗返回-12、bind函數(shù)包含頭文件

28、?功能:綁定一個(gè)本地地址到套接字?原型:intbind(intsockfd,conststructsockaddr*addr,socklen_taddrlen);?參數(shù)?sockfd : socket函數(shù)返回的套接字?addr :要綁定的地址?addrlen :地址長(zhǎng)度?返回值:成功返回 0,失敗返回-1 3、listen 函數(shù)包含頭文件?功能:將套接字用于監(jiān)聽進(jìn)入的連接?原型:intlisten(intsockfd,intbacklog);?參數(shù)?sockfd : socket函數(shù)返回的套接字?backlog :規(guī)定內(nèi)核為此套接字排隊(duì)的最大連接個(gè)數(shù)?返回值:成功返回0,失敗返回-1一般來(lái)說(shuō),

29、listen函數(shù)應(yīng)該在調(diào)用 socket和bind函數(shù)之后,調(diào)用函數(shù)accept之前調(diào)用。?對(duì)于給定的監(jiān)聽套接口,內(nèi)核要維護(hù)兩個(gè)隊(duì)列:?1、已由客戶發(fā)出并到達(dá)服務(wù)器,服務(wù)器正在等待完成相應(yīng)的TCP三路握手過(guò)程?2、已完成連接的隊(duì)列如下圖所示:4、accept 函數(shù)包含頭文件sys/socket.h?功能:從已完成連接隊(duì)列返回第一個(gè)連接,如果已完成連接隊(duì)列為空,則阻塞。?原型:intaccept(intsockfd,structsockaddr*addr,socklen_t*addrlen);?參數(shù)?sockfd :服務(wù)器套接字?addr :將返回對(duì)等方的套接字地址?addrlen :返回對(duì)等方的套接字地址長(zhǎng)度?返回值:成功返回非負(fù)整數(shù),失敗返回-15、connect 函數(shù)包含頭文件sys/socket.h?功能:建立一個(gè)連接至addr所指定的套接字?原型:intconnect(intsockfd,conststructsockaddr*addr,socklen_taddrlen);?參數(shù)?sockfd :未連接套接字?addr :要連接的套接字地址 ?addrlen :第二個(gè)參數(shù) addr長(zhǎng)度?返回值:成功返回0,失敗返回-1? 16.IP地址分類。1、A類

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論