導航:首頁 > 網路連接 > 計算機網路確認號的意義

計算機網路確認號的意義

發布時間:2022-10-08 08:40:04

A. tcp報頭中的序列號有什麼作用

TCP報頭
TCP報文段的報頭有10個必需的欄位和1個可選欄位。報頭至少為20位元組。報頭後面的數據是可選項。
1、源埠號(16位)
標識發送報文的計算機埠或進程。一個TCP報文段必須包括源埠號,使目的主機知道應該向何處發送確認報文。

2、目的埠號(16位)
標識接收報文的目的主機的埠或進程。

3、序列號(32位)
用於標識每個報文段,使目的主機可確認已收到指定報文段中的數據。當源主機用於多個報文段發送一個報文時,即使這些報文到達目的主機的順序不一樣,序列號也可以使目的主機按順序排列它們。
在建立連接時發送的第一個報文段中,雙方都提供一個初始序列號。TCP標准推薦使用以4ms間隔遞增1的計數器值作為這個初始序列號的值。使用計數器可以防止連接關閉再重新連接時出現相同的序列號。
對於那些包含數據的報文段,報文段中第一個數據位元組的數量就是初始序列號,其後數據位元組按順序編號。如果源主機使用同樣的連接發送另一個報文段,那麼這個報文段的序列號等於前一個報文段的序列號與前一個報文段中數據位元組的數量之和。例如,假設源主機發送3個報文段,每個報文段有100位元組的數據,且第一個報文段的序列號是1000,那麼第二個報文段的序列號就是1100(1000+100),第三個報文段的序列號就是1200(1100+100)。
如果序列號增大至最大值將復位為0。

4、確認號(32位)
目的主機返回確認號,使源主機知道某個或幾個報文段已被接收。如果ACK控制位被設置為1,則該欄位有效。確認號等於順序接收到的最後一個報文段的序號加1,這也是目的主機希望下次接收的報文段的序號值。返回確認號後,計算機認為已接收到小於該確認號的所有數據。
例如,序列號等於前一個報文段的序列號與前一個報文段中數據位元組的數量之和。例如,假設源主機發送3個報文段,每個報文段有100位元組的數據,且第一個報文段的序列號是1000,那麼接收到第一個報文段後,目的主機返回含確認號1100的報頭。接收到第二個報文段(其序號為1100)後,目的主機返回確認號1200。接收到第三個報文段後,目的主機返回確認號1300。
目的主機不一定在每次接收到報文段後都返回確認號。在上面的例子中,目的主機可能等到所有3個報文段都收到後,再返回一個含確認號1300的報文段,表示已接收到全部1200位元組的數據。但是如果目的主機再發回確認號之前等待時間過長,源主機會認為數據沒有到達目的主機,並自動重發。
上面的例子中,如果目的主機接收到了報文段號為1000的第一個報文段以及報文段號為1200的最後一個報文段,則可返回確認號1100,但是再返回確認號1300之前,應該等待報文段號為1100的中間報文段。

5、報文長度(4位)
由於TCP報頭的長度隨TCP選項欄位內容的不同而變化,因此報頭中包含一個指定報頭欄位的欄位。該欄位以32比特為單位,所以報頭長度一定是32比特的整數倍,有時需要在報頭末尾補0。如果報頭沒有TCP選項欄位,則報頭長度值為5,表示報頭一個有160比特,即20位元組。

6、保留位(6位)
全部為0。

7、控制位(6位)
URG:報文段緊急。
ACK:確認號有效。
PSH:建議計算機立即將數據交給應用程序。
RST:復位連接。
SYN:進程同步。在握手完成後SYN為1,表示TCP建立已連接。此後的所有報文段中,SYN都被置0。
FIN:源主機不再有待發送的數據。如果源主機數據發送完畢,將把該連接下要發送的最後一個報文段的報頭中的FIN位置1,或將該報文段後面發送的報頭中該位置1。

8、窗口(16位)
接收計算機可接收的新數據位元組的數量,根據接收緩沖區可用資源的大小,其值隨計算機所發送的每個報文段而變化。源主機可以利用接收到的窗口值決定下一個報文段的大小。

9、校驗和(16位)
源主機和目的主機根據TCP報文段以及偽報頭的內容計算校驗和。在偽報頭中存放著來自IP報頭以及TCP報文段長度信息。與UDP一樣,偽報頭並不在網路中傳輸,並且在校驗和中包含偽報頭的目的是為了防止目的主機錯誤地接收存在路由的錯誤數據報。

10、緊急指針(16位)
如果URG為1,則緊急指針標志著緊急數據的結束。其值是緊急數據最後1位元組的序號,表示報文段序號的偏移量。例如,如果報文段的序號是1000,前8個位元組都是緊急數據,那麼緊急指針就是8。緊急指針一般用途是使用戶可中止進程。

11、TCP選項(0或更大)
完整的TCP報頭必須是32比特的整數倍,為了達到這一要求,常在TCP選項欄位的末尾補零。

12、數據部分
報頭後面是可選的報文段數據部分。IP協議標准要求株距能接收最長達576位元組的數據報。無其他選項的IP報頭是20位元組,無其他選項的TCP報頭也是20位元組,所以IP選項和TCP選項且含有多達536位元組數據的TCP報文段無須分片就可達到目的主機。
二、UDP報頭由4個域組成,其中每個域各佔用2個位元組,具體為:
源埠號 目標埠號 數據報長度 校驗值

UDP協議使用埠號為不同的應用保留其各自的數據傳輸通道

數據報的長度是指包括報頭和數據部分在內的總的位元組數。因為報頭的長度是固定的,所以該域主要被用來計算可變長度的數據部分(又稱為數據負載)

UDP協議使用報頭中的校驗值來保證數據的安全。校驗值首先在數據發送方通過特殊的演算法計算得出,在傳遞到接收方之後,還需要再重新計算。且udp必須要有校驗值

B. 計算機網路 累積確認的問題

選B
TCP段首部中的字型大小欄位是指本報文段所發送的數據的第一個位元組的序號,第3個段的序號為900,則第二個段的序號為900-400=500,而確認號是期待收到對方下一個報文段的第一個位元組的序號,現在主機乙待收到第二個段,故甲的確認號是500.

C. ACK 5表示什麼意思 計算機網路

ACK 5是期望收到第5個報文分組。確認第四個報文的意思。

D. 計算機網路自學筆記:TCP

如果你在學習這門課程,僅僅為了理解網路工作原理,那麼只要了解TCP是可靠傳輸,數據傳輸丟失時會重傳就可以了。如果你還要參加研究生考試或者公司面試等,那麼下面內容很有可能成為考查的知識點,主要的重點是序號/確認號的編碼、超時定時器的設置、可靠傳輸和連接的管理。

1 TCP連接

TCP面向連接,在一個應用進程開始向另一個應用進程發送數據之前,這兩個進程必須先相互「握手」,即它們必須相互發送某些預備報文段,以建立連接。連接的實質是雙方都初始化與連接相關的發送/接收緩沖區,以及許多TCP狀態變數。

這種「連接」不是一條如電話網路中端到端的電路,因為它們的狀態完全保留在兩個端系統中。

TCP連接提供的是全雙工服務 ,應用層數據就可在從進程B流向進程A的同時,也從進程A流向進程B。

TCP連接也總是點對點的 ,即在單個發送方與單個接收方之間建立連接。

一個客戶機進程向伺服器進程發送數據時,客戶機進程通過套接字傳遞數據流。

客戶機操作系統中運行的 TCP軟體模塊首先將這些數據放到該連接的發送緩存里 ,然後會不時地從發送緩存里取出一塊數據發送。

TCP可從緩存中取出並放入報文段中發送的數據量受限於最大報文段長MSS,通常由最大鏈路層幀長度來決定(也就是底層的通信鏈路決定)。 例如一個鏈路層幀的最大長度1500位元組,除去數據報頭部長度20位元組,TCP報文段的頭部長度20位元組,MSS為1460位元組。

報文段被往下傳給網路層,網路層將其封裝在網路層IP數據報中。然後這些數據報被發送到網路中。

當TCP在另一端接收到一個報文段後,該報文段的數據就被放人該連接的接收緩存中。應用程序從接收緩存中讀取數據流(注意是應用程序來讀,不是操作系統推送)。

TCP連接的每一端都有各自的發送緩存和接收緩存。

因此TCP連接的組成包括:主機上的緩存、控制變數和與一個進程連接的套接字變數名,以及另一台主機上的一套緩存、控制變數和與一個進程連接的套接字。

