A. ipv6 ipv4 區別是什麼ipv4和ipv6的異同
1.地址類型
IPv4具有三種不同類型的地址:多播,廣播和單播。與IPv4相比,IPv6取消了廣播地址類型,以更豐富的組播地址代替,同時還增加了任意播地址類型。
2.數據包大小
對於IPv4,最小數據包大小為576位元組。對於IPv6,最小數據包大小為1208位元組。
3.標頭區域欄位數
IPv4具有12個標頭欄位,而IPv6支持8個標頭欄位。
4.可選欄位
IPv4具有可選欄位,而IPv6沒有。但是,IPv6具有擴展標頭,可以在將來擴展協議而不會影響主包結構。
5.配置
在IPv4中,新裝的系統必須配置好才能與其他系統通信。在IPv6中,配置是可選的,它允許根據所需功能進行選擇。
6.安全性
在IPv4中,安全性主要取決於網站和應用程序。它不是針對安全性而開發的IP協議。而IPv6集成了Internet協議安全標准(IPSec)。IPv6的網路安全不像IPv4是可選項,IPv6里的網路安全項是強制性的。
7.與移動設備的兼容性
IPv4不適合移動網路,因為正如我們前面提到的,它使用點分十進製表示法,而IPv6使用冒號,是移動設備的更好選擇。
8.主要功能
IPv6允許直接定址,因為存在大量可能的地址。但是,IPv4已經廣泛傳播並得到許多設備的支持,這使其更易於使用。
B. IP數據包頭有哪些欄位
數據在經過IP網路層時,也會對數據進行封裝,也就有相應的IP協議包頭了。在乙太網幀中,IPv4包頭緊跟著乙太網幀頭,同時乙太網幀頭中的協議類型值設置為十六進制的0800。
◆版本(Version)
指定IP協議的版本號。因為目前仍主要使用IPv4版本,所以這里的值通常是 0x4 (注意封包使用的數字通常都是十六進位的)。佔4位。
◆包頭長度(Internet Header Length,IHL)
指明IPv4協議包頭長度的位元組數包含多少個32位。由於IPv4的包頭可能包含可變數量的可選項,所以這個欄位可以用來確定IPv4數據報中數據部分的偏移位置。IPv4包頭的最小長度是20個位元組,因此IHL這個欄位的最小值用十進製表示就是5。佔4位。由於它是一個4比特欄位,因此首部最長為60個位元組,但實際上目前最多仍為24個位元組。
◆服務類型(Type of Service,TOS)
定義IP封包在傳送過程中要求的服務類型,共由8個bit組成其中每個bit的組合分別代表不同的意思。4bit中只能置其中1bit。如果所有4bit均為0,那麼就意味著是一般服務。具體如下:
◆000..... (Routine): 過程欄位,佔3位。設置了數據包的重要性,取值越大數據越重要,取值范圍為:0(正常)~ 7(網路控制)
◆...0....(Delay):延遲欄位 ,佔1位,取值:0(正常)、1(期特低的延遲)
◆....0...(Throughput):流量欄位,佔1位。取值:0(正常)、1(期特高的流量)
◆.....0..(Reliability) :可靠性欄位,佔1位。取值:0(正常)、1(期特高的可靠性)
◆…..0.(ECN-Capable Transport):顯式擁塞指示傳輸欄位,佔1位。由源端設置,以顯示源端節點的傳輸協議是支持ECN(Explicit Cogestion Notifica tion,顯式擁塞指示)的。取值:0(不支持ECN)、1(支持ECN)
◆.......0(Congestion Experienced):擁塞預警欄位,佔1位。取值:0(正常,不擁塞)、1(擁塞)
◆包長度(Total Length,TL)
IP協議頭格式中指定IP包的總長,通常以byte做單位來表示該封包的總長度此數值包括標頭和數據的總和。它以位元組為單位,佔16位。利用首部長度欄位和總長度欄位,就可以知道IP數據報中數據內容的起始位置和長度。
由於該欄位長16比特,所以IP數據報最長可達65535位元組。盡管可以傳送一個長達65535位元組的IP數據報,但是大多數的鏈路層都會對它進行分段。而且,主機也要求不能接收超過576位元組的數據報。由於TCP把用戶數據分成若干段,因此一般來說這個限制不會影響TCP。UDP的應用(如RIP、TFTP、BOOTP、DNS、SNMP等),都限制用戶數據報長度為512位元組,小於576位元組。但是,事實上現在大多數的實現允許超過8192位元組的IP數據報。
總長度欄位是IP首部中必要的內容,因為一些數據鏈路(如乙太網)需要填充一些數據以達到最小長度。盡管乙太網的最小幀長為46個位元組(將在本章後面介紹),但是IP數據可能會更短。如果沒有總長度欄位,那麼IP層就不知道46位元組中有多少是IP數據報的內容。
◆標識(Identification)
每一個IP封包都有一個16位的唯一識別碼。當程序產生的數據要通過網路傳送時都會被拆散成封包形式發送,當封包要進行重組的時候這個ID就是依據了。佔16位。
標識欄位唯一地標識主機發送的每一份數據報。通常每發送一份消息它的值就會加1。RFC791認為標識欄位應該由讓IP發送數據報的上層來選擇。假設有兩個連續的IP數據報,其中一個是由TCP生成的,而另一個是由UDP生成的,那麼它們可能具有相同的標識欄位。盡管這也可以照常工作(由重組演算法來處理),但是在大多數從伯克利派生出來的系統中,每發送一個IP數據報,IP層都要把一個內核變數的值加1,不管交給IP的數據來自哪一層。內核變數的初始值根據系統引導時的時間來設置。
◆標記(Flags)
這是當封包在傳輸過程中進行最佳組合時使用的3個bit的識別記號。佔3位。
◆000(Reserved Fragment):保留分段。當此值為0的時候表示目前未被使用。
◆.0.(Don't Fragment):不分段。當此值為0的時候表示封包可以被分段,如果為1則不能被分割。
◆..0( More Fragment):更多分段。當上一個值為0時,此值為0就示該封包是最後一個封包,如果為1則表示其後還有被分割的封包。
◆分段偏移(Fragment Offset,FO)
IP協議頭格式規定當封包被分段之後,由於網路情況或其它因素影響其抵達順序不會和當初切割順序一至,所以當封包進行分段的時候會為各片段做好定位記錄,以便在重組的時候就能夠對號入座。值為多少個位元組,如果封包並沒有被分段,則FO值為「0"。 佔13位。