Python知識(shí)分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
42道Java網(wǎng)絡(luò)編程相關(guān)面試題含答案(很全)PDF 下載
匿名網(wǎng)友發(fā)布于:2024-01-26 10:05:56
(侵權(quán)舉報(bào))
(假如點(diǎn)擊沒反應(yīng),多刷新兩次就OK!)

42道Java網(wǎng)絡(luò)編程相關(guān)面試題含答案(很全)PDF 下載  圖1

 

 

 

資料內(nèi)容:

 

 

 

1. 什么是網(wǎng)絡(luò)編程
網(wǎng)絡(luò)編程的本質(zhì)是多臺(tái)計(jì)算機(jī)之間的數(shù)據(jù)交換。數(shù)據(jù)傳遞本身沒有多大的難度,不就是把一個(gè)設(shè)備中的數(shù)據(jù)
發(fā)送給其他設(shè)備,然后接受另外一個(gè)設(shè)備反饋的數(shù)據(jù)。現(xiàn)在的網(wǎng)絡(luò)編程基本上都是基于請(qǐng)求/響應(yīng)方式的,也
就是一個(gè)設(shè)備發(fā)送請(qǐng)求數(shù)據(jù)給另外一個(gè),然后接收另一個(gè)設(shè)備的反饋。在網(wǎng)絡(luò)編程中,發(fā)起連接程序,也就
是發(fā)送第一次請(qǐng)求的程序,被稱作客戶端(Client),等待其他程序連接的程序被稱作服務(wù)器(Server)??蛻舳?
程序可以在需要的時(shí)候啟動(dòng),而服務(wù)器為了能夠時(shí)刻相應(yīng)連接,則需要一直啟動(dòng)。
例如以打電話為例,首先撥號(hào)的人類似于客戶端,接聽電話的人必須保持電話暢通類似于服務(wù)器。連接一旦
建立以后,就客戶端和服務(wù)器端就可以進(jìn)行數(shù)據(jù)傳遞了,而且兩者的身份是等價(jià)的。在一些程序中,程序既
有客戶端功能也有服務(wù)器端功能,最常見的軟件就是QQ、微信這類軟件了。
 
2. 網(wǎng)絡(luò)編程中兩個(gè)主要的問題
1. 一個(gè)是如何準(zhǔn)確的定位網(wǎng)絡(luò)上一臺(tái)或多臺(tái)主機(jī)
2. 另一個(gè)就是找到主機(jī)后如何可靠高效的進(jìn)行數(shù)據(jù)傳輸。
TCP/IP協(xié)議中IP層主要負(fù)責(zé)網(wǎng)絡(luò)主機(jī)的定位,數(shù)據(jù)傳輸?shù)穆酚?,?/span>IP地址可以唯一地確定Internet上的一臺(tái)
主機(jī)。
TCP層則提供面向應(yīng)用的可靠(TCP)的或非可靠(UDP)的數(shù)據(jù)傳輸機(jī)制,這是網(wǎng)絡(luò)編程的主要對(duì)象,
一般不需要關(guān)心IP層是如何處理數(shù)據(jù)的。
目前較為流行的網(wǎng)絡(luò)編程模型是客戶機(jī)/服務(wù)器(C/S)結(jié)構(gòu)。即通信雙方一方作為服務(wù)器等待客戶提出請(qǐng)求
并予以響應(yīng)??蛻魟t在需要服務(wù)時(shí)向服務(wù)器提 出申請(qǐng)。服務(wù)器一般作為守護(hù)進(jìn)程始終運(yùn)行,監(jiān)聽網(wǎng)絡(luò)端口,
一旦有客戶請(qǐng)求,就會(huì)啟動(dòng)一個(gè)服務(wù)進(jìn)程來響應(yīng)該客戶,同時(shí)自己繼續(xù)監(jiān)聽服務(wù)端口,使后來的客戶也 能及
時(shí)得到服務(wù)。
 
3. 網(wǎng)絡(luò)協(xié)議是什么
在計(jì)算機(jī)網(wǎng)絡(luò)要做到井井有條的交換數(shù)據(jù),就必須遵守一些事先約定好的規(guī)則,比如交換數(shù)據(jù)的格式、是否
需要發(fā)送一個(gè)應(yīng)答信息。這些規(guī)則被稱為網(wǎng)絡(luò)協(xié)議。
 
