TCP/IP基礎概念(一)

一 TCP/IP模型

在這裏插入圖片描述
在這裏插入圖片描述

二 數據鏈路層

  數據鏈路層使用的信道主要有以下兩種類型:
  (1)點對點信道。這種信道使用一對一的點對點通信方式。
  (2)廣播信道。這種信道使用一對多的廣播通信方式, 因此過程比較複雜。廣播信道上連接的主機很多,因此必須使用專用的共享信道協議來協調這些主機的數據發送。
  數據鏈路層的三個基本問題: 封裝成幀、 透明傳輸和差錯檢測。
  點對點協議PPP;廣播信道協議是 CSMA/CD,意思是載波監聽多點接入/碰撞檢測(Carrier Sense Multiple Access with Collision Detection)。

三 網絡層

  作用:編址,路由;
  編址協議:IPV4IPV6IPXappletalknovellNSAP
  與IP協議配套使用的還有三個協議:地址解析協議ARP(Address Resolution Protocol)網際控制報文協議ICMP(Internet Control Message Protocol)網際組管理協議IGMP(Internet Group Management Protocol)
  虛擬互連網絡:全世界數以百計的網絡進行互通有無,需要解決很多問題,畢竟使用的網絡是不相同的。從一般的概念來講, 將網絡互相連接起來要使用一些中間設備。 根據中間設備所在的層次, 可以有以下四種不同的中間設備:
  (1) 物理層使用的中間設備叫做轉發器(repeater)。
  (2) 數據鏈路層使用的中間設備叫做網橋或橋接器(bridge)。
  (3) 網絡層使用的中間設備叫做路由器(router)。
  (4) 在網絡層以上使用的中間設備叫做網關(gateway) 用網關連接兩個不兼容的系統需要在高層進行協議的轉換。
  當中間設備是轉發器或網橋時,這僅僅是把一個網絡擴大了,而從網絡層的角度看,這仍然是一個網絡,一般並不稱之爲網絡互連。因此現在我們討論網絡互連時,都是指用路由器進行網絡互連和路由選擇。路由器其實就是一臺專用計算機,用來在互聯網中進行路由選擇。許多計算機網絡通過一些路由器進行互連。 由於參加互連的計算機網絡都使用相同的網際協議IP(Internet Protocol),因此可以把互連以後的計算機網絡看成一個虛擬互連網絡(internet) 所謂虛擬互連網絡也就是邏輯互連網絡 , 它的意思就是互連起來的各種物理網絡的異構性本來是客觀存在的,但是我們利用IP協議就可以使這些性能各異的網絡在網絡層上看起來好像是一個統一的網絡。

四 IP地址

  從IP地址的結構來看,IP地址並不僅僅指明一臺主機,還指明瞭主機所連接到的網絡。
  IP地址位數=網絡位數+主機位數=32位。
  IPV4編址:使用32bit二進制組成:01010101 01010101 00101010 11110000;點分十進制:0000 0000. 0000 0000.0000 0000.0000 0000
  根據用途和安全性級別的不同,IP地址還可以大致分爲兩類:公共地址和私有地址。公用地址在Internet中使用,可以在Internet中隨意訪問。私有地址只能在內部網絡中使用,只有通過代理服務器才能與Internet通信。

1 A類IP地址

  0XXX XXXX,1-126,固定掩碼爲255.0.0.0,地址數量2^24。
  一個A類IP地址由1字節的網絡地址和3字節主機地址組成,網絡地址的最高位必須是“0”,地址範圍1.0.0.1-126.255.255.254(二進制表示爲:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110)。可用的A類網絡有126個,每個網絡能容納16777214個主機。
  A類地址的私有地址和保留地址:10.X.X.X是私有地址,範圍:10.0.0.0-10.255.255.255127.X.X.X是保留地址,用做循環測試用的。

2 B類IP地址

  10XX XXXX,128-191,固定掩碼爲255.255.0.0,地址數量2^16。
  一個B類IP地址由2個字節的網絡地址和2個字節的主機地址組成,網絡地址的最高位必須是“10”,地址範圍128.0.0.1-191.255.255.254(二進制表示爲:10000000 00000001 00000000 00000001 - 10111111 11111111 11111111 11111110)。可用的B類網絡有16384個,每個網絡能容納65534主機 。
  B類地址的私有地址和保留地址:172.16.0.0 - 172.31.255.255是私有地址;169.254.0.0 - 169.254.255.255是保留地址,如果你的IP地址是自動獲取IP地址,而你在網絡上又沒有找到可用的DHCP服務器,這時你將會從169.254.0.0到169.254.255.255中臨得獲得一個IP地址。