在這兩台主機之間的路由器、交換機中,沒有為該連接分配任何緩存和控制變數。

2報文段結構

TCP報文段由首部欄位和一個數據欄位組成。數據欄位包含有應用層數據。

由於MSS限制了報文段數據欄位的最大長度。當TCP發送一個大文件時,TCP通常是將文件劃分成長度為MSS的若干塊。

TCP報文段的結構。

首部包括源埠號和目的埠號,它用於多路復用/多路分解來自或送至上層應用的數據。另外,TCP首部也包括校驗和欄位。報文段首部還包含下列欄位:

32比特的序號欄位和32比特的確認號欄位。這些欄位被TCP發送方和接收方用來實現可靠數據傳輸服務。

16比特的接收窗口欄位,該欄位用於流量控制。該欄位用於指示接收方能夠接受的位元組數量。

4比特的首部長度欄位,該欄位指示以32比特的字為單位的TCP首部長度。一般TCP首部的長度就是20位元組。

可選與變長的選項欄位,該欄位用於當發送方與接收方協商最大報文段長度,或在高速網路環境下用作窗口調節因子時使用。

標志欄位ACK比特用於指示確認欄位中的ACK值的有效性,即該報文段包括一個對已被成功接收報文段的確認。 SYN和FIN比特用於連接建立和拆除。 PSH、URG和緊急指針欄位通常沒有使用。

•序號和確認號

TCP報文段首部兩個最重要的欄位是序號欄位和確認號欄位。

TCP把數據看成一個無結構的但是有序的位元組流。TCP序號是建立在傳送的位元組流之上,而不是建立在傳送的報文段的序列之上。

一個報文段的序號是該報文段首位元組在位元組流中的編號。

例如,假設主機A上的一個進程想通過一條TCP連接向主機B上的一個進程發送一個數據流。主機A中的TCP將對數據流中的每一個位元組進行編號。假定數據流由一個包含4500位元組的文件組成(可以理解為應用程序調用send函數傳遞過來的數據長度),MSS為1000位元組(鏈路層一次能夠傳輸的位元組數),如果主機決定數據流的首位元組編號是7。TCP模塊將為該數據流構建5個報文段(也就是分5個IP數據報)。第一個報文段的序號被賦為7;第二個報文段的序號被賦為1007,第三個報文段的序號被賦為2007,以此類推。前面4個報文段的長度是1000,最後一個是500。

確認號要比序號難理解一些。前面講過,TCP是全雙工的,因此主機A在向主機B發送數據的同時,也可能接收來自主機B的數據。從主機B到達的每個報文段中的序號欄位包含了從B流向A的數據的起始位置。 因此主機B填充進報文段的確認號是主機B期望從主機A收到的下一報文段首位元組的序號。

假設主機B已收到了來自主機A編號為7-1006的所有位元組,同時假設它要發送一個報文段給主機A。主機B等待主機A的數據流中位元組1007及後續所有位元組。所以,主機B會在它發往主機A的報文段的確認號欄位中填上1007。

再舉一個例子,假設主機B已收到一個來自主機A的包含位元組7-1006的報文段,以及另一個包含位元組2007-3006的報文段。由於某種原因,主機A還沒有收到位元組1007-2006的報文段。

在這個例子中,主機A為了重組主機B的數據流,仍在等待位元組1007。因此,A在收到包含位元組2007-3006的報文段時,將會又一次在確認號欄位中包含1007。 因為TCP只確認數據流中至第一個丟失報文段之前的位元組數據,所以TCP被稱為是採用累積確認。

TCP的實現有兩個基本的選擇:

1接收方立即丟棄失序報文段;

2接收方保留失序的位元組,並等待缺少的位元組以填補該間隔。

一條TCP連接的雙方均可隨機地選擇初始序號。 這樣做可以減少將那些仍在網路中的來自兩台主機之間先前連接的報文段,誤認為是新建連接所產生的有效報文段的可能性。

•例子telnet

Telnet由是一個用於遠程登錄的應用層協議。它運行在TCP之上,被設計成可在任意一對主機之間工作。

假設主機A發起一個與主機B的Telnet會話。因為是主機A發起該會話,因此主機A被標記為客戶機,主機B被標記為伺服器。用戶鍵入的每個字元(在客戶機端)都會被發送至遠程主機。遠程主機收到後會復制一個相同的字元發回客戶機,並顯示在Telnet用戶的屏幕上。這種「回顯」用於確保由用戶發送的字元已經被遠程主機收到並處理。因此,在從用戶擊鍵到字元顯示在用戶屏幕上之間的這段時間內,每個字元在網路中傳輸了兩次。

現在假設用戶輸入了一個字元「C」,假設客戶機和伺服器的起始序號分別是42和79。前面講過,一個報文段的序號就是該報文段數據欄位首位元組的序號。因此,客戶機發送的第一個報文段的序號為42,伺服器發送的第一個報文段的序號為79。前面講過,確認號就是主機期待的數據的下一個位元組序號。在TCP連接建立後但沒有發送任何數據之前,客戶機等待位元組79,而伺服器等待位元組42。

如圖所示,共發了3個報文段。第一個報文段是由客戶機發往伺服器,其數據欄位里包含一位元組的字元「C」的ASCII碼,其序號欄位里是42。另外,由於客戶機還沒有接收到來自伺服器的任何數據,因此該報文段中的確認號欄位里是79。

第二個報文段是由伺服器發往客戶機。它有兩個目的:第一個目的是為伺服器所收到的數據提供確認。伺服器通過在確認號欄位中填入43,告訴客戶機它已經成功地收到位元組42及以前的所有位元組,現在正等待著位元組43的出現。第二個目的是回顯字元「C」。因此,在第二個報文段的數據欄位里填入的是字元「C」的ASCII碼,第二個報文段的序號為79,它是該TCP連接上從伺服器到客戶機的數據流的起始序號,也是伺服器要發送的第一個位元組的數據。

這里客戶機到伺服器的數據的確認被裝載在一個伺服器到客戶機的數據的報文段中,這種確認被稱為是捎帶確認.

第三個報文段是從客戶機發往伺服器的。它的唯一目的是確認已從伺服器收到的數據。

3往返時延的估計與超時

TCP如同前面所講的rdt協議一樣,採用超時/重傳機制來處理報文段的丟失問題。最重要的一個問題就是超時間隔長度的設置。顯然,超時間隔必須大於TCP連接的往返時延RTT,即從一個報文段發出到收到其確認時。否則會造成不必要的重傳。

•估計往返時延

TCP估計發送方與接收方之間的往返時延是通過採集報文段的樣本RTT來實現的,就是從某報文段被發出到對該報文段的確認被收到之間的時間長度。

也就是說TCP為一個已發送的但目前尚未被確認的報文段估計sampleRTT,從而產生一個接近每個RTT的采樣值。但是,TCP不會為重傳的報文段計算RTT。

為了估計一個典型的RTT,採取了某種對RTT取平均值的辦法。TCP據下列公式來更新

EstimatedRTT=(1-)*EstimatedRTT+*SampleRTT

即估計RTT的新值是由以前估計的RTT值與sampleRTT新值加權組合而成的。

參考值是a=0.125,因此是一個加權平均值。顯然這個加權平均對最新樣本賦予的權值

要大於對老樣本賦予的權值。因為越新的樣本能更好地反映出網路當前的擁塞情況。從統計學觀點來講,這種平均被稱為指數加權移動平均

除了估算RTT外,還需要測量RTT的變化,RTT偏差的程度,因為直接使用平均值設置計時器會有問題(太靈敏)。

DevRTT=(1-β)*DevRTT+β*|SampleRTT-EstimatedRTT|

RTT偏差也使用了指數加權移動平均。B取值0.25.

•設置和管理重傳超時間隔

假設已經得到了估計RTT值和RTT偏差值,那麼TCP超時間隔應該用什麼值呢?TCP將超時間隔設置成大於等於估計RTT值和4倍的RTT偏差值,否則將造成不必要的重傳。但是超時間隔也不應該比估計RTT值大太多,否則當報文段丟失時,TCP不能很快地重傳該報文段,從而將給上層應用帶來很大的數據傳輸時延。因此,要求將超時間隔設為估計RTT值加上一定餘量。當估計RTT值波動較大時,這個余最應該大些;當波動比較小時,這個餘量應該小些。因此使用4倍的偏差值來設置重傳時間。

TimeoutInterval=EstimatedRTT+4*DevRTT

