2010年12月30日 星期四

TCP/IP


TCP state machine[1]

TCP states[1]
TCP segment format[1]


FLAGS(CODE BIT):
SYN 代表連線的過程中帶著同步的(序號)
ACK 表示回應欄的值是有效的
PSH 連線建立可以推送資料
RST 連線必須被重置
URG 警急的指標
FIN 結束連線


References:
[1] http://penguin.dcs.bbk.ac.uk/academic/networks/transport-layer/tcp/index.php
[2] http://140.115.236.4/mediawiki/index.php?title=TCP_header_%E7%9A%84Control_Flags

2010年12月14日 星期二

RJ45 (8P8C)

8P8C,也稱之為RJ45,是乙太網路使用雙絞線連線時常用的連結器插頭。8P8C的意義是8個位置(Position)也就是8個凹槽,8個觸點(Contact)也就是8個金屬接點。

出處:http://zh.wikipedia.org/zh-tw/8P8C# 

在快速乙太網路(Fast Ethernet)中(100Mbps),僅適用1、2、3、6四根線,差動訊號傳輸方式,減少電磁干擾,其中1、2為TX(發送)(擰在一起),3、6為RX(接收)擰在一起。因此直連線就是兩端同為EIA-568-A或者EIA-568-B,而乙太網路交叉線就是一端使用EIA-568-A,另一端使用EIA-568-B的連線方法。
在千兆以太網(1000BASEm 1Gbit/s)或者乙太網路供電(Power on Ethernet)中,全部的四對差動對都被使用。


連線顏色
分為兩種:T568A以及T568B
T568A:http://zh.wikipedia.org/zh-tw/T568A
T568B:http://zh.wikipedia.org/zh-tw/T568B


References:
[1]http://zh.wikipedia.org/zh-tw/8P8C#

2010年11月24日 星期三

C語言- incompatible types in assignment

如果使用陣列的方式宣告字串,則不可以直接使用=指定運算子另外指定字串
Ex.

char str[] = "hello";
str = "world";   // error, incompatible types in assignment

Reference:
http://caterpillar.onlyfun.net/Gossip/CGossip/PointerAndString.html

2010年11月16日 星期二

MSTP (Multiple Spanning Tree Protocol)

這篇很棒!  快速了解MSTP

Multiple Spanning Tree Protocol (IEEE 802.1s) is backwards compatible with STP/RSTP and addresses the limitations of existing spanning tree protocols (STP and RSTP) in networks to include the following features:
  • One Common and Internal Spanning Tree (CIST) that represents the entire network's connectivity.
  • Grouping of multiple bridges (or switching devices) into regions that appear as one single bridge on the network.
  • A VLAN can be mapped to a specific Multiple Spanning Tree Instance (MSTI). MSTI allows multiple VLANs to use the same spanning tree.
  • Load-balancing is possible as traffic from different VLANs can use distinct paths in a region. 

Purpose
  • To supplement VLAN insensitivity problem in STP/RSTP.

Edge Ports
  • Directly transition to forwarding, skipping learning states. 
  • Doesn’t generate topology changes when its link toggles. 
  • Become a normal spanning-tree port whenever receives a BPDU.


MST Instances
  • An MST bridge must be able to handle at least the following two instances 
    • One Common Internal Spanning Tree (CIST) 
    • One or more Multiple Spanning Tree Instance(s) (MSTIs) 
    • Cisco supports 16 instances: one CIST (instance 0) and 15 MSTIs


MST Instance
  • An MST Instance (MSTI) is a spanning tree instance. VLANs can be configured to run on a specific MSTI. Each created MSTI is identified by a unique number (known as an MST ID) known internally to a region. Thus an MSTI does not span across MST regions. 

Common and Internal Spanning Tree (CIST)
  • A CIST represents the connectivity of the entire network and it is equivalent to a spanning tree in an STP/RSTP. The CIST is the default MST instance (MSTID 0). Any VLANs that are not members of an MST instance are members of the CIST. In an MSTP-enabled network, there is only one CIST that runs between MST regions and single spanning tree devices. A network may contain multiple MST regions and other network segments running RSTP.

2010年11月11日 星期四

ThreadX

我想我現在稍微了解了點ThreadX在我們OS上的運作了...
也稍微了解了點產品的OS架構

期待下禮拜的training course學長的介紹!

拜託!! training course可不能打瞌睡阿!!!! 阿潘!!

