概述
- TCP/IP分四層:鏈路層、網路層、運輸層、應用層
- 傳輸協議:TCP(傳輸控制協議)、UDP(使用者資料包協議)
- 各類IP地址範圍
型別 | 範圍 |
---|---|
A | 0.0.0 - 127 .255.255.255 |
B | 128 .0.0 - 191 .255.255.255 |
C | 192 .0.0 - 223 .255.255.255 |
D | 224 .0.0 - 239 .255.255.255 |
E | 240 .0.0 - 247 .255.255.255 |
- TCP和UDP採用
16bit
埠號識別應用程式 - 知名 TCP/IP 埠
1~1023
之間:FTP(21)、Telnet(23) - 多數TCP/IP臨時埠分配
1024-5000
之間 - Unix下
/etc/services
包含了熟知的埠號 - 網路層(IP)提供點到點的服務,運輸層(TCP/UDP)提供端到端的服務
- 使用TCP/IP協議的應用程式通常採用兩種應用程式設計介面(API):socket和TLI(運輸層介面:Transport Layer Interface)。前者有時稱作“Berkeley socket”
鏈路層
乙太網和IEEE 802封裝
- 鏈路層三個目的
- 為IP模組傳送和接收IP資料包
- 為ARP模組傳送ARP請求和接收ARP應答
- 為RARP傳送RARP請求和接收RARP應答
- 當今TCP/IP採用的主要區域網技術為 乙太網,採用一種稱作CSMA/CD的媒體介入方法
- 802.3針對整個CSMA/CD網路、802.4針對令牌匯流排網路、802.5針對令牌環網路
IP:網際協議
不可靠:不保證IP資料包能成功到達目的地。錯誤處理演算法:丟棄該資料包之後傳送ICMP訊息給信源端
無連線:IP不維護任何關於後續資料包的狀態資訊。
TTL
(time-to-live)生存時間欄位設定了資料包可以經過的最多路由器數。通常由源主機設定(通常為32或64),經過一個路由,值減1,為0時,資料包唄丟棄,併傳送ICMP
報文通知源主機
IP首部始終是32 bit 的整數倍
- 為一個網路指定一個路由器,而不必為每個主機指定一個路由器,這是IP路由選擇機制的另一個基本特性
- 子網定址,A類、B類分配容納主機數為2的24次方-2和2的16次方-2
- 點對點連結始終會帶來問題,因為它一般在兩端都需要IP地址
ARP:地址解析協議
ARP
為IP地址到對應的硬體地址之間提供動態對映。- 在ARP背後有一個基本概念,那就是網路介面有一個硬體地址(一個48 bit的值,標識不同的乙太網或令牌環網路介面)。
- ARP的功能是在32 bit的IP地址和採用不同網路技術的硬體地址之間提供動態對映。
- ARP高效執行的關鍵是由於每個主機上都有一個ARP快取記憶體,存放了最近Internet地址到硬體地址之間的對映記錄,每一項的生存時間一般為20分鐘
- ARP請求或應答來說,幀型別的值為
0x0806
- 操作欄位指出四種操作型別,它們是ARP請求(值為1)、ARP應答(值為2)、RARP請求(值為3)和RARP應答(值為4)
- 由於ARP請求或回答的資料幀長都是42位元組(28位元組的ARP資料,14位元組的乙太網幀頭,因此,每一幀都必須加入填充字元以達到乙太網的最小長度要求:60位元組。
- 大多數的BSD實現把完成TCP連線請求的時間限制設定為75秒
RARP:逆地址解析協議
- RARP協議是許多無盤系統在引導時用來獲取IP地址的
- RARP請求或應答的幀型別程式碼為0x8035,而且RARP請求的操作程式碼為3,應答操作程式碼為4
- RARP請求以廣播方式傳送,而RARP應答一般是單播(unicast)傳送的
ICMP:Internet 控制報文協議
-
ICMP經常被認為是IP層的一個組成部分。它傳遞差錯報文以及其他需要注意的資訊。ICMP報文通常被IP層或更高層協議(TCP或UDP)使用。一些ICMP報文把差錯報文返回給使用者程式。
- ICMP報文是在IP資料包內部被傳輸的
Traceroute 程式
- 開發
Traceroute
程式的原因:
- 在IP首部選項欄位中最多隻能存放9個IP地址,不能存放當前大多數的路徑
- Traceroute程式只需要目的端執行一個UDP模組—其他不需要任何特殊的伺服器應用程式
Traceroute
輸出
- 輸出的第1個無標號行給出了目的主機名和其IP地址,指出traceroute程式最大的TTL欄位值為30。40位元組的資料包包含20位元組IP首部、8位元組的UDP首部和12位元組的使用者資料(12位元組的使用者資料包含每發一個資料包就加1的序列號,送出TTL的副本以及傳送資料包的時間)
- 使用traceroute程式的-g選項,可以為寬鬆的源站選路指明一些中間路由器
IP選路
- IP執行選路機制,而路由守護程式則一般提供選路策略。
netstat
對於一個給定的路由器,可以列印出五種不同的標誌(flag):
- U 該路由可以使用。
- G 該路由是到一個閘道器(路由器)。如果沒有設定該標誌,說明目的地是直接相連的。
- H 該路由是到一個主機,也就是說,目的地址是一個完整的主機地址。如果沒有設定該標誌,說明該路由是到一個網路,而目的地址是一個網路地址:一個網路號,或者網路號與子網號的組合。
- D 該路由是由重定向報文建立的(9.5節)。
- M 該路由已被重定向報文修改(9.5節)。
- 對於點對點鏈路和環回介面來說,路由是到達主機(例如,設定H標誌)。對於廣播介面來說,如乙太網,路由是到達網路。
- 路由表項的內容:
- 5bit標誌、
- 目的IP地址(主機、網路或預設)、
- 下一站路由器的IP地址(間接路由)或者本地介面的IP地址(直接路由)及指向本地介面的指標
動態路由協議
名詞解釋
IGP
(Interior Gateway Protocol) 內部閘道器協議 或者叫 域內選路協議
OSPF
(Open Shortest Path First) 開放最短路徑優先
EGP
(Exterier Gateway Protocol) 外部閘道器協議
HELLO
1986年在原來NSFNET骨幹網上使用的較早的IGP協議
- 選路資訊協議 (RIP)—最常用
- Internet是以一組自治系統(AS,Autonomous System)的方式組織的,每個自治系統通常由單個實體管理
- 常常將一個公司或大學校園定義為一個自治系統。
- 每個自治系統可以選擇該自治系統中各個路由器之間的選路協議。這種協議我們稱之為內部閘道器協議IGP(Interior Gateway Protocol)或域內選路協議(intradomain routing protocol)
- Unix系統上常常執行名為routed路由守護程式
UDP:使用者資料協議
- UDP不提供可靠性:它把應用程式傳給IP層的資料傳送出去,但是並不保證它們能到達目的地
- UDP檢驗和覆蓋UDP首部和UDP資料
- UDP檢驗和(事實上,TCP/IP協議簇中所有的檢驗和)是簡單的16 bit和
- 客戶程式使用ephemeral埠號一般在1024~5000之間
- 儘管IP分片過程看起來是透明的,但有一點讓人不想使用它:即使只丟失一片資料也要重傳整個資料包,因為IP層本身沒有超時重傳的機制
- TCP有超時和重傳機制,但UDP沒有。一些UDP應用程式本身也執行超時和重傳
- IP資料包是指IP層端到端的傳輸單元(在分片之前和重新組裝之後)
- 分組是指在IP層和鏈路層之間傳送的資料單元。一個分組可以是一個完整的IP資料包,也可以是IP資料包的一個分片
- 理論上,IP資料包的最大長度是65535位元組,這是由IP首部16位元總長度欄位所限制的
- 去除20位元組的IP首部和8個位元組的UDP首部,UDP資料包中使用者資料的最長長度為65507位元組
廣播和多播
- 廣播和多播僅應用於UDP
- 對於乙太網,當地址中最高位元組的最低位設定為1時表示該地址是一個多播地址,用十六進位制可表示為01:00:00:00:00:00(乙太網廣播地址ff:ff:ff:ff:ff:ff可看作是乙太網多播地址的特例)
- D類IP地址被稱為多播組地址
TCP連結的建立與終止
標誌 | 3字元縮寫 | 描述 |
---|---|---|
S | SYN | 同步序號 |
F | FIN | 傳送方完成資料傳送 |
R | RST | 復位連結 |
P | PSH | 儘可能快的將資料送往接收程式 |
. | 以上四個標誌位元均置為0 |
未完待續... ...