1. OSI,TCP/IP,五層協議的體系結構,以及各層協議
OSI分層 (7層):物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。(物鏈網輸會示用)
TCP/IP分層(4層):網絡接口層、 網際層、運輸層、 應用層。(接網輸用)
五層協議 (5層):物理層、數據鏈路層、網絡層、運輸層、 應用層。(物鏈網輸用)
每一層的協議如下:
物理層:RJ45、CLOCK、IEEE802.3 (中繼器,集線器)
- IEEE 802.3是工作組和工作組制定的電氣和電子工程師協會 (IEEE)標准的集合,該工作組定義了有線以太網的物理層和數據鏈路層的介質訪問控制 (MAC)。 這通常是具有一些廣域網 (WAN)應用的局域網(LAN)技術。 通過各種類型的銅纜或光纜在節點和/或基礎設施設備( 集線器 , 交換機 , 路由器 )之間建立物理連接。
數據鏈路:PPP、FR、HDLC、VLAN、MAC (網橋,交換機)
- PPP協議(點對點協議)。PPP協議作用:PPP協議可應用於連接認證,傳輸封裝和壓縮。目前應用於很多類型的物理網絡,比如串行電纜,電話線等。
- HDLC:高級數據鏈路控制,是一個在同步網上傳輸數據、面向比特的數據鏈路層協議,其最大特點是不需要數據必須是規定字符集,對任何一種比特流,均可以實現透明的傳輸。
- VLAN:虛擬局域網,是一組邏輯上的設備和用戶,這些設備和用戶並不受物理位置的限制,可以根據功能、部門及應用等因素將它們組織起來,相互之間的通信就好像它們在同一個網段中一樣,由此得名虛擬局域網。
- MAC地址:也叫物理地址,每張網卡在生產時廠家就是固化一個48位的地址(6個字節,通常表 示為12個16進制數,如:00-16-EA-AE-3C-40),此地址全世界唯一,交換機路由 器以此來確認網絡設備位置的位址,缺點是不方便記憶,不夠靈活。
網絡層:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
- IP 地址:IP 地址是基於邏輯的,比較靈活,不受硬件的限制,也容易記憶,方便划分子網, 因此在計算機網絡中表面上使用IP進行通信,目前由4個不超過255的整數組成,一般用點分十進制表示(192.168.2.180)
- ICMP:網際控制報文協議,ICMP封裝在IP數據報的數據部分,分兩種:ICMP差錯報告,ICMP詢問報告。
- 差錯報告報文的五種:
- 終點不可達:不能交付
- 源點抑制:用塞丟棄,速率放慢
- 時間超過: 生存時間到時,數據報片未全部收到。
- 參數問題:字段值出錯
- 改變路由:路由器改變
- ICMP詢問報文:
- 回送請求和回答,測試目的站是否可答
- 時間戳請求和回答時鍾同步,測量時間
- ARP:地址解析協議。
以目標IP地址為線索,用來定位下一個應該接收數據分包的網絡設備對應的MAC地址。
如果目標主機不在同一個鏈路上時,可以通過ARP查找下一跳路由器的MAC地址。
ARP只適用於IPv4, 不能用於IPv6。IPv6 中可以用ICMPv6替代ARP發送鄰居探索消息。
傳輸層: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)
2. IP地址的分類
A類地址:以0開頭, 第一個字節范圍:1~126(1.0.0.0 - 126.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. 各種協議的介紹
TCP/IP 互聯網層協議 :
ICMP協議: 因特網控制報文協議。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。(分兩種:ICMP差錯報告,ICMP詢問報告)
NAT協議:網絡地址轉換屬於廣域網(WAN)技術,是一種將私有(保留)地址轉化為合法IP地址的轉換技術。讓一個合法的地址給多個內部主機共享,通過端口號對不同主機進程加以區分,用來解決 IP 地址不足的問題。
TCP/IP 應用層協議:
TFTP協議: 是TCP/IP協議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務。
HTTP協議: 超文本傳輸協議,是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分布式超媒體信息系統。
DHCP協議:動態主機配置協議,是一種讓系統得以連接到網絡上,並獲取所需要的配置參數手段,使用UDP協議工作。具體用途:給內部網絡或網絡服務供應商自動分配IP地址,給用戶或者內部網絡管理員作為對所有計算機作中央管理的手段。(總結:自動設置 IP 地址,統一管理 IP 地址分配)
5. 描述RARP協議
RARP是逆地址解析協議,作用是完成硬件地址到IP地址的映射,主要用於無盤工作站,因為給無盤工作站配置的IP地址不能保存。
RARP的工作過程如下:
1、網絡上的每台設備都會有一個獨一無二的硬件地址,通常是由設備廠商分配的MAC地址。PC1從網卡上讀取MAC地址,然后在網絡上發送一個RARP請求的廣播數據包,請求RARP服務器回復該PC的IP地址。
2、RARP服務器收到了RARP請求數據包,為其分配IP地址,並將RARP回應發送給PC1。
3、PC1收到RARP回應后,就使用得到的IP地址進行通訊
因為需要廣播請求報文,因此RARP只能用於具有廣播能力的網絡。
6. TCP三次握手和四次揮手的全過程
三次握手:
第一次握手:客戶端發送syn包(syn=1,seq=x)到服務器,並進入SYN_SENT狀態,等待服務器確認;
第二次握手:服務器收到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,至此,完成四次揮手。
seq是序號,ack是確認號。
ACK 即是確認字符,在數據通信中,接收站發給發送站的一種傳輸類控制字符。表示發來的數據已確認接收無誤。
SYN:同步序列編號。是TCP/IP建立連接時使用的握手信號。
SYN表示建立連接,
FIN表示關閉連接,
ACK表示響應
7. 在瀏覽器中輸入www.baidu.com后執行的全部過程
事件順序:
(1) 瀏覽器獲取輸入的域名www.baidu.com
(2) 瀏覽器向DNS請求解析www.baidu.com的IP地址
(3) 域名系統DNS解析出百度服務器的IP地址
(4) 瀏覽器與該服務器建立TCP連接(默認端口號80)
(5) 瀏覽器發出HTTP請求,請求百度首頁
(6) 服務器通過HTTP響應把首頁文件發送給瀏覽器
(7) TCP連接釋放
(8) 瀏覽器將首頁文件進行解析,並將Web頁顯示給用戶。
涉及到的協議
(1) 應用層:HTTP(WWW訪問協議),DNS(域名解析服務)
(2) 傳輸層:TCP(為HTTP提供可靠的數據傳輸),UDP(DNS使用UDP傳輸)
(3) 網絡層:IP(IP數據數據包傳輸和路由選擇),ICMP(提供網絡傳輸過程中的差錯檢測),ARP(將本機的默認網關IP地址映射成物理MAC地址)
8. TCP和UDP的區別
- TCP提供面向連接的、可靠的數據流傳輸,而UDP提供的是非面向連接的、不可靠的數據流傳輸
- TCP是可靠交付,UDP是盡最大努力交付
- TCP面向字節流,UDP面向報文
- TCP傳輸單位稱為TCP報文段,UDP傳輸單位稱為用戶數據報。
- TCP是點對點連接的,UDP一對一,一對多,多對多都可以
- TCP適合用於網頁,郵件等,UDP適合用於視頻,語音廣播等
- TCP注重數據安全性,UDP數據傳輸快,因為不需要連接等待,少了許多操作,但是其安全性卻一般。
9. DNS域名系統,簡單描述其工作原理
當一個應用進程需要把某個域名解析為IP地址時,該應用進程就會調用解析程序,並成為一個DNS用戶,把待解析的域名放在DNS請求報文中,以UDP數據報的形式發送給本地域名服務器,本地域名服務器查找到相應域名的IP地址后,就將該域名的IP地址信息放入應答報文中返回給客戶進程,如果本地域名服務器沒有直接查找到對應的IP地址,則向根域名服務器發出迭代查詢,再將查詢到的IP地址信息回傳給客戶程序。
10. 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)采用兩次握手不行,原因就是上面說的失效的連接請求的特殊情況。
11. 了解中繼器、集線器、網橋、交換機、路由器、網關的概念,並知道各自的用途
1.中繼器
中繼器(Repeater)是連接網絡線路的一種裝置,常用於兩個網絡節點之間物理信號的雙向轉發工作。中繼器是最簡單的網絡互聯設備,主要完成物理層的功能,負責在兩個節點的物理層上按位傳遞信息,完成信號的復制、調整和放大功能,以此來延長網絡的長度。它在OSI參考模型中的位置物理層。
由於存在損耗, 在線路上傳輸的信號功率會逐漸衰減,衰減到一定程度時將造成信號失真,因此會導致接收錯誤。中繼器就是為解決這一問題而設計的。它完成物理線路的連接,對衰減的信號進行放大,保持與原數據相同。
中繼器是模擬設備,用於連接兩根電纜段。中繼器不理解幀、分組和頭的概念,他們只理解電壓值。
一句話總結:中繼器,就是簡單的信號放大器,信號在傳輸的過程中是要衰減的,中繼器的作用就是將信號放大,使信號能傳的更遠。
2.集線器
集線器(Hub)是中繼器的一種形式,區別在於集線器能夠提供多端口服務,也稱為多口中繼器。集線器在OSI/RM中的物理層。
一句話總結:集線器,差不多就是個多端口的中繼器,把每個輸入端口的信號放大再發到別的端口去,集線器可以實現多台計算機之間的互聯,因為它有很多的端口,每個口都能連計算機。
3.網橋
網橋(Bridge)是一個局域網與另一個局域網之間建立連接的橋梁。網橋是屬於數據鏈路層的一種設備,它的作用是擴展網絡和通信手段,在各種傳輸介質中轉發數據信號,擴展網絡的距離,同時又有選擇地將現有地址的信號從一個傳輸介質發送到另一個傳輸介質,並能有效地限制兩個介質系統中無關緊要的通信。
一句話總結:網橋工作在數據鏈路層,將兩個LAN連起來,根據MAC地址來轉發幀,可以看作一個“低層的路由器”。
4.交換機
交換機(Swich)工作在第二層(即數據鏈路層),它要比集線器智能一些,它能分辨出幀中的源MAC地址和目的MAC地址,因此可以在任意兩個端口間建立聯系,在數據幀的始發者和目標接收者之間建立臨時的交換路徑,使數據幀直接由源地址到達目的地址。交換機通過對信息進行重新生成,並經過內部處理后轉發至指定端口,具備自動尋址能力和交換作用。但是 交換機並不懂得IP地址,它只知道MAC地址。
交換機是使用硬件來完成以往網橋使用軟件來完成過濾、學習和轉發過程的任務。交換機速度比HUB快,這是由於HUB不知道目標地址在何處,發送數據到所有的端口。而交換機中有一張MAC地址表,如果知道目標地址在何處,就把數據發送到指定地點,如果它不知道就發送到所有的端口。這樣過濾可以幫助降低整個網絡的數據傳輸量,提高效率。但是交換機的功能還不止如此,它可以把網絡拆解成網絡分支、分割網絡數據流,隔離分支中發生的故障,這樣就可以減少每個網絡分支的數據信息流量而使每個網絡更有效,提高整個網絡效率。
現代交換機是這樣處理數據幀的:一旦目標頭域(目標地址)已經進來了,盡管幀的其他部分還沒有到達,則只要輸出線路可以使用,交換機就開始轉發該幀,而不需理會幀后面的內容,也即是說交換機並沒有使用“存儲—轉發”交換方式。
一句話總結:交換機,可以理解為高級的網橋,他有網橋的功能,但性能比網橋強。交換機和網橋的細微差別就在於:交換機常常用來連接獨立的計算機,而網橋連接的目標是LAN,所以交換機的端口較網橋多。
5.路由器
路由器(Router)工作在第三層(即網絡層),它比交換機還要“聰明”一些,它能理解數據中的IP地址,如果它接收到一個數據包,就檢查其中的IP地址,如果目標地址是本地網絡的就不理會,如果是其他網絡的,就將數據包轉發出本地網絡。與工作在網絡物理層,從物理上划分網段的交換機不同,路由器使用專門的軟件協議從邏輯上對整個網絡進行划分。例如,一台支持IP協議的路由器可以把網絡划分成多個子網段,只有指向特殊IP地址的網絡流量才可以通過路由器。當IP子網中的一台主機發送IP分組給同一IP子網的另一台主機時,它將直接把IP分組送到網絡上,對方就能收到。而要送給不同IP於網上的主機時,它要選擇一個能到達目的子網上的路由器,把IP分組送給該路由器,由路由器負責把IP分組送到目的地。如果沒有找到這樣的路由器,主機就把IP分組送給一個稱為“缺省網關(default gateway)”的路由器上。對於每一個接收到的數據包,路由器都會重新計算其校驗值,並寫入新的物理地址。網絡中的設備用它們的網絡地址(TCP/IP網絡中為IP地址)互相通信。IP地址是與硬件地址無關的“邏輯”地址。目前TCP/IP網絡,全部是通過路由器互連起來的,Internet就是成千上萬個IP子網通過路由器互連起來的國際性網絡。
路由器用於連接多個邏輯上分開的網絡,幾個使用不同協議和體系結構的網絡。路由器利用網絡層定義的“邏輯”上的網絡地址(即IP地址)來區別不同的網絡,實現網絡的互連和隔離,保持各個網絡的獨立性。當一個子網傳輸到另外一個子網時,可以用路由器完成。它具有判斷網絡地址和選擇路徑的功能,過濾和分隔網絡信息流。一方面能夠跨越不同的物理網絡類型(DDN、FDDI、以太網等等),另一方面在邏輯上將整個互連網絡分割成邏輯上獨立的網絡單位,使網絡具有一定的邏輯結構。
一句話總結:路由器的主要工作就是為經過路由器的每個IP數據包尋找一條最佳傳輸路徑,並將該數據有效地傳送到目的站點。 路由器的基本功能是,把數據(IP報文)傳送到正確的網絡。
6.網關
網關(Gateway)又稱網間連接器、協議轉換器。網關在網絡層以上實現網絡互連,是最復雜的網絡互連設備,僅用於兩個高層協議不同的網絡互連。網關既可以用於廣域網互連,也可以用於局域網互連。 網關是一種充當轉換重任的計算機系統或設備。使用在不同的通信協議、數據格式或語言,甚至體系結構完全不同的兩種系統之間,網關是一個翻譯器。與網橋只是簡單地傳達信息不同,網關對收到的信息要重新打包,以適應目的系統的需求。
一句話總結:網關,通過字面意思解釋就是網絡的關口。從技術角度來解釋,就是連接兩個不同網絡的接口,比如局域網的共享上網服務器就是局域網和廣域網的接口。
11.1 路由器和交換機的區別
從應用上說:
交換機和路由器的使用中最大的區別莫過於路由器內部可實現撥號上網,然后通過共享給多台電腦同時上網,而交換機內部不具有撥號功能,但交換機的作用是將網絡信號分流,以實現更多電腦連接共享上網。
大家可以這樣認為,交換機可以將多台電腦連接起來,與交換機互連的電腦本身則具備了互相通信的功能,組建成了一個內部局域網,但需要訪問互聯網還需要有網絡支持,因此交換機一端需要連接到路由器,路由器即可實現交換功能,還可以撥號,實現寬帶連接,並將寬帶資源分配個交換機使用,這樣就實現了多台電腦共享上網。
從概念上說:
路由,是三層設備,有選擇道路的作用。比如你去羅馬,有很多路可以走,怎么走省錢省時間,就是路由要做的,解決你應該按照那條路走的問題。當然還有基於三層的其他功能。
交換機,是二層設備。他就像你家門前的如或者你們樓道,附近的住戶都知道去幾層幾號怎么走。
11.2 為什么有時候還要在路由器的后面先接1台交換機再接計算機
路由器是可以直接接電腦等終端設備,為什么標准都是路由器接交換機然后再接電腦等終端,是因為路由器本來就是一個路由設備,用來選路的,不適合大量的數據交換,交換機是用來大量數據交換的,終端在內網的性質就是需要使用交換機,所以標准就是路由器地下接交換機的形式。一般是情況就是在路由器下面接交換機,路由器主要起數據轉發,也就是尋址、路由的功能,交換機起到用戶接入的目的。但是家用的路由器的話直接就接計算機就可以了,而不必考慮再接交換機。