3 C類IP地址

  C類地址:110X XXXX, 192-223, 固定掩碼爲255.255.255.0 ,地址數量2^8。
  一個C類IP地址由3字節的網絡地址和1字節的主機地址組成,網絡地址的最高位必須是“110”。範圍192.0.0.1-223.255.255.254(二進制表示爲: 11000000 00000000 00000001 00000001 - 11011111 11111111 11111111 11111110)。C類網絡可達2097150個,每個網絡能容納254個主機。
  C類地址中的私有地址:192.168.X.X是私有地址,範圍:192.168.0.0 - 192.168.255.255

4 D類IP地址

  D類地址不分網絡地址和主機地址,:1110 XXXX,224-239,無掩碼,組播地址。
  D類IP地址第一個字節以“1110”開始,它是一個專門保留的地址。它並不指向特定的網絡,目前這一類地址被用在多點廣播(Multicast)中。多點廣播地址用來一次尋址一組計算機,它標識共享同一協議的一組計算機。地址範圍224.0.0.1-239.255.255.254

5 E類IP地址

  E類地址不分網絡地址和主機地址:1111 0XXX,240-255,用於科研,爲將來使用保留。E類地址保留,僅作實驗和開發用。
  E類地址範圍:240.0.0.1 - 247.255.255.254。

6 特殊地址

  全零(“0.0.0.0”)地址指任意網絡。全“1”的IP地址(“255.255.255.255”)是當前子網的廣播地址;127.0.0.0:本地換回地址,測試地址。

7 子網掩碼

  子網掩碼(subnet mask)又叫網絡掩碼、地址掩碼、子網絡遮罩,它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。
  IP地址位數=網絡位數+主機位數=32位。子網掩碼的位數就是網絡的位數。
  子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分。子網掩碼是一個32位地址,用於屏蔽IP地址的一部分以區別網絡標識和主機標識,並說明該IP地址是在局域網上,還是在遠程網上。
  子網掩碼——屏蔽一個IP地址的網絡部分的“全1”比特模式。對於A類地址來說,默認的子網掩碼是255.0.0.0;對於B類地址來說默認的子網掩碼是255.255.0.0;對於C類地址來說默認的子網掩碼是255.255.255.0。
  通過子網掩碼,就可以判斷兩個IP在不在一個局域網內部;子網掩碼可以看出有多少位是網絡號,有多少位是主機號。

8 網關

  網關(Gateway)又稱網間連接器、協議轉換器。默認網關在網絡層上以實現網絡互連,是最複雜的網絡互連設備,僅用於兩個高層協議不同的網絡互連。網關的結構也和路由器類似,不同的是互連層。網關既可以用於廣域網互連,也可以用於局域網互連。
網關實質上是一個網絡通向其他網絡的IP地址。
  比如有網絡A和網絡B,網絡A的IP地址範圍爲“192.168.1.1~192. 168.1.254”,子網掩碼爲255.255.255.0;網絡B的IP地址範圍爲“192.168.2.1~192.168.2.254”,子網掩碼爲255.255.255.0。
  在沒有路由器的情況下,兩個網絡之間是不能進行TCP/IP通信的,即使是兩個網絡連接在同一臺交換機(或集線器)上,TCP/IP協議也會根據子網掩碼(255.255.255.0)判定兩個網絡中的主機處在不同的網絡裏。
  而要實現這兩個網絡之間的通信,則必須通過網關。如果網絡A中的主機發現數據包的目的主機不在本地網絡中,就把數據包轉發給它自己的網關,再由網關轉發給網絡B的網關,網絡B的網關再轉發給網絡B的某個主機。
  所以說,只有設置好網關的IP地址,TCP/IP協議才能實現不同網絡之間的相互通信。那麼這個IP地址是哪臺機器的IP地址呢?網關的IP地址是具有路由功能的設備的IP地址,具有路由功能的設備有路由器、啓用了路由協議的服務器(實質上相當於一臺路由器)、代理服務器(也相當於一臺路由器)。

9 IP地址和子網掩碼、網絡地址、廣播地址的聯繫

  • 將IP地址和子網掩碼換算爲二進制,子網掩碼連續全1的是網絡地址,後面的是主機地址,虛線前爲網絡地址,虛線後爲主機地址;
  • IP地址和子網掩碼進行與運算,結果是網絡地址(即主機號全0是網絡地址);
  • 將運算結果中的網絡地址不變,主機地址變爲1,結果就是廣播地址;
  • 地址範圍就是含在本網段內的所有主機;
  • 主機的數量=2^二進制位數的主機-2(減2是因爲主機不包括網絡地址和廣播地址)。

