1. 程式人生 > >IT名企常見面試題總結之計算機網路篇(一)

IT名企常見面試題總結之計算機網路篇(一)

1.OSI七層模型和 TCP/IP四層模型

osi七層模型和tcp/ip四層模型對比(圖片來源於網路)


下面是各層分別對應的一些協議:

2.TCP傳輸的三次握手與四次揮手


首先要理解TCP中兩個序號和三個標記位的含義:
  1. seq:sequence number的縮寫,表示所傳資料的序號。
  2. ack:acknoledgement number的縮寫,表示確認號。
  3. ACK:確認位,只有ACK=1的時候ack才起作用。
  4. SYN:同步位,用於建立連線時同步序列。
  5. FIN:終止位,用來資料傳輸完成後釋放連線。
三次握手:
  • a.  TCP建立連線時,首先客戶端和伺服器處於close狀態。然後客戶端傳送SYN同步位,此時客戶端處於SYN-SEND狀態,伺服器處於LISTEN狀態。此時,ACK=0,SYN=1,seq=x.傳送給伺服器。
  • b. 當伺服器接受連線後回覆ACK報文,併為這次連線分配資源。此時,ACK=1,ack開始起作用。然後傳送給客戶端。
  • c.客戶端再向伺服器傳送ACK確認碼,伺服器接收到以後也變成ESTABLISHED。然後伺服器客戶端開始資料傳輸。
四次揮手:
  • a.客戶端端發起中斷連線的請求,也就是傳送FIN報文。
  • b.服務端接收到FIN報文後,知道客戶端要請求關閉連線。如果服務端還有資料則不必急著關閉Socket連線,可以先發送個ACK來確認收到資訊,然後繼續傳送剩下沒傳送完的訊息。
  • c.當服務端接收到資料時,則向客戶端傳送FIN報文,告訴客戶端關閉連線,客戶端接收到FIN報文後,知道可以關閉連線了,但是為了保險起見,所以傳送完後ACK進入了TIME_WAIT狀態,服務端如果沒有收到ACK則可以重傳。
  • d.服務端收到ACK後,知道可以斷開連線 了,客戶端等待2msl後沒有收到回覆,則證明服務端正常關閉,最後客戶端關閉連線。

3.DNS劫持和DNS汙染

DNS劫持:指使用者訪問一個被標記的地址時,DNS伺服器故意將此地址指向一個錯誤的IP地址的行為。範例就是收到各種推送廣告等網站。

DNS汙染:
指的是使用者訪問一個地址,國內的伺服器(非DNS)監控到使用者訪問的已經被標記地址時,伺服器偽裝成DNS伺服器向用戶發回錯誤的地址的行為。比如不能訪問Google、YouTube等。

4.常見的網路埠號

網路層---資料包的包格式裡面有個很重要的欄位叫做協議號。比如在傳輸層如果是TCP連線,那麼在網路層IP包裡面的協議號就將會有個值是6,如果是UDP的話那個值就是17---傳輸層。 
傳輸層---通過介面關聯(埠的欄位叫做埠)---應用層。 
用netstat –an 可以檢視本機開放的埠號。 
代理伺服器常用以下埠: 
(1). HTTP協議代理伺服器常用埠號:80/8080/3128/8081/9080 
(2). SOCKS代理協議伺服器常用埠號:1080 
(3). FTP(檔案傳輸)協議代理伺服器常用埠號:21 
(4). Telnet(遠端登入)協議代理伺服器常用埠:23 
WIN2003遠端登陸,預設的埠號為3389; 
DHCP server的埠號是67
埠號的範圍是從1~65535。其中1~1024是被RFC 3232規定好了的,被稱作“眾所周知的埠”(Well Known Ports);從1025~65535的埠被稱為動態埠(Dynamic Ports),可用來建立與其它主機的會話,也可由使用者自定義用途。
一些常見的埠號及其用途如下:

