面試常見問題計算機網(wǎng)絡_第1頁
面試常見問題計算機網(wǎng)絡_第2頁
面試常見問題計算機網(wǎng)絡_第3頁
面試常見問題計算機網(wǎng)絡_第4頁
面試常見問題計算機網(wǎng)絡_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論