4可信數據傳輸

網際網路的網路層服務是不可靠的。IP不保證數據報的交付,不保證數據報的按序交付,也不保證數據報中數據的完整性。

TCP在IP不可靠的盡力而為服務基礎上建立了一種可靠數據傳輸服務。

TCP提供可靠數據傳輸的方法涉及前面學過的許多原理。

TCP採用流水線協議、累計確認。

TCP推薦的定時器管理過程使用單一的重傳定時器,即使有多個已發送但還未被確認的報文段也一樣。重傳由超時和多個ACK觸發。

在TCP發送方有3種與發送和重傳有關的主要事件:從上層應用程序接收數據,定時器超時和收到確認ACK。

從上層應用程序接收數據。一旦這個事件發生,TCP就從應用程序接收數據,將數據封裝在一個報文段中,並將該報文段交給IP。注意到每一個報文段都包含一個序號,這個序號就是該報文段第一個數據位元組的位元組流編號。如果定時器還沒有計時,則當報文段被傳給IP時,TCP就啟動一個該定時器。

第二個事件是超時。TCP通過重傳引起超時的報文段來響應超時事件。然後TCP重啟定時器。

第三個事件是一個來自接收方的確認報文段(ACK)。當該事件發生時,TCP將ACK的值y與變數SendBase(發送窗口的基地址)進行比較。TCP狀態變數SendBase是最早未被確認的位元組的序號。就是指接收方已正確按序接收到數據的最後一個位元組的序號。TCP採用累積確認,所以y確認了位元組編號在y之前的所有位元組都已經收到。如果Y>SendBase,則該ACK是在確認一個或多個先前未被確認的報文段。因此發送方更新其SendBase變數,相當於發送窗口向前移動。

另外,如果當前有未被確認的報文段,TCP還要重新啟動定時器。

快速重傳

超時觸發重傳存在的另一個問題是超時周期可能相對較長。當一個報文段丟失時,這種長超時周期迫使發送方等待很長時間才重傳丟失的分組,因而增加了端到端時延。所以通常發送方可在超時事件發生之前通過觀察冗餘ACK來檢測丟包情況。

冗餘ACK就是接收方再次確認某個報文段的ACK,而發送方先前已經收到對該報文段的確認。

當TCP接收方收到一個序號比所期望的序號大的報文段時,它認為檢測到了數據流中的一個間隔,即有報文段丟失。這個間隔可能是由於在網路中報文段丟失或重新排序造成的。因為TCP使用累計確認,所以接收方不向發送方發回否定確認,而是對最後一個正確接收報文段進行重復確認(即產生一個冗餘ACK)

如果TCP發送方接收到對相同報文段的3個冗餘ACK.它就認為跟在這個已被確認過3次的報文段之後的報文段已經丟失。一旦收到3個冗餘ACK,TCP就執行快速重傳 ,

即在該報文段的定時器過期之前重傳丟失的報文段。

5流量控制

前面講過,一條TCP連接雙方的主機都為該連接設置了接收緩存。當該TCP連接收到正確、按序的位元組後,它就將數據放入接收緩存。相關聯的應用進程會從該緩存中讀取數據,但沒必要數據剛一到達就立即讀取。事實上,接收方應用也許正忙於其他任務,甚至要過很長時間後才去讀取該數據。如果應用程序讀取數據時相當緩慢,而發送方發送數據太多、太快,會很容易使這個連接的接收緩存溢出。

TCP為應用程序提供了流量控制服務以消除發送方導致接收方緩存溢出的可能性。因此,可以說 流量控制是一個速度匹配服務,即發送方的發送速率與接收方應用程序的讀速率相匹配。

前面提到過,TCP發送方也可能因為IP網路的擁塞而被限制,這種形式的發送方的控制被稱為擁塞控制(congestioncontrol)。

TCP通過讓接收方維護一個稱為接收窗口的變數來提供流量控制。接收窗口用於告訴發送方,該接收方還有多少可用的緩存空間。因為TCP是全雙工通信,在連接兩端的發送方都各自維護一個接收窗口變數。 主機把當前的空閑接收緩存大小值放入它發給對方主機的報文段接收窗口欄位中,通知對方它在該連接的緩存中還有多少可用空間。

6 TCP連接管理

客戶機中的TCP會用以下方式與伺服器建立一條TCP連接:

第一步: 客戶機端首先向伺服器發送一個SNY比特被置為1報文段。該報文段中不包含應用層數據,這個特殊報文段被稱為SYN報文段。另外,客戶機會選擇一個起始序號,並將其放置到報文段的序號欄位中。為了避免某些安全性攻擊,這里一般隨機選擇序號。

第二步: 一旦包含TCP報文段的用戶數據報到達伺服器主機,伺服器會從該數據報中提取出TCPSYN報文段,為該TCP連接分配TCP緩存和控制變數,並向客戶機TCP發送允許連接的報文段。這個允許連接的報文段還是不包含應用層數據。但是,在報文段的首部卻包含3個重要的信息。

首先,SYN比特被置為1。其次,該 TCP報文段首部的確認號欄位被置為客戶端序號+1最後,伺服器選擇自己的初始序號,並將其放置到TCP報文段首部的序號欄位中。 這個允許連接的報文段實際上表明了:「我收到了你要求建立連接的、帶有初始序號的分組。我同意建立該連接,我自己的初始序號是XX」。這個同意連接的報文段通常被稱為SYN+ACK報文段。

第三步: 在收到SYN+ACK報文段後,客戶機也要給該連接分配緩存和控制變數。客戶機主機還會向伺服器發送另外一個報文段,這個報文段對伺服器允許連接的報文段進行了確認。因為連接已經建立了,所以該ACK比特被置為1,稱為ACK報文段,可以攜帶數據。

一旦以上3步完成,客戶機和伺服器就可以相互發送含有數據的報文段了。

為了建立連接,在兩台主機之間發送了3個分組,這種連接建立過程通常被稱為 三次握手(SNY、SYN+ACK、ACK,ACK報文段可以攜帶數據) 。這個過程發生在客戶機connect()伺服器,伺服器accept()客戶連接的階段。

假設客戶機應用程序決定要關閉該連接。(注意,伺服器也能選擇關閉該連接)客戶機發送一個FIN比特被置為1的TCP報文段,並進人FINWAIT1狀態。

當處在FINWAIT1狀態時,客戶機TCP等待一個來自伺服器的帶有ACK確認信息的TCP報文段。當它收到該報文段時,客戶機TCP進入FINWAIT2狀態。

當處在FINWAIT2狀態時,客戶機等待來自伺服器的FIN比特被置為1的另一個報文段,

收到該報文段後,客戶機TCP對伺服器的報文段進行ACK確認,並進入TIME_WAIT狀態。TIME_WAIT狀態使得TCP客戶機重傳最終確認報文,以防該ACK丟失。在TIME_WAIT狀態中所消耗的時間是與具體實現有關的,一般是30秒或更多時間。

經過等待後,連接正式關閉,客戶機端所有與連接有關的資源將被釋放。 因此TCP連接的關閉需要客戶端和伺服器端互相交換連接關閉的FIN、ACK置位報文段。

E. 網路 之 三次握手&四次揮手 介紹

要了解三次握手&四次揮手的過程,就需要對TCP的報頭以及有限狀態機的概念有所了解,本文將介紹TCP報頭的欄位的含義,以及有限狀態機各個狀態的意義,最後對三次握手和四次揮手的過程做介紹

TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連接的、可靠的、基於位元組流的傳輸層通信協議,由IETF的RFC 793定義。在簡化的計算機網路OSI模型中,它完成第四層傳輸層所指定的功能,用戶數據報協議(UDP)是同一層內另一個重要的傳輸協議。在網際網路協議族(Internet protocol suite)中,TCP層是位於IP層之上,應用層之下的中間層。不同主機的應用層之間經常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。

這里將介紹TCP報頭的特性以及TCP報頭各個欄位的含義

.工作在傳輸層面向連接協議

.全雙工協議

.半關閉

.錯誤檢查

.將數據打包成段,排序

.確認機制

.數據恢復,重傳

.流量控制,滑動窗口

.擁塞控制,慢啟動和擁塞避免演算法

.源埠、目標埠 :計算機上的進程要和其他進程通信是要通過計算機埠的,而一個計算機埠某個時刻只能被一個進程佔用,所以通過指定源埠和目標埠,就可以知道是哪兩個進程需要通信。源埠、目標埠是用16位表示的,可推算計算機的埠個數為2^16個

