偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

99%網(wǎng)工都會遇到的10道經(jīng)典面試問題,敢挑戰(zhàn)下嗎?

網(wǎng)絡(luò) 通信技術(shù)
計算機(jī)網(wǎng)絡(luò)基礎(chǔ)很重要,但如何與實際的應(yīng)用相結(jié)合,才是最重要的。下面是99%網(wǎng)工都會遇到的10道經(jīng)典面試問題,敢挑戰(zhàn)下嗎?

1. 介紹TCP連接的三次握手?追問:為什么TCP需要握手三次?

三次握手:

  • 第一步:A向B發(fā)送一個SYN報文表示希望建立連接
  • 第二步:B收到A發(fā)過來的數(shù)據(jù)包后,通過SYN得知這是一個建立連接的請求,于是發(fā)送ACK確認(rèn),由于TCP的全雙工模式,故B向A還應(yīng)該發(fā)送一個SYN報文,表示希望和A建立連接
  • 第三步:A收到B發(fā)送來的SYN報文后,A向B發(fā)送ACK表示A收到了B的SYN。

[[351781]]

追問:

  • 保證雙方都具有接受和發(fā)送報文的能力
  • 防止請求超時導(dǎo)致臟連接

因為報文生存時間可能會超過TCP請求超時時間,假如兩次握手就可以建立連接,A的報文由于一些問題滯留在網(wǎng)絡(luò)中,當(dāng)報文超時但被釋放連接后,此超時連接傳輸?shù)紹,B以為是A創(chuàng)建連接的新請求,然后確認(rèn)連接。但是A知道這是超時連接的,所以直接丟棄了B的確認(rèn)數(shù)據(jù),導(dǎo)致只是B單方面建立了連接。并一直等待A發(fā)送數(shù)據(jù),B的資源也就浪費(fèi)了。

2. 介紹TCP斷開的四次揮手?追問:為什么TCP的揮手需要四次

四次揮手:

  • 第一步:A向B發(fā)送FIN和ACK報文表示希望斷開連接
  • 第二步:B收到A發(fā)送的請求后會發(fā)送ACK表示確認(rèn)斷開。
  • 第三步:此時B處于半連接狀態(tài),B會發(fā)送FIN和ACK請求斷開與A之間的連接
  • 第四步:A收到B發(fā)送的斷開請求會發(fā)送ACK表示確認(rèn)斷開

追問:

  • 確保數(shù)據(jù)能夠全部傳輸完成
  • 四次才能保證所有的連接全部斷

3. 為什么連接的時候是三次,揮手的時候是四次?

一問:

(1) 假設(shè)連接的時候是兩次,那么A滯留在網(wǎng)絡(luò)中的報文經(jīng)過一段時間傳輸?shù)紹,B會確認(rèn)此連接。B單方面建立了連接,A會丟棄B的確認(rèn)數(shù)據(jù)報文。B會一直等待A發(fā)送數(shù)據(jù),造成B資源的浪費(fèi)。

官方解釋:

兩次:不能,為了防止已經(jīng)失效的

(2) 我們知道三次,雙方已經(jīng)建立了連接,四次完全沒有必要

二問:

確保數(shù)據(jù)能夠全部傳輸完成

A發(fā)送FIN后,B有可能正在向A傳輸數(shù)據(jù),所以不會馬上關(guān)閉,當(dāng)數(shù)據(jù)全部傳輸完成后再發(fā)送ACK表示確認(rèn)斷開。

4. TCP的syn攻擊的過程?追問:怎么防御?

攻擊原理:

B收到SYN報文后,會將相應(yīng)的半連接記錄添加到隊列中,之后等待接收握手包,如果握手成功就會將此半連接記錄從隊列中刪除;或者當(dāng)B未收到A的確認(rèn)包,會重新發(fā)送請求包,直到超時才會將此條記錄從半連接隊列刪除。

服務(wù)器的TCP協(xié)議棧中存儲的半連接記錄是有限的,當(dāng)服務(wù)器接收到SYN型的DOS攻擊后,隊列會很快充滿,客戶端在短時間內(nèi)偽造大量的不存在的IP地址,向服務(wù)器不斷發(fā)送SYN報文,服務(wù)器回復(fù)確認(rèn)包,并等待客戶的確認(rèn),由于源地址是不存在的,服務(wù)器需要不斷的重發(fā)直至超時,這些偽造的SYN包將長時間占用未連接隊列,正常的SYN請求被丟棄,目標(biāo)系統(tǒng)運(yùn)行緩慢嚴(yán)重者引起網(wǎng)絡(luò)堵塞甚至系統(tǒng)癱瘓,服務(wù)器隨后就不再接受新的網(wǎng)絡(luò)連接,從而造成正常的客戶端無法訪問服務(wù)器的情況發(fā)生。

防御:

  • 增大隊列SYN最大半連接數(shù),linux中最大連接數(shù)為256
  • 減少半連接時的超時時間
  • 過濾可疑地址
  • 利用SYN cookie防御DOS攻擊

