備戰校招必備的計算機網路知識(二)
1.OSI,TCP/IP,五層協議的體系結構,以及各層協議(幾乎必考的題)
答:OSI分層 (7層):物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層。
TCP/IP分層(4層):網路介面層、 網際層、運輸層、 應用層。
五層協議 (5層):物理層、資料鏈路層、網路層、運輸層、 應用層。
每一層的協議如下:
物理層:IEEE802.3 (中繼器,集線器)
資料鏈路:PPP、MAC (網橋,交換機)
網路層:IP、ICMP、ARP、RARP (路由器)
傳輸層:TCP、UDP
會話層:SQL
表示層:
應用層:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
每一層的作用如下:
物理層:通過媒介傳輸位元,確定機械及電氣規範(位元Bit)//建立.維護和斷開物理連線
資料鏈路層:將位元組裝成幀和點到點的傳遞(幀Frame)//建立邏輯連線,進行硬體地址的定址,差錯校驗等功能
//網路層:負責資料包從源到宿的傳遞和網際互連(包PackeT)//進行邏輯地址的定址,實現不同網路之間的路徑選擇
傳輸層:提供端到端的可靠報文傳遞和錯誤恢復(段Segment)//定義傳輸資料的協議埠號,以及流控和差錯校驗,資料包一旦離開網絡卡即進入網路傳輸層
會話層:建立、管理和終止會話(會話協議資料單元SPDU)
表示層:對資料進行翻譯、加密和壓縮(表示協議資料單元PPDU)//資料的表示.安全和壓縮
應用層:允許訪問OSI環境的手段(應用協議資料單元APDU)//網路服務於終端使用者的一個介面
2.IP地址的分類
A類地址:以0開頭, 第一個位元組範圍:1~127(1.0.0.0 - 127.255.255.255);
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的為廣播地址(192.168.2.255)
3.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響應。
4.各種協議的介紹
答:ICMP協議: 因特網控制報文協議。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制訊息。
TFTP協議: 是TCP/IP協議族中的一個用來在客戶機與伺服器之間進行簡單檔案傳輸的協議,提供不復雜、開銷不大的檔案傳輸服務。
HTTP協議: 超文字傳輸協議,是一個屬於應用層的面向物件的協議,由於其簡捷、快速的方式,適用於分散式超媒體資訊系統。
NAT協議:網路地址轉換屬接入廣域網(WAN)技術,是一種將私有(保留)地址轉化為合法IP地址的轉換技術,
DHCP協議:動態主機配置協議,是一種讓系統得以連線到網路上,並獲取所需要的配置引數手段,使用UDP協議工作。具體用途:給內部網路或網路服務供應商自動分配IP地址,給使用者或者內部網路管理員作為對所有計算機作中央管理的手段。
5.描述RARP協議
答:RARP是逆地址解析協議,作用是完成硬體地址到IP地址的對映,主要用於無盤工作站,因為給無盤工作站配置的IP地址不能儲存。工作流程:在網路中配置一臺RARP伺服器,裡面儲存著IP地址和MAC地址的對映關係,當無盤工作站啟動後,就封裝一個RARP資料包,裡面有其MAC地址,然後廣播到網路上去,當伺服器收到請求包後,就查詢對應的MAC地址的IP地址裝入響應報文中發回給請求者。因為需要廣播請求報文,因此RARP只能用於具有廣播能力的網路。
6.TCP三次握手和四次揮手的全過程(必考的題)
答:三次握手:
第一次握手:客戶端傳送syn包(syn=x)到伺服器,並進入SYN_SEND狀態,等待伺服器確認;
第二次握手:伺服器收到syn包,必須確認客戶的SYN(ack=x+1),同時自己也傳送一個SYN包(syn=y),即SYN+ACK包,此時伺服器進入SYN_RECV狀態;
第三次握手:客戶端收到伺服器的SYN+ACK包,向伺服器傳送確認包ACK(ack=y+1),此包傳送完畢,客戶端和伺服器進入ESTABLISHED狀態,完成三次握手。
握手過程中傳送的包裡不包含資料,三次握手完畢後,客戶端與伺服器才正式開始傳送資料。理想狀態下,TCP連線一旦建立,在通訊雙方中的任何一方主動關閉連線之前,TCP 連線都將被一直保持下去。
與建立連線的“三次握手”類似,斷開一個TCP連線則需要“四次握手”。
第一次揮手:主動關閉方傳送一個FIN,用來關閉主動方到被動關閉方的資料傳送,也就是主動關閉方告訴被動關閉方:我已經不會再給你發資料了(當然,在fin包之前傳送出去的資料,如果沒有收到對應的ack確認報文,主動關閉方依然會重發這些資料),但是,此時主動關閉方還可 以接受資料。
第二次揮手:被動關閉方收到FIN包後,傳送一個ACK給對方,確認序號為收到序號+1(與SYN相同,一個FIN佔用一個序號)。
第三次揮手:被動關閉方傳送一個FIN,用來關閉被動關閉方到主動關閉方的資料傳送,也就是告訴主動關閉方,我的資料也傳送完了,不會再給你發資料了。
第四次揮手:主動關閉方收到FIN後,傳送一個ACK給被動關閉方,確認序號為收到序號+1,至此,完成四次揮手。、
6在瀏覽器中輸入www.baidu.com後執行的全部過程(從客戶端的角度)
答:1、客戶端瀏覽器通過DNS解析到www.baidu.com 的IP地址220.181.27.48,通過這個IP地址找到客戶端到伺服器的路徑。客戶端瀏覽器發起一個HTTP會話到220.181.27.48,然後通過TCP進行封裝資料包,輸入到網路層。
2、在客戶端的傳輸層,把HTTP會話請求分成報文段,新增源和目的埠,如伺服器使用80埠監聽客戶端的請求,客戶端由系統隨機選擇一個埠如5000,與伺服器進行交換,伺服器把相應的請求返回給客戶端的5000埠。然後使用IP層的IP地址查詢目的端。
3、客戶端的網路層不用關心應用層或者傳輸層的東西,主要做的是通過查詢路由表確定如何到達伺服器,期間可能經過多個路由器,這些都是由路由器來完成的工作,我不作過多的描述,無非就是通過查詢路由表決定通過那個路徑到達伺服器。
4、客戶端的鏈路層,包通過鏈路層傳送到路由器,通過鄰居協議查詢給定IP地址的MAC地址,然後傳送ARP請求查詢目的地址,如果得到迴應後就可以使用ARP的請求應答交換的IP資料包現在就可以傳輸了,然後傳送IP資料包到達伺服器的地址。
7.TCP和UDP的區別?(必考)
答:TCP提供面向連線的、可靠的資料流傳輸,而UDP提供的是非面向連線的、不可靠的資料流傳輸。
TCP傳輸單位稱為TCP報文段,UDP傳輸單位稱為使用者資料報。
TCP注重資料安全性,UDP資料傳輸快,因為不需要連線等待,少了許多操作,但是其安全性卻一般。
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服務。
8.DNS域名系統,簡單描述其工作原理。
答:當DNS客戶機需要在程式中使用名稱時,它會查詢DNS伺服器來解析該名稱。客戶機發送的每條查詢資訊包括三條資訊:包括:指定的DNS域名,指定的查詢型別,DNS域名的指定類別。基於UDP服務,埠53. 該應用一般不直接為使用者使用,而是為其他應用服務,如HTTP,SMTP等在其中需要完成主機名到IP地址的轉換。
9.TCP的三次握手過程?為什麼會採用三次握手,若採用二次握手可以嗎?(必考)
答:建立連線的過程是利用客戶伺服器模式,假設主機A為客戶端,主機B為伺服器端。
(1)TCP的三次握手過程:主機A向B傳送連線請求;主機B對收到的主機A的報文段進行確認;主機A再次對主機B的確認進行確認。
(2)採用三次握手是為了防止失效的連線請求報文段突然又傳送到主機B,因而產生錯誤。失效的連線請求報文段是指:主機A發出的連線請求沒有收到主機B的確認,於是經過一段時間後,主機A又重新向主機B傳送連線請求,且建立成功,順序完成資料傳輸。考慮這樣一種特殊情況,主機A第一次傳送的連線請求並沒有丟失,而是因為網路節點導致延遲達到主機B,主機B以為是主機A又發起的新連線,於是主機B同意連線,並向主機A發回確認,但是此時主機A根本不會理會,主機B就一直在等待主機A傳送資料,導致主機B的資源浪費。
(3)採用兩次握手不行,原因就是上面說的實效的連線請求的特殊情況。
10.HTTP協議的工作特點和工作原理
工作特點:
基與B/S模式,通訊開銷小,簡單快捷,傳輸成本低,使用靈活,可使用超文字傳輸協議,節省傳輸時間,並且具有無狀態性
工作原理:
客戶端傳送請求給伺服器,建立TCP連線,指定埠,預設80,連線到伺服器,伺服器監聽瀏覽器請求,一旦監聽到客戶端請求,分析請求型別後,伺服器會向客戶端返回狀態資訊和資料內容
11 ping在哪一層 流程是什麼?
ping使用的ICMP協議在第三層,但是ping命令屬於應用層
首先: ping一個網址,我們的主機會首先通過DNS先去尋找網址對應的IP地址,再繼續ping這個IP地址。ping一個網址一開始會有一點點延遲,是因為我們的主機需要尋找對應的IP地址,假如我們的DNS快取中沒有該網站。首個報文有所延遲還可能是因為ARP協議需要定址。
ping的具體過程
1、主機A在應用層發起對主機B的Ping請求
2、傳輸層將資料分段並加上報頭
3、網路層將A的IP地址為源IP地址、B的IP地址為目標IP地址,根據ICMP協議封裝成資料包。
4、根據B的IP地址和子網掩碼,檢測A、B是否屬於同一子網。同一子網
如果屬於同一子網,則查詢本機的ARP快取,找到B的MAC地址。
若ARP快取表中找不到B的MAC地址,則傳送ARP請求廣播,B收到ARP廣播後進行解封裝,發現所請求的MAC地址
是自己的。B將A的MAC地址寫入ARP快取表中,然後向A傳送一個 ARP應答單播。A收到B的ARP應答報文後將B的MAC
地址存入ARP快取中。
A將B的Mac地址作為目標MAC地址並封裝到資料幀中,傳送給網路介面層進行傳輸。
B接收到這個資料幀後,首先在網路介面層中發現目標MAC地址指向自己,B將幀頭去掉,向上傳傳輸。
網路層接收到這個資料包後會檢視包頭,發現目標IP地址和自己匹配,繼續解封裝並將資料向上層傳輸。
傳輸層接收ping請求報文,去掉報頭,嚮應用層傳送。應用層收到ping請求後,傳送一個ping迴應報文給A。
不同子網如果A、B不屬於同一個子網,則仍然傳送一個ARP廣播,得到閘道器的MAC地址,再將ICMP資料報傳送給閘道器路由器,請求路由器轉發。