我的專業是網絡工程

          人生因踏實而非凡

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            5 Posts :: 0 Stories :: 16 Comments :: 0 Trackbacks

          請教一個問題
          一個數據包從PC機發出經過ACCESS端口->TRUNK端口->TRunk->ACCESS->PC
          數據包發生了怎么樣的變化,很是迷惑,賜教!

          ?

          ?

          鄭璐 老師:

          Tag IEEE802.1Q協議定義的VLAN的標記在數據幀中的標示;
          ACCESS
          端口,TRUNK端口是廠家對某一種端口的叫法,并非IEEE802.1Q協議的標準定義;

          這個數據交換的過程比較復雜,如果想解釋的話,首先要了解一下
          幾個IEEE802.1Q協議的定理 ;
          1 、下面是定義的各種端口類型對各種數據幀的處理方法

          ????? ????????Tagged
          數據幀 ??Tagged數據幀 ????Untagged數據幀 ??? ????Untagged數據幀
          ???????????????? in ? ? ? ? ????out ? ? ? ? ? ? ? in ? ? ? ? ? ? ? ? ? ? out
          Tagged
          端口???? 原樣接收 ? ??? ?原樣發送 ? ? ?按端口PVIDTAG標記 ???按照PVIDTAG標記
          Untagged
          端口??? 丟棄 ? ? ? ???去掉TAG標記 ? 按端口PVIDTAG標記 ???原樣發送

          2 、所謂的Untagged Porttagged Port不是講述物理端口的狀態,而是將是物理端口所擁有的某一個VID的狀態,所以一個物理端口可以在某一個VID上是Untagged Port,在另一個VID上是tagged Port;

          3 、一個物理端口只能擁有一個PVID,當一個物理端口擁有了一個PVID的時候,必定會擁有和PVIDTAG等同的VID,而且在這個VID上,這個物理端口必定是Untagged Port;

          4 PVID的作用只是在交換機從外部接受到可以接受Untagged 數據幀的時候給數據幀添加TAG標記用的,在交換機內部轉發數據的時候PVID不起任何作用;

          5 、擁有和TAG標記一致的VID的物理端口,不論是否在這個VID上是Untagged Port或者tagged Port,都可以接受來自交換機內部的標記了這個TAG標記的tagged 數據幀;

          6
          、擁有和TAG標記一致的VID的物理端口,只有在這個VID上是tagged Port,才可以接受來自交換機外部的標記了這個TAG標記的tagged 數據幀;


          以下是神州數碼對命令的定義(各個廠家對命令的定義可能不一定一致,但是都必須遵循上面的定理):

          1
          、Trunk端口就是在一個物理端口上增加這個交換機所有VLANVID標示,并且除了和這個物理端口PVID標示一致的VID標示為Untagged Port外,在其他的VID上都是Tagged Port;

          2
          、Access端口就是指擁有一個和PVID標記相同的VID的物理端口,在這個VID上,遵循定理一定為untagged Port;

          在了解了以上的基礎理論之后,我們在來看一下樓主的問題:

          一個數據包從PC機發出經過ACCESS端口->TRUNK端口->TRunk->ACCESS->PC數據包發生了怎么樣的變化?

          我們先把上述的描述變換為IEEE802.1Q的標準描述:

          一個數據包從PC機發出經過(Untagged 數據幀)

          ACCESS
          端口(PVID定義為100,VID=100=Untagged Port->

          TRUNK
          端口(PVID定義為1〈出廠配置,沒有更改〉,VID=1=Untagged Port,VID=100=tagged Port->

          另一個交換機的TRunk端口(PVID定義為1〈出廠配置,沒有更改〉,VID=1=Untagged Port,VID=100=tagged Port->

          另一個交換機的ACCESS端口(PVID定義為100,VID=100=Untagged Port->

          PC
          數據包發生了怎么樣的變化?(Untagged 數據幀)

          首先假設兩臺交換機剛剛開機(MAC地址表為空)從PC機發出的數據幀進入交換機的ACCESS端口以后,會按照這個端口的PVID100Tag標記,根據交換機的轉發原理,交換機會把這個數據幀轉發給VID=100的所有端口(除了進口以外),這個過程叫做VLAN Flood;參照上面的定理1

          由于Trunk端口擁有VID=100,所以才可接受這個標記Tag100tagged數據幀;參照上面的定理5;

          由于Trunk端口在VID=100上為tagged Port,所以在發送數據幀出交換機的時候,不改變Tagged數據幀的結構;參照上面的定理1;

          到了另一個交換機的Trunk端口的時候,由于Trunk端口擁有VID=100,所以才可接受這個標記Tag100tagged數據幀;參照上面的定理6;

          另一個交換機的Trunk端口,接收到標記tag100tagged數據幀,并不作任何的更改;參照上面的定理1;

          另一個交換機收到到標記tag100tagged數據幀,根據交換機的轉發原理,交換機會把這個數據幀轉發給VID=100的所有端口(除了進口以外);參照交換機交換原理(受到一個未知目的MAC數據幀);

          這樣另一個交換機的ACCESS端口就可以收到標記tag100tagged數據幀;參照上面的定理5;

          另一個交換機的ACCESS端口在發出標記tag100tagged數據幀的時候,會去掉TAG標記,轉發untagged數據幀給PC;參照上面的定理1

          這樣PC機就收到了這個數據;

          posted on 2006-09-25 00:18 Johnica 閱讀(2203) 評論(0)  編輯  收藏 所屬分類: 網絡工程
          主站蜘蛛池模板: 宝坻区| 进贤县| 盖州市| 青川县| 会昌县| 沂水县| 纳雍县| 犍为县| 岳普湖县| 友谊县| 南和县| 新河县| 兴安盟| 宜黄县| 涟水县| 石楼县| 杂多县| 弥渡县| 确山县| 临泉县| 麦盖提县| 时尚| 南溪县| 卢湾区| 太白县| 休宁县| 吉木萨尔县| 秀山| 肇庆市| 阿拉善盟| 来宾市| 文化| 通州市| 龙游县| 肇庆市| 绥阳县| 迁安市| 陵川县| 太仆寺旗| 辽宁省| 敦化市|