主頁 >  其他 > 計算機網路-面試題匯總

計算機網路-面試題匯總

2021-07-27 07:43:36 其他

目錄???????

分層

OSI,TCP/IP,五層協議的體系結構?

物理層有什么作用?

資料鏈路層有什么作用?

網路層有什么作用?

傳輸層有什么作用?

會話層有什么作用?

表示層有什么作用?

應用層有什么作用?

網路層

傳輸層

TCP三次握手程序?

為什么三次握手?

TCP四次揮手程序?

為什么四次揮手?

四次揮手為什么等待2MSL?

四次揮手期間的狀態?

TCP和UDP的區別?

TCP如何保證可靠傳輸?

TCP是大端序還是小端序?

應用層

瀏覽器中輸入url到顯示的程序?

uri和url的區別?

Cookie的作用是什么?和Session有什么區別?

Http的狀態碼分為哪幾類?

HTTP 1.0和HTTP 1.1的主要區別是什么?

簡述http2.0的改進?

http與https的區別

HTTPS建立期間有幾個亂數?

參考


分層

OSI,TCP/IP,五層協議的體系結構?

OSI分層 (7層):物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層,

TCP/IP分層(4層):網路介面層、 網際層、運輸層、 應用層,

五層協議(5層):物理層、資料鏈路層、網路層、運輸層、 應用層,

物理層有什么作用?

解決了物理機之間的通信,通過二進制位元流的傳輸來實作,二進制資料表現為電流電壓上的強弱,到達目的地再轉化為二進制機器碼,網卡、集線器作業在這一層,

資料鏈路層有什么作用?

在不可靠的物理介質上提供可靠的傳輸,接收來自物理層的位流形式的資料,并封裝成幀,傳送到上一層;同樣,也將來自上層的資料幀,拆裝為位元流形式的資料轉發到物理層,這一層在物理層提供的位元流的基礎上,通過差錯控制、流量控制方法,使有差錯的物理線路變為無差錯的資料鏈路,提供物理地址尋址功能,交換機作業在這一層,

網路層有什么作用?

網路地址翻譯成對應的物理地址,并決定如何將資料從發送方路由到接收方,通過路由選擇演算法為分組通過通信子網選擇最佳路徑,路由器作業在這一層,

傳輸層有什么作用?

傳輸層提供了行程間的通信,傳輸層向高層用戶屏蔽了下面網路層的核心細節,使應用程式看起來像是在兩個傳輸層物體之間有一條端到端的邏輯通信信道,

會話層有什么作用?

  • 建立會話:身份驗證,權限鑒定等;
  • 保持會話:對該會話進行維護,在會話維持期間兩者可以隨時使用這潭訓話傳輸局;
  • 斷開會話:當應用程式或應用層規定的超時時間到期后,OSI會話層才會釋放這潭訓話,

表示層有什么作用?

  • 網路的安全和保密管理;
  • 文本的壓縮與打包;
  • 虛擬終端協議(VTP),

應用層有什么作用?

提供應用層協議,如HTTP協議,FTP協議等等,方便應用程式之間進行通信,

網路層

解釋下PING命令?

Ping域名、Ping ip

主機A ping 主機B ---> 構建 ICMP 包 ----> 構建 IP 分組 ----> 決議硬體地址封裝成幀 ----> 物理層發送 ----> 網路層傳輸 ----> 到達主機B ----> 提取IP資料包交給IP層協議 ----> 提取資訊交給ICMP協議,構建ICMP應答包 ----> 發送給主機A

ICMP 請求發送和應答報文 type是 8和0

傳輸層

TCP三次握手程序?

查看:網路-TCP協議詳解自學筆記(例題、代碼、實戰),有圖片,更方便

為什么三次握手?

client發出的第一個連接請求報文段并沒有丟失,而是在某個網路結點長時間的滯留了,以致延誤到連接釋放以后的某個時間才到達server,本來這是一個早已失效的報文段,但server收到此失效的連接請求報文段后,就誤認為是client再次發出的一個新的連接請求,于是就向client發出確認報文段,同意建立連接,假設不采用“三次握手”,那么只要server發出確認,新的連接就建立了,由于現在client并沒有發出建立連接的請求,因此不會理睬server的確認,也不會向server發送資料,但server卻以為新的運輸連接已經建立,并一直等待client發來資料,這樣,server的很多資源就白白浪費掉了,采用“三次握手”的辦法可以防止上述現象發生,例如剛才那種情況,client不會向server的確認發出確認,server由于收不到確認,就知道client并沒有要求建立連接,”,主要目的防止server端一直等待,浪費資源,

TCP四次揮手程序?

查看:網路-TCP協議詳解自學筆記(例題、代碼、實戰),有圖片,更方便

為什么四次揮手?