. 序列號 :表示本報文段所發送數據的第一個位元組的編號。在TCP連接中所傳送的位元組流的每一個位元組都會按順序編號。由於序列號由32位表示,所以每2^32個位元組,就會出現序列號回繞,再次從0 開始

. 確認號 :表示接收方期望收到發送方下一個報文段的第一個位元組數據的編號。也就是告訴發送發:我希望你(指發送方)下次發送的數據的第一個位元組數據的編號是這個確認號

. 數據偏移 :表示TCP報文段的首部長度,共4位,由於TCP首部包含一個長度可變的選項部分,需要指定這個TCP報文段到底有多長。它指出TCP 報文段的數據起始處距離TCP 報文段的起始處有多遠。該欄位的單位是32位(即4個位元組為計算單位),4位二進制最大表示15,所以數據偏移也就是TCP首部最大60位元組

. URG :表示本報文段中發送的數據是否包含緊急數據。後面的緊急指針欄位(urgent pointer)只有當URG=1時才有效

. ACK :表示是否前面的確認號欄位是否有效。ACK=1,表示有效。只有當ACK=1時,前面的確認號欄位才有效。TCP規定,連接建立後,ACK必須為1,帶ACK標志的TCP報文段稱為確認報文段

. PSH :提示接收端應用程序應該立即從TCP接收緩沖區中讀走數據,為接收後續數據騰出空間。如果為1,則表示對方應當立即把數據提交給上層應用,而不是緩存起來,如果應用程序不將接收到的數據讀走,就會一直停留在TCP接收緩沖區中

. RST :如果收到一個RST=1的報文,說明與主機的連接出現了嚴重錯誤(如主機崩潰),必須釋放連接,然後再重新建立連接。或者說明上次發送給主機的數據有問題,主機拒絕響應,帶RST標志的TCP報文段稱為復位報文段

. SYN :在建立連接時使用,用來同步序號。當SYN=1,ACK=0時,表示這是一個請求建立連接的報文段;當SYN=1,ACK=1時,表示對方同意建立連接。SYN=1,說明這是一個請求建立連接或同意建立連接的報文。只有在前兩次握手中SYN才置為1,帶SYN標志的TCP報文段稱為同步報文段

. FIN :表示通知對方本端要關閉連接了,標記數據是否發送完畢。如果FIN=1,即告訴對方:「我的數據已經發送完畢,你可以釋放連接了」,帶FIN標志的TCP報文段稱為結束報文段

. 窗口大小 :表示現在充許對方發送的數據量,也就是告訴對方,從本報文段的確認號開始允許對方發送的數據量

. 校驗和 :提供額外的可靠性

. 緊急指針 :標記緊急數據在數據欄位中的位置

. 選項部分 :其最大長度可根據TCP首部長度進行推算。TCP首部長度用4位表示,選項部分最長為:(2^4-1)*4-20=40位元組

常見選項 :

.最大報文段長度:MaxiumSegment Size,MSS

.窗口擴大:Windows Scaling

.時間戳:Timestamps

.a 最大報文段長度

指明自己期望對方發送TCP報文段時那個數據欄位的長度。默認是536位元組。數據欄位的長度加上TCP首部的長度才等於整個TCP報文段的長度。MSS不宜設的太大也不宜設的太小。若選擇太小,極端情況下,TCP報文段只含有1位元組數據,在IP層傳輸的數據報的開銷至少有40位元組(包括TCP報文段的首部和IP數據報的首部)。這樣,網路的利用率就不會超過1/41。若TCP報文段非常長,那麼在IP層傳輸時就有可能要分解成多個短數據報片。在終點要把收到的各個短數據報片裝配成原來的TCP報文段。當傳輸出錯時還要進行重傳,這些也都會使開銷增大。因此MSS應盡可能大,只要在IP層傳輸時不需要再分片就行。在連接建立過程中,雙方都把自己能夠支持的MSS接入這一欄位。MSS只出現在SYN報文中。即:MSS出現在SYN=1的報文段中

.b 窗口擴大

為了擴大窗口,由於TCP首部的窗口大小欄位長度是16位,所以其表示的最大數是65535。但是隨著時延和帶寬比較大的通信產

生(如衛星通信),需要更大的窗口來滿足性能和吞吐率,所以產生了這個窗口擴大選項

.c 時間戳

可以用來計算RTT(往返時間),發送方發送TCP報文時,把當前的時間值放入時間戳欄位,接收方收到後發送確認報文時,把這個時間戳欄位的值復制到確認報文中,當發送方收到確認報文後即可計算出RTT。也可以用來防止回繞序號PAWS,也可以說可以用來區分相同序列號的不同報文。因為序列號用32為表示,每2^32個序列號就會產生回繞,那麼使用時間戳欄位就很容易區分相同序列號的不同報文

2.3 TCP協議PORT

.傳輸層通過port號,確定應用層協議

.Port number:

. tcp :0-65535,傳輸控制協議,面向連接的協議;通信前需要建立虛擬鏈路;結束後拆除鏈路.

. udp :0-65535,User Datagram Protocol,無連接的協議.

. IANA :互聯網數字分配機構(負責域名,數字資源,協議分配)

0-1023:系統埠或特權埠(僅管理員可用) ,眾所周知,永久的分配給固定的系統應用使用,22/tcp(ssh), 80/tcp(http), 443/tcp(https)

1024-49151:用戶埠或注冊埠,但要求並不嚴格,分配給程序注冊為某應用使用,1433/tcp(SqlServer),1521/tcp(oracle),

3306/tcp(mysql),11211/tcp/udp(memcached)

49152-65535:動態埠或私有埠,客戶端程序隨機使用的埠

其范圍的定義:/proc/sys/net/ipv4/ip_local_port_range

有限狀態機,(英語:Finite-state machine, FSM),又稱有限狀態自動機,簡稱狀態機,是表示有限個狀態以及在這些狀態之間的轉移和動作等行為的數學模型。

常見的計算機就是使用有限狀態機作為計算模型的:對於內存的不同狀態,CPU通過讀取內存值進行計算,更新內存中的狀態。CPU還通過消息匯流排接受外部輸入設備(如鍵盤、滑鼠)的指令,計算後更改內存中的狀態,計算結果輸出到外部顯示設備(如顯示器),以及持久化存儲在硬碟。

TCP協議也存在有限狀態機的概念,TCP 協議的操作可以使用一個具有 11 種狀態的有限狀態機來表示

.CLOSED 沒有任何連接狀態

.LISTEN 偵聽狀態,等待來自遠方TCP埠的連接請求

.SYN-SENT 在發送連接請求後,等待對方確認

.SYN-RECEIVED 在收到和發送一個連接請求後,等待對方確認

.ESTABLISHED 代表傳輸連接建立,雙方進入數據傳送狀態

.FIN-WAIT-1 主動關閉,主機已發送關閉連接請求,等待對方確認

.FIN-WAIT-2 主動關閉,主機已收到對方關閉傳輸連接確認,等待對方發送關閉傳輸連接請求

.TIME-WAIT 完成雙向傳輸連接關閉,等待所有分組消失

.CLOSE-WAIT 被動關閉,收到對方發來的關閉連接請求,並已確認

.LAST-ACK 被動關閉,等待最後一個關閉傳輸連接確認,並等待所有分組消失

.CLOSING 雙方同時嘗試關閉傳輸連接,等待對方確認

.客戶端通過connect系統調用主動與伺服器建立連接connect系統調用首先給伺服器發送一個同步報文段,使連接轉移到SYN_SENT狀態。

.此後connect系統調用可能因為如下兩個原因失敗返回:

.1、如果connect連接的目標埠不存在(未被任何進程監聽),或者該埠仍被處於TIME_WAIT狀態的連接所佔用(見後文),則伺服器將給客戶端發送一個復位報文段,connect調用失敗。

.2、如果目標埠存在,但connect在超時時間內未收到伺服器的確認報文段,則connect調用失敗。

.connect調用失敗將使連接立即返回到初始的CLOSED狀態。如果客戶端成功收到伺服器的同步報文段和確認,則connect調用成功返回,連接轉移至ESTABLISHED狀態

.當客戶端執行主動關閉時,它將向伺服器發送一個結束報文段FIN,同時連接進入FIN_WAIT_1狀態。若此時客戶端收到伺服器專門用於確認目的的確認報文段,則連接轉移至FIN_WAIT_2狀態。當客戶端處於FIN_WAIT_2狀態時,伺服器處於CLOSE_WAIT狀態,這一對狀態是可能發生半關閉的狀態。此時如果伺服器也關閉連接(發送結束報文段),則客戶端將給予確認並進入TIME_WAIT狀態

