電腦網路·感覺Java研發電腦網路只要會者幾道就夠了其他很少考
- 2020 年 2 月 18 日
- 筆記
如果對您有幫助,麻煩右邊點個贊哦~~
如有錯誤歡迎指出哦
考頻由高到低
- 三次握手的過程?為什麼3次,不能是2或者4?
- 四次握手過程? 有什麼問題?
- 問題:syn flood攻擊
- 面向連接和面向非連接的比較;
- 面向連接通訊前會先建立連接,受監控,安全, 可靠;面向非連接反之,發送想發資訊就可以發,速度更快
- TCP和UDP的比較
- TCP面向連接,UDP面向非連接
- TCP傳輸單位稱為TCP報文段,UDP傳輸單位稱為用戶數據報。
- TCP對應的協議:
- HTTP 80 HTTPS 8080
- FTP 21 SSH 22 telnet 23
- mysql 3306
- SMTP 25 郵件傳送協議 POPS 110 郵件接收協議
- HTTP 80 HTTPS 8080
- UDP對應的協議:
- DNS 53
三次握手
【運維方向優先】a. 請描述TCP協議3次握手建立連接的過程。b. 為什麼協議設計是3次握手連接建立而不是2次或4次,如果2次有什麼問題,如果4次有什麼問題?
非常重要,一定要背熟
a .
b. 握手達到3次使得兩邊都確認了通道的兩個方向都是連通的,因為自己發出的包都得到了對方的回應,並且交換了初始資訊(各自的包序號,窗口大小等),從而認為連接建立是合適的。
2次握手的話不足以保證通道雙向正常,導致雙方認知不一致,服務端會消耗不必要的資源(服務端認為連接建立,創建並維持連接狀態數據,但因為單方向不通,確認包未被客戶端收到,客戶端認為連接不成功),同時還會存在安全問題被利用做攻擊(不斷發SYNC讓服務端不斷增加連接資源)。
4次握手的話,不比3次能提供更多的資訊,多一次round-trip增大了連接建立的時間開銷。
3、掌握TCP/IP協議族的結構,理解其工作原理。
- TCP/IP(協議簇)五層協議 (5層):物理層、數據鏈路層、網路層、運輸層、 應用層。
- 物理層:比特Bit
- 數據鏈路層:將比特組裝成幀,提供相鄰兩個端點之間的(相鄰的點到點,點不只是是主機,還包括其他設備)
- 網路層:將數據幀組裝成IP數據包Packet,將包設法從信源經過若干個中間節點傳送到目的設備(信宿)上,點到點通訊。
- 傳輸層:提供的就是應用程式間的通訊。提供端到端(端指的是埠)的可靠報文傳遞和錯誤恢復(段Segment)
- 會話層:建立、管理和終止會話(
- 表示層:對數據進行翻譯、加密和壓縮(表示協議數據單元PPDU)
- 應用層:提供一組常用的應用程式。
- 以上可能有錯。
- 封裝復用思想。 下層向上層提供服務,上層封裝下層的數據結構
- 在瀏覽器中輸入www.baidu.com後執行的全部過程
- 鍵盤硬體終端;OS處理中斷,轉換為特定消息放入瀏覽器程式的事件隊列;瀏覽器循環處理該消息,請求網址;
- 7層網路協議
- 應用層
- 提供應用程式。
- 應用程式解析URL
- 解析出http協議,如果是Https,會檢查網站是否在安全列表中
- 非ASCII轉Unicode編碼
- 在傳輸資訊中加入瀏覽器、地區、cookie等資訊
- 域名解析的應用層環節
- 表示層
- 對數據進行Encode、Decode、加密、解密、壓縮等數據處理。
- 會話層
- 建立管理和終止會話。
- 進行HTTP會話 電腦網路·基礎知識·面經·HTTP中的請求報文格式
- 傳輸層
- HTTP基於TCP連接
- HTTP數據包會嵌入在TCP報文段中
- 域名解析中的DNS進行地址解析環節
- 應用層
- 網路層
- TCP報文段再嵌入IP數據包中
- 通過查找路由表決定到達伺服器的路徑。
- ARP協議進行地質解析
- 鏈路層
- IP數據packet嵌入到Frame,傳輸Frame
- 客戶的包通過鏈路層發送到路由器,ARP(地址解析協議)根據給定的伺服器IP地址獲取對應的物理地址
- 物理層
- 傳輸bit
- 傳輸層
- 網路層
- 會話層
- HTTP會話
- 電腦網路·基礎知識·面經·HTTP中的響應報文格式
- 表示層
- 將數據decode和解壓縮為HTML,CSS,JS,圖片等資源
- 應用層
- 應用程式進行HTML解析、CSS解析、頁面渲染等。
1、客戶端瀏覽器通過DNS解析到www.baidu.com的IP地址220.181.27.48,通過這個IP地址找到客戶端到伺服器的路徑。客戶端瀏覽器發起一個HTTP會話到220.161.27.48,然後通過TCP進行封裝數據包,輸入到網路層。
2、在客戶端的傳輸層,把HTTP會話請求分成報文段,添加源和目的埠,如伺服器使用80埠監聽客戶端的請求,客戶端由系統隨機選擇一個埠如5000,與伺服器進行交換,伺服器把相應的請求返回給客戶端的5000埠。然後使用IP層的IP地址查找目的端。
4、客戶端的鏈路層,包通過鏈路層發送到路由器,通過鄰居協議查找給定IP地址的MAC地址,然後發送ARP請求查找目的地址,如果得到回應後就可以使用ARP的請求應答交換的IP數據包現在就可以傳輸了,然後發送IP數據包到達伺服器的地址。
(拔高)輸入URL後作業系統和電腦網路都發生了什麼?
【運維方向優先】你用瀏覽器打開一個電商網站,準備瀏覽購物。從你輸入完網站的網址敲下Enter鍵,到網站首頁迅速呈現出來的這段時間,你的電腦系統里發生了哪些事情?請根據你所學的電腦知識,儘可能詳細的解釋。(提示:從軟硬體的盡量多的層次考慮和描述。)
參考要點:回答是否從硬體(鍵盤網卡)、OS、TCP協議棧、運行庫、瀏覽器、HTTP、HTML/JS等多層面描述。
參考回答:鍵盤硬體中斷;OS處理中斷,轉換為特定消息放入瀏覽器程式的事件隊列;瀏覽器的消息循環處理該消息,請求網址;OS請求本地域名快取或域名伺服器解析網址中的域名,得到IP;瀏覽器向該IP建立TCP連接(默認80埠);瀏覽器發送GET請求,包含網站的路徑,TCP協議棧組裝為TCP包,通過網卡發送;瀏覽器等待網站回復,進程被OS切換為等待狀態;網站返回的數據到來,網卡產生中斷;OS處理中斷,TCP協議棧將數據讀入buffer;瀏覽器獲得數據,處理HTTP頭,顯示HTML網頁
更多:OS發ARP包獲得網關MAC地址,所有DNS請求、網站TCP等數據包均發向該網關;瀏覽器IO等待期間OS切換運行系統中其他進程;瀏覽器將HTTP頭中解析出的cookie保存到文件系統;根據網頁內容發起更多的HTTP請求獲取圖片、運行內嵌的javascript腳本等;將網頁按照HTTP 頭的指示快取;將網址加入瀏覽歷史保存到文件系統;瀏覽器整個處理過程中,運行庫和OS對記憶體做相應分配釋放,磁碟做相應的IO操作;。。。
*【測試方向優先】你用瀏覽器打開一個網站,卻沒有按預期看到應有的網頁內容。請分析各種可能的原因,如果這些原因表現出來的現象不同,也請描述
參考要點:
人的原因:弄錯網址;拼寫錯誤;未打開網路;。。。
本機原因:瀏覽器版本低不兼容網頁;本機防火牆阻止訪問;中病毒導致瀏覽器工作不正常;。。。
服務端原因:伺服器宕機;伺服器出錯;伺服器高負載無法及時回應;伺服器超負載主動拒絕回應;本機被服務端加入了黑名單;
網路原因:網路不通;網路擁塞;DNS解析失敗;DNS解析到錯誤的IP;。。。
其他環境原因:域名被劫持;訪問被黑客攻擊;。。。
- 埠及對應的服務?
還沒背會的
-
- DNS
- 默認埠號 53
- DNS域名解析過程
- 會以此查詢以下快取和伺服器,直到找到網址對應的IP
- 瀏覽器快取 –> 本地Hosts文件 –> 路由器快取 –> ISP(互聯網服務提供商)DNS快取 –> 根域名伺服器 –> 頂級域名伺服器 –> 主域名伺服器
- 在任何環節找到,會把快取
- 瀏覽器檢查域名是否在瀏覽器快取當中。
- 如果快取中沒有,就調用庫函數進行查詢。庫函數在進行DNS解析之前,檢查域名是否在本地 Hosts 里。
- 如果域名在快取和Hosts中都沒有,庫函數會向 DNS 伺服器發送一條 DNS 查詢請求。
- 查詢本地的DNS伺服器。
- 首先查詢地址解析協議(ARP)的快取,如果快取命中,則返回結果:目標 IP = MAC地址。如果快取沒有命中,就看看目標 IP 地址是不是在本地路由表中的某個子網內,並使用相關介面。然後查詢選擇的網路介面的MAC地址。
- 發送ARP請求,路由器或其他硬體會返回結果(結果中包含默認網關的IP地址)。
- 通過TCP/UDP協議向DNS伺服器發送相應請求。如果本地DNS伺服器沒有找到結果,將會逐層查詢,直到結果(目標伺服器的IP地址)返回。
- 會以此查詢以下快取和伺服器,直到找到網址對應的IP