因為TCP是一個全雙工協議,必須單獨拆除每一條信道,4次揮手的目的是終止資料傳輸,并回收資源,此時兩個端點兩個方向的序列號已經沒有了任何關系,必須等待兩方向都沒有資料傳輸時才能拆除虛鏈路,不像初始化時那么簡單,因此必須單獨分別在一個方向上終止該方向的資料傳輸,

如果是三次揮手,會怎么樣?三次的話,被動關閉端在收到FIN訊息之后,需要同時回復ACK和Server端的FIN訊息,如果Server端在該連接上面還有資料要處理,那么Server端還需要等待一段時間才可以關閉另外一個方向的連接,那么這樣的三次揮手就不能滿足條件,

四次揮手為什么等待2MSL?

客戶端等待兩倍的MSL(Maximum Segment Lifetime,報文段最長壽命)時間后關閉連接,因為如果服務器端沒有收到客戶端回復的確認報文段會再次發出連接釋放報文段,2MSL后沒有收到服務器端再次發出的連接釋放報文段,說明服務器端已關閉

四次揮手期間的狀態?

CLOSE_WAIT、FIN_WAIT_1、FIN_WAIT_2、TIME_WAIT、LAST_ACK、CLOSED,詳細描述見:網路-TCP協議詳解自學筆記(例題、代碼、實戰)

TCP和UDP的區別?

TCP和UDP的區別
比較項TCPUDP
面向連接
可靠/安全
速度
面向位元組流報文
應用范圍大量資料少量資料

TCP如何保證可靠傳輸?

  • 校驗和: TCP 將保持它首部和資料的檢驗和,這是一個端到端的檢驗和,目的是檢測資料在傳輸程序中的任何變化,如果收到段的檢驗和有差錯,TCP 將丟棄這個報文段和不確認收到此報文段,
  • TCP 的接收端會丟棄重復的資料,
  • 確認應答與序列號:序列號:TCP傳輸時將每個位元組的資料都進行了編號,這就是序列號,確認應答:TCP傳輸的程序中,每次接收方收到資料后,都會對傳輸方進行確認應答,也就是發送ACK報文,這個ACK報文當中帶有對應的確認序列號,告訴發送方,接收到了哪些資料,下一次的資料從哪里發,序列號的作用不僅僅是應答的作用,有了序列號能夠將接收到的資料根據序列號排序,并且去掉重復序列號的資料,這也是TCP傳輸可靠性的保證之一,

  • 超時重傳: 當 TCP 發出一個段后,它啟動一個定時器,等待目的端確認收到這個報文段,如果不能及時收到一個確認,將重發這個報文段,

  • 流量控制: TCP 連接的每一方都有固定大小的緩沖空間,TCP的接收端只允許發送端發送接收端緩沖區能接納的資料,當接收方來不及處理發送方的資料,能提示發送方降低發送的速率,防止包丟失,TCP 使用的流量控制協議是可變大小的滑動視窗協議
  • 擁塞控制: 當網路擁塞時,減少資料的發送,
  • ARQ協議: 也是為了實作可靠傳輸的,它的基本原理就是每發完一個分組就停止發送,等待對方確認,在收到確認后再發下一個分組,

TCP是大端序還是小端序?

所有網路協議都是采用大端的方式來傳輸資料的,所以大端方式又稱為網路位元組序,

應用層

瀏覽器中輸入url到顯示的程序?