.客戶端從FIN_WAIT_1狀態可能直接進入TIME_WAIT狀態(不經過FIN_WAIT_2狀態),前提是處於FIN_WAIT_1狀態的伺服器直接收到帶確認信息的結束報文段(而不是先收到確認報文段,再收到結束報文段)

注意,客戶端先發送一個FIN給服務端,自己進入了FIN_WAIT_1狀態,這時等待接收服務端的報文,該報文會有三種可能:

a 只有服務端的ACK,只收到伺服器的ACK,客戶端會進入FIN_WAIT_2狀態,後續當收到服務端的FIN時,回應發送一個ACK,會進入到TIME_WAIT狀態,這個狀態會持續2MSL(TCP報文段在網路中的最大生存時間,RFC 1122標準的建議值是2min).客戶端等待2MSL,是為了當最後一個ACK丟失時,可以再發送一次。因為服務端在等待超時後會再發送一個FIN給客戶端,進而客戶端知道ACK已丟失

b 只有服務端的FIN,回應一個ACK給服務端,進入CLOSING狀態,然後接收到服務端的ACK時,進入TIME_WAIT狀態

c 同時收到服務端的ACK和FIN,直接進入TIME_WAIT狀態

.收到伺服器ACK後,客戶端處於FIN_WAIT_2狀態,此時需要等待伺服器發送結束報文段,才能轉移至TIME_WAIT狀態,否則它將一直停留在這個狀態。如果不是為了在半關閉狀態下繼續接收數據,連接長時間地停留在FIN_WAIT_2狀態並無益處。連接停留在FIN_WAIT_2狀態的情況可能發生在:客戶端執行半關閉後,未等伺服器關閉連接就強行退出了。此時客戶端連接由內核來接管,可稱之為孤兒連接(和孤兒進程類似)。

.Linux為了防止孤兒連接長時間存留在內核中,定義了兩個內核參數:

./proc/sys/net/ipv4/tcp_max_orphans 指定內核能接管的孤兒連接數目

./proc/sys/net/ipv4/tcp_fin_timeout指定孤兒連接在內核中生存的時間

TCP協議中的三次握手和四次揮手

客戶機端的三次握手和四次揮手

伺服器端的三次握手和四次揮手

1 client 首先發送一個連接試探,此時ACK=0,表示確認號無效,SYN=1表示這是一個請求連接或連接接受報文,同時表示這個數據包不攜帶數據,seq=x表示此時client自己數據的初始序號是x,這時候client進入syn_sent狀態,表示客戶端等等伺服器的回復

2 server 監聽到連接請求報文後,如同意建立連接,則向client發送確認,將TCP報文首部的SYN和ACK都置為1,因為client上一個請求連接的報文中seq=x,所以伺服器端這次就發ack=x+1,表示伺服器端希望客戶端下一個報文段的第一個數據位元組序號是x+1,同時表示x為止的所有數據都已經正確收到了,其中,此時伺服器端發送seq=y表示server自己的初始序號是y,這時伺服器進入了SYN_RCVD狀態,表示伺服器已經收到了客戶端的請求,等待client的確認。

3 client收到確認後還要再次給伺服器端發送確認,同時攜帶要發給server的數據。ACK=1表示確認號ack=y+1有效,client這時的序號seq為x+1

一旦client確認後,這個TCP連接的client 和 server 都直接進入到established狀態,可以發起http請求了

4.2 四次揮手詳解

第一次揮手:client向server,發送FIN報文段,表示關閉數據傳送,此時ACK=0,seq=u,表示客戶端此時數據的報文序號是u,此時,client進入FIN_WAIT_1狀態,表示沒有數據要傳輸了

第二次揮手:server收到FIN報文段後進入CLOSE_WAIT狀態(被動關閉),然後發送ACK確認,表示同意你關閉請求了,主機到主機的數據鏈路關閉,同時發送seq=v,表示此時server端的數據包位元組序號是v,ack=u+1,表示希望client發送的下一個包的序號是u+1,表示確認了序號u之前的包都已經收到,客戶端收到server的ACK報文後,進入FIN_WAIT_2狀態

第三次揮手:server等待client發送完數據,發送FIN=1,ACK=1到client請求關閉,server進入LAST_ACK狀態。此時發送的seq有變化,因為上一個ACK的後server端可能又發送了一些數據,說以數據位元組序號發送了變化,為w,但是ack還是保持不變

第四次揮手:client收到server發送的FIN後,回復ACK確認到server,client進入TIME_WAIT狀態。發送ack=w+1,表示希望伺服器下個發送的報文的位元組序號是w+1,確認了伺服器之前發送的w位元組都已經正確收到,發送seq=u+1表示當前client的位元組序號是u+1.server收到client的ACK後就關閉連接了,狀態為CLOSED。client等待2MSL,仍然沒有收到server的回復,說明server已經正常關閉了,client關閉連接。

其中,MSL(Maximum Segment Lifetime):報文最大生存時間,是任何報文段被丟棄前在網路內的最長時間。當client回復server的FIN後,等待(2-4分鍾),即使兩端的應用程序結束。

TIME_WAIT狀態需要經過2MSL(最大報文段生存時間)才能返回到CLOSE狀態的原因是如果client直接進入CLOSED狀態,由於IP協議不可靠性或網路問題,導致client最後發出的ACK報文未被server接收到,那麼server在超時後繼續向client重新發送FIN,而client已經關閉,那麼找不到向client發送FIN的連接,server這時收到RST並把錯誤報告給高層,不符合TCP協議的可靠性特點。如果client直接進入CLOSED狀態,而server還有數據滯留在網路中,當有一個新連接的埠和原來server的相同,那麼當原來滯留的數據到達後,client認為這些數據是新連接的。等待2MSL確保本次連接所有數據消失。

當客戶端等待2MSL後伺服器端沒有再次發送確認的報文後,client認為該次斷開連接已經正常結束,client進入closed狀態。四次揮手正式結束

F. 計算機網路的含義是什麼

計算機網路是指將地理位置不同的具有獨立功能的多台計算機及其外部設備,通過通信線路連接起來,在網路操作系統,網路管理軟體及網路通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。

計算機網路的分類與一般的事物分類方法一樣,可以按事物所具有的不同性質特點分類。計算機網路通俗地講就是由多台計算機通過傳輸介質和軟體物理連接在一起組成的。總的來說計算機網路的組成基本上包括:計算機、網路操作系統、傳輸介質以及相應的應用軟體四部分。

(6)計算機網路確認號的意義擴展閱讀:

雖然網路類型的劃分標准各種各樣,但是從地理范圍劃分是一種大家都認可的通用網路劃分標准。按這種標准可以把各種網路類型劃分為區域網、城域網、廣域網和互聯網四種。區域網一般來說只能是一個較小區域內,城域網是不同地區的網路互聯,不過在此要說明的一點就是這里的網路劃分並沒有嚴格意義上地理范圍的區分,只能是一個定性的概念。

G. 關於網段劃分和網路號確認的問題