4. 為什么要對(duì)網(wǎng)絡(luò)協(xié)議分層
簡(jiǎn)化問題難度和復(fù)雜度。由于各層之間獨(dú)立,我們可以分割大問題為小問題。
靈活性好。當(dāng)其中一層的技術(shù)變化時(shí),只要層間接口關(guān)系保持不變,其他層不受影響。
易于實(shí)現(xiàn)和維護(hù)。
促進(jìn)標(biāo)準(zhǔn)化工作。分開后,每層功能可以相對(duì)簡(jiǎn)單地被描述
 
5. 計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)
OSI參考模型
OSIOpen System Interconnect),即開放式系統(tǒng)互聯(lián)。一般都叫OSI參考模型,是ISO(國(guó)際標(biāo)準(zhǔn)化組
織)組織在1985年研究的網(wǎng)絡(luò)互連模型。ISO為了更好的使網(wǎng)絡(luò)應(yīng)用更為普及,推出了OSI參考模型,這樣所
有的公司都按照統(tǒng)一的標(biāo)準(zhǔn)來指定自己的網(wǎng)絡(luò),就可以互通互聯(lián)了。
OSI定義了網(wǎng)絡(luò)互連的七層框架(物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層)。
TCP/IP參考模型
TCP/IP四層協(xié)議(數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層)
1. 應(yīng)用層:應(yīng)用層最靠近用戶的一層,是為計(jì)算機(jī)用戶提供應(yīng)用接口,也為用戶直接提供各種網(wǎng)絡(luò)服務(wù)。我
們常見應(yīng)用層的網(wǎng)絡(luò)服務(wù)協(xié)議有:HTTP,HTTPS,FTP,TELNET等。
2. 傳輸層:建立了主機(jī)端到端的鏈接,傳輸層的作用是為上層協(xié)議提供端到端的可靠和透明的數(shù)據(jù)傳輸服
務(wù),包括處理差錯(cuò)控制和流量控制等問題。該層向高層屏蔽了下層數(shù)據(jù)通信的細(xì)節(jié),使高層用戶看到的只是
在兩個(gè)傳輸實(shí)體間的一條主機(jī)到主機(jī)的、可由用戶控制和設(shè)定的、可靠的數(shù)據(jù)通路。我們通常說的,TCP
UDP就是在這一層。端口號(hào)既是這里的
3. 網(wǎng)絡(luò)層:本層通過IP尋址來建立兩個(gè)節(jié)點(diǎn)之間的連接,為源端的運(yùn)輸層送來的分組,選擇合適的路由和交
換節(jié)點(diǎn),正確無誤地按照地址傳送給目的端的運(yùn)輸層。就是通常說的IP層。這一層就是我們經(jīng)常說的IP協(xié)議
層。IP協(xié)議是Internet的基礎(chǔ)。
4. 數(shù)據(jù)鏈路層:通過一些規(guī)程或協(xié)議來控制這些數(shù)據(jù)的傳輸,以保證被傳輸數(shù)據(jù)的正確性。實(shí)現(xiàn)這些規(guī)程或
協(xié)議的 硬件 和軟件加到物理線路,這樣就構(gòu)成了數(shù)據(jù)鏈路,
 
6. 什么是TCP/IP和UDP
TCP/IP即傳輸控制/網(wǎng)絡(luò)協(xié)議,是面向連接的協(xié)議,發(fā)送數(shù)據(jù)前要先建立連接(發(fā)送方和接收方的成對(duì)的
兩個(gè)之間必須建 立連接),TCP提供可靠的服務(wù),也就是說,通過TCP連接傳輸?shù)臄?shù)據(jù)不會(huì)丟失,沒有重
復(fù),并且按順序到達(dá)。
UDP它是屬于TCP/IP協(xié)議族中的一種。是無連接的協(xié)議,發(fā)送數(shù)據(jù)前不需要建立連接,是沒有可靠性的
協(xié)議。因?yàn)椴恍枰⑦B接所以可以在在網(wǎng)絡(luò)上以任何可能的路徑傳輸,因此能否到達(dá)目的地,到達(dá)目
的地的時(shí)間以及內(nèi)容的正確性都是不能被保證的。
 
7. TCP與UDP區(qū)別