TCP 21埠:FTP 檔案傳輸服務
TCP 23埠:TELNET 終端模擬服務
TCP 25埠:SMTP 簡單郵件傳輸服務
UDP 53埠:DNS 域名解析服務
TCP 80埠:HTTP 超文字傳輸服務
TCP 110埠:POP3 “郵局協議版本3”使用的埠
TCP 443埠:HTTPS 加密的超文字傳輸服務
TCP 1521埠:Oracle資料庫服務
TCP 1863埠:MSN Messenger的檔案傳輸功能所使用的埠
TCP 3389埠:Microsoft RDP 微軟遠端桌面使用的埠
TCP 5631埠:Symantec pcAnywhere 遠端控制資料傳輸時使用的埠
UDP 5632埠:Symantec pcAnywhere 主控端掃描被控端時使用的埠
TCP 5000埠:MS SQL Server使用的埠
UDP 8000埠:騰訊QQ
TCP 25埠:SMTP 25仔
TCP 110埠:POP3 報警110 police

5.簡述IP地址的分類

IP地址分為網路號和主機號,A類地址前8位是網路地址,B類地址前16位是網路地址,C類地址前24位是網路地址。
A類地址:以   0開頭,    第一個位元組範圍:1~126(1.0.0.0 - 126.0.0.0); B類地址:以  10   開頭,  第一個位元組範圍:128~191(128.0.0.0 - 191.255.255.255);
C類地址:以 110  開頭,第一個位元組範圍:192~223(192.0.0.0 - 223.255.255.255);
D類地址:以1110 開頭, 第一個位元組範圍:224~239(224.0.0.0 - 239.255.255.255);(作為多播使用)
E類地址:保留
其中A、B、C是基本類,D、E類作為多播和保留使用。
以下是留用的內部私有地址:
A類 10.0.0.0--10.255.255.255
B類 172.16.0.0--172.31.255.255
C類 192.168.0.0--192.168.255.255
IP地址與子網掩碼相與得到網路號:
ip       : 192.168.2.110
&
Submask : 255.255.255.0
----------------------------
網路號   :192.168.2  .0
注:
主機號,全為0的是網路號(例如:192.168.2.0),主機號全為1的為廣播地址(255.255.255.255)

6.TCP和UDP的區別

TCP提供面向連線的、可靠的資料流傳輸,而UDP提供的是非面向連線的、不可靠的資料流傳輸。
TCP傳輸單位稱為TCP報文段,UDP傳輸單位稱為使用者資料報。
TCP注重資料安全性,UDP資料傳輸快,因為不需要連線等待,少了許多操作,但是其安全性卻一般。 TCP面向位元組流,UDP面向報文 TCP是點對點連線的,UDP一對一,一對多,多對多都可以 TCP適合用於網頁,郵件等,UDP適合用於視訊,語音廣播等,UDP也應用於:分組資料較少、多播、廣播、實時性要求較高的視訊等多媒體領域
TCP:協議內容複雜,不適用於視訊會議等(音、視訊資料既定)場合
TCP對應的協議和UDP對應的協議
TCP對應的協議:
(1) FTP:定義了檔案傳輸協議,使用21埠。
(2) Telnet:一種用於遠端登陸的埠,使用23埠,使用者可以以自己的身份遠端連線到計算機上,可提供基於DOS模式下的通訊服務。
(3) SMTP:郵件傳送協議,用於傳送郵件。伺服器開放的是25號埠。
(4) POP3:它是和SMTP對應,POP3用於接收郵件。POP3協議所用的是110埠。
(5)HTTP:是從Web伺服器傳輸超文字到本地瀏覽器的傳送協議。
UDP對應的協議:
(1) DNS:用於域名解析服務,將域名地址轉換為IP地址。DNS用的是53號埠。
(2) SNMP:簡單網路管理協議,使用161號埠,是用來管理網路裝置的。由於網路裝置很多,無連線的服務就體現出其優勢。
(3) TFTP(Trival File Transfer Protocal),簡單檔案傳輸協議,該協議在熟知埠69上使用UDP服務。

7.簡述OSI,TCP/IP,五層協議的體系結構,以及各層協議

