商用資料通訊Ch8筆記_TCP/IP Internetworking I_part2

ARP緩存的優點跟缺點
優點是可以提高數據包轉發的速度和效率,因為它可以避免在每個數據包中進行ARP查找。此外還可以減少網絡流量。
缺點:
1.如果目標主機或下一跳路由器的MAC地址發生變化,則ARP緩存中的信息可能會變得不正確。這可能會導致數據包被發送到錯誤的位置。
2.ARP緩存可能會被攻擊者利用來進行ARP欺騙攻擊。攻擊者可以發送偽造的ARP消息來修改ARP緩存中的信息,從而將數據包發送到錯誤的位置或監聽通信。

A client PC has two simultaneous connections to the same webserver application program on a webserver. (Yes, this is possible, and in fact, it is rather common.) What will be different between the TCP segments that the client sends on the two connections? (Hint: Consider all the fields in a TCP segment.)

如果客戶端PC對Web服務器上的同一Web服務器應用程序進行了兩個同時連接,那麼客戶端發送到兩個連接的TCP段之間的區別在於源端口序列號字段。源端口是用於識別來自不同應用程序的數據包,而序列號則是用於確保數據包按正確順序到達目的地。
因此,即使來自同一客戶端PC的兩個TCP段都指向同一Web服務器應用程序,它們仍然需要使用不同的源端口和序列號字段以區分它們。其他TCP段字段(例如目標IP地址、目標端口、窗口大小等)在這兩個TCP段之間是相同的。

IP Version 4 (IPv4) standard Packet Syntax
The First Row
1.版本號(4bit):指定IP協議的版本,IPv4的版本號為4。會用0100二進制表示。

2.頭部長度(4bit):以32位字組為單位表示。IPv4首部長度最小為20Byte,最大為60Byte。

3.DSCP(Differentiated Services Control Point,6bit):
一種用於指定IP數據包的服務質量(QoS)要求的6bit欄位。它可以指定該數據包應該被分配到何種服務類型,例如低延遲、高優先級或其他類型的服務。

4.ECN(Explicit Congestion Notification):
用於指示網絡中是否存在擁塞的2bit欄位。當網絡中出現擁塞時,路由器可以通過將ECN位設置為1來通知發送方降低其傳輸速率,以減少網絡擁塞的程度。這有助於提高網絡性能和可靠性。

5.總長度(16bit):指定整個IP數據包的長度,以Byte為單位表示。以乙太網路為例,整個 IP 封包最大可達 1500Bytes,所以此欄位的最大值即為1500 (十進位)。

The Second Row 這一列欄位通常用於處理IP數據包的分段
6.識別符(identification,16bit):由發送端對每一個 IP 封包進行唯一辨識代碼的設定,以便接收端可以根據此辨識碼執行封包辨識工作。若封包在傳輸過程中因為最大傳輸單位 (MTU) 的限制,導致傳輸過程中,將封包切割成幾個片段 (Fragments) 進行傳送,而因為每個 IP 封包到達目的裝置的先後順序可能與出發時的順序不同,因此接收端在進行封包重組時,便必須以此識別碼進行判斷 IP 封包原來的順序,以便能將屬於相同資料封包的片段組合在一起。

7.標誌(flag,3bit):對 IP 封包的切割提供控制訊息。第一個位元未定義,設定為0;第二個位元 DF (Don’t Fragment) 定義封包是否可加以切割,0 代表可切割,1 代表不可切割;第三個位元 MF (More Fragment),定義此傳輸封包是否為原始封包的最後片段,0 代表最後片段,1 代表尚有其他片段。

8.片偏移(fragment offset,13bit)用來記錄 IP Fragment 所載送的是原始 IP Payload 的哪一段資
料,實現分段和重組功能。當一個IP數據包太大時,可以將其分成多個片段傳輸,接收方再將這些片段重組成原始封包,因為 IP 封包切割後,原始封包內 IP Payload 的資料會分散到每個IP
Fragment 中, 因此需要分別註明以便重組。

The Third Row
9.IP Time to Live (TTL)
用於限制IP數據包在網絡中傳輸的最大跳數。每當一個路由器轉發一個IP數據包時,TTL值就會減1。當TTL值變為0時,該數據包將被丟棄。
10.IP Protocol:指定IP數據包中所包含的上層協議類型,例如TCP、UDP或ICMP等。
11.頭部校驗和(Header Checksum):用於檢查IP首部在傳輸過程中是否出現錯誤。

The Fourth Row
Source IP Address (32 bits)