仔細看看,應該能解決你的問題。
1、區別就在於網段的大小。
2、後面的網段包含了前面的網段。
3、不存在你這樣的寫法,應該寫成這樣192.168.133.0/24,前面寫網路號。你還是看一下什麼叫子網掩碼,抄了別人寫的,你看一下!
子網掩碼(subnet mask)是每個網管必須要掌握的基礎知識,只有掌握它,才能夠真正理解TCP/IP協議的設置。以下我們就來深入淺出地講解什麼是子網掩碼。
IP地址的結構
要想理解什麼是子網掩碼,就不能不了解IP地址的構成。互聯網是由許多小型網路構成的,每個網路上都有許多主機,這樣便構成了一個有層次的結構。IP地址在設計時就考慮到地址分配的層次特點,將每個IP地址都分割成網路號和主機號兩部分,以便於IP地址的定址操作。
IP地址的網路號和主機號各是多少位呢?如果不指定,就不知道哪些位是網路號、哪些是主機號,這就需要通過子網掩碼來實現。
子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網路地址和主機地址兩部分。
子網掩碼的設定必須遵循一定的規則。與IP地址相同,子網掩碼的長度也是32位,左邊是網路位,用二進制數字「1」表示;右邊是主機位,用二進制數字「0」表示。只有通過子網掩碼,才能表明一台主機所在的子網與其他子網的關系,使網路正常工作。
子網掩碼的術語是擴展的網路前綴碼不是一個地址,但是可以確定一個網路層地址哪一部分是網路號,哪一部分是主機號,1 的部分代表網路號,掩碼為 0的部分代表主機號。子網掩碼的作用就是獲取主機 IP的網路地址信息,用於區別主機通信不同情況,由此選擇不同路。其中 A類地址的默認子網掩碼為 255.0.0.0;B類地址的默認子網掩碼為 255.255.0.0;C類地址的默認子網掩碼為:255.255.255.0。
如何通過子網掩碼來確定網路號或者網路地址?
通過 IP 地址的二進制與子網掩碼的二進制進行與運算進行定某個設備的網路地址,
也就是說通過子網掩碼分辨一個網路的網路部分和主機部分子網掩碼一旦設置,網路地址和主機地址就固定了。
相對於使用子網掩碼來識別網路地址,早期的使用類別進行網路地址的分類存在著地址大量浪費的不足。
子網一個最顯著的特徵就是具有子網掩碼。與IP地址相同,子網掩碼的長度也是32位,也可以使用十進制的形式。例如,為二進制形式的子網掩碼:,採用十進制的形式為:255.255.255.0。
1.子網掩碼的概念
子網掩碼是一個32位地址,用於屏蔽IP地址的一部分以區別網路標識和主機標識,並說明該IP地址是在區域網上,還是在遠程網上。
2.確定子網掩碼數
用於子網掩碼的位數決定於可能的子網數目和每個子網的主機數目。在定義子網掩碼前,必須弄清楚本來使用的子網數和主機數目。
定義子網掩碼的步驟為:
A、確定哪些組地址歸我們使用。比如我們申請到的網路號為 「210.73.a.b」,該網路地址為C類IP地址,網路標識為「210.73」,主機標識為「a.b」。
B、根據我們現在所需的子網數以及將來可能擴充到的子網數,用宿主機的一些位來定義子網掩碼。比如我們現在需要12個子網,將來可能需要16個。用第三個位元組的前四位確定子網掩碼。前四位都置為「1」(即把第三位元組的最後四位作為主機位,其實在這里有個簡單的規律,非網路位的前幾位置1原網路就被分為2的幾次方個網路,這樣原來網路就被分成了2的4次方16個子網),即第三個位元組為「11110000」,這個數我們暫且稱作新的二進制子網掩碼。
C、把對應初始網路的各個位都置為「1」,即前兩個位元組都置為「1」,第四個位元組都置為「0」,則子網掩碼的間斷二進制形式為:「11111111.11111111.11110000.00000000」
D、把這個數轉化為間斷十進制形式為:「255.255.240.0」
這個數為該網路的子網掩碼。
3.IP掩碼的標注
A、無子網的標注法
對無子網的IP地址,可寫成主機號為0的掩碼。如IP地址210.73.140.5,掩碼為255.255.255.0,也可以預設掩碼,只寫IP地址。
B、有子網的標注法
有子網時,一定要二者配對出現。以C類地址為例。
1.IP地址中的前3個位元組表示網路號,後一個位元組既表明子網號,又說明主機號,還說明兩個IP地址是否屬於同一個網段。如果屬於同一網路區間,這兩個地址間的信息交換就不通過路由器。如果不屬同一網路區間,也就是子網號不同,兩個地址的信息交換就要通過路由器進行。例如:對於IP地址為210.73.140.5的主機來說,其主機標識為00000101,對於IP地址為210.73.140.16的主機來說它的主機標識為00010000,以上兩個主機標識的前面三位全是000,說明這兩個IP地址在同一個網路區域中,這兩台主機在交換信息時不需要通過路由器進行。210.73.60.1的主機標識為00000001,210.73.60.252的主機標識為11111100,這兩個主機標識的前面三位000與111不同,說明二者在不同的網路區域,要交換信息需要通過路由器。其子網上主機號各為1和252。
2.掩碼的功用是說明有子網和有幾個子網,但子網數只能表示為一個范圍,不能確切講具體幾個子網,掩碼不說明具體子網號,有子網的掩碼格式(對C類地址)。
子網掩碼的表示方法
子網掩碼通常有以下2種格式的表示方法:
1. 通過與IP地址格式相同的點分十進製表示
如:255.0.0.0 或 255.255.255.128
2. 在IP地址後加上"/"符號以及1-32的數字,其中1-32的數字表示子網掩碼中網路標識位的長度
如:192.168.1.1/24 的子網掩碼也可以表示為 255.255.255.0
子網掩碼和ip地址的關系
注意這講的都是有類網!
子網掩碼是用來判斷任意兩台計算機的IP地址是否屬於同一子網路的根據。
最為簡單的理解就是兩台計算機各自的IP地址與子網掩碼進行AND運算後,如果得出的結果是相同的,則說明這兩台計算機是處於同一個子網路上的,可以進行直接的通訊。就這么簡單。
請看以下示例:
運算演示之一:aa
I P 地址 192.168.0.1
子網掩碼 255.255.255.0
AND運算 (AND運演算法則:1 與 1 = 1 ,1 與 0 = 0 ,0 與 1 = 0 ,0 與 0 = 0 ,即當對應位均為1時結果為1,其餘為0。)
轉化為二進制進行運算:
I P 地址 11000000.10101000.00000000.00000001
子網掩碼 11111111.11111111.11111111.00000000
AND運算
11000000.10101000.00000000.00000000
轉化為十進制後為:
192.168.0.0
運算演示之二:
I P 地址 192.168.0.254
子網掩碼 255.255.255.0
AND運算
轉化為二進制進行運算:
I P 地址 11000000.10101000.00000000.11111110
子網掩碼 11111111.11111111.11111111.00000000
AND運算
11000000.10101000.00000000.00000000
轉化為十進制後為:
192.168.0.0
運算演示之三:
I P 地址 192.168.0.4
子網掩碼 255.255.255.0
AND運算
轉化為二進制進行運算:
I P 地址 11000000.10101000.00000000.00000100
子網掩碼 11111111.11111111.11111111.00000000
AND運算
11000000.10101000.00000000.00000000
轉化為十進制後為:
192.168.0.0
通過以上對三組計算機IP地址與子網掩碼的AND運算後,我們可以看到它運算結果是一樣的。均為192.168.0.0
所以計算機就會把這三台計算機視為是同一子網路,然後進行通訊的。我現在單位使用的代理伺服器,內部網路就是這樣規劃的。
也許你又要問,這樣的子網掩碼究竟有多少了IP地址可以用呢?你可以這樣算。
根據上面我們可以看出,區域網內部的ip地址是我們自己規定的(當然和其他的ip地址是一樣的),這個是由子網掩碼決定的通過對255.255.255.0的分析。可得出:
前三位IP碼由分配下來的數字就只能固定為192.168.0 所以就只剩下了最後的一位了,那麼顯而易見了,ip地址只能有(2的8次方-2),即256-2=254,一般主機地址全為0或者1(二進制)有其特殊的作用。
那麼你可能要問了:如果我的子網掩碼不是255.255.255.0呢?你也可以這樣做啊假設你的子網掩碼是255.255.128.0
那麼你的區域網內的ip地址的前兩位肯定是固定的了
這樣,你就可以按照下邊的計算來看看同一個子網內到底能有多少台機器
1、十進制128 = 二進制1000 0000
2、IP碼要和子網掩碼進行AND運算
3、
I P 地址 11000000.10101000.1*******.********
子網掩碼 11111111.11111111.10000000.00000000
AND運算
11000000.10101000.10000000.00000000
轉化為十進制後為:
192 . 168. 128 . 0
4、可知我們內部網可用的IP地址為:
11000000.10101000.10000000.00000000