2010年8月20日 星期五

vlan1q port isolation

如果1,2 port 開 vlan1q port-isolation
代表1,2彼此間packet不會互通,但各自跟其他的port都會通

2010年7月20日 星期二

Nessus

Nessus軟體是一套遠端弱點偵測掃瞄軟體,只要使用者能夠確認遠端主機的IP位址,它即能針對目標主機或網路進行安全評估。掃瞄結束後,Nessus能針對目標主機或網路安全弱點產生評估報告,並提供使用者包括:是否具有安全弱點或安全漏洞之訊息,以及提供安全弱點、安全漏洞之說明連結等。


Nessus最吸引人的地方在於它是免費下載的軟體,但是功能卻絲毫不遜色於其他產品。因此,從安全性分析師(Security Analyst)的角度看來,讓它成為資安人員的最愛。也由於它是獨立軟體開發公司的研究成果(它是靠著資安界以及有心人士的捐款來維持公司的運作與產品的推出,如OpenSource Project),這也確保了Nessus的中立性,避免因為價位而抹煞了它強大的功能。簡單來說,Nessus的主要功能包括如下:
  • 模組化設計架構。
  • 掃瞄系統核心與弱點偵測plugins分離的架構,以類似更新病毒碼的方式更新plugins,即時加入最新的弱點知識。目前 Nessus有14702 plugin、6789個CVE IDs、5532 Bugtraq IDs。
  • 使用內建的直譯器及程式語言:NASL(Nessus Attack Scripting Language)程式語言,使用者可依其語法自行撰寫攻擊測試程式。
  • 自動辨識遠端服務類型。
  • 可同時針對多台主機進行測試。
  • 可模擬入侵者的行為進行測試。


References:
[1]http://newsletter.ascc.sinica.edu.tw/news/read_news.php?nid=1283
[2]http://www.runpc.com.tw/content/main_content.aspx?mgo=192&fid=G04

2010年7月14日 星期三

C語言- strdup()

語法
     #include string.h

     char *
     strdup(const char *str);
函數描述
    配置足夠容納str字串的記憶體,
    並把str的內容複製到新配置的記憶體,
    傳回新記憶體位置。
傳回值
    新配置字串副本的位置。記憶體不足傳回NULL。

References:
[1]http://www.csie.nctu.edu.tw/~weiyu/wiki/index.php?n=FreeBSDMan3/Strdup
[2]http://www.opengroup.org/onlinepubs/009695399/functions/strdup.html

2010年6月23日 星期三

Ping 的參數

*Ping是藉由傳送「網際網路控制訊息通訊協定 (ICMP)」的「回應要求」訊息,驗證到其他 TCP/IP 電腦的 IP 級連線。顯示相應「回應轉接」訊息的回條及來回時間。



Syntax:
ping [-t] [-a] [-nCount] [-l Size] [-f] [-i TTL] [-v TOS] [-r Count] [-s Count] [{-j HostList | -k :::HostList}] [-w Timeout] [-R] [-SSrcAddr] [-4] [-6] TargetName



Reference:


2010年6月8日 星期二

MVR (Multicast VLAN Registration )

MVR(Multicast VLAN Registration) is designed for applications (such as Media-on-Demand (MoD)) that use multicast traffic across an Ethernet ring-based service provider network.

MVR allows one single multicast VLAN to be shared among different subscriber VLANs on the network. While isolated in different subscriber VLANs, connected devices can subscribe to and unsubscribe from the multicast stream in the multicast VLAN. This improves bandwidth utilization with reduced multicast traffic in the subscriber VLANs and simplifies multicast group management.

2010年6月4日 星期五

IGMP (Internet Group Management Protocol)

IGMP is used by Hosts to report their group memberships to Multicast Routers.

IGMPv1:  /* RFC1112*/
IGMP message types
General Query
Report (Join Group)

IGMPv2: /* RFC2236*/
The main difference compared with IGMPv1 is that there is a *Leave* Group message on IGMPv2.

IGMPv2 additional message types
Group-Specific Query
Leave Group

幾個default value:
  • Robustness Variable

The Robustness Variable allows tuning for the expected packet loss on a subnet. If a subnet is expected to be lossy, the Robustness Variable may be increased. IGMP is robust to (Robustness Variable-1) packet losses. The Robustness Variable MUST NOT be zero, and SHOULD NOT be one. Default: 2
  • Query Interval
