《圖解TCP/IP》讀書筆記

1.計算機網絡

計算機網絡,根據其規模可分爲WAN(Wide Area Network,廣域網)和LAN(Local Area Network,局域網)前端

2.批處理

爲了能讓更多的人使用計算機,出現了批處理系統。所謂批處理,是指事先將用戶程序和數據裝入卡帶或磁帶,並由計算機按照必定的順序讀取,使用戶所要執行的這些程序和數據可以一併批量獲得處理的方式。數據庫

3.分時系統

繼批處理系統以後,20世紀60年代出現了分時系統(TSS)。它是指多個終端與同一個計算機鏈接,容許多個用戶同時使用一臺計算機系統。緩存

4.OSI參考模型

物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層安全

5.OSI協議與OSI參考模型

OSI(參考模型)將通訊功能劃爲7個分層,稱做OSI參考模型。OSI協議以OSI參考模型爲基礎界定了每一個階層協議和每一個階層之間接口相關的標準。遵循OSI協議的產品叫作OSI產品,而它們所遵循的通訊則被成爲OSI通訊。服務器

6.OSI參考模型中各個分層的做用

層數 分層名稱 功能 每層功能概覽
7 應用層 針對特定應用的協議 電子郵件、遠程登陸、文件傳輸等
6 表示層 設備固有數據格式和網絡標準數據格式的轉換 接收不一樣表現形式的信息,如文字流、圖像、聲音等
5 會話層 通訊管理。負責創建和斷開通訊鏈接。管理傳輸層如下的分層 什麼時候創建鏈接,什麼時候斷開鏈接以及保持多久的鏈接
4 傳輸層 管理兩個節點之間的數據傳輸。負責可靠傳輸 是否有數據丟失?
3 網絡層 地址管理與路由選擇 通過哪一個路由傳遞到目標地址?
2 數據鏈路層 互連設備之間傳送和識別數據幀 數據幀與比特流之間的轉換
1 物理層 以「0」、「1」表明電壓的高低、燈光的閃滅 比特流與電子信號之間的轉換

7.傳輸層與網絡層的關係

在不一樣的網絡體系結構下,網絡層有時也不能保證數據的可達性。例如在至關於TCP/IP網絡層的IP協議中,就不能保證數據必定會發送到對端地址。所以,數據傳送過程當中出現數據丟失、順序混亂等問題可能性會大大增長。像這樣沒有可靠性傳輸要求的網絡層中,能夠由傳輸層負責提供「正確傳輸數據的處理」。TCP/IP中,網絡層與傳輸層相互協做以確保數據包可以傳送到世界各地,實現可靠傳輸。網絡

8.數據鏈路層

通訊傳輸其實是經過物理的傳輸介質來實現的。數據鏈路層的做用就是在這些經過傳輸介質互連的設備之間進行數據處理。數據結構

9.物理層

物理層中,將數據0、1轉換爲電壓和脈衝光傳輸給物理的傳輸介質,而相互直連的設備之間使用地址實現傳輸。這種地址被稱爲MAC地址,也可稱爲物理地址或硬件地址。採用MAC地址,目的是爲了識別鏈接到同一個傳輸介質上的設備。所以,在這一分層中將包含MAC地址信息的首部附加到從網絡層轉發過來的數據上,將其發送到網絡。併發

10.傳輸方式的分類

  1. 面向有鏈接型與面向無鏈接型負載均衡

    • 面向有鏈接型
面向有鏈接型中,在發送數據以前,須要在收發主機之間鏈接一條通訊線路。

面向有鏈接型就比如人們日常打電話,輸入完對方電話號碼撥出以後,只有對端拿起電話才能真正通話,通話結束以後將電話機扣上就如同切斷電源。所以在面向有鏈接的方式下,必須在通訊傳輸先後,專門進行創建和斷開鏈接的處理。若是對端之間沒法通訊,就能夠避免發送無謂的數據。

