iOS開發(fā)·計算機網(wǎng)絡??济嬖囶}

網(wǎng)絡相關

1.描述一下網(wǎng)絡的三次握手四次揮手,為什么要這樣做?

  • 三次握手:

    1、客戶端調(diào)用connect()發(fā)起請求,請求報文SYN = 1, seq = x發(fā)送給服務器, 客戶端此時為SYN_SENT狀態(tài),等待服務器確認;

    2、服務器收到SYN = 1,知道客戶端要請求連接,ack = x + 1,ACK = 1,SYN = 1, seq = y發(fā)送給客戶端,服務器是SYN_RCVD狀態(tài);

    3、客戶端收到ack = x + 1,然后把ack = y + 1,ACK = 1,發(fā)送給服務器, 最后服務器確認ack = y+ 1,然后建立成功,兩方進入ESTABLISH狀態(tài).

三次握手.png
  • 四次揮手:

    1、客戶端發(fā)送一個結束FIN = 1, 用來主動關閉和服務器的數(shù)據(jù)傳輸,停止發(fā)送數(shù)據(jù),報文首部:FIN = 1,seq = u,隨后客戶端進入終止等待狀態(tài)1, FIN_WAIT_1;

    2、服務端收到這個FIN,發(fā)出確認報文 ACK = 1,確認收到的序號是收到的序號+1,即ack = u + 1,且?guī)献约旱男蛄刑?seq = v,和SYN一樣,一個FIN將占用一個序號;如果服務器要發(fā)送數(shù)據(jù),客戶端依然要接收,該狀態(tài)會維持一段時間,服務端會進入關閉等待狀態(tài),CLOSE_WAIT,客戶端收到服務器的確認請求后,進入終止等待2狀態(tài)FIN_WAIT_2,等待服務器發(fā)送鏈接釋放報文,

    3、服務器向客戶端發(fā)送鏈接釋放報文, FIN = 1, ack = u + 1,此時服務端還處于半關閉狀態(tài),服務器可能還會發(fā)送一些數(shù)據(jù),此時序列號為seq = w,如此,服務器進入最后確認狀態(tài),LAST_ACK,等待客戶端的確認.

    4.客戶端收到服務器的鏈接釋放報文后,回發(fā)確認, ACK = 1, ack = w + 1,序列號是seq = u +1,此時客戶端進入時間等待狀態(tài)TIME_WAIT,此時TCP連接還沒有釋放,必須經(jīng)過最長報文段壽命的時間后,才進入CLOSED狀態(tài), MSL:最長報文段壽命,一般為2分鐘,TCP連接釋放時,主動方必須經(jīng)過2MSL后才進入CLOSED狀態(tài),因此主動方關閉比較晚.

四次揮手.png

2.網(wǎng)絡的OSI七層模型,并對應說說除了物理層外的各層功能,并說說各層中有什么協(xié)議? 還有 TCP/IP四層模型, 各層的協(xié)議?