10 子網劃分

  IP地址如果只使用ABCDE類來劃分,會造成大量的浪費:一個有500臺主機的網絡,無法使用C類地址。但如果使用一個B類地址,6萬多個主機地址只有500個被使用,造成IP地址的大量浪費。因此,IP地址還支持VLSM技術,可以在ABC類網絡的基礎上,進一步劃分子網。
  舉個栗子:假如給你一個C類IP地址192.168.0.0。假如你想劃分2個子網,一個裏面有100臺電腦,另一個有50臺電腦。
  100大於2的6次方,小於2的7次方,所以主機位數取7位。那麼網絡位數就是32-7=25位。25位的子網掩碼11111111.11111111.11111111.10000000 換算成10進制的就是255. 255. 255. 128,這就是第一個子網的子網掩碼,網絡號爲192.168.0.0/25,網絡地址192.168.0.0,主機地址192.168.0.1~192.168.0.126,廣播地址192.168.0.127。
  50大於2的5次方,小於2的6次方,所以主機位數取6位。那麼網絡位數就是32-6=26位。26位的子網掩碼11111111.11111111.11111111.11000000 換算成10進制的就是255. 255. 255.192,這就是第二個子網的子網掩碼,網絡號爲192.168.0.128/26,網絡地址192.168.0.128,主機地址192.168.0.129~192.168.0.190,廣播地址192.168.0.191。

11 虛擬IP

  實體的IP已經有點不足了,好在早在規劃IP時就已經預留了三個網段的IP做爲內部網域的虛擬IP之用。這三個預留的IP分別爲:
  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
  上述中最常用的是192.168.0.0這一組。不過,由於是虛擬IP,所以當您使用這些地址的時候﹐當然是有所限制的,限制如下:
  私有位址的路由信息不能對外散播
  使用私有位址作爲來源或目的地址的封包﹐不能透過Internet來轉送
  關於私有位址的參考紀錄(如DNS)﹐只能限於內部網絡使用
  由於虛擬IP的計算機並不能直接連上 Internet ,因此需要特別的功能才能上網。不過,這給我們架設IP網絡做成很大的方便﹐比如﹕即使您目前的公司還沒有連上Internet﹐但不保證將來不會啊。如果使用公共IP的話﹐如果沒經過註冊﹐等到以後真正要連上網絡的時候﹐就很可能和別人衝突了。也正如前面所分析的﹐到時候再重新規劃IP的話﹐將是件非常頭痛的問題。這時候﹐我們可以先利用私有位址來架設網絡﹐等到真要連上internet的時候﹐我們可以使用IP轉換協定﹐如 NAT (Network Addresss Translation)等技術﹐配合新註冊的IP就可以了。

12 靜態IP與動態IP

  基本上,這兩個東西是由於近來網絡公司大量的成長下的產物,例如,你如果向中國電信申請一個商業型態的 ADSL 專線,那他會給你一個固定的實體IP,這個實體IP就被稱爲『固定IP』了。而若你是申請計時制的 ADSL ,那由於你的IP可能是由數十人共同使用,因此你每次重新開機上網時,你這部計算機的IP都不會是固定的!於是就被稱爲『動態 IP』或者是『浮動式IP』。基本上,這兩個都是『實體IP』,只是網絡公司用來分配給用戶的方法不同而產生不同的名稱而已!

五 ICMP(網絡控制報文協議)

1 經常被認爲是IP層的組成部分,傳遞差錯信息或者其他需要控制的信息

通常是爲IP層或者更加高層次的協議使用

2 ICMP報文是在IP數據報內部進行傳遞的,

在這裏插入圖片描述
原由:ICMP差錯報文始終包含IP報文頭部信息以及IP數據報的前八個字節,這樣接受ICMP的模塊會將該報文通過IP的頭部信息將其與對應的協議和用戶進程聯繫起來,因爲IP頭部信息包含使用的協議類型比如TCP、UDP,此外,IP數據報的前八個字節包含的信息中有用戶進程交互的端口信息,藉助協議加端口則可以實現功能

3 ICMP報文的類型由其頭部信息中的類型字段已經代碼類型字段來進行控制

主要分爲查詢信息以及差錯控制信息
其頭部構成情況:
在這裏插入圖片描述

4 類型