11000000.10101000.11111111.11111111
(也可以是:11000000.10101000.00000000.00000000 到11000000.10101000.01111111.11111111)
5、轉化為十進制:
192 . 168.128.0 到192 . 168.255.255 (或者192.168.0.0到192.168.127.255)
6、0和255通常作為網路的內部特殊用途。通常不使用。
7、於是最後的結果如下:我們單位所有可用的IP地址為:
192.168.128.1-192.168.128.254
192.168.129.1-192.168.129.254
192.168.130.1-192.168.130.254
192.168.131.1-192.168.131.254
. . . . . . . . . . . . .
192.168.139.1-192.168.139.254
192.168.140.1-192.168.140.254
192.168.141.1-192.168.141.254
192.168.142.1-192.168.142.254
192.168.143.1-192.168.143.254
. . . . . . . . . . . . .
192.168.254.1-192.168.254.254
192.168.255.1-192.168.255.254
8、總數為(255-128+1)*(254-1+1) =128 * 254 = 32512
子網內包含的機器數目應該是2^n-2,比如說上面的子網掩碼是255.255.128.0,那麼他的網路號是17位,主機號是15位,只要主機號不全是0或者1就是可以的,所以ip地址是192.168.192.0(11000000.10101000.11000000.00000000)也允許,除掉全0全1,結果為2^15-2=32766,上面的落了好多地址
9、看看的結果是否正確
(1)、設定IP地址為192.168.128.1
Ping 192.168.129.233通過測試
訪問http://192.168.129.233可以顯示出主頁
(2)、設定IP地址為192.168.255.254
Ping 192.168.129.233通過測試
訪問http://192.168.129.233可以顯示出主頁
10、結論
以上證明我們的結論是對的。
現在你就可以看你的子網中能有多少台機器了
255.255.255.128
分解:
11111111.11111111.11111111.1000000
所以你的內部網路的ip地址只能是
xxxxxxxx.xxxxxxxx.xxxxxxxx.0???????

xxxxxxxx.xxxxxxxx.xxxxxxxx.01111111
子網掩碼
(1)子網TCP/IP網間網技術產生於大型主流機環境中,它能發展到今天的規模是當初的設計者們始料未及的。網間網規模的迅速擴展對IP地址模式的威脅並不是它不能保證主機地址的唯一性,而是會帶來兩方面的負擔:第一,巨大的網路地址管理開銷;第二,網關尋徑急劇膨脹。其中第二點尤為突出,尋徑表的膨脹不僅會降低網關尋徑效率(甚至可能使尋徑表溢出,從而造成尋徑故障),更重要的是將增加內外部路徑刷新時的開銷,從而加重網路負擔。
因此,迫切需要尋求新的技術,以應付網間網規模增長帶來的問題。仔細分析發現,網間網規模的增長在內部主要表現為網路地址的增減,因此解決問題的思路集中在:如何減少網路地址。於是IP網路地址的多重復用技術應運而生。
通過復用技術,使若干物理網路共享同一IP網路地址,無疑將減少網路地址數。
子網編址(subnet addressing)技術,又叫子網尋徑(subnet routing),英文簡稱subnetting,是最廣泛使用的IP網路地址復用方式,目前已經標准化,並成為IP地址模式的一部分。一般的,32位的IP地址分為兩部分,即網路號和主機號,我們分別把他們叫做IP地址的「網間網部分」和「本地部分」。子網編址技術將本地部分進一步劃分為「物理網路」部分和「主機」部分,如圖:網間網部分物理網路主機
|←網間網部分→|←————本地部分—————→|
|←物理網路→|←—主機部分——→|
其中「物理網路」用於標識同一IP網路地址下的不同物理網路即是「子網」。
(2)子網掩碼IP協議標准規定:每一個使用子網的網點都選擇一個32位的位模式,若位模式中的某位置1,則對應IP地址中的某位為網路地址(包括網間網部分和物理網路號)中的一位;若位模式中的某位置0,則對應IP地址中的某位為主機地址中的一位。例如位模式:
11111111 11111111 11111111 00000000中,前三個位元組全1,代表對應IP地址中最高的三個位元組為網路地址;後一個位元組全0,代表對應IP地址中最後的一個位元組為主機地址。這種位模式叫做子網模(subnet mask)或「子網掩碼」。
為了使用的方便,常常使用「點分整數表示法」來表示一個IP地址和子網掩碼,例如c類地址子網掩碼(11111111 11111111 11111111 00000000)為:255.255.255.0 IP協議關於子網掩碼的定義提供一種有趣的靈活性,允許子網掩碼中的「0」和「1」位不連續。但是,這樣的子網掩碼給分配主機地址和理解尋徑表都帶來一定困難,並且,極少的路由器支持在子網中使用低序或無序的位,因此在實際應用中通常各網點採用連續方式的子網掩碼。像255.255.255.64和255.255.255.160等一類的子網掩碼不推薦使用。
(3)子網掩碼與IP地址子網掩碼與IP地址結合使用,可以區分出一個網路地址的網路號和主機號。
例如:有一個C類地址為:192.9.200.13其預設的子網掩碼為:255.255.255.0則它的網路號和主機號可按如下方法得到:
①將IP地址192.9.200.13轉換為二進制11000000 00001001 11001000 00001101
②將子網掩碼255.255.255.0轉換為二進制11111111 11111111 11111111 00000000
③將兩個二進制數邏輯與(AND)運算後得出的結果即為網路部分
11000000 00001001 11001000 00001101 AND 11111111 11111111 11111111 00000000
11000000 00001001 11001000 00000000結果為192.9.200.0,即網路號為192.9.200.0。
④將子網掩碼取反再與IP地址邏輯與(AND)後得到的結果即為主機部分11000000 00001001 11001000 00001101 AND 00000000 00000000 00000000 11111111 結果為00000000 00000000 00000000 00001101轉化為十進製得到0.0.0.13,即主機號為13。

H. 誰能告訴我電腦IP地址的有關知識,有無類似於電話區號的設置,那一串數字有何意義謝謝。

IP簡介

Internet 上的每台主機(Host)都有一個唯一的IP地址。IP協議就是使用這個地址在主機之間傳遞信息,這是Internet 能夠運行的基礎。IP地址的長度為32位,分為4段,每段8位,用十進制數字表示,每段數字范圍為0~255,段與段之間用句點隔開。例如159.226.1.1。IP地址有兩部分組成,一部分為網路地址,另一部分為主機地址。IP地址分為A、B、C、D、E5類。常用的是B和C兩類。ip地址就像是我們的家庭住址一樣,如果你要寫信給一個人,你就要知道他(她)的地址,這樣郵遞員才能把信送到,計算機發送信息是就好比是郵遞員,它必須知道唯一的「家庭地址」才能不至於把信送錯人家。只不過我們的地址使用文字來表示的,計算機的地址用十進制數字表示。

眾所周知,在電話通訊中,電話用戶是靠電話號碼來識別的。同樣,在網路中為了區別不同的計算機,也需要給計算機指定一個號碼,這個號碼就是「IP地址」。

什麼是IP地址

所謂IP地址就是給每個連接在Internet上的主機分配的一個32bit地址。

按照TCP/IP(Transport Control Protocol/Internet Protocol,傳輸控制協議/Internet協議)協議規定,IP地址用二進制來表示,每個IP地址長32bit,比特換算成位元組,就是4個位元組。例如一個採用二進制形式的IP地址是「」,這么長的地址,人們處理起來也太費勁了。為了方便人們的使用,IP地址經常被寫成十進制的形式,中間使用符號「.」分開不同的位元組。於是,上面的IP地址可以表示為「10.0.0.1」。IP地址的這種表示法叫做「點分十進製表示法」,這顯然比1和0容易記憶得多。

有人會以為,一台計算機只能有一個IP地址,這種觀點是錯誤的。我們可以指定一台計算機具有多個IP地址,因此在訪問互聯網時,不要以為一個IP地址就是一台計算機;另外,通過特定的技術,也可以使多台伺服器共用一個IP地址,這些伺服器在用戶看起來就像一台主機似的。

將IP地址分成了網路號和主機號兩部分,設計者就必須決定每部分包含多少位。網路號的位數直接決定了可以分配的網路數(計算方法2^網路號位數);主機號的位數則決定了網路中最大的主機數(計算方法2^主機號位數-2)。然而,由於整個互聯網所包含的網路規模可能比較大,也可能比較小,設計者最後聰明的選擇了一種靈活的方案:將IP地址空間劃分成不同的類別,每一類具有不同的網路號位數和主機號位數。

如何分配IP地址

TCP/IP協議需要針對不同的網路進行不同的設置,且每個節點一般需要一個「IP地址」、一個「子網掩碼」、一個「默認網關」。不過,可以通過動態主機配置協議(DHCP),給客戶端自動分配一個IP地址,避免了出錯,也簡化了TCP/IP協議的設置。

那麼,區域網怎麼分配IP地址呢?互聯網上的IP地址統一由一個叫「IANA」(Internet Assigned Numbers Authority,互聯網網路號分配機構)的組織來管理。

IP是什麼?

