圖1.6展示了鏈路層自底向上如何進行分解,這裡使用乙太網作為例子:乙太網幀包含乙個48位的目的位址(又稱mac位址)和乙個16位的乙太網型別字段。0x0800表示這個幀包含ipv4資料報、0x0806表示arp、0x86dd表示ipv6。假設目的位址與接收方的乙個位址匹配,這個幀將被接收並校驗差錯,乙太網型別字段用於選擇處理它的網路層協議。
如果接收到的幀包含乙個ip資料報,乙太網頭部和尾部資訊將被清除,並將剩餘位元組(包含幀的有效載荷)交給ip來處理。ip檢測一系列的字段,包括資料報中的目的ip位址。如果目的位址與自己的乙個ip位址匹配,並且資料報頭部(ip不檢測有效載荷)沒有錯誤,則檢測8位的ipv4協議字段(在ipv6中稱為下乙個頭部字段),以決定接下來呼叫哪些協議來處理。常見的值包括1(icmp)、2(igmp)、4(ipv4)、6(tcp)和17(udp)。
如果網路層(ipv4或ipv6)認為傳入的資料報有效,並且已確定正確的傳輸層協議,則將資料報(必要時由分片重組組成)交給傳輸層處理。在傳輸層中,大部分協議(包括tcp和udp)通過埠號將復用分解到適當的應用。
埠號是16位的非負整數(範圍是0~65535)。每個ip位址有65536個可用的埠號,每個傳輸協議可使用這些埠號,它們被用於確定正確的接收資料的具體服務。對於客戶機/伺服器應用,一台伺服器首先「繫結」到乙個埠號,然後乙個或多個客戶機可使用某種特定的傳輸協議與一台伺服器上的埠號建立連線。
標準的埠號由internet號碼分配機構(iana)分配,這組數字被劃分為特定範圍,包括熟知埠號(0-1023),註冊埠號(1024-49151)和動態/私有埠號(49152-65535)。熟知埠號用於識別很多眾所周知的服務,例如ssh(22),ftp(20和21),dns(53),http(80),https(443)。註冊埠號提供給有特殊許可權的客戶機或伺服器,但iana會維護乙個為特定用途而保留的登錄檔,開發新應用時通常應避免使用這些埠號,除非你已購買某些iana分配的埠號。動態/私有埠號基本不受監管,它們只被短期使用,因為客戶機只需支援乙個應用的客戶程式,並不需要被伺服器發現以建立乙個連線,相反,伺服器通常需要不變的名稱和埠號,以便被客戶機發現。
TCP IP 卷1 協議 概述
1.1 引言 1.2 分層 網路協議通常是分成不同層次進行開發,每一層負責不同的通訊功能。tcp ip分為4層 鏈路層 包括作業系統中的驅動裝置和計算機中對應的網路介面卡。處理物理介面細節。網路層 處理分組在網路中的活動。包括ip協議,icmp 協議 igmp協議。運輸層 為兩台主機上的應用程式提供...
TCP IP詳解學習筆記(1) 概述
1.tcp ip的分層結構 網路協議通常分不同層次進行開發,每一層分別負責不同的同信功能。tcp ip通常被認為是乙個四層協議系統。如圖所示。1 鏈路層 資料鏈路層或網路介面層 通常包括作業系統中的裝置驅動程式和計算機中對應的網路介面卡。2 網路層 網際網路層 處理分組在網路中的活動。3 運輸層,主...
《TCP IP協議詳解 卷1》 概述
分層 1 鏈路層,又稱網路介面層,處理與電纜的物理介面細節。乙太網協議 arp rarp 2 網路層,處理分組在網路中的活動。ip icmp igmp 3 運輸層,為兩台主機上的應用提供端到端的通訊。tcp udp 4 應用層,處理特定的應用程式細節。telnet ftp smtp snmp 網路層...