The Query Interval is the interval between General Queries sent by the Querier. Default: 125 seconds. By varying the [Query Interval], an administrator may tune the number of IGMP messages on the subnet; larger values cause IGMP Queries to be sent less often.
  • Query Response Interval
The Max Response Time inserted into the periodic General Queries. Default: 100 (10 seconds) By varying the [Query Response Interval], an administrator may tune the burstiness of IGMP messages on the subnet; larger values make the traffic less bursty, as host responses are spread out over a larger interval. The number of seconds represented by the [Query Response Interval] must be less than the [Query Interval].
  • Group Membership Interval

The Group Membership Interval is the amount of time that must pass before a multicast router decides there are no more members of a group on a network. This value MUST be ((the Robustness Variable) times (the Query Interval)) plus (one Query Response Interval).


IGMPv3:  /* RFC3376*/
IGMPv3 enhancements:
IGMPv3 adds support for *source filtering*
*only* from a source
*all but* a source

IGMPv3 used by multicast routing protocols to avoid delivering multicast packets from specific sources to networks where there are no interested receivers.





IGMP v2 support "leave group",v3則是多了filtering的方式,可以選擇誰可以join group

Immediate leave vs. Normal leave vs. Fast leave

IGMP Router   
   |
   |
Switch (IGMP Snooping)
 |                 |
 |                 |
HOSTA       HOST-B


Normal leave:
當有HOST要Leave group則會發出leave group的message,而switch做IGMP Snooping則是把這訊息forward給IGMP Router,Router收到leave group message後要做check誰還在group的動作所以發出 GSQ(Group Specific Query),Switch收到後再forwaard給同group的HOST,這時候要離開Group的HOST就不會再發出Query message告知說他還在這個group中;反之要繼續在這個group的HOST就會發出Query給Switch確認還在group中。


Fast leave:
縮短leave group的時間。當HOST要leave時發出leave group message。此時switch會代替IGMP Router發出GSQ訊息給同group的HOST,但同時也forward leave message給Router。這時候仍要在這個group的HOST會發出Query;反之要離開的在收到GSQ時就完全leave


Immediate leave:
當有HOST要leave group時發出leave group的message,則不等收到GSQ就直接脫離這個multicast group。



Reference:
[1]http://ccie11440.blogspot.com/2007/07/igmpv1-vs-igmpv2-vs-igmpv3.html

2010年5月26日 星期三

2010年5月13日 星期四

IEEE 802.3ah - OAM

The IEEE 802.3ah, Operations, Administration, and Maintenance (OAM) sublayer, which provides mechanisms useful for monitoring link operation such as remote fault indication and remote loopback control. In general, OAM provides network operators the ability to monitor the health of the network and quickly determine the location of failing links or fault conditions.



Reference:
[1]http://en.wikipedia.org/wiki/OAM
[2]IEEE Std 802.3™-2005
[3]Metro Ethernet Forum. Ethernet in the First Mile Operations, Administration and Maintenance (OAM) – A Tutorial

2010年5月7日 星期五

Watch Dog 看門狗

Watch Dog(看門狗)主要是被設計來當程式發生不可預期的錯誤(程式本身的漏洞, 程式跑進無窮回圈 或 外部信號干擾產生錯誤動作)時用來重置系統的功能,以確保系統穩定,
它是一個timer, 如果enable, 它就會從一定的值倒數, 數到0時就會做reset的動作, 所以系統會固定一段時間touch它一下, 表示系統還活著

Watch Dog要是設計來當程式跑進無窮回圈或誤動作時,用來重置系統即重新啟動的功能.不見得有效!
Watch Dog一般是避免程式有bug造成電硬體有傷害,到一定的時間變會重新Reset,讓設計者能夠發現去解決

Watch Dog is a system block function for reliability. Mostly, watch dog block should be designed with a CPU block and System hardware reset block. It should be programming and enable when system boot up. System CPU will reset watch do timer in a predefined duration, if CPU too busy, the system will be reset by Watch Dog .


Reference:
[1] http://forum.eettaiwan.com/FORUM_POST_1000039157_1200047570_0.HTM

C語言- memcmp() 用法

/* 比較兩個block的內容, Compare two blocks of memory */

int compare_result = 0;
/* 存放function return value, 0: same; else: different */

int length = strlen(str1);
 /* for memcmp(), 要比較長度為多少 */

char str1[] = "abccc";
char str2[] = "abcdc";