在這裏插入圖片描述

5 以下情況下不會產生ICMP報文

在這裏插入圖片描述

6 ICMP地址掩碼請求與應答

用於無盤系統在引導過程中需要的知自己的子網掩碼
報文格式:
在這裏插入圖片描述
標示符與序列號由發送端任意選擇設定,因爲其請求報文與應答報文格式一致,因此,發送端可以根據設定的標示符以及序列號進行檢驗匹配

7 ICMP時間戳請求與應答

請求端填寫發起時間戳,然後發送報文。應答系統收到請求報文時填寫接收時間戳,在發送應答時填寫發送時間戳。但是,實際上,大多數的實現把後面兩個字段都設成相同的值(提供三個字段的原因是可以讓發送方分別計算髮送請求的時間和發送應答的時間)。
在這裏插入圖片描述

8 ICMP差錯報文

UDP端口不可達舉例:
在這裏插入圖片描述
ICMP報文適用於主機直接進行交換的,而不是使用端口號,對於UDP數據纔會使用端口信息
在這裏插入圖片描述
規則:
ICMP的一個規則是,ICMP差錯報文(參見圖6-3的最後一列)必須包括生成該差錯報文的數據報IP首部(包含任何選項),還必須至少包括跟在該IP首部後面的前8個字節。在我們的例子中,跟在IP首部後面的前8個字節包含UDP的首部(見圖11-2)。
一個重要的事實是包含在UDP首部中的內容是源端口號和目的端口號。就是由於目的端口號(8888)才導致產生了ICMP端口不可達的差錯報文。接收ICMP的系統可以根據源端口號(2924)來把差錯報文與某個特定的用戶進程相關聯(在本例中是TFTP客戶程序)。
導致差錯的數據報中的IP首部要被送回的原因是因爲IP首部中包含了協議字段,使得ICMP可以知道如何解釋後面的8個字節(在本例中是UDP首部)。如果我們來查看TCP首部,可以發現源端口和目的端口被包含在TCP首部的前8個字節中。
在這裏插入圖片描述

9 對差錯報文的處理

  由內核處理;信息交付用戶空間;完全忽略。

六 IP選路

在這裏插入圖片描述
ICMP重定向差錯
當IP數據報應該被髮送到另一個路由器時,收到數據報的路由器就要發送ICMP重定向差錯報文給IP數據報的發送端。這在概念上是很簡單的,正如圖9-3所示的那樣。只有當主機可
以選擇路由器發送分組的情況下,我們纔可能看到ICMP重定向報文(回憶我們在圖7-6中看過的例子)。
1)我們假定主機發送一份IP數據報給R1。這種選路決策經常發生,因爲R1是該主機的默認路由。
2)R1收到數據報並且檢查它的路由表,發現R2是發送該數據報的下一站。當它把數據報發送給R2時,R1檢測到它正在發送的接口與數據報到達接口是相同的(即主機和兩個路由器所在的LAN)。這樣就給路由器發送重定向報文給原始發送端提供了線索。
R1發送一份ICMP重定向報文給主機,告訴它以後把數據報發送給R2而不是R1重定向一般用來讓具有很少選路信息的主機逐漸建立更完善的路由表。主機啓動時路由表中可以只有一個默認表項(在圖9-3所示的例子中,爲R1或R2)。一旦默認路由發生差錯,默認路由器將通知它進行重定向,並允許主機對路由表作相應的改動。ICMP重定向允許TCP/IP主機在進行選路時不需要具備智能特性,而顯然,在我們的例子中,R1和R2必須知道有關相連網絡的更多拓撲結構的信息,但是連在LAN上的所有主機在啓動時只需一個默認路由,通過接收重定向報文來逐步學習。
在這裏插入圖片描述
在這裏插入圖片描述

七 單播、組播、廣播和任播

1 單播(unicast)

在這裏插入圖片描述
  是指封包在計算機網絡的傳輸中,目的地址爲單一目標的一種傳輸方式。它是現今網絡應用最爲廣泛,通常所使用的網絡協議或服務大多采用單播傳輸,例如一切基於TCP的協議。
  此時信息的接收和傳遞只在兩個節點之間進行。在收發電子郵件、瀏覽網頁時,必須與郵件服務器、Web服務器建立連接,此時使用的就是單播數據傳輸方式。但是通常使用“點對點通信”(Point to Point)代替“單播”,因爲“單播”一般與“多播”和“廣播”相對應使用。
  單播的優點:(1)服務器及時響應客戶機的請求;(2)服務器針對每個客戶不通的請求發送不通的數據,容易實現個性化服務。
  單播的缺點:(1)服務器針對每個客戶機發送數據流,服務器流量=客戶機數量×客戶機流量;在客戶數量大、每個客戶機流量大的流媒體應用中服務器不堪重負。(2)現有的網絡帶寬是金字塔結構,城際省際主幹帶寬僅僅相當於其所有用戶帶寬之和的5%。如果全部使用單播協議,將造成網絡主幹不堪重負。現在的P2P應用就已經使主幹經常阻塞。而將主幹擴展20倍幾乎是不可能。

