首先理解:in 將改變自己 out將改變別人
一. 距離矢量協議Rip Eigrp
因爲距離矢量協議直接傳遞路由信息,會在運行協議進程接口的in 和out方向控制相應協議路由信息Distribute-list in在協議接口的in方向控制路由信息,只改變自己(生成路由表之前就改變路由信息)其它路由器不改變(除非是邊界協議路由器會影響其它協議的重發布等)
Distribute-list out在協議接口的out方向控制路由信息,自己不改變(路由表已生成),其它路由器會改變。
二. 鏈路狀態協議Ospf Is-Is
因爲鏈路狀態協議傳遞的是LSA(LSU)信息,在每臺路由器同步LSA(LSU)後每臺路由器根據database數據庫信息運行SPF算法再得到路由表信息。在接口in 和out方向不直接傳遞路由信息.
但5類LSA類似距離矢量協議會受影響所以5類的外部路由會被distribute-list發生改變.
如果是一個純的鏈路狀態協議的網絡(ospf)沒有5類的LSA:
Distribute-list out將不起任何作用(其它路由器不受改變),但會在不同進程之間起作用.
如: R2(config-router)#distribute-list 1 out ospf 1(沒做實驗驗證)
Distribute-list in 不改變ospf database的信息,但會過濾相應的生成的路由信息