㈠ 常用的網路互連設備有哪些它們各處於TCP/IP參考模型的哪一層
常見的設備如:集線器、網橋、交換機、路由器。一般也就是這些。
網路互聯回,主要指答下三層的運行。物理層、數據鏈路層、網路層;
集線器工作在物理層,集線器把各個終端互相連接起來而已,處理的是信號。
網橋和交換機是一回事 ,交換機就是網橋的集合。它們工作在鏈路層。它們處理的是鏈路層數據,一般來說就是乙太網幀格式的數據。
路由器工作在網路層,處理網路層數據,也就是ip報文格式的數據,目前來看網路層的報文格式是ip一家獨大,當然路由器也可以處理tcp、udp等四層數據,以及ppp等三層數據。但它的主要作用在於ip轉發,所以我們一般認為它是網路層設備。
㈡ IP數據報格式
先回顧一下TCP/IP協議棧
網路層的協議有IP協議、ARP協議、ICMP協議和IGMP協議。其中IP協議是最主要也是最重要的協議,所以本文先從IP數據報的格式開始介紹。
本文內容
一個IP數據報由 首部和數據 兩個部分組成。
其中首部的前一個部分是 固定部分 ,長度固定共20位元組,這是所有IP數據報必須具有的。後一部分是可變部分,其長度是可變的,不是必須的。
(1) 版本 :佔4位,指 IP協議的版本 。目前廣泛使用的IP協議版本有兩種 IPv4 和 IPv6 。
(2) 首部長度 :佔4位,其單位是 4B 。所以 首部長度必須是4B的整數倍 。如首部長度欄位的4個二進制位分別是1111(對應十進制是15),則IP協議首部的長度是15 × 4B = 60B(位元組)。由於IP數據報首部的固定部分長度固定是20,所以首部欄位最小從0101開始。
(3) 區分服務 :佔8位,一般情況下不使用該欄位。只有使用區分服務時,這個欄位才起作用,如要求當前的數據報設置高優先順序優先發送。
(4) 總長度 :佔16位,表示首部和數據部分長度之和,單位是位元組。
(5) 標識、標志、片偏移是關於IP數據報分片的,見下文。
(6) 生存時間 :佔8位,表示數據報在網路中的 壽命 。由發送數據報的源點設置這個欄位,其目的是為了防止那些無法交付的數據報無限制的在互聯網中兜圈子(例如從路由器R1轉發到R2,再轉發到R3,然後又轉發到R1),因而白白浪費網路資源。 數據報每經過一個路由器,這個值就會減1,當減至0時,就丟棄該數據報。
(7) 協議 :佔8位,協議欄位是指出次數據報所攜帶的數據是使用的協議。這里記兩個協議欄位的值: 6表示TCP協議,17表示UDP協議。
(8) 首部校驗和 :佔16位, 只校驗數據報的首部,不檢驗數據部分 。數據報每經過一個路由器都要重新計算一下首部校驗和(一些欄位,如生存時間、標志、片偏移可能發生了變化)。
(9) 源地址和目的地址 :各佔32位。
(1) 可選欄位 :長度可變,從1位元組~40位元組。可變部分是為了 增加IP數據報的功能 ,如用來支持排錯、測量以及安全等措施。
(2) 填充 :IP數據報的首部長度必須是4B的整數倍,所以如果首部長度不滿足4B整數倍時,就使用填充欄位將首部填充到4B的整數倍。
數據鏈路層將網路層傳送的數據報添加頭部和尾部封裝成乙太網幀,數據鏈路層封裝數據幀長度是有限制的,乙太網規定其最大傳送單元MTU的值是1500位元組,如果從網路層傳輸下來的數據報長度超過MUT值,就必須把過長的數據報進行分片處理。
而上節IP數據報首部固定部分的標識、標志和片偏移就是用於數據報分片的。
(2) 標志:佔3位,目前只有兩位有意義。
(3) 片偏移 :佔13位,以8B為單位。其表示較長分組分片後,某一片在原分組中的相對位置,也就是說相對於 用戶數據欄位的起點 ,該片從何處開始。這也就是說, 除了最後一個分片,每個分片的長度一定是8B的整數倍。
舉個例子說明一下,假設一個數據報的總長度是3820個位元組,其數據部分為3800位元組長(首部僅僅使用固定部分),需要分片為長度不超過1420位元組的數據報片。因固定首部長度為20位元組,因此每個數據報片的長度不超過1400位元組。於是分為3個報片,其數據部分的長度分別為1400、1400、1000位元組。原始數據報首部被復制為各個數據報的首部,但是必須修改有關欄位。
對於原始數據報、數據報片1、2、3的首部部分信息如下圖,(原始數據報的標識取12345)
注意區分幾個欄位的單位:
㈢ TCP報文的格式及TCP協議的工作原理
TCP報文格式
源埠和目的埠:都是16個比特,分別表示發送方和接收方的埠號。埠號和IP地址構成套接字(socket)地址的主要內容。源端和目的端的套接字合起來唯一地表示一條連接。網路應用程序在通信時直接向套接字發送和接收數據。
序列號和確認號:都是32位的無符號整數,可以表示0-4G(232)位元組的范圍。其中,序列號表示數據部分第一個位元組的序列號,而確認號表示該數據報的接收者希望對方發送的下一個位元組的序號(即序號小於確認號的數據都已正確地被接收)。
頭長度(HLEN):表示TCP報文頭的長度。長度以32-bit為單位來計算。所以如果選項部分的長度不是4個位元組的整數倍,則要加上填充(padding)。
保留域:緊接在頭長度欄位後有6個比特,應該把它設置為0。
再後則是6個標志位。標志位特定的含義:
URG(urgent)為緊急數據標志。如果它為1,則表示本數據報中包含緊急數據。此時緊急數據指
針表示的值有效。它表示在緊急數據之後的第一個位元組的偏侈值(即緊急數據的總長度)。
ACK(acknowledge)為確認標志位。如果ACK為1,則表示報文中的確認號是有效的。否則,報文
中的確認號無效,接收端可以忽略它。
PSH(push)標志位。被置位後,要求發送方的TCP協議軟體馬上發送該數據報,接收方在收到數據後也應該立即上交給應用程序,即使其接收緩沖區尚未填滿。
RST(reset)標志位。用來復位一條連接。RST標志置位的報文稱為復位報文。一般情況下,如果TCP收到的一個報文明顯不是屬於該主機上的任何個連接,則向遠端發送一個復位報文。
SYN(synchronous)標志位。用來建立連接,讓連接雙方同步序列號。如果SYN=1而ACK=0,則表示該數據報為連接請求,如SYN=1而ACK=1則表示是接受連接。
FIN(finish)標志位。表示發送方已經沒有數據要傳輸了,希望釋放連接。
窗口(window)欄位。窗口表示的是從被確認的位元組開始,發送方最多可以連續發送的位元組的個數。接收方通過設置該窗口值的大小,可以調節源端發送數據的速度,從而實現流控。
校驗和(checksum)域。是TCP協議提供的一種檢錯機制。與我們在前面的章節中學過的UDP協議類似,在計算校驗和時不僅要計算TCP報文自身(報文頭和數據),還要增加一些額外的信息內容 – 12個位元組的「偽包頭」。
TCP/IP(Transmission Control Protocol/Internet Protocol的簡寫,中文譯名為傳輸控制協議/互聯網路協議)協議是Internet最基本的協議,簡單地說,就是由底層的IP協議和TCP協議組成的。
在Internet沒有形成之前,各個地方已經建立了很多小型的網路,稱為區域網,Internet的中文意義是「網際網」,它實際上就是將全球各地的區域網連接起來而形成的一個「網之間的網(即網際網)」。然而,在連接之前的各式各樣的區域網卻存在不同的網路結構和數據傳輸規則,將這些小網連接起來後各網之間要通過什麼樣的規則來傳輸數據呢?這就象世界上有很多個國家,各個國家的人說各自的語言,世界上任意兩個人要怎樣才能互相溝通呢?如果全世界的人都能夠說同一種語言(即世界語),這個問題不就解決了嗎?TCP/IP協議正是Internet上的「世界語」。
TCP/IP協議的開發工作始於70年代,是用於互聯網的第一套協議。
㈣ OSI每層的數據格式
第一層:物理層,二進制傳輸,bit(比特流)
第二層:數據鏈路層,介質訪問,frame(幀)
第三層:網路層,確定地址和最佳路徑,packet(包)
第四層:傳輸層,端到端連接,segment(段)
第五層:會話層,互連主機通信
第六層:表示層,數據表示
第七層:應用層,為應用程序提供網路服務
五至七層為節點傳輸,發送和接收消息。
數據發送時,從第七層傳到第一層,接收數據則相反。
上三層總稱應用層,用來控制軟體方面。下四層總稱數據流層,用來管理硬體。
數據在發至數據流層的時候將被拆分。
在傳輸層的數據叫段,
網路層叫包,
數據鏈路層叫幀,
物理層叫比特流,這樣的叫法叫PDU(協議數據單元)
第1層 物理層:處於OSI參考模型的最底層。物理層的主要功能是利用物理傳輸介質為數據鏈路層提供物理連接,以便透明的傳送比特流;
第2層 數據鏈路層:—在此層將數據分幀,並處理流控制。屏蔽物理層,為網路層提供一個數據鏈路的連接,在一條有可能出差錯的物理連接上,進行幾乎無差錯的數據傳輸。本層指定拓撲結構並提供硬體定址;
第3層 網路層:—本層通過定址來建立兩個節點之間的連接,為源端的運輸層送來的分組,選擇合適的路由和交換節點,正確無誤地按照地址傳送給目的端的運輸層。它包括通過互連網路來路由和中繼數據 ;
第4層 傳輸層:—常規數據遞送-面向連接或無連接。為會話層用戶提供一個端到端的可靠、透明和優化的數據傳輸服務機制。包括全雙工或半雙工、流控制和錯誤恢復服務;
第5層 會話層:—在兩個節點之間建立端連接。為端系統的應用程序之間提供了對話控制機制。此服務包括建立連接是以全雙工還是以半雙工的方式進行設置,盡管可以在層4中處理雙工方式 ;
第6層 表示層:主要用於處理兩個通信系統中交換信息的表示方式。為上層用戶解決用戶信息的語法問題。它包括數據格式交換、數據加密與解密、數據壓縮與恢復等功能;
第7層 應用層:OSI中的最高層。為特定類型的網路應用提供了訪問OSI環境的手段。應用層確定進程之間通信的性質,以滿足用戶的需要。應用層不僅要提供應用進程所需要的信息交換和遠程操作,而且還要作為應用進程的用戶代理,來完成一些為進行信息交換所必需的功能。它包括:文件傳送訪問和管理FTAM、虛擬終端VT、事務處理TP、遠程資料庫訪問RDA、製造業報文規范MMS、目錄服務DS等協議。