IP性能技術介紹


IP性能

在一些特定的網絡環境裏,需要調整IP的參數,以便網絡性能達到較佳。影響IP性能的配置包括:

l              接收和發送定向廣播報文

l              接口的TCP最大報文段長度

l              TCPSYN Cookie和防止Naptha攻擊功能

l              TCP定時器

l              TCP連接的接收和發送緩衝區的大小

l              ICMP差錯報文發送功能

接收和發送定向廣播報文

定向廣播報文是指發送給特定網絡的廣播報文。該報文的目的IP地址中網絡號碼字段為特定網絡的網絡號,主機號碼字段為全1

如果允許設備接收並轉發目的地址為接口所在網絡的定向廣播報文,黑客就可以利用這樣的報文來攻擊網絡係統,給網絡的安全帶來了很大的隱患。因此,缺省情況下,設備禁止接收和轉發接口所在網絡的定向廣播報文。

在某些應用環境下,設備需要轉發定向廣播報文,例如:

l              使用UDP Helper功能,將廣播報文轉換為單播報文發送給指定的服務器。

l              使用Wake on LAN(網絡喚醒)功能,發送定向廣播報文喚醒遠程網絡中的計算機。

在上述情況下,用戶可以通過命令配置設備允許接收和轉發定向廣播報文。

接口的TCP最大報文段長度

接口上TCP最大報文段長度決定了該接口上的TCP報文是否需要分段。當接口上發送的TCP報文的長度小於接口上TCP最大報文段長度時,TCP報文不需要分段;否則,需要對TCP報文按照最大報文段長度進行分段處理。

TCPSYN Cookie功能

一般情況下,TCP連接的建立需要經過三次握手,即:

(1)        TCP連接請求的發起者向目標服務器發送SYN報文;

(2)        目標服務器收到SYN報文後,建立處於SYN_RECEIVED狀態的TCP半連接,並向發起者回複SYN ACK報文,等待發起者的回應;

(3)        發起者收到SYN ACK報文後,回應ACK報文,這樣TCP連接就建立起來了。

利用TCP連接的建立過程,一些惡意的攻擊者可以進行SYN Flood攻擊。攻擊者向服務器發送大量請求建立TCP連接的SYN報文,而不回應服務器的SYN ACK報文,導致服務器上建立了大量的TCP半連接。從而,達到耗費服務器資源,使服務器無法處理正常業務的目的。

SYN Cookie功能用來防止SYN Flood攻擊。當服務器收到TCP連接請求時,不建立TCP半連接,而直接向發起者回複SYN ACK報文。服務器接收到發起者回應的ACK報文後,才建立連接,並進入ESTABLISHED狀態。通過這種方式,可以避免在服務器上建立大量的TCP半連接,防止服務器受到SYN Flood攻擊。

防止Naptha攻擊功能

Naptha攻擊類似於SYN Flood攻擊,所不同的是Naptha攻擊可利用TCP連接的CLOSINGESTABLISHEDFIN_WAIT_1FIN_WAIT_2LAST_ACKSYN_RECEIVED六種狀態來達到攻擊目的,而SYN Flood隻是利用SYN_RECEIVED狀態。

Naptha攻擊通過控製大量主機與服務器建立TCP連接,並使這些連接處於同一種狀態(上述六種狀態中的一種),而不請求任何數據,從而達到消耗服務器的內存資源,導致服務器無法處理正常業務的目的。

防止Naptha攻擊功能通過加速TCP狀態的老化,來降低服務器遭受Naptha攻擊的風險。使能防止Naptha攻擊功能後,設備周期性地檢測處於上述六種狀態的TCP連接數,如果檢測到某個狀態的TCP連接數目超過設定的最大連接數,則加速該狀態下TCP連接的老化。

TCP定時器及緩衝區

l              synwait定時器:當發送SYN報文時,TCP啟動synwait定時器,如果synwait超時前未收到回應報文,則TCP連接建立不成功。