2 組播(multicast)

在這裏插入圖片描述
  也叫多播,多點廣播或羣播,這個詞通常用來指代IP組播。指把信息同時傳遞給一組目的地址。它使用策略是最高效的,因爲消息在每條網絡鏈路上只需傳遞一次,而且只有在鏈路分叉的時候,消息纔會被複制。此外,它還常用來與RTP等音視頻協議相結合。在網絡技術的應用並不是很多,網上視頻會議、網上視頻點播特別適合採用多播方式。IP網絡的多播一般通過多播IP地址來實現。多播IP地址就是D類IP地址,即224.0.0.0至239.255.255.255之間的IP地址。Windows 2000中的DHCP管理器支持多播IP地址的自動分配。
  主機之間一對一組的通訊模式,也就是加入了同一個組的主機可以接受到此組內的所有數據,網絡中的交換機和路由器只向有需求者複製並轉發其所需數據。主機可以向路由器請求加入或退出某個組,網絡中的路由器和交換機有選擇的複製並傳輸數據,即只將組內數據傳輸給那些加入組的主機。這樣既能一次將數據傳輸給多個有需要(加入組)的主機,又能保證不影響其他不需要(未加入組)的主機的其他通訊。
  組播的優點:(1)需要相同數據流的客戶端加入相同的組共享一條數據流,節省了服務器的負載。具備廣播所具備的優點。(2)由於組播協議是根據接受者的需要對數據流進行復制轉發,所以服務端的服務總帶寬不受客戶接入端帶寬的限制。IP協議允許有2億6千多萬個組播,所以其提供的服務可以非常豐富。(3)此協議和單播協議一樣允許在Internet寬帶網上傳輸。
  組播的缺點:(1)與單播協議相比沒有糾錯機制,發生丟包錯包後難以彌補,但可以通過一定的容錯機制和QOS加以彌補。(2)現行網絡雖然都支持組播的傳輸,但在客戶認證、QOS等方面還需要完善,這些缺點在理論上都有成熟的解決方案,只是需要逐步推廣應用到現存網絡當中。

3 廣播(broadcast)

在這裏插入圖片描述
  是指封包在計算機網絡中傳輸時,目的地址爲網絡中所有設備的一種傳輸方式。實際上,這裏所說的“所有設備”也是限定在一個範圍之中,稱爲“廣播域”。
  “廣播”在網絡中的應用較多,如客戶機通過DHCP自動獲得IP地址的過程就是通過廣播來實現的。但是同單播和多播相比,廣播幾乎佔用了子網內網絡的所有帶寬。集線器由於其工作原理決定了不可能過濾廣播風暴,一般的交換機也沒有這一功能,不過現在有的網絡交換機(如全向的QS系列交換機)也有過濾廣播風暴功能了,路由器本身就有隔離廣播風暴的作用。廣播風暴不能完全杜絕,但是隻能在同一子網內傳播,就好像喇叭的聲音只能在同一會場內傳播一樣,因此在由幾百臺甚至上千臺電腦構成的大中型局域網中,一般進行子網劃分,就像將一個大廳用牆壁隔離成許多小廳一樣,以達到隔離廣播風暴的目的。
  在使用TCP/IP 協議的網絡中,主機標識段host ID 爲全1 的IP 地址爲廣播地址,廣播的分組傳送給host ID段所涉及的所有計算機。例如,對於10.1.1.0 (255.255.255.0 )網段,其廣播地址爲10.1.1.255(255即爲2進制的11111111),當發出一個目的地址爲10.1.1.255的分組(封包)時,它將被分發給該網段上的所有計算機。
  廣播地址應用於網絡內的所有主機:(1)受限廣播:它不被路由發送,但會被送到相同物理網絡段上的所有主機,IP地址的網絡字段和主機字段全爲1就是地址255.255.255.255。(2)直接廣播:網絡廣播會被路由,並會發送到專門網絡上的每臺主機,IP地址的網絡字段定義這個網絡,主機字段通常全爲1,如192.168.10.255。
  並非所有的計算機網絡都支持廣播,例如X.25網絡和幀中繼都不支持廣播,而且也沒有在“整個互聯網範圍中”的廣播。IPv6亦不支持廣播,廣播相應的功能由任播(anycast)代替。通常,廣播都是限制在局域網中的,比如以太網或令牌環網絡。因爲廣播在局域網中造成的影響遠比在廣域網中小得多。
  以太網和IPv4網都用全1的地址表示廣播,分別是ff:ff:ff:ff:ff:ff和255.255.255.255。令牌環網絡使用IEEE802.2控制域中的一個特殊值來表示廣播。
  有線電視網就是典型的廣播型網絡,我們的電視機實際上是接受到所有頻道的信號,但只將一個頻道的信號還原成畫面。在數據網絡中也允許廣播的存在,但其被限制在二層交換機的局域網範圍內,禁止廣播數據穿過路由器,防止廣播數據影響大面積的主機。
  廣播的優點:(1)網絡設備簡單,維護簡單,佈網成本低廉。(2)由於服務器不用向每個客戶機單獨發送數據,所以服務器流量負載極低。
  廣播的缺點:(1)無法針對每個客戶的要求和時間及時提供個性化服務。(2)網絡允許服務器提供數據的帶寬有限,客戶端的最大帶寬=服務總帶寬。例如有線電視的客戶端的線路支持100個頻道(如果採用數字壓縮技術,理論上可以提供500個頻道),即使服務商有更大的財力配置更多的發送設備、改成光纖主幹,也無法超過此極限。也就是說無法向衆多客戶提供更多樣化、更加個性化的服務。(3)廣播禁止允許在Internet寬帶網上傳輸。