1、查詢DNS,獲取域名對應的IP,
(1)檢查瀏覽器快取、檢查本地hosts檔案是否有這個網址的映射,如果有,就呼叫這個IP地址映射,決議完成,
(2)如果沒有,則查找本地DNS決議器快取是否有這個網址的映射,如果有,回傳映射,決議完成,
(3)如果沒有,則查找填寫或分配的首選DNS服務器,稱為本地DNS服務器,服務器接收到查詢時:
如果要查詢的域名包含在本地配置區域資源中,回傳決議結果,查詢結束,此決議具有權威性,
如果要查詢的域名不由本地DNS服務器區域決議,但服務器快取了此網址的映射關系,回傳決議結果,查詢結束,此決議不具有權威性,
(4)如果本地DNS服務器也失效:
如果未采用轉發模式(迭代),本地DNS就把請求發至13臺根DNS,根DNS服務器收到請求后,會判斷這個域名(如.com)是誰來授權管理,并回傳一個負責該頂級域名服務器的IP,本地DNS服務器收到頂級域名服務器IP資訊后,繼續向該頂級域名服務器IP發送請求,該服務器如果無法決議,則會找到負責這個域名的下一級DNS服務器(如http://baidu.com)的IP給本地DNS服務器,回圈往復直至查詢到映射,將決議結果回傳本地DNS服務器,再由本地DNS服務器回傳決議結果,查詢完成,
如果采用轉發模式(遞回),則此DNS服務器就會把請求轉發至上一級DNS服務器,如果上一級DNS服務器不能決議,則繼續向上請求,最終將決議結果依次回傳本地DNS服務器,本地DNS服務器再回傳給客戶機,查詢完成,
2、得到目標服務器的IP地址及埠號(http 80埠,https 443埠),會呼叫系統庫函式socket,請求一個TCP套接字,客戶端向服務器發送HTTP請求報文
(1)應用層:客戶端發送HTTP請求報文,
(2)傳輸層:(加入源埠、目的埠)建立連接,實際發送資料之前,三次握手客戶端和服務器建立起一個TCP連接,
(3)網路層:(加入IP頭)路由尋址,
(4)資料鏈路層:(加入frame頭)傳輸資料,
(5)物理層:物理傳輸bit,
3、服務器端經過物理層→資料鏈路層→網路層→傳輸層→應用層,決議請求報文,發送HTTP回應報文
4、關閉連接,TCP四次揮手,
5、客戶端決議HTTP回應報文,瀏覽器開始顯示HTML

uri和url的區別?

Cookie的作用是什么?和Session有什么區別?

Cookie 和 Session都是用來跟蹤瀏覽器用戶身份的會話方式,但是兩者的應用場景不太一樣,
Cookie一般用來保存用戶資訊

  1. 我們在 Cookie 中保存已經登錄過得用戶資訊,下次訪問網站的時候頁面可以自動幫你填寫登錄的一些基本資訊;
  2. 一般的網站都會有保持登錄也就是說下次你再訪問網站的時候就不需要重新登錄了,這是因為用戶登錄的時候我們可以存放了一個 Token 在 Cookie 中,下次登錄的時候只需要根據 Token 值來查找用戶即可(為了安全考慮,重新登錄一般要將 Token 重寫);
  3. 登錄一次網站后訪問網站其他頁面不需要重新登錄,

Session 的主要作用就是通過服務端記錄用戶的狀態,典型的場景是購物車,當你要添加商品到購物車的時候,系統不知道是哪個用戶操作的,因為 HTTP 協議是無狀態的,服務端給特定的用戶創建特定的 Session 之后就可以標識這個用戶并且跟蹤這個用戶了,???????
區別

  1. cookie資料存放在客戶的瀏覽器上,session資料放在服務器上,
  2. cookie不是很安全,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙考慮到安全應當使用session,
  3. session會在一定時間內保存在服務器上,當訪問增多,會比較占用服務器的性能考慮到減輕服務器性能方面,應當使用COOKIE,
  4. 單個cookie保存的資料不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie,
  5. 建議:將登陸資訊等重要資訊存放為SESSION 其他資訊如果需要保留,可以放在COOKIE中

Http的狀態碼分為哪幾類?

  • 1** 資訊,服務器收到請求,需要請求者繼續執行操作
  • 2** 成功,操作被成功接收并處理
  • 3** 重定向,需要進一步的操作以完成請求
  • 4** 客戶端錯誤,請求包含語法錯誤或無法完成請求
  • 5** 服務器錯誤,服務器在處理請求的程序中發生了錯誤

詳見:網路-http協議學習筆記(訊息結構、請求方法、狀態碼等)

HTTP 1.0和HTTP 1.1的主要區別是什么?

http1.0

  • 規定了請求頭和請求尾,回應頭和回應尾(get post)
  • 每一個請求都是一個單獨的連接,做不到連接的復用

http1.1的改進

  • HTTP1.1默認開啟長連接,在一個TCP連接上可以傳送多個HTTP請求和回應,使用 TCP 長連接的方式改善了 HTTP/1.0 短連接造成的性能開銷,
  • 支持管道(pipeline)網路傳輸,只要第一個請求發出去了,不必等其回來,就可以發第二個請求出去,可以減少整體的回應時間,
  • 服務端無法主動push

簡述http2.0的改進?

  • 提出多路復用,多路復用前,檔案是串行傳輸的,請求a檔案,b檔案只能等待,并且連接數過多,引入多路復用,a檔案、b檔案可以同時傳輸,
  • 引入了二進制資料幀,其中幀對資料進行順序標識,有了序列id,服務器就可以進行并行傳輸資料,

http與https的區別

  • http所有傳輸的內容都是明文,并且客戶端和服務器端都無法驗證對方的身份,
  • https具有安全性的ssl加密傳輸協議,加密采用對稱加密, https協議需要到CA申請證書,一般免費證書很少,需要交費,

HTTPS建立期間有幾個亂數?

3個

參考

常見面試題整理--計算機網路篇(每位開發者必備)

計算機網路常見面試題

計算機網路之面試常考

《計算機網路第七版 謝希仁》

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290268.html

標籤:其他

上一篇:Linux初級指令

下一篇:樹莓派+傳感器+公網服務器 組件自己的物聯網平臺(四)制作一個智能魚缸

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more