OSI分層 (7層):物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層。
TCP/IP分層(4層):網路介面層、 網際層、運輸層、 應用層。
五層協議 (5層):物理層、資料鏈路層、網路層、運輸層、 應用層。
每一層的協議如下:
物理層:RJ45、CLOCK、IEEE802.3 (中繼器,集線器)
資料鏈路:PPP、FR、HDLC、VLAN、MAC (網橋,交換機)
網路層:IP、ICMP、ARP、RARP(有的教材放在資料鏈路層)、OSPF、IPX、RIP、IGRP、 (路由器)
傳輸層:TCP、UDP、SPX
會話層:NFS、SQL、NETBIOS、RPC
表示層:JPEG、MPEG、ASII
應用層:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
每一層的作用如下:
物理層:通過媒介傳輸位元,確定機械及電氣規範(位元Bit)
資料鏈路層:將位元組裝成幀和點到點的傳遞(幀Frame)
網路層:負責資料包從源到宿的傳遞和網際互連(包PackeT)
傳輸層:提供端到端的可靠報文傳遞和錯誤恢復(段Segment)
會話層:建立、管理和終止會話(會話協議資料單元SPDU)
表示層:對資料進行翻譯、加密和壓縮(表示協議資料單元PPDU)
應用層:允許訪問OSI環境的手段(應用協議資料單元APDU)

8.簡述ARP地址解析協議工作原理

1:首先,每個主機都會在自己的ARP緩衝區中建立一個ARP列表,以表示IP地址和MAC地址之間的對應關係。
2:當源主機要傳送資料時,首先檢查ARP列表中是否有對應IP地址的目的主機的MAC地址,如果有,則直接傳送資料,如果沒有,就向本網段的所有主機發送ARP資料包,該資料包包括的內容有:源主機 IP地址,源主機MAC地址,目的主機的IP 地址。
3:當本網路的所有主機收到該ARP資料包時,首先檢查資料包中的IP地址是否是自己的IP地址,如果不是,則忽略該資料包,如果是,則首先從資料包中取出源主機的IP和MAC地址寫入到ARP列表中,如果已經存在,則覆蓋,然後將自己的MAC地址寫入ARP響應包中,告訴源主機自己是它想要找的MAC地址。
4:源主機收到ARP響應包後。將目的主機的IP和MAC地址寫入ARP列表,並利用此資訊傳送資料。如果源主機一直沒有收到ARP響應資料包,表示ARP查詢失敗。
廣播發送ARP請求,單播發送ARP響應。

9.簡述ICMP、TFTP、HTTP、NAT、DHCP協議

ICMP協議: 因特網控制報文協議。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制訊息。
TFTP協議: 是TCP/IP協議族中的一個用來在客戶機與伺服器之間進行簡單檔案傳輸的協議,提供不復雜、開銷不大的檔案傳輸服務。
HTTP協議: 超文字傳輸協議,是一個屬於應用層的面向物件的協議,由於其簡捷、快速的方式,適用於分散式超媒體資訊系統。
NAT協議:網路地址轉換屬接入廣域網(WAN)技術,是一種將私有(保留)地址轉化為合法IP地址的轉換技術,
DHCP協議:動態主機配置協議,是一種讓系統得以連線到網路上,並獲取所需要的配置引數手段,使用UDP協議工作。具體用途:給內部網路或網路服務供應商自動分配IP地址,給使用者或者內部網路管理員作為對所有計算機作中央管理的手段。

10.RARP協議

RARP是逆地址解析協議,作用是完成硬體地址到IP地址的對映,主要用於無盤工作站,因為給無盤工作站配置的IP地址不能儲存。工作流程:在網路中配置一臺RARP伺服器,裡面儲存著IP地址和MAC地址的對映關係,當無盤工作站啟動後,就封裝一個RARP資料包,裡面有其MAC地址,然後廣播到網路上去,當伺服器收到請求包後,就查詢對應的MAC地址的IP地址裝入響應報文中發回給請求者。因為需要廣播請求報文,因此RARP只能用於具有廣播能力的網路。

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.