- **面向無鏈接型**
面向無鏈接型則不要求創建和斷開鏈接。發送端可於任什麼時候候自由發送數據。反之,接收端也永遠不知道本身會在什麼時候從哪裏接收到數據。所以,在面向無鏈接的狀況下,接收端須要時常確認是否收到了數據。

在面向無鏈接的通訊中,不須要確認對端是否存在。即便接收端不存在或沒法接收數據,發送端也能將數據發送出去。
  1. 電路交換與分組交換

    目前,網絡通訊方式大體分爲兩種——電路交換和分組交換。電路交換技術的歷史相對久遠,主要用於過去的電話網。而分組交換技術則是一種較新的通訊方式。TCP/IP正是採用了分組交換技術。ide

    在電路交換中,交換機主要負責數據的中轉處理。計算機首先被鏈接到交換機上,而交換機與交換機之間則由衆多通訊線路再繼續鏈接。所以計算機之間在發送數據時,須要經過交換機與目標主機創建通訊電路。咱們將鏈接電路稱爲創建鏈接。創建好鏈接以後,用戶就能夠一直使用這條電路,直到該鏈接被斷開爲止。

    若是某條電路只是用來鏈接兩臺計算機的通訊線路,就意味着只須要在這兩臺計算機之間實現通訊,所以這臺計算機是能夠獨佔線路進行數據傳輸的。可是,若是一條電路上鍊接了好多臺計算機,而這些計算機之間須要相互傳遞數據,就會出現新的問題。鑑於一臺計算機在收發信息時會獨佔整個電路,其餘計算機只能等待這臺計算機處理結束之後纔有機會使用這條電路收發數據。而且在此過程當中,誰也沒法預測某一臺計算機的數據傳輸從什麼時候開始又在什麼時候結束。若是併發用戶數超過交換機之間的通訊線路數,就意味着通訊根本沒法實現。

    爲此人們想到了一個新的方法,即讓鏈接到通訊電路的計算機將所要發送的數據分紅多個數據包,按照必定的順序排列以後分別發送。這就是分組交換。有了分組交換,數據被細分後,全部的計算機就能夠一齊收發數據,這樣也就提升了通訊線路的利用率。因爲在分組過程當中,已經在每一個分組的首部寫入了發送端和接收端的地址,因此即便同一條線路同時爲多個用戶提供服務,也能夠明確區分每一個分組數據發往的目的地,以及它與哪臺計算機進行的通訊。

    在分組交換中,由分組交換機(路由器)鏈接通訊線路。分組交換的大體處理過程是:發送端計算機將數據分組發送給路由器,路由器收到這些分組數據之後,緩存到本身的緩衝區,而後再轉發給目標計算機。所以,分組交換也有另外一個名稱:蓄積交換。

    路由器接受到數據之後會按照順序緩存到相應的隊列中,再以先進先出的順序將它們逐一發送出去。

    在分組交換中,計算機與路由器之間以及路由器與路由器之間一般只有一條通訊線路。所以,這條線路實際上是一條共享線路。在電路交換中,計算機之間的傳輸速度不變。然而在分組交換中,通訊線路的速度可能會有所不一樣。

  2. 根據接收端數量分類
    在網絡通訊當中,也能夠根據目標地址的個數及其後續的行爲對通訊進行分類。如廣播、多播等。

    • 單播:一對一通訊。早先的固定電話就是單播通訊的一個典型例子。
    • 廣播:將消息從1臺主機發送給與之相連的全部其餘主機。廣播通訊的一個典型例子就是電視播放,它將電視信號一齊發送給非特定的多個接收對象。
    • 多播:多播與廣播相似,也是將消息發給多個接收主機。不一樣之處在於多播要限定某一組主機做爲接收端。多播通訊最典型的例子就是電視會議,這是由多組人在不一樣的地方參加的一種遠程會議。在這種形式下,會由一臺主機發送消息給特定的多臺主機。
    • 任播:任播是指在特定的多臺主機中選出一臺做爲接收端的一種通訊方式。任播通訊從目標主機羣中選擇一臺最符合網絡條件的主機做爲目標主機發送消息。一般,所被選中的那臺特定主機將返回一個單播信號,隨後發送端主機會只跟這臺主機進行通訊。