SYN Cookie是用一個Cookie來響應(yīng)TCPSYN請求的,在正常的TCP連接過程中,當(dāng)服務(wù)器接收一個SYN數(shù)據(jù)包,就會返回一個SYN-ACK包來應(yīng)答,半開放連接狀態(tài)來等待最后返回的ACK包。服務(wù)器用一個數(shù)據(jù)空間來描述所有未解決的連接,然而這個數(shù)據(jù)空間的大小是有限的,所以攻擊者將塞滿這個空間,在SYN Cookie的執(zhí)行過程中,當(dāng)服務(wù)器收到一個SYN包的時候,他返回一個SYN -ACK包,這個數(shù)據(jù)包的ACK序列號是經(jīng)過加密的,它由TCP連接的源地址和端口號、目標(biāo)地址和端口號以及一個加密種子經(jīng)過HASH計算得出的,然后服務(wù)器釋放所有的狀態(tài)。如果一個ACK包從客戶端返回后,服務(wù)器重新計算Cookie來判斷它是不是上個SYN-ACK的返回包。如果是的話,服務(wù)器就可以直接進(jìn)入TCP連接狀態(tài)并打開連接。這樣服務(wù)器就可以避免守候半開放連接了

5. 什么是滑動窗口?追問:為什么會出現(xiàn)滑動窗口?

滑動窗口:

用來告訴發(fā)送端可以發(fā)送數(shù)據(jù)的大小或者說是窗口標(biāo)記了接收端緩沖區(qū)的大小。窗口指一次批量發(fā)送多少數(shù)據(jù)。

為何會出現(xiàn)滑動窗口:

在確認(rèn)應(yīng)答的策略中,每發(fā)送一次數(shù)據(jù)段都需要一個ACK確認(rèn)應(yīng)答,收到ACK后再發(fā)送下一個數(shù)據(jù)段,這樣每次都需要確認(rèn),性能較差。采用滑動窗口的機(jī)制就會一次發(fā)送多條數(shù)據(jù),提高傳輸性能

6. TCP是如何通過滑動窗口協(xié)議實現(xiàn)流量控制和擁塞控制的?

通過設(shè)置滑動窗口的大小,用ACK告知發(fā)送端自己緩存區(qū)的大小,從而使發(fā)送端以合適的速度發(fā)送,實現(xiàn)流量控制;

發(fā)送端根據(jù)網(wǎng)絡(luò)擁塞情況確定的窗口值。發(fā)送端在真正確定發(fā)送窗口時,應(yīng)該取“通知窗口”和“擁塞窗口”的最小值。

7. 描述TCP和UDP的區(qū)別?

UDP:

  • 無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接
  • 不保證可靠的交付,同時不使用擁塞控制
  • U支持一對一、一對多、多對一、多對多的交互通信
  • 首部只有8字節(jié)

TCP:

  • 面向連接的傳輸層協(xié)議
  • 提供可靠的交付能力
  • 僅支持一對一通信
  • 支持全雙工通信(允許數(shù)據(jù)在兩個方向上同時傳輸)
  • 首部最低有20字節(jié)

問題:如何用UDP實現(xiàn)可好傳輸?

引入序列號保證數(shù)據(jù)的順序、確認(rèn)機(jī)制保證數(shù)據(jù)能到達(dá)對端、重傳機(jī)制保證超時引起的數(shù)據(jù)丟棄。

8. TCP有哪些定時器?

  • 重傳定時器
  • 堅持定時器
  • 保活定時器
  • 時間等待定時器

9. 什么是CDN,CDN是如何工作的?

一問:CDN是內(nèi)容分發(fā)網(wǎng)絡(luò)

二問:CDN是在用戶和服務(wù)器之間增加高速緩存層,通過接管DNS實現(xiàn),將用戶的請求引導(dǎo)到高速緩存服務(wù)器上獲取源服務(wù)器的數(shù)據(jù)

10. 什么是DNS?說說DNS解析過程?

一問:DNS為域名系統(tǒng),是因特網(wǎng)上作為域名和IP地址相互映射的分布式數(shù)據(jù)庫

二問:

  • 瀏覽器檢查緩存中有沒有這個域名對應(yīng)的解析過的ip地址,如果有該解析過程將會結(jié)束。
  • 檢查本地的hosts文件是否有這個網(wǎng)址映射關(guān)系
  • 如果hosts種沒有這個域名映射,查找本地DNS解析器緩存,如果有直接返回
  • 通過首選DNS服務(wù)器(本地域名服務(wù)器),以遞歸或循環(huán)的方式查詢域名對應(yīng)的IP地址并返回。(頂級域,二級域,三級域)

 

責(zé)任編輯:趙寧寧 來源: 思科CCIE俱樂部
相關(guān)推薦

2018-12-10 11:30:06

Openstack面試命令

2020-03-23 09:56:50

軟件測試面試技術(shù)

2014-01-09 09:24:32

Linux滲透測試滲透測試

2025-01-10 08:59:23

2013-05-22 10:04:18

Hibernate面試問題

2014-02-27 15:42:08

Linux面試

2019-11-26 10:30:11

CSS前端面試題

2013-07-19 10:27:00

2023-09-14 09:00:00

ChatGPTGPT 3.5GPT 4.0

2023-09-13 08:37:56

程序員面試catch

2016-10-18 16:30:09

面試float儲格式

2009-09-08 17:45:06

CCNA考題

2020-06-16 09:02:36

Linux Shell腳本

2014-05-28 09:26:57

Linux Shellshell腳本

2014-07-25 17:21:43

Linux Shell面試

2015-04-22 12:19:42

JAVAJAVA面試題答案解析

2018-05-04 06:29:27

2009-03-03 09:33:13

面試ORACLE

2014-04-08 14:52:41

Linux面試面試問題

2013-09-30 09:08:30

面試創(chuàng)業(yè)
點贊
收藏

51CTO技術(shù)棧公眾號