OSI七層模型:

  • 應用層運行訪問OSI環(huán)境的手段,傳輸單位為APDU,主要包括的協(xié)議為FTP、HTTPDNS、SMTP

  • 表示層對數(shù)據(jù)進行翻譯、加密和壓縮、傳輸單位為 PPDU, 主要包括的協(xié)議為 JPEG、 ASII

  • 會話層建立、管理和終止會話,傳輸單位為 SPDU,主要包括的協(xié)議為RPCNFS

  • 傳輸層提供端到端的可靠報文傳遞和錯誤恢復,傳輸單位為報文,主要包括的協(xié)議為 TCP、UDP

  • 網(wǎng)絡層負責將數(shù)據(jù)包從源到宿的傳遞和網(wǎng)際互聯(lián),傳輸單位是包,主要協(xié)議是 IPARP、ICMP

  • 數(shù)據(jù)鏈路層將比特組裝成幀和點到點的傳遞,傳輸單位是幀,主要協(xié)議是 MACLAN、PPP

  • 物理層 通過媒介傳輸比特,單位是bit,主要協(xié)議是 IEEE802.3、 CLOCKRJ45

    TCP/IP四層模型:

    • 應用層是用來給用戶提供服務的,包含了各種應用服務協(xié)議:FTP, HTTPDNS;封裝成http數(shù)據(jù);

    • 傳輸層是用來提供兩臺計算機之間的數(shù)據(jù)傳輸;包含TCPUDP;給http數(shù)據(jù)打上tcp的首部;

    • 網(wǎng)絡層是用來處理網(wǎng)絡中傳輸?shù)臄?shù)據(jù)包;與對方計算機之間進行多臺計算機或網(wǎng)絡設備進行傳輸時,網(wǎng)絡層就是在眾多的選項中選擇一條傳輸路線.再打上一層IP首部,

    • 數(shù)據(jù)鏈路層用來處理連接網(wǎng)絡的硬件部分,如光纖、網(wǎng)卡、驅(qū)動、操作系統(tǒng),再打上以太網(wǎng)首部

    3.HTTPSHTTP之間的區(qū)別,為什么要使用HTTPS,HTTPS的實現(xiàn)原理(這三個是層層遞進的問的,所以不要只知道HTTPS比較安全,使用了什么什么非對稱加密和對稱加密算法...最好是整個流程都去了解一下,如何獲取公鑰,數(shù)字證書有什么用,雖然工作中不是很重要,但是面試大家都是背八股文長大的,那不是更得知道的多才能顯得你與眾不同嗎)

    區(qū)別:

    • 底層:HTTP底層是通過建立socket通道實現(xiàn)數(shù)據(jù)傳輸?shù)?是基于TCP的安全可靠的協(xié)議;HTTPS是在HTTP的基礎上加上安全套接字層SSL協(xié)議,構建的可進行加密傳輸、身份認證的協(xié)議;

    • 數(shù)據(jù)傳輸: HTTP是以明文發(fā)送內(nèi)容,不適合傳輸敏感信息;HTTPS是依靠證書驗證服務器的身份,實現(xiàn)通信加密;

    • 連接方式: 兩者使用完全不同的鏈接方式, HTTP端口是80;HTTPS端口使用443.

    • 響應速度: HTTP要比HTTPS響應速度快,首先都要先經(jīng)過TCP三次握手,CS之間交換三個包,而HTTPS還要加上SSL握手需要的九個包,一共是12個包.

    HTTPS實現(xiàn)原理:

    1. 客戶端發(fā)出請求HTTPS與服務端建立SSL鏈接,然后服務端返回一個公鑰證書,

    2. 客戶端產(chǎn)生一個隨機對稱密鑰;

    3. 使用公鑰加密對稱密鑰;

    4. 發(fā)送加密后的對稱密鑰,服務器給個回應;

    5. 使用對稱密鑰進行加密通信.

    4.ARP協(xié)議如何工作(這個也比較簡單,但是后面會擴展問一些TCP,UDP的問題),會問某些場景是否使用TCP或者UDP,后面還轉(zhuǎn)進了http1.0和1.1的長連接,感覺這個也是一個考點,記得不是很深刻了

    5.進程和線程的區(qū)別,為什么要有線程,線程擁有什么獨立的資源, 多線程如何安全的訪問進程中的資源,講一下各種鎖(這個也是八股文,操作系統(tǒng)必問,懂得都懂)

    • 進程就是系統(tǒng)中正在運行的一個應用程序,可以理解為一個app;

    • 線程是程序執(zhí)行的最小單元,是進城中的一個實體,進程就是一系列的線程執(zhí)行單元組成的

    • 一個進程中可以有多個線程,但至少得有一個線程

    • 多核CPU中,多個線程一起執(zhí)行可以提高程序的執(zhí)行效率

    • 自旋鎖:

    • 互斥鎖:

    6.操作系統(tǒng)中的虛擬內(nèi)存是什么,講一講 頁面置換算法,是否有了解過三級緩存機制(也是遞進的問的!三級緩存機制是APP開發(fā)常用的也會考查)

    7.最后有一道算法題,leetcode 59,螺旋矩陣

    • 定義上下左右四個邊界

    • 內(nèi)縮遍歷

    8.IP地址和MAC地址的區(qū)別?

    1. MAC地址物理層數(shù)據(jù)鏈路層使用的地址,用來定義網(wǎng)絡設備的位置, IP地址網(wǎng)絡層和以上各層使用的地址;

    2. IP地址是放在IP數(shù)據(jù)報的首部,而 MAC地址是放在 MAC幀的首部.

    9.請介紹一個操作系統(tǒng)中的中斷

    1. 中斷是指CPU對系統(tǒng)發(fā)生的某個事件做出的一種反應,CPU 暫停正在執(zhí)行的程序, 保存現(xiàn)場后自動去執(zhí)行相應的處理程序,處理完該事件后再返回中斷處,繼續(xù)執(zhí)行原來的程序.

    2. 中斷一般分為三類:一種是由CPU外部引起的,如I/O中斷,時鐘中斷,一種是來自CPU內(nèi)部事件或程序執(zhí)行中引起的中斷,例如(程序非法操作,地址越界,浮點溢出), 最后一種是在程序中使用了系統(tǒng)調(diào)用引起的.

    3. 中斷處理一般分為中斷響應和中斷處理兩個步驟,中斷響應由硬件實施,中斷處理主要由軟件實施.

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容