11.地址

  1. 地址的惟一性
    在同一個通訊網絡中不容許有兩個相同地址的通訊主體存在。
  2. 地址的層次性
    MAC地址和IP地址在標識同一個通訊主體時雖然都有惟一性,可是它們當中只有IP地址具備層次性。

    IP地址分層:一方面,IP地址由網絡號和主機號兩部分組成。即便通訊主題的IP地址不一樣,若主機號不一樣,網絡號相同,說明它們處於同一個網段。另外一方面,網絡號相同的主機在組織結構、提供商類型和地域分佈上都比較集中,也爲IP尋址帶來了極大的方便。

12.網絡的構成要素

設備 做用
網卡 使計算機連網的設備
中繼器(Repeater) 從物理層上延長網絡的設備
網橋(Bridge)/2層交換機 從數據鏈路層上延長網絡的設備
路由器(Router)/3層交換機 經過網絡層轉發分組數據的設備
4~7層交換機 處理傳輸層以上各層網絡傳輸的設備
網關(Gateway) 轉換協議的設備

13.傳輸速率與吞吐量

在數據傳輸的過程當中,兩個設備之間數據流動的物理速度稱爲傳輸速率。從嚴格意義上講,各類傳輸媒介中信號的流動速度是恆定的。所以,即便數據鏈路的傳輸速率不相同,也不會出現傳輸的速度忽快忽慢的狀況。傳輸速率高也不是指單位數據流動的速度有多快,而是指單位時間內傳輸的數據量有多少。

傳輸速率又稱爲帶寬,帶寬越大網絡傳輸能力越強。

此外,主機之間實際的傳輸速率被稱爲吞吐量。其單位與帶寬相同,都是bps。

14.中繼器

中繼器是在OSI模型的第一層——物理層面上延長網絡的設備。由電纜傳過來的電信號或光信號經由中繼器的波形調整和放大再傳給另外一個電纜。

  • 中繼器是對減弱的信號進行放大和發送的設備。
  • 中繼器經過物理層的鏈接延長網絡。
  • 即便在數據鏈路層出現某些錯誤,中繼器仍然轉發數據。
  • 中繼器沒法改變傳輸速度。

通常狀況下,中繼器的兩端鏈接的是相同的通訊媒介,但有的中繼器也能夠完成不一樣媒介之間的轉接工做。然而,在這種狀況下,中繼器也只是單純負責信號在0和1比特流之間的替換,所以不能在傳輸速度不一樣的媒介之間轉發。

15.網橋/2層交換機

  • 網橋根據數據幀的內容轉發數據給相鄰的其餘網絡
  • 網橋沒有鏈接網段個數的限制
  • 網橋基本上只用於鏈接相同類型的網絡。可是有時也能夠鏈接傳輸速率不一樣的網絡。

16.路由器/3層交換機

  • 路由器是鏈接網絡與網絡的設備
  • 能夠將分組報文發送給另外一個目標路由器地址
  • 基本上能夠鏈接任意兩個數據鏈路

路由器是在網絡層面上鍊接兩個網絡、並對分組報文進行轉發的設備。網橋是根據物理地址(MAC地址)進行處理,而路由器/3層交換機則是根據IP地址進行處理的。由此,TCP/IP中網絡層的地址就成爲了IP地址。

17.4~7層交換機

4~7層交換機負責處理OSI模型中從傳輸層至應用層的數據。若是用TCP/IP分層模型來表述,4~7層交換機就是以TCP等協議的傳輸層及其上面的應用層爲基礎,分析收發數據,並對其進行特定的處理。

  • 負載均衡器就是4~7層交換機的一種。
  • 帶寬控制也是4~7層交換機的重要功能之一。
  • 廣域網加速器、特殊應用訪問加速以及防火牆等也是4~7層交換機的應用。

18.網關

  • 網關負責協議的轉換與數據的轉發
  • 在同一種類型的協議之間轉發數據叫作應用網關