——IP是當前熱門的技術。與此相關聯的一批新名詞,如IP網路、IP交換、IP電話、IP傳真等等,也相繼出現。那麼,IP是什麼呢?

——IP是英文Internet Protocol的縮寫,意思是「網路之間互連的協議」,也就是為計算機網路相互連接進行通信而設計的協議。在網際網路中,它是能使連接到網上的所有計算機網路實現相互通信的一套規則,規定了計算機在網際網路上進行通信時應當遵守的規則。任何廠家生產的計算機系統,只要遵守IP協議就可以與網際網路互連互通。正是因為有了IP協議,網際網路才得以迅速發展成為世界上最大的、開放的計算機通信網路。因此,IP協議也可以叫做「網際網路協議」。

——IP是怎樣實現網路互連的?各個廠家生產的網路系統和設備,如乙太網、分組交換網等,它們相互之間不能互通,不能互通的主要原因是因為它們所傳送數據的基本單元(技術上稱之為「幀」)的格式不同。IP協議實際上是一套由軟體程序組成的協議軟體,它把各種不同「幀」統一轉換成「IP數據報」格式,這種轉換是網際網路的一個最重要的特點,使所有各種計算機都能在網際網路上實現互通,即具有「開放性」的特點。

——那麼,「數據報」是什麼?它又有什麼特點呢?數據報也是分組交換的一種形式,就是把所傳送的數據分段打成「包」,再傳送出去。但是,與傳統的「連接型」分組交換不同,它屬於「無連接型」,是把打成的每個「包」(分組)都作為一個「獨立的報文」傳送出去,所以叫做「數據報」。這樣,在開始通信之前就不需要先連接好一條電路,各個數據報不一定都通過同一條路徑傳輸,所以叫做「無連接型」。這一特點非常重要,它大大提高了網路的堅固性和安全性。

——每個數據報都有報頭和報文這兩個部分,報頭中有目的地址等必要內容,使每個數據報不經過同樣的路徑都能准確地到達目的地。在目的地重新組合還原成原來發送的數據。這就要IP具有分組打包和集合組裝的功能。

——在實際傳送過程中,數據報還要能根據所經過網路規定的分組大小來改變數據報的長度,IP數據報的最大長度可達65535個位元組。

——IP協議中還有一個非常重要的內容,那就是給網際網路上的每台計算機和其它設備都規定了一個唯一的地址,叫做「IP地址」。由於有這種唯一的地址,才保證了用戶在連網的計算機上操作時,能夠高效而且方便地從千千萬萬台計算機中選出自己所需的對象來。

——現在電信網正在與IP網走向融合,以IP為基礎的新技術是熱門的技術,如用IP網路傳送話音的技術(即VoIP)就很熱門,其它如IP over ATM、IPover SDH、IP over WDM等等,都是IP技術的研究重點。
IP地址類型

最初設計互聯網路時,為了便於定址以及層次化構造網路,每個IP地址包括兩個標識碼(ID),即網路ID和主機ID。同一個物理網路上的所有主機都使用同一個網路ID,網路上的一個主機(包括網路上工作站,伺服器和路由器等)有一個主機ID與其對應。IP地址根據網路ID的不同分為5種類型,A類地址、B類地址、C類地址、D類地址和E類地址。

IP地址分類

1.A類IP地址

一個A類IP地址由1位元組的網路地址和3位元組主機地址組成,網路地址的最高位必須是「0」, 地址范圍從0.0.0.1 到126.0.0.0。可用的A類網路有126個,每個網路能容納1億多個主機。

2.B類IP地址

一個B類IP地址由2個位元組的網路地址和2個位元組的主機地址組成,網路地址的最高位必須是「10」,地址范圍從128.0.0.0到191.255.255.255。可用的B類網路有16382個,每個網路能容納6萬多個主機 。

3.C類IP地址

一個C類IP地址由3位元組的網路地址和1位元組的主機地址組成,網路地址的最高位必須是「110」。范圍從192.0.0.0到223.255.255.255。C類網路可達209萬余個,每個網路能容納254個主機。

4.D類地址用於多點廣播(Multicast)。

D類IP地址第一個位元組以「lll0」開始,它是一個專門保留的地址。它並不指向特定的網路,目前這一類地址被用在多點廣播(Multicast)中。多點廣播地址用來一次定址一組計算機,它標識共享同一協議的一組計算機。

5.E類IP地址

以「llll0」開始,為將來使用保留。

全零(「0.0.0.0」)地址對應於當前主機。全「1」的IP地址(「255.255.255.255」)是當前子網的廣播地址。

IP地址是由什麼機構分配的?

所有的IP地址都由國際組織NIC(Network Information Center)負責統一分配,目前全世界共有三個這樣的網路信息中心。

InterNIC:負責美國及其他地區;

ENIC:負責歐洲地區;

APNIC:負責亞太地區。

我國申請IP地址要通過APNIC,APNIC的總部設在日本東京大學。申請時要考慮申請哪一類的IP地址,然後向國內的代理機構提出。

什麼是公有地址和私有地址?

公有地址(Public address)由Inter NIC(Internet Network Information Center 網際網路信息中心)負責。這些IP地址分配給注冊並向Inter NIC提出申請的組織機構。通過它直接訪問網際網路。

私有地址(Private address)屬於非注冊地址,專門為組織機構內部使用。

以下列出留用的內部私有地址
A類 10.0.0.0--10.255.255.255
B類 172.16.0.0--172.31.255.255
C類 192.168.0.0--192.168.255.255

保留IP地址

最初設計互聯網路時,為了便於定址以及層次化構造網路,每個IP地址包括兩個標識碼(ID),即網路ID和主機ID。同一個物理網路上的所有主機都使用同一個網路ID,網路上的一個主機(包括網路上工作站,伺服器和路由器等)有一個主機ID與其對應。IP地址根據網路ID的不同分為5種類型,A類地址、B類地址、C類地址、D類地址和E類地址。
查找Ip有個cmd命令:tracert 後面加ip地址,可以查所經過的路由!

I. 計算機網路裡面的累積確認是什麼東西

累積確認是計算機TCP協議。每個報文段都會有一個超時定時器,超時時間大概是加權平均往返時間RTTs,如果定時時間到了,沒有收到對應報文段的確認就會重傳這個報文段。同時,TCP規定有累積確認的機制,等接收到多個包再一起確認。

如果發送方發了包1,包2,包3,包4;接受方成功收到包1,包2,包3。那麼接受方可以發回一個確認包,序號為4(4表示期望下一個收到的包的序號;當然約定好用3表示也可以),那麼發送方就知道包1到包3都發送接收成功,必要時重發包4。一個確認包確認了累積到某一序號的所有包,而不是對每個序號都發確認包。

(9)計算機網路確認號的意義擴展閱讀

累積確認無論丟失了多少接收方返回的確認,對於發送發方來說,只要是在發送方超時時間之內成功接到了接收方返回的一串應答中的最後一個,則包含了前面全部的確認信息。

從這個角度看,實際上累積確認的目的是為了避免一系列應答中的某個應答丟失造成的無必要的重傳。

因此,超時重傳與累積確認是相輔相成的,並不矛盾。對於發送方來說,如果在發送方超時時間之內,在接收方返回的一串應答中,就連最後一個報文也丟失了,那麼只好由發送方執行超時重傳策略,重新傳輸未確認的數據了。

閱讀全文

與計算機網路確認號的意義相關的資料

熱點內容
網路三通頭rj45如何接線 瀏覽:714
網路上的誹謗行為應適用什麼法律 瀏覽:116
計算機網路常用的通信傳輸介質 瀏覽:419
邢台網路營銷哪家服務好 瀏覽:722
微b450m網路介面在哪裡 瀏覽:114
計算機網路技術試驗網 瀏覽:301
電腦下部不顯示網路連接 瀏覽:780
網路暴力噴子哪個好 瀏覽:309
斷電後移動網路電視提示連接錯誤 瀏覽:852
手機怎樣拒掃wifi二維碼連接網路 瀏覽:631
黑龍江慶安移動網路怎樣交費 瀏覽:664
xp刪除網路連接 瀏覽:539
處理計算機網路問題怎麼解決 瀏覽:413
網路中土豪什麼意思 瀏覽:903
十堰海外網路推廣多少錢 瀏覽:759
網路管理或網路安全 瀏覽:14
小翼管家如何給可視門鈴配置網路 瀏覽:910
電信網路怎麼串台 瀏覽:943
常德網路安全系統 瀏覽:331
網路安全協調通報 瀏覽:202

友情鏈接