文章

顯示從 3月, 2017 起發佈的文章

IPv6的延伸標頭 Extended Header

圖片
IPv4 的時代要使用一些特殊的功能(如通知或控制)有兩種方式,1. IPv4 Option,2. ICMPv4 IPv4 Option 需要在IPv4標頭的最後面再加上各種 OPTION,這個動作會造成IPv4標頭長度不固定。 (IPv4標頭最小是20 bytes,最大是60 bytes) IPv4不常用Option功能,因為處理Option可能會消耗到寶貴的CPU資源 IPv4 Option 格式 Option Type - 指定這個 option 是做甚麼用的,Option Type 又分成3個小項目     Copied- 如果這個封包會被分割,是否要把這個option複製到全部分割後的IPv4標頭內,1 = Yes,0 = No     Option Class - option的分類,雖然2 bits可以分成四類,目前只有 0 Control和2 Debugging and Measurement,這兩個有用到     Option Number - 接續上面的分類(class),指定在類別內的功能 Option Length - 0 or 1 byte - 整個Option的大小,包含option的標頭,單位是byte Option Data - 0 or any bytes - 這個 option 要傳送的資料 可以用Windows Ping功能的 -r -s -k -j參數,這些參數會設定IPv4 Option,最常用的應該是 -r 功能 Record Route - 紀錄一路上經過的路由器數量和IP,因IPv4封包上限限制紀錄的最高數量是9 底下的圖片是使用wireshark抓Ping -r 的截圖,只截取Option的部分 圖片的上方是 Echo 下面是 Reply 底下的網址有IPv4 option列表 http://www.networksorcery.com/enp/protocol/ip.htm#Options ICMPv4 (這邊會用 v4 是為了要跟 ICMPv6 區別) 另一種方式是使用ICMP,通常是用來通知主機或路由器網路上發生了錯誤,還有常用的Ping功能也是ICMP的一部份 這邊有很完整的ICMPv4介紹 http://www.pcnet.i