compare_result = memcmp(str1, str2, length);
/* 此時 compare_result != 0 */



延伸閱讀
http://www.cplusplus.com/reference/clibrary/cstring/memcmp/

C語言- sprintf() 用法

/* 把argv[1]的string給塞到一個array中 */

/* 假設argv[1] 為存一個string */

#define max_size  55

char aaa[max_size];
sprintf(aaa, "%s", argv[1]);


延伸閱讀
http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/

2010年3月31日 星期三

[JS] checkbox至少要選一個

function ccbox()
{
var n = 0;
var checked = false;

for(var i=0; i< document.SecuredClientForm.elements.length; i++)
{
var e = document.SecuredClientForm.elements[i];

if( e.name == 'cbox' && e.checked == true )
{
n++;
}
}
if(n == 0)
{
alert("at least one, please");
}
else
{
return true;
}



/*form的名稱為SecuredClientForm,
checkbox的屬性加上onBlur="ccbox()" --> 移開的時候觸發 */

References:
[1]http://www.blueshop.com.tw/board/FUM20041006152641OLG/BRD20050320125232FY3.html
[2]javascript教室 http://alfu.csie.vnu.edu.tw/webdesign/javascript/js_basic.htm

2010年1月21日 星期四

LACP (Link Aggregation Control Protocol)

在一般伺服器或者交換機的網路在大量傳輸過程會遭遇到瓶頸,通常要解決這種問題直觀方式就是儘可能的加大每條channel的頻寬囉~ 但每個Port的上線頻寬都是固定的阿!所以就有人提出所謂的「Trunking」的概念。

Trunking意即為將幾條port channel「邏輯的」想像成合併成一條大的channel。好比從甲地開車到乙地原本是只有一條單行道可以通行(一個port),Trunk就是將這條馬路拓寬為三線道四線道,白話點的解釋可以這樣想像。

而當大家遇到這些問題的時候各家廠商就會去各自提出解決的方式。在過去,INTEL叫LINK AGGREGATION,CISCO叫FAST ETHERCHANNEL,3COM叫PORT TRUNKING。百家爭鳴的結果所以衍生一個國際標準:IEEE802.3ad LACP

但Trunking為static的,沒有設定就不會有這功能。LACP則差別是有Learning的概念,透過一段時間後可以找出最適合現在網路狀況的LACP Group,動態的改善網路頻寬的使用

LACP(Link Aggregation Control Protocol)為IEEE 標準規格 802.3ad. 可以將上許多不同的實體連接埠(port)邏輯的共同結合在一起, 視為一條線路[1]。LACP有幾個限制條件:
1)full-duplex links
2)相同的media type, speed, duplex mode, flow control settings
Link Aggregation ID:system priority + MAC + KEY + port priority + port Number

同一個LACP的成員埠可以均衡負載,相互備援。LACP通常用於需要提高主幹網路頻寬的應用,這是一個提高網路傳輸資料量的最經濟的方式。

References:
[1]http://www.samtseng.liho.tw/~samtz/blog/?p=2612
[2]http://wordpress.morezman.com/?p=104#more-104

2010年1月20日 星期三

C語言- GCC, 程式compile流程, STL

GCC Gnu Compiler Collection(GCC),應該是GNU最有名的傑作了。很多研 究單位不想多花錢買商用的compiler就用gcc來compile。本來gcc的意思是 專指gnu c compiler,不過後來延伸出pascal,fortran等等只要是GNU負責的 都是,不過我們還是指有c/c++/object c 的gnu compiler package 。他的功能跟強大不是一般compiler比得上的。

它可以是個cross-compiler,也就是它可以在Intel的機器上編譯程式,但是這 個程式是Sun Sparc Solaris的執行檔,反之也可以,只要他有支援的機器,作 業系統,就可這樣亂七八糟的愛怎麼編就怎麼編。現在最流行的就是arm這顆 CPU,或者palm的程式寫作,用gcc實在是太好用了。

而且這個編譯器是免費的,不要說怎麼這麼陽春,沒有IDE,基本上寫作大程式, 是沒有這些東西的,寫程式寫到好幾萬行時,那些已經沒有一個清醒的頭 腦重要了。因此要會真正的C功力,要寫真正有用的程式,非gcc莫屬了。 這是一個免費的練習的好軟體。

通常一個編譯過程通常需要4道程序