l              finwait定時器:當TCP的連接狀態為FIN_WAIT_2時,啟動finwait定時器,如果在定時器超時前沒有收到報文,則TCP連接終止;如果收到FIN報文,則TCP連接狀態變為TIME_WAIT狀態;如果收到非FIN報文,則從收到的最後一個非FIN報文開始重新計時,在超時後中止連接。

l              TCP連接的接收和發送緩衝區的大小。

ICMP差錯報文發送功能

發送差錯報文是ICMPInternet Control Message Protocol,互聯網控製報文協議)的主要功能之一。ICMP報文通常被網絡層或傳輸層協議用來在異常情況發生時通知相應設備,從而便於進行控製管理。

1. ICMP差錯報文發送功能的作用

重定向報文、超時報文、目的不可達報文是ICMP差錯報文中的三種。下麵分別介紹這三種差錯報文發送的條件及作用。

(1)        ICMP重定向報文發送功能

主機啟動時,它的路由表中可能隻有一條到缺省網關的缺省路由。當滿足一定的條件時,缺省網關會向源主機發送ICMP重定向報文,通知主機重新選擇正確的下一跳進行後續報文的發送。

滿足下列條件時,設備會發送ICMP重定向報文:

l              接收和轉發數據報文的接口是同一接口;

l              被選擇的路由本身沒有被ICMP重定向報文創建或修改過;

l              被選擇的路由不是設備的默認路由;

l              數據報文中沒有源路由選項。

ICMP重定向報文發送功能可以簡化主機的管理,使具有很少選路信息的主機逐漸建立較完善的路由表,從而找到較佳路由。

(2)        ICMP超時報文發送功能

ICMP超時報文發送功能是在設備收到IP數據報文後,如果發生超時差錯,則將報文丟棄並給源端發送ICMP超時差錯報文。

設備在滿足下列條件時會發送ICMP超時報文:

l              設備收到IP數據報文後,如果報文的目的地不是本地且報文的TTL字段是1,則發送“TTL超時”ICMP差錯報文;

l              設備收到目的地址為本地的IP數據報文的第一個分片後,啟動定時器,如果所有分片報文到達之前定時器超時,則會發送“重組超時”ICMP差錯報文。

(3)        ICMP目的不可達報文發送功能

ICMP目的不可達報文發送功能是在設備收到IP數據報文後,如果發生目的不可達的差錯,則將報文丟棄並給源端發送ICMP目的不可達差錯報文。

設備在滿足下列條件時會發送目的不可達報文:

l              設備在轉發報文時,如果在路由表中沒有找到對應的轉發路由,且路由表中沒有缺省路由,則給源端發送“網絡不可達”ICMP差錯報文;

l              設備收到目的地址為本地的數據報文時,如果設備不支持數據報文采用的傳輸層協議,則給源端發送“協議不可達”ICMP差錯報文;

l              設備收到目的地址為本地、傳輸層協議為UDP的數據報文時,如果報文的端口號與正在使用的進程不匹配,則給源端發送“端口不可達”ICMP差錯報文;

l              源端如果采用“嚴格的源路由選擇”發送報文,當中間設備發現源路由所指定的下一個設備不在其直接連接的網絡上,則給源端發送“源站路由失敗”的ICMP差錯報文;

l              設備在轉發報文時,如果轉發接口的MTU小於報文的長度,但報文被設置了不可分片,則給源端發送“需要進行分片但設置了不分片比特”ICMP差錯報文。

2. ICMP差錯報文發送功能的弊端

ICMP差錯報文的發送雖然方便了網絡的控製管理,但也存在一定的弊端:

l              由於發送大量的ICMP報文,增大了網絡流量。

l              如果設備接收到大量需要發送ICMP差錯報文的惡意攻擊報文,設備會因為處理大量該類報文而導致性能降低。

l              由於重定向功能會在主機的路由表中增加主機路由,當增加的主機路由很多時,會降低主機性能。

l              由於ICMP目的不可達報文傳遞給用戶進程的信息為不可達信息,如果有用戶惡意攻擊,可能會影響終端用戶的正常使用。

為了避免上述現象發生,可以關閉設備的ICMP差錯報文發送功能,從而減少網絡流量、防止遭到惡意攻擊。

 

附件下載

聯係我們