網關是OSI參考模型中負責將從傳輸層到應用層的數據進行轉換和轉發的設備。它與4~7層交換機同樣都是處理傳輸層及以上的數據,可是網關不只轉發數據還負責對數據進行轉換,它一般會使用一個表示層或應用層網關,在兩個不能進行直接通訊的協議之間進行翻譯,最終實現二者之間的通訊。

  • 在使用萬維網時,爲了控制網絡流量以及出於安全的考慮,有時會使用代理服務器。這種代理服務器也是網關的一種,稱爲應用網關。
  • 防火牆就是一款經過網關通訊,針對不一樣應用提升安全性的產品。

19.TCP/IP協議分層模型

TCP/IP協議分層模型包括:硬件(物理層)、網絡接口層(數據鏈路層)、互聯網層(網絡層)、傳輸層、應用層

  • 硬件(物理層):TCP/IP的最底層是負責數據傳輸的硬件。這種硬件就至關於以太網或電話線路等物理層的設備。
  • 網絡接口層(數據鏈路層):網絡接口層利用以太網中的數據鏈路層進行通訊,所以屬於接口層。
  • 互聯網層:互聯網層使用IP協議,它至關於OSI模型中的第3層網絡層。IP協議基於IP地址轉發分包數據。TCP/IP分層中的互聯網層與傳輸層的功能一般由操做系統提供。尤爲是路由器,它必須得實現經過互聯網層轉發分組數據包的功能。此外,鏈接互聯網的全部主機跟路由器必須都實現IP的功能。其餘鏈接互聯網的網絡設備(如網橋、中繼器或集線器)就沒有必要必定實現IP或TCP的功能。

    • IP:IP是跨越網絡傳送數據包,使整個互聯網都能收到數據的協議。IP協議使數據可以發送到地球的另外一端。
    • ICMP:IP數據包在發送途中一旦發生異常致使沒法到達對端目標地址時,須要給發送端發送一個發生異常的通知。ICMP就是爲這個功能而定製的。
    • ARP:從分組數據包的IP地址中解析出物理地址(MAC地址)的一種協議。
  • 傳輸層傳輸層最主要的功能就是可以讓應用程序之間實現通訊。計算機內部,一般同一時間運行着多個程序。爲此,必須分清是哪些程序與哪些程序在進行通訊。

    • TCP:TCP是一種面向有鏈接的傳輸層協議。它能夠保證兩端通訊主機之間的通訊可達。TCP可以正確處理在傳輸過程當中丟包、傳輸順序亂掉等異常狀況。此外,TCP還可以有效利用帶寬,緩解網絡擁堵。
    • UDP:UDP有別於TCP,它是一種面向無鏈接的傳輸層協議。UDP不會關注對端是否真的收到了傳送過去的數據,若是須要檢查對端是否收到分組數據包,或者對端是否鏈接到網絡,則須要在應用程序中實現。UDP一般用於分組數據較少或多播、廣播通訊以及視頻通訊等多媒體領域。
  • 應用層

    • 電子郵件:發送電子郵件時用到的協議叫作SMTP。最初,只能發送文本格式的電子郵件。然而如今,電子郵件的格式由MIME協議擴展之後,就能夠發送聲音、圖像等各式各樣的信息。這裏提到的MIME協議屬於OSI參考模型的第6層——表示層。
    • 文件傳輸(FTP):文件傳輸是指將保存在其餘計算機硬盤上的文件轉移到本地的硬盤上,或將本地硬盤的文件傳送到其餘機器硬盤上的意思。該過程使用的是FTP協議,傳輸過程當中能夠選擇用二進制形式仍是文本方式。在FTP中進行文件傳輸的時候會創建2個TCP鏈接,分別是發出傳輸請求時所要用到的控制鏈接與實際傳輸數據時所要用到的數據鏈接。
    • 遠程登陸(TELLNET與SSH):遠程登陸是指登陸到遠程的計算機上,使那臺計算機上的程序得以運行的一種功能。TCP/IP網絡中遠程登陸經常使用TELNET和SSH兩種協議。
    • 網絡管理(SNMP):在TCP/IP中進行網絡管理時,採用SNMP協議。使用SNMP管理的主機、網橋、路由器等稱做SNMP代理,而進行管理的那一段叫作管理器。

