《TCP/IP圖解》讀書筆記

看這本書的目的:html

  • 瞭解計算機之間是怎麼通訊的
  • 熟悉TCP/IP協議

後面就這兩個目的進行展開,要達到這兩個目的,讀這本書,學到了哪些知識。緩存

1、計算機之間是怎麼通訊的

先來了解下面幾個概念,中繼器,二層交換機,路由器,IP地址,Mac地址網絡

1. IP地址和Mac地址

IP地址和Mac地址你們都很是熟悉了,到底在計算機的通訊中,起到什麼做用呢?
Mac地址是用來真正負責最終通訊的地址。
IP地址用來尋址的。app

下面想一個場景: 小明從上海到北京,假設沒有火車直達。tcp

  • 第一步: 小明知道本身的出發地是上海,目的地是北京。那IP路由轉換表就至關於行程表,告訴小明,首先應該從上海到南京。拿到南京這個IP,小明來到了火車站,問售票員(arp)到南京怎麼走,售票員給了小明一張到南京的火車票(mac地址),這樣小明順利的到達了南京。
  • 第二步: 到達南京後,行程表告訴小明,下一站到北京去,小明又來到了火車站,問售票員(arp),到北京怎麼走,售票員給小明一張到北京的火車票(mac地址),這樣小明就順利的到達了北京。
    若是行程表(IP路由轉發器),火車票(mac),二者少了同樣,小明都到達不了北京。

問題:
爲何使用IP地址進行路由?
因爲IP地址具備層次性,就像一棵樹,尋址更快。而mac地址不具備這樣的特性。

htm

2. 中繼器

在計算機誕生以前,中繼器就已經誕生了。在電報機年代,儘管一些電報線使用高達300伏的電壓能在300英里的範圍內工做,長距離導線電阻的緣由,導線仍是不能無限延伸。這個時候,中繼器誕生了。就是使用轉發(中繼)系統,也稱爲繼電器系統,大約每200英里就讓發報者經過中繼器增強信號,再發出去。blog

原理(以下圖):
輸入電流激發電磁跌,電磁跌吸引一根有彈性的金屬條做爲開關,從而輸出電流。
接口

3. 二層交換機(網橋)

首先附上大神們在知乎上的回答
https://www.zhihu.com/question/50104637/answer/119837346
首先網橋是二層網絡設備,是現代交換機的前身。必定程度上下降了衝突域的發生,另外提供簡單的存儲轉發功能,若是產生衝突直接拒絕,沒有現代交換機的緩存隊列。隊列

-衝突域:你說話的時候,別人不能說話,別人說話的時候你不能說話,贊成時刻只能有一我的說話
-廣播域:你喊了一嗓子,全部人都能聽到。別人喊一嗓子,全部人也能聽到。 4. 網關 VS 路由器ip

4.網關

網關是一個概念,不具體指一類產品,只要鏈接兩個不一樣網絡的設備均可以叫作網關;而路由器須要將局域網的以太幀格式轉換爲串行通訊的HDLC幀格式,使不一樣協議類型的接口可以通訊,這是路由器的最先功能,如今還具備具備路由尋址和轉發功能,因此路由器能夠看作網關的一種實現,但不侷限於網關的基本功能。

默認網關:
一般說的默認網關是默認的數據出口,當數據的目的IP沒有響應的路由匹配規則,都走到默認網關,由默認網關進行路由轉發。

5.相關協議

6.計算機之間的通訊

2、TCP/IP協議

TCP/IP協議並非單純指TCP、IP協議,是指TCP/IP協議族,其中包括不少協議,好比tcp/udp、ip、arp、icmp等等

1.TCP協議

是面向鏈接的,可靠的、基於字節流傳輸層通訊協議。有超時重傳機制、阻塞控制機制等等保證通訊的質量。更詳細信息參考百科全書(https://zh.wikipedia.org/wiki/%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6%E5%8D%8F%E8%AE%AE)

三次握手鍊接:

數據傳輸:

四次回收斷開:

2.UDP

用戶報文協議,與TCP相對,也是傳輸層協議。但不是面向鏈接的,不可靠,傳輸的速度比TCP快。

3.MTU MSS 滑動窗口

更詳細參考車神的回答

3.1 MTU

MTU, 是 Maximum Transmission Unit 的縮寫,最大傳輸單元,即物理接口(數據鏈路層)提供給其上層(一般是IP層)最大一次傳輸的數據的大小。

3.2 MSS

MSS,是Maximum Segement Size,TCP提交給IP層最大分段的大小,不包含TCP Header和TCP Option,只包含了TCP Payload,MSS是TCP用來限制application層最大的發送字節數。

MTU和MSS是就是爲了不在傳輸過程ip層分包。MTU是由最小MTU路徑發現獲得,而後根據MTU算出MSS便可,通常是MTU是1500,去掉IP和TCP Header各20字節,通常是1460字節。

3.3 滑動窗口

因爲最傳統的TCP IP通訊,每次傳輸必須等ACK,不然發送端就一直阻塞在這裏,不往下發送,通訊的效率極低。滑動窗口設置一個傳輸範圍,批量的發送,不必等每次傳輸的ACK,極大的提升了傳輸效率。

3.4 端口

詳見 http://www.cnblogs.com/beginmind/p/6517913.html

相關文章
相關標籤/搜索