The Fifth Row
Destination IP Address (32 bits)

What is the use of a version field? What values can it take?
用於指定IP數據包所使用的協議版本。IPv4和IPv6都有版本字段,它們分別為4位元和8位元。版本字段的作用是讓接收方能夠識別數據包所使用的IP協議版本,以便對其進行相應的處理。
在IPv4中,版本字段只能取值為4,因為IPv4只支持該版本。而在IPv6中,版本字段只能取值為6,因為IPv6只支持該版本。

Can an Internet Protocol control transmission frequencies between hosts? How?
Internet Protocol(IP)無法直接控制主機之間的傳輸頻率。然而,IP協議中的顯式擁塞通知(ECN)欄位可以用於減少一對主機之間的傳輸頻率,以應對它們之間的傳輸系統擁塞。當網絡出現擁塞時,路由器可以向發送方發送ECN包,告知其減少傳輸頻率。這樣可以減少網絡中的流量,從而減輕網絡負載和提高整體性能。因此,ECN字段是IP協議中一個重要的功能,用於提高網絡效率和可靠性。

Specify the maximum size of IP packets in octets(bytes).
IP數據包的最大大小是由其長度字段指定的,該字段佔16位元,可以表示的最大值為65535。這個值包括IP數據包的頭部和數據部分。因此,IP數據包的最大大小為65535個八位元組(即65535個字節)。但是,在實際應用中,由於網絡傳輸介質和路由器等設備對數據包大小有限制,因此通常使用更小的MTU(最大傳輸單元)來確保數據包能夠正確地傳輸。在IPv4中,MTU通常被設置為1500Byte。

Distinguish between application message fragmentation and packet fragmentation.
應用消息分段是指將一個大的應用層消息(例如文件或電子郵件)分成多個小的數據塊,以便在傳輸過程中進行傳輸。這些小塊可以被獨立地傳輸,然後在接收端重新組裝成原始的消息。這種分段是由應用程序自己實現的,而不是由網絡協議負責

數據包分段是指將一個大的IP數據包分成多個小的片段,以便在網絡上進行傳輸。這些片段可以被獨立地傳輸,然後在目的地重新組裝成原始的IP數據包。是由IP協議負責實現的。

Under what circumstances would the identification, flags, and fragment offset fields be used in IP? Why did we not study them in detail?Does IPv6 allow packet fragmentation?
識別、標誌和片段偏移量這些都偏向用於封包分段處裡用途,在IPv4協議中,由於分段可能會導致許多問題,現代操作系統通常不允許路由器對IPv4數據包進行分段。因此,在IPv6協議中,不再允許進行數據包分段。

What does a router do if it receives a packet with a TTL value of 2?
What does the next router do?
如果下一個路由器收到一個TTL值為2的數據包,它會將TTL值減1,變成1,然後將數據包轉發到下一個路由器。當TTL值減為0時,路由器會丟棄該數據包,以避免它在網絡上無限循環。

What does the protocol field value tell the destination host?
協議字段值告訴目的地主機該數據包的數據字段內容是什麼,例如ICMP消息、TCP段、UDP數據報等。這有助於目的地主機將該數據包傳遞給正確的進程進行處理。

 What is the main problem with IPv4 that IPv6 was created to solve? How does IPv6 solve this problem?

IPv4的主要問題是地址空間不足,只有約42億個可用的IP地址,而且由於互聯網的快速發展,這些地址已經不夠用了。IPv6的創建旨在解決這個問題,它擁有更大的地址空間,IPv6通過擴展地址空間來解決IPv4的地址不足問題。IPv6使用128位地址,可以提供高達340兆兆兆兆(3.4×10^38)個可用的IP地址,相比之下,IPv4僅使用32位地址。


Are IPv6 addresses written in uppercase or lowercase letters?

IPv6地址可以使用大寫或小寫字母表示,這是由於IPv6地址中的16進制數字可以使用大小寫字母表示。


Are IPv6 addresses written with decimal or hexadecimal symbols?

IPv6地址使用16進制符號表示,而不是十進制符號。IPv6地址中的每個數字都由4位二進制數字組成,可以使用16進制表示。


How many symbols are there in a field?

在IPv6地址中,每個字段由4個16進制符號組成,因此每個字段有4個符號。


留言

這個網誌中的熱門文章

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header

經得起原始碼資安弱點掃描的程式設計習慣培養(三)_7.Cross Site Scripting(XSS)_Stored XSS_Reflected XSS All Clients

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題