TCP/IP通訊協定與網路架構 台大計資中心 李美雯 Email : mli@ccms.ntu.edu.tw Phone : 3366-5010
大 綱 TCP/IP背景 TCP/IP層級式架構 TCP/IP訊息的傳送與處理 網際網路層 主機傳輸層
TCP/IP背景 1967年DARPA (Defense Advanced Research Project Agency) 推動ARPANET (Advanced Research Project Agency NETwork) 電腦網路 1983年推廣網際網路(Internet) 1985年成立NSFNET (National Science Foundation NETwork)
TCP/IP背景(Cont.) 網路管理協定的產生,SNMP (Simple Network Management Protocol) 成立 ISO (International Organization for Standardization) 組織,負責標準化工作 IAB (Internet Activities Board) 負責網路研究與實驗之管理
TCP/IP背景(Cont.) IETF (Internet Engineering Task Force)負責網際網路問題的討論 網際網路的相關報告與協定等文件,稱之為RFC (Request for Comments) NIC (network Information Center)負責管理RFC文件
TCP/IP協定架構圖
TCP/IP協定架構 網路介面層 (Network Interface Layer) 網際網路層 (Internet Layer) 主機傳輸層 (Transport Layer) 應用層 (Application Layer)
網路介面層 包含OSI協定的實體層與資料連結層 此層級並未標準化 此層級使用各區域網路的原有協定
網際網路層 建立來源端與目的端間的通道 規定網際網路的定址方式 處理資料在不同網路間傳遞方式 處理子網路之間的傳遞 選擇資料傳輸路徑
主機傳輸層 提供傳輸控制協定(TCP)與使用者資料流協定(UDP) TCP以連結為導向的協定 TCP負責端點間的資料傳送與回應確認
應用層 包含較高層次的協定 提供應用程式間的溝通 TELNET FTP SMTP DNS
主機間的資料傳輸
訊息的傳送(1)
訊息的傳送(2)
網際網路協定(IP) 提供非連結式服務 (Connectionless Service) 盡力傳送資料 (Best-effort Delivery) 位址處理 送端 收端 資料段的分割與再彙集
IP Header格式
IP Header Version : IP版本 Header Length : IP header長度 Type of Service : 表示資料傳送的品質要求 Total Length : 顯示資料段的大小 Identifier : 提供資料段被切割後的識別號碼
TOS 格式 Bits 0-2 : Precedence. 0~7.資料傳送的優先順序 Bits 3: 0=Normal Delay, 1=Low Delay Bits 4: 0=Normal Throughput, 1=High Throughput Bits 5: 0=Normal Reliability 1=High Reliability Bits 6-7 : 保留未來使用
IP Header(Cont.) Flags : 資料分割的控制 位元 0 : 保留 位元 1 : 0表示可以分割,1表示不可分割 位元 2 : 0表示是最後一個fragment,1表示後面還有資料 Fragmented Offset : 表示分割後的fragment在原來segment中的相對位置,以8個位元組為offset的單位
IP Header(Cont.) Time to Live : segment在網路中保留的時間 Protocol : IP上一層的網路協定 Header Checksum : IP header的總和檢查 Source Address : 來源端的IP位址 Destination Address : 目的端的IP位址
IP Header(Cont.) Options : Segment測試或除錯之用 Padding : 使header長度以32個位元結束
IP 定址 IP位址是32位元的二進位資料 IP位址格式 : <網路編號, 主機號碼> IP位址表示法 : dotted-decimal表示法(打點十進位法)
『打點十進位』表示法 與32位元資料型態
IP位址等級 等級A, B, C是用來代表主機與網路位址 等級D是以群組位址方式傳送的特別型態位址 等級E為保留用途
常用的IP位址等級 IP位址 = {網路編號,主機編號}
IP位址等級
網路遮罩 網路位址 : IP位址的網路部分,主機部分為0 例如,140.112.254.4,是一個等級B的主機位址,網路位址為140.112.0.0 可以利用“網路遮罩”對應出網路位址
等級A,B,C的網路遮罩
網路位址的推算
子網路(subnet) 子網路 : 將IP位址中的主機部分,切割一部份作為網路部分之用 IP位址 : 網路部分, 子網路部分, 主機部分
子網路(Cont.) 可以利用“子網路遮罩”(subnet mask)對應出網路位址 子網路遮罩中的位元為1時,對應的是網路位址 子網路遮罩中的位元為0時,對應的是主機位址
子網路(Cont.)
子網路(Cont.) IP位址中的子網路部分與主機部分,有兩個位址不可使用 所有位元全為0,代表該網路或子網路 所有位元全為1,作為broadcast位址之用 一個IP位址可使用的子網路數目與主機數目 : 2n – 2,n代表子網路或主機部分的位元數目
子網路(Cont.) 例如,140.112.0.0 (255.255.255.0),可使用的子網路位址個數是28 – 2 = 254 ,可使用的主機位址個數是28 – 2 = 254
IP Prefix CIDR (Classless Interdomain Routing) : 由傳統的IP等級(等級A, 等級B, 等級C)進一步到IP Prefix IP Prefix表示法 : IP位址 / 網路位址的位元數目 例如,140.112.3.0/24
IP Prefix
路由器的介面
ARP – Address Resolution Protocol IP segment在下層加上實體位址(網路卡的硬體位址) ARP是建立IP位址與實體位址對應關係的協定 利用區域網路的廣播功能取得實體位址
主機傳輸層 負責建立兩台主機間的虛擬路徑 提供的主要服務 : 傳輸控制協定(TCP) 使用者資料協定(UDP)
TCP的基本機制 為每個資料段編上序號,可以利用序號調整亂掉的資料段 接收端的確認回應(ACK), 總和檢查碼(Checksum), 計時器(Timer)的配合使用,提供穩定的服務品質 利用Window Control控制資料流量
(Transmission Control Protocol) TCP Header 格式 (Transmission Control Protocol)
TCP Header Source Port & Destination Port : 來源端與目的端通訊埠號碼 Sequence Number : 表示此資料段在訊息中的序號,接收端依序組合資料段 Acknowledgment Number : 接收端希望下次收到的序號,也是回應已收到封包 Header Length : TCP Header的長度
TCP Header(Cont.) Reserved : 保留給未來使用 Flags : 由6個bits所組成,控制資料的傳輸與連結 URG : 緊急指標 ACK : 如果設定,表示此封包有一個回應 PSH : push function RST : 重設連結
TCP Header(Cont.) Window Size : 使用於流量控制,表示能接收資料的數目(以8個位元組為單位) SYN : 建立順序號碼 FIN : 傳送資料到此為止 Window Size : 使用於流量控制,表示能接收資料的數目(以8個位元組為單位) Checksum : 錯誤偵測號碼 Urgent Pointer : 緊急指標。URG flag為1時,此欄位才生效
TCP Header(Cont.) Options : 此資料段的發送者告訴對方能接受的最大資料段長度 Padding : 使header長度以32個位元結束
TCP提供的主要服務 建立,維護及終止兩個程序間之連結 順序號碼及回應,提供可靠的資料傳輸 控制流量的方法 藉由通訊埠分辨連結
Three-Way Handshack
Three-Way Handshack
(User Datagram Protocol) UDP Header 格式 (User Datagram Protocol)
UDP Header Source Port : 來源端通訊埠號碼 Destination Port : 發送端通訊埠號碼 UDP Length : 整個資料段的長度 Checksum : 選擇性的選項