1.preprocess 先處理那些#ifdef #define這些東西並做一些巨集代換
2.compile 做語意分析,翻譯成組合語言
3.assemble 翻成機器碼與OS有關的格式,做成relocatable obj檔。
4.link 找到symbol(函式,變數名)與程式庫(shared obj)中的副程式 ,做成可執行obj檔(executable obj)。[1]

其中,.h 檔存的就是相關 .c (或 .cpp) 裡面函式的原型 (也叫函式宣告). 而 .c (或 .cpp) 裡面存的是函式的定義.

而在C++中,有個所謂的標準函式庫(STL:Standard Template Library),其跟C主要差別在此就是個Template的概念。標準函式庫裡面各函式的定義早已預先編譯好了, 放在一或多個 .lib 檔裡 (Library 檔是 .obj 檔的總收集). 很多 IDE 或 linker 會自動的使用這些跟編譯器一起配套的, 常用的 .lib 檔. IDE 的專案設定裡有個設定可以關掉這個自動的使用, 如果你關掉的話, 你就會得到許許多多的 linker 錯誤.[2]

標準的C函式庫以及C++的STL可以到C++ Reference來做查詢
http://www.cppreference.com/wiki/


延伸閱讀:gcc參數指令 、 GNU Compiler Collection (GCC) 、 gcc(3.4.6) Optimize-Options

References:
[1]http://www.study-area.org/cyril/opentools/opentools/gcc.html#AEN848
[2]http://blog.yam.com/htshboy/article/13869891

2010年1月19日 星期二

TFTP

TFTP(Trivial File Transfer Protocol,簡單文件傳輸傳輸協定)是TCP/IP傳輸協定族中的一個用來在客戶端機與伺服器之間進行簡單文件傳輸的傳輸協定,提供不複雜、預先配置不大的文件傳輸服務。FTP使用TCP, 但TFTP承載在UDP上,故其提供不可靠的資料流傳輸服務,不提供存取授權與認證機制,使用超時重傳方式來保證資料的到達。與FTP相比,TFTP的大小要小的多。現在最普遍使用的是第二版TFTP(TFTP Version 2,RFC 1350)[1]



TFTP, (Trivial File Transfer Protocol), is a file transfer protocol used file transferring between customer and server. With the functionality of a very basic form of FTP(File Transfer Protocol). TFTP is a simple protocol to transfer files. It has been implemented on top of the User Datagram Protocol (UDP) using port number 69. TFTP is designed to be small and easy to implement, therefore, lacks most of the features of a regular FTP. TFTP only reads and writes files (or mail) from/to a remote server. It cannot list directories, and currently has no provisions for user authentication.

TFTP could be implemented using a very small amount of memory, so was therefore useful for the device that did not have any data storage services, such as our product. It is still used to transfer small amounts of data between hosts on a network



Reference:
[1]http://forum.slime.com.tw/thread87988.html

調整Windows視窗背景顏色

工作需要長時間盯著螢幕看東西,白色背景看久實在是很傷眼...
從網路上找到一個可以調整視窗背景顏色的方法
在桌面上空白處按右鍵->內容->外觀->進階->項目的地方選擇"視窗"->按下"色彩1"按鈕->其他
->在以下的選項輸入數值.色調:85.濃度:123.亮度:205->新增自訂色彩->確定

從此之後視窗背景看起來就會是蘋果綠的顏色,看起來就舒服多了!

2010年1月6日 星期三

ARP Spoofing (ARP欺騙)

ARP Spoofing 攻擊的根本原理是因為Windows電腦中維護著一個 ARP 快取記憶體(讓你可以使用 arp 命令來查看你自己的ARP快取記憶體),並且這個ARP 快取記憶體是隨著電腦不斷的發出ARP請求和收到ARP回應而不斷的更新的, ARP 快取記憶體的目的是把機器的IP位址和MAC位址相互映射,使得IP資料包在乙太網內得順利而正確找到目的MAC位址,然後正確無誤的傳送。 如果你可以藉由發出標準的ARP請求或ARP回應來擾亂或竄改某電腦或路由器內正常的ARP表,而導致該電腦(或路由器)發出的資料包誤傳目的地,或使OSI的第二層乙太網和第三層無法連接,進而癱瘓網路,我們就稱你使用了ARP欺騙攻擊。
舉例說明: 現在有三部機器分別是機器A:IP1/MAC1、機器B:IP2/MAC2、機器C:IP3/MAC3 。現在機器B上的用戶是位駭客企圖干擾機器A或是監視SNIFFER機器A與C之間的通訊,首先他向機器A發出一個 ARP Reply,其中的目的IP位址為IP1,目的(Destination) MAC 位址為MAC1,而源(Source)IP地址為IP3,源MAC地址為 MAC2 。好了, 現在機器A更新了他的 ARP快取記憶體,並相信了IP3地址的機器的MAC地址是 MAC2 。當機器A上的管理員發出一條FTP命令時---ftp IP3,資料包被送到了Switch,Switch查看資料包中的目的地址,發現MAC為 MAC2 ,於是,他把資料包發到了機器B上,因此成功攻擊機器A。現在如果不想影響A和C之間的通信該怎麼辦?僅是sniffer監視兩者之間的通訊,你可以同時欺騙他們雙方,使用 man-in-middle攻擊,便可以達到效果 。