20.數據包

網絡中傳輸的數據包由兩部分組成:一部分是協議所要用到的首部,另外一部分是上層傳過來的數據。首部的結構由協議的具體規範詳細定義。

21.發送數據包

  1. 應用程序處理:應用在發送郵件的那一刻創建TCP鏈接,從而利用這個TCP鏈接發送數據。它的過程首先是將應用的數據發送給下一層的TCP,再作實際的轉發處理。
  2. TCP模塊的處理:TCP根據應用的指示,負責創建鏈接、發送數據以及斷開鏈接。TCP提供將應用層發來的數據順利發送至對端的可靠傳輸。爲了實現TCP這一功能,須要在應用層數據的前端附加一個TCP首部。TCP首部包括源端口號和目標端口號(用以識別發送主機跟接收主機上的應用)、序號(用以表示該包中數據是發送端整個數據中第幾字節的序列號)以及校驗和(用以判斷數據是否被損壞)。隨後將附加了TCP首部的包再發送給IP。
  3. IP模塊的處理:IP將TCP傳過來的TCP首部和TCP數據合起來當作本身的數據,並在TCP首部的前端再加上本身的IP首部。所以,IP數據包中IP首部後面緊跟着TCP首部,而後纔是應用的數據首部和數據自己。IP首部中包含接收端IP地址以及發送端IP地址。緊隨IP首部的還有用來判斷其後面是數據是TCP仍是UDP的信息。IP包生成後,參考路由控制表決定接受此IP包的路由或主機。隨後,IP包將被髮送給鏈接這些路由器或是主機網絡接口的驅動程序,以實現真正發送數據。若是尚不知道接收端的MAC地址,能夠利用ARP查找。
  4. 網絡接口(以太網驅動)的處理:從IP傳過來的IP包,對於以太網驅動來講不過就是數據。給這數據附加上以太網首部並進行發送處理。以太網首部包含接收端MAC地址、發送端MAC地址以及標誌以太網類型的以太網數據的協議。根據上述信息產生的以太網數據包將經過物理層傳輸給接收端。

22.數據鏈路的段

數據鏈路的段是指一個被分割的網絡。然而根據使用者不一樣,其含義也不盡相同。

23.網絡拓撲

網絡的鏈接和構成的形態成爲網絡拓撲。網絡拓撲包括總線型、環型、星型、網狀型等。拓撲一詞不只用於直觀可見的配線方式上,也用於邏輯上網絡的組成結構。

24.MAC地址

MAC地址用於識別數據鏈路中互連的節點。MAC地址長48比特,在使用網卡的狀況下,MAC地址通常會被燒入ROM中。所以,任何一個網卡的MAC地址都是惟一的,在全世界都不會重複。

25.共享介質型網絡

從通訊介質的使用方法上看,網絡可分爲共享介質型和非共享介質型。

共享介質型網絡指由多個設備共享一個通訊介質的一種網絡。最先的以太網和FDDI就是介質共享型網絡。在這種方式下,設備之間使用同一個載波信道進行發送和接收。爲此,基本上採用半雙工通訊方式,並有必要對介質進行訪問控制。

共享介質型網絡中有兩種介質訪問控制方式:一種是爭用方式,另外一種是令牌傳遞方式。

  • 爭用方式:爭用方式是指爭奪獲取數據傳輸的權利,也叫CSMA(載波監聽多路訪問)。這種方法一般令網絡中的各個站採用先到先得的方式佔用信道發送數據,若是多個站同時發送幀,則會產生衝突現象。也所以會致使網絡擁堵與性能降低。
  • 令牌傳遞方式:令牌傳遞方式是沿着令牌環發送一種叫作「令牌」的特殊報文,是控制傳輸的一種方式。只有得到令牌的站才能發送數據。這種方式有兩個特色:一是不會有衝突,二是每一個站都有經過平等循環得到令牌的機會。所以,即便網絡擁堵也不會致使性能降低。固然,這種方式中,一個站在沒有收到令牌前不能發送數據幀,所以在網絡不太擁堵的狀況下數據鏈路的利用率也就達不到100%.