4 任播(anycast)

在這裏插入圖片描述
  是一種網絡尋址和路由的策略,使得資料可以根據路由拓樸來決定送到“最近”或“最好”的目的地。在任播中,在網絡位址和網絡節點之間存在一對多的關係:每一個位址對應一羣接收節點,但在任何給定時間,只有其中之一可以接收到傳送端來的資訊。 在互聯網中,通常使用邊界網關協議來實現任播。
  作爲老闆,你在公司大喊一聲“開發組的過來一個人”, 總會有一個人灰溜溜去響應, 挨批還是發錢啊?
  以上內容轉自這裏

八 應用層

1 端口

  Port:範圍1-65535;靜態端口號:1-1023;動態端口號:1024-65535;
  DNS:53;HTTP:80;HTTPS:443。

2 DNS使用什麼協議

  DNS使用TCP和UDP協議,具體是:1、DNS服務器間進行域傳輸的時候使用 TCP 53;2、客戶端查詢DNS服務器時使用 UDP 53,但當DNS查詢超過512字節,TC標誌出現時,使用TCP發送。
  這是因爲以太網(Ethernet)數據幀的長度必須在46-1500字節之間,這是由以太網的物理特性決定的。這個數據幀長度被稱爲鏈路層的MTU(最大傳輸單元)—— 實際Internet上的標準MTU值爲576字節,也就是說鏈路層的數據區(不包括鏈路層的頭部和尾部)被限制在576字節,所以這也就是網絡層IP數據報的長度限制。
  因爲IP數據報的首部爲20字節,所以IP數據報的數據區長度最大爲556字節。而這個556字節就是用來放TCP報文段或UDP數據報的。我們知道UDP數據報的首部8字節,所以UDP數據報的數據區最大長度爲548字節。—— 如果UDP數據報的數據區大於這個長度,那麼總的IP數據包就會大於MTU,這個時候發送方IP層就需要分片(fragmentation),把數據報分成若干片,使每一片都小於MTU,而接收方IP層則需要進行數據報的重組。由於UDP的特性,當某一片數據傳送中丟失時,接收方將無法重組數據報,從而導致丟棄整個UDP數據報。所以通常UDP的最大報文長度就限制爲512字節或更小。

九 計算機網絡的性能

  mtu:是網絡傳輸最大報文包;
  mss:是網絡傳輸數據最大值;
  mss加包頭數據就等於mtu. 簡單說拿TCP包做例子。 報文傳輸1400字節的數據的話,那麼mss就是1400,再加上20字節IP包頭,20字節tcp包頭,那麼mtu就是1400+20+20。當然傳輸的時候其他的協議還要加些包頭在前面,總之mtu就是總的最後發出去的報文大小。mss就是你需要發出去的數據大小。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章