TCP/IP協議詳解卷一:Chapter1 Chapter2 筆記

Chapter 1 概述

ARP = Address Resolution Protocol = 地址解析協議
TCP段 = TCP segment
IP數據報 = IP datagram
幀 = Frame

1.4節 互聯網的地址

五類IP地址
IP地址長32bit,可以寫成四個十進制的數,每個整數對應一個字節。
A類:0 + 7位網絡號 + 24位主機號,0.0.0.0–127.255.255.255
B類:10 + 14位網絡號 + 16位主機號,128.0.0.0–191.255.255.255
C類:110 + 21位網絡號 + 8位主機號,192.0.0.0–223.255.255.255
D類:1110 + 28位多播組號,224.0.0.0–239.255.255.255
E類:11110 + 27位(留待後用),240.0.0.0–247.255.255.255

1.12節 標準的簡單服務

單工數據傳輸只支持數據在一個方向上傳輸;在同一時間只有一方能接受或發送信息,不能實現雙向通信,舉例:電視,廣播;
半雙工數據傳輸允許數據在兩個方向上傳輸,但是,在某一時刻,只允許數據在一個方向上傳輸,它實際上是一種切換方向的單工通信;
全雙工數據通信允許數據同時在兩個方向上傳輸。

internet != Internet
internet = 用一個協議族把多個網絡連接在一起
Internet = 世界範圍內通過TCP/IP互相通信的所有主機集合

Chapter 2 鏈路層

CSMA/CD = Carrier Sense, Multiple Access with Collision Detection = 帶衝突檢測的 載波偵聽 多路接入

IEEE 802 即 LAN/MAN Standards Committee (LMSC) = 局域網/城域網標準委員會

Token Bus Network = 令牌總線網絡
Token Ring Network = 令牌環網絡

DSAP = Destination Service Access Point = 目標服務訪問點
SSAP = Source Service Access Point = 源服務訪問點
CRC = Cyclic Redundancy Check = 循環冗餘校驗

2.2節 以太網和IEEE 802 封裝

以太網的IP數據報封裝(RFC 894)

6字節目的地址 + 6字節源地址 + 2字節類型 + 數據(46-1500字節)+ 4字節CRC

類型0800 + IP數據報(46-1500字節)
類型0806 + ARP請求/應答(28字節)+ 18字節填充
類型8035 + RARP請求/應答(28字節)+ 18字節填充

IEEE 802 網絡的IP數據報封裝(RFC 1042)
6字節目的地址 + 6字節源地址 + 2字節長度 + 1字節DSAP + 1字節SSAP + 1字節Ctrl字段 + 3字節org code + 2字節類型 + 數據(38-1492字節)+ 4字節CRC

類型0800 + IP數據報(38-1492字節)
類型0806 + ARP請求/應答(28字節)+ 10字節填充
類型8035 + RARP請求/應答(28字節)+ 10字節填充

默認條件下必須是RFC 894分組。
兩種封裝格式中都採用的目標地址和源地址都被稱爲硬件地址

2.4節 串行線路IP

SLIP協議
END + IP數據報 + END
如果IP報文中包含END字符,則使用 0xdb 0xdc 替換;
如果IP報文中包含ESC字符, 則使用 0xdb 0xdd 替換。

SLIP = Serial Line IP = 串行線路IP
END字符 = 0xc0,SLIP的ESC字符 = 0xdb

SLIP協議的缺點

  1. 每一端必須知道對方的IP地址;
  2. 數據幀中沒有類型字段。如果一條串行線路用於SLIP,那麼它不能同時使用其他協議;
  3. 數據幀中沒有CRC檢驗和。傳輸發生錯誤時只能通過上層協議發現。

2.6節 點對點協議

點對點協議
PPP = Point-to-Point Protocol = 點對點協議
標誌字節0x7e + 地址字節0xff + 控制字節0x30 + 2字節協議字段 + 信息(最多1500字節)+ 2字節CRC字段 + 標誌字節0x7e

協議0x0021 + IP數據報
協議0xc021 + 鏈路控制數據
協議0x8021 + 網絡控制數據

異步鏈路轉義字符 0x7d
緊接的字符的第6個比特取補碼
0x5e = 1011110 即 1111110 = 0x7e
0x5d = 1011101 即 1111101 = 0x7d
0x21 = 100001 即 000001 = 0x01

2.7節 環回接口

環回接口(Loopback interface)

  1. 允許運行在同一臺主機上的客戶程序和服務器程序通過TCP/IP協議進行通信;
  2. 通常把IP地址127.0.0.1分配給這個接口,並命名爲localhost
  3. 一個傳給環回接口的IP數據報不能在任何網絡上出現。

MTU = Maximum Transmission Unit = 最大傳輸單元
路徑MTU

2.10節 串行線路吞吐量計算

533ms這個一半的時間是怎麼計算出來的呢?
這是因爲SLIP數據幀中沒有類型字段(類似於以太網中的類型字段)。一條串行線路使用SLIP就不能同時使用其他協議。
此時就有兩種情況:

  1. 此交互應用程序先發送數據,它等待的時間是0ms;
  2. ftp發送數據,將佔用1066ms的時間,而交互應用程序將要等待1066ms。

兩種情況平均下來即等待533ms。這裏所指的等待時間是平均等待時間。

1024B / 256B = 4, 1066ms / 266ms = 4
線路利用率 = 256 / 261 = 98.1%

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章