總之本機在傳送資料包之前,會送出一個關於查詢目的IP位址的MAC乙太網廣播包。正常情況下,只有對應目的IP的主機會以一個自己的48位元MAC主機位址unicast包來做回應,並且將該IP與MAC位址對應更新本機內ARP快取記憶體,以節約不必要的ARP通信。如果有一個中毒的電腦或是網內合法授權進行非法活動的駭客,他們是對本地網路具有寫訪問許可權,極可能這樣一台機器就會發佈虛假的ARP請求或回應通訊,欺騙其他電腦或路由器將所有通信都轉向它自己,然後它就可以扮演某些機器,或對資料流程進行修改。這樣就造成arp欺騙攻擊,影響正常的主機通信。

ARP欺騙攻擊分類基本上可以分為刻意的特定目標攻擊,及因為中毒無意的攻擎。這二種的攻擊本意有所不同,
(一)通常是利用網路下載的工具、例如網路翦刀手netcut程式 然後惡意攻擊他人並將攻擊封包偽裝以駕禍於他人,其危害常是少數特定目標,但是由於攻擊者以Unicast 包方式傳送且善於偽裝,因此網路管理員極難找出問題所在,也由於此類型程式下載容易操作簡單,近期於網路中快速擴散,造成網路管理人員極大負擔,也由於目前尚無完整機制快速偵測出此類型規則來源,因此常會使管理人員處理此類問題時疲於奔命,處理耗費時間同時效果不彰,過程中也讓網路管理人員專業能力受到極大的質疑。
(二)通常是使用者中毒後中毒軟體發送ARP欺騙封包以誤導其他人將封包送往錯誤的路徑,導致變像的攻擊使閘道受害或某用戶的遭炴,其主要的目的是造成部份或整體網路的危害

位置解析協定(Address Resolution Protocol)在區域網路中極其重要,他是屬於區域網路同ㄧ子網段內部主機對主機的傳輸或主機與路由器之間傳輸重要的協定。如果局域網內是屬於中大型網路具有多個子網路,那麼防火牆/IPS入侵偵測設備通常被設置在核心路由交換器之後根本沒有機會接觸ARP封包,因此對ARP攻擊束手無策。即使局域網內只有一個網段,防火牆/IPS入侵偵測設備兼具路由器功能也僅能偵測部分ARP廣播包,且大部分的產品如使用作業系統(如Linux)的TCP/IP Socket就難以偵測ARP數據包,因此目前的防火牆/IPS入侵偵測設備幾乎不具有即時防止「欺騙位置解析協定攻擊(ARP Spoofing Attack)」的功能,就算有也僅止於出口控制無法由網路底層第一時間阻隔此類攻擊。 [1]


解決方式之ㄧ:ARP Inspection(ARP 檢查)[2]
CISCO Dynamic ARP Inspection (DAI)在交換機上提供IP地址和MAC地址的綁定, 並動態建立綁定關系。DAI 以 DHCP Snooping綁定表為基礎,對于沒有使用DHCP的服務器個別機器可以采用靜態添加ARP access-list實現。DAI配置針對VLAN,對于同一VLAN內的接口可以開啟DAI也可以關閉。通過DAI可以控制某個端口的ARP請求報文數量。所以,我認為,通過這樣的配置,可以解決ARP攻擊問題,更好的提高網絡安全性和穩定性。


References:
[1]http://forum.icst.org.tw/phpbb/viewtopic.php?t=12725
[2]http://big5.xueeu.com/html/information-3/5586tw.html