26.非共享介質網絡

非共享介質網絡是指不共享介質,是對介質採起專用的一種傳輸控制方式。在這種方式下,網絡中的每一個站直連交換機,由交換機負責轉發數據幀。此方式下,發送端與接收端並不共享通訊介質,所以不少狀況下采用全雙工通訊方式。

27.半雙工與全雙工通訊

  • 半雙工:半雙工是指,只發送或只接收的通訊方式。它相似於無線電收發器,若兩端同時說話,是聽不見對方說話的。
  • 全雙工:全雙工容許在同一時間內既能夠發送數據也能夠接收數據。相似於電話,接打雙方能夠同時說話。

28.根據MAC地址轉發

以太網交換機就是持有多個端口的網橋。它們根據數據鏈路層中每一個幀的目標MAC地址,決定從哪一個網絡接口發送數據。這時所參考的、用以記錄發送接口的表就叫作轉發表。因爲MAC地址沒有層次性,轉發表中的入口個數與整個數據鏈路中全部網絡設備的數量有關。當設備數量增長時,轉發表也會隨之變大,檢索轉發表所用的時間也就愈來愈長。當鏈接多個終端時,有必要將網絡分紅多個數據鏈路,採用相似於網絡層的IP地址同樣對地址進行分層管理。

29.交換機轉發方式

  • 存儲轉發:存儲轉發方式檢查以太網數據幀末尾的FCS位後再進行轉發。所以,能夠避免發送因爲衝突而被破壞的幀或噪聲致使的錯誤幀。
  • 直通轉發:直通轉發方式中不須要將整個幀所有接收下來之後再進行轉發。只須要得知目標地址便可開始轉發。所以,它具備延遲較短的優點。但同時也不可避免地有發送錯誤幀的可能性。

30.PPP

PPP定義:PPP(Point-to-Point Protocol)是指點對點,即1對1鏈接計算機的協議。PPP至關於位於OSI參考模型第二層的數據鏈路層。

31.LCP與NCP

在開始進行數據傳輸前,要先創建一個PPP級的鏈接。當這個鏈接創建之後,就能夠進行身份認證、壓縮與加密。

在PPP的主要功能中包括兩個協議:一個是不依賴於上層的LCP協議,另外一個是依賴上層的NCP協議。若是上層爲IP,此時的NCP也叫作IPCP。

LCP主要負責創建和斷開鏈接、設置最大接收單元、設置驗證協議以及設置是否進行通訊質量的監控。

IPCP則負責IP地址設置以及是否進行TCP/IP首部壓縮等設置。

32.IP即網際協議

TCP/IP的心臟是互聯網層。這一層主要由IP和ICMP兩個協議組成。

IP(IPv四、IPv6)至關於OSI參考模型中的第3 層——網絡層。
網絡層的主要做用是「實現終端節點之間的通訊」。這種終端節點之間的通訊也叫「點對點通訊」。

33.IP基礎知識

IP大體分爲三大做用模塊,它們是IP尋址、路由以及IP分包與組包。

  • IP地址屬於網絡層地址。在計算機通訊中,爲了識別通訊對端,必需要有一個相似於地址的識別碼進行標識。IP地址用於在「鏈接到網絡中的全部主機中識別出進行通訊的目標地址」。
  • 路由控制:路由控制是指將分組數據發送到最終目標地址的功能。即便網絡很是複雜,也能夠經過路由控制肯定到達目標地址的通路。一個數據包之因此可以成功到達最終的目標地址,全靠路由控制。
  • IP屬於面向無鏈接型。即在發包以前,不須要創建與對端目標地址之間的鏈接。上層若是遇到須要發送給IP的數據,該數據會當即被壓縮成IP包發送出去。
  • 在面向有鏈接的狀況下,須要事先創建鏈接。若是對端主機關機或不存在,也就不可能創建鏈接。反之,一個沒有創建鏈接的主機也不可能發送數據過來。

34.爲何IP要採用面向無鏈接

  • 爲了簡化。面向鏈接比起面向無鏈接處理相對複雜。
  • 爲了提速。每次通訊以前事先創建鏈接,會下降處理速度。

35.IP地址的基礎知識

  • IP地址並不是是根據主機臺數來配置的,而是每一臺主機上的每一塊網卡都得設置IP地址。
  • IP地址由「網絡地址」和「主機地址」兩部分組成。
  • IP地址的「主機標識」不容許在同一個網段內重複出現。
  • 相同網段內相連的主機必須有相同的網絡地址。

36.IP地址的分類

  • A類:0.0.0.0~127.0.0.0,A類地址的後24位至關於主機地址。A類地址首部以0開頭。
  • B類:128.0.0.0~191.255.0.0,B類地址的後16位至關於主機地址。B類地址首部以10開頭。
  • C類:C類IP地址是前三位爲110的地址,192.0.0.0~239.255.255.0.C類地址後8位至關於主機地址。
  • D類:D類IP地址是前4位爲1110。224.0.0.0~239.255.255.255。D類地址沒有主機標識,常被用於多播。

37.廣播地址

廣播地址用於在同一個鏈路中相互鏈接的主機之間發送數據包。將IP地址中的主機地址部分所有設置爲1,就成了廣播地址。

38.IPv6的必要性

IPv6是爲了根本解決IPv4地址耗盡的問題而被標準化的網際協議。IPv4的地址長度爲4個8位字節,即32比特。而IPv6的地址長度則是原來的4倍,即128比特,通常寫成8個16位字節。

39.DNS

咱們日常在訪問某個網站時不使用IP地址,而是用一串由羅馬字和點號組成的字符串。而通常用戶在使用TCP/IP進行通訊時也不使用IP地址。可以這樣作是由於有了DNS功能的支持。DNS能夠將那字符串自動轉換爲具體的IP地址。

在應用中,當用戶輸入主機名(域名)時,DNS會自動檢索那個註冊了主機名和IP地址的數據庫,並迅速定位對應的IP地址。並且,若是主機名和IP地址須要進行變動時,也只須要在組織機構內部進行處理便可,而沒有必要再向其餘機構進行申請或報告。

40.ARP

只要肯定了IP地址,就能夠向這個目標地址發送IP數據報。然而,在底層數據鏈路層,進行實際通訊時卻有必要了解每一個IP地址所對應的MAC地址。

ARP是一種解決地址問題的協議。以目標IP地址爲線索,用來定位下一個應該接收數據分包的網絡設備對應的MAC地址。若是目標主機不在同一個鏈路上時,能夠經過ARP查找下一跳路由器的MAC地址。不過ARP只適用於IPv4.

ARP是藉助於ARP請求和ARP響應兩種類型的包肯定MAC地址的。

41.RARP

將ARP反過來,從MAC地址獲取IP地址。

42.ICMP

ICMP的主要功能包括,確認IP包是否成功送達目標地址,通知在發送過程中IP包被廢棄的具體緣由,改善網絡設置等。

主要的ICMP消息

  • ICMP目標不可達消息
  • ICMP重定向消息
  • ICMP超時消息
  • ICMP回送消息:用於進行通訊的主機或路由器之間,判斷所發送的數據包是否已經成功到達對端的一種消息。網絡上最經常使用的命令Ping就是利用這個消息實現的。

43.DHCP

爲了實現自動設置IP地址、統一管理IP地址分配,就產生了DHCP協議。有了DHCP,計算機只要鏈接到網絡,就能夠進行TCP/IP通訊。也就是說,DHCP讓即插即用變得可能。

44.NAT

NAT是用於在本地網絡中使用私有地址,在鏈接互聯網時轉而使用全局IP地址的技術。

45.TCP

TCP是面向鏈接的、可靠的流協議。流就是指不間斷的數據結構,你能夠把它想象成排水管道中的水流。當應用程序採用TCP發送消息時,雖然能夠保證發送的順序,但仍是猶如沒有任何間隔的數據流發送給接收端。

TCP爲提供可靠性傳輸,實行「順序控制」或「重發控制」機制。此外還具有「流量控制」、「擁塞控制」、提升網絡利用率等衆多功能。

46.UDP

UDP是不具備可靠性的數據報協議。細微的處理它會交給上層的應用去完成。在UDP的狀況下,雖然能夠確保發送消息的大小,卻不能保證消息必定會到達。

UDP不提供複雜的控制機制,利用IP提供面向無鏈接的通訊服務。而且它是將應用程序發來的數據在收到的那一刻,當即按照原樣發送到網絡上的一種機制。

即便是出現網絡擁堵的狀況下,UDP也沒法進行流量控制等避免網絡擁塞的行爲。此外,傳輸途中即便出現丟包,也不會重發。

47.TCP的特色及其目的

TCP經過檢驗和、序列號、確認應答、重發控制、鏈接管理以及窗口控制等機制實現可靠性傳輸。

48.TCP控制位

  • ACK:該位爲1時,確認應答的字段變爲有效。TCP規定除了最初創建連接時的SYN包以外該位必須設置爲1.
  • SYN:用於創建鏈接。SYN爲1表示但願創建鏈接,並在其序列號的字段進行序列號初始值的設定。
  • CWR:CWR標誌與後面的ECE標誌都用於IP首部的ECN字段。ECN標誌爲1時,則通知對方已將擁塞窗口縮小。
  • ECE:置爲1會通訊對方,從對方到這邊的網絡有擁塞。在收到數據包的IP首部中ECN爲1時將TCP首部中的ECE設置爲1。
  • URG:該位爲1時,表示包中有須要緊急處理的數據。
  • RST:該位爲1 時表示TCP鏈接中出現異常必須強制斷開鏈接。
  • FIN:該位爲1 時,表示從此不會再有數據發送,但願斷開鏈接。

49.IP地址與路由控制

互聯網是由路由器鏈接的網絡組合而成的。爲了能讓數據包正確的到達目標主機,路由器必須在途中進行正確的轉發。這種向「正確的方向」轉發數據所進行的處理就叫作路由控制或路由。

路由器根據路由控制錶轉發數據包。它根據所收到的數據包中目標主機的IP地址與路由控制表的比較得出下一個應該接收的路由器。所以,這個過程當中路由控制表的記錄必定要正確無誤。

50.TELNET

TELNET利用TCP的一條鏈接,經過這一條鏈接向主機發送文字命令並在主機上執行。

TELNET能夠分爲兩類基本服務。一是仿真終端功能,二是協商選項機制。

TELNET常常用於登陸路由器或高性能交換機等網絡設備進行相應的設置。

51.SSH

SSH是加密的遠程登陸系統。TELNET中登陸時無需輸入密碼就能夠發送,容易形成通訊竊聽和非法入侵的危險。使用SSH後能夠加密通訊內容。即便信息被竊聽也沒法破解所發送的密碼、具體命令以及命令返回的結果是什麼。

SSH還包括不少很是方便的功能:

  • 可使用更強的認證機制。
  • 能夠轉發文件。
  • 可使用端口轉發功能。

52.文件傳輸

FTP協議使用兩條TCP鏈接:一條用來控制,另外一條用於數據(文件)的傳輸。

數據傳輸用的TCP鏈接一般使用端口20.

53.電子郵件的工做機制

提供電子郵件服務的協議叫作SMTP,SMTP爲了實現高效發送郵件內容,在其傳輸層使用了TCP協議。

SMTP使用的是TCP的25號端口。

54.SNMP

在TCP/IP的網絡管理中可使用SNMP收集必要的信息。它是一款基於UDP/IP的協議。

相關文章
相關標籤/搜索