Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Tại sao phải tồn tại quá trình bầu chọn Root trong STP ?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tại sao phải tồn tại quá trình bầu chọn Root trong STP ?

    Hi, có vụ này mời mọi người thảo luận :

    Trong các giao thức Spanning-tree có xảy ra quá trình bầu chọn Root bridge, quá trình này làm kéo dài thời gian hội tụ, tức kéo dài thời gian Discard.
    Khi thiết kế một ring thì designer đã muốn chọn 1 con nào đó làm root rồi, cho nên mới đặt priority sao cho quá trình chọn root xảy ra thì nó sẽ là root. Vậy tại sao các giao thức STP (STP, RSTP, MSTP) không thiết kế kiểu như vầy : khi khai báo tại con Root thì gõ 1 lệnh để chỉ ra nó là root, khi khai báo tại các con khác thì gõ 1 lệnh chỉ ra con kia là root (chỉ ra MAC của con root). Nếu design như vậy thì sẽ bỏ qua quá trình tìm root và đẩy nhanh thời gian hội tụ, vì nếu có tìm tới tìm lui thì cũng sẽ tìm ra con root là con đã được designer chọn trước.

    Túm lại câu hỏi là : tại sao phải tồn tại quá trình bầu chọn root trong các giao thức spanning-tree ?

  • #2
    Originally posted by invalid-password View Post
    Hi, có vụ này mời mọi người thảo luận :

    Trong các giao thức Spanning-tree có xảy ra quá trình bầu chọn Root bridge, quá trình này làm kéo dài thời gian hội tụ, tức kéo dài thời gian Discard.
    Khi thiết kế một ring thì designer đã muốn chọn 1 con nào đó làm root rồi, cho nên mới đặt priority sao cho quá trình chọn root xảy ra thì nó sẽ là root. Vậy tại sao các giao thức STP (STP, RSTP, MSTP) không thiết kế kiểu như vầy : khi khai báo tại con Root thì gõ 1 lệnh để chỉ ra nó là root, khi khai báo tại các con khác thì gõ 1 lệnh chỉ ra con kia là root (chỉ ra MAC của con root). Nếu design như vậy thì sẽ bỏ qua quá trình tìm root và đẩy nhanh thời gian hội tụ, vì nếu có tìm tới tìm lui thì cũng sẽ tìm ra con root là con đã được designer chọn trước.

    Túm lại câu hỏi là : tại sao phải tồn tại quá trình bầu chọn root trong các giao thức spanning-tree ?
    Chào,
    Khi cấu hình trên Switch vẫn có câu lệnh gán cho 1 con sẽ làm Root mà không cần bầu chọn gì cả.
    Code:
    spanning-tree vlan [vlan number] root {primary|secondary}
    Chúc vui.
    Trần Mỹ Phúc
    tranmyphuc@hotmail.com
    Hãy add nick để có thông tin đề thi mới nhất :tranmyphuc (Hỗ trợ tối đa cho các bạn tự học)

    Cisco Certs : CCNP (Passed TSHOOT 1000/1000)

    Juniper Certs :
    JNCIP-ENT & JNCIP-SEC
    INSTRUCTORS (No Fee) : CISCO (Professional) , JUNIPER (Professional) , Microsoft ...

    [version 4.0] Ôn tập CCNA


    Comment


    • #3
      Cái lệnh này chỉ là option của Cisco, nó làm cho con switch đó tự điều chỉnh priority sao cho thấp nhất, nghĩa là vẫn diễn ra quá trình bầu chọn root.
      Đây là 1 feature của IOS của Cisco chứ không phải là hoạt động standard của các giao thức STP. Nhiều switch của các hãng khác không có lệnh này.

      Mà nếu có lệnh này thì cũng không giải thích được ý nghĩa sự tồn tại của quá trình bầu chọn root. Tại sao vẫn có quá trình đó ?

      Comment


      • #4
        Vậy theo bạn STP để làm gì?
        Theo mình, với việc chống loop trong các mạng Redudant Link thì việc bầu chọn ra RB, RP, DP như 1 cách tốt nhất để đảm bảo ko xảy ra loop (bây giờ thì họ mới nghĩ ra cách này, sau này biết đâu lại phát hiện ra cách chống loop hiệu quả hơn thì sao :D)
        Ngoài ra, trong STP còn có các có thể cấu hình bằng tay để chỉ rõ độ ưu tiên của Switch, Switch Port. Nhưng với việc cấu hình manual này thì mất nhiều thời gian. Nếu ít switch trong 1 mạng thì ko sao, nhưng mạng có nhiều switch thì cấu hình bằng tay này đến bao giờ? Với lại còn chưa tính đến tính hiệu quả nữa.
        Đấy là cách nghĩ của mình. Còn bạn thì sao?

        Comment


        • #5
          STP chống loop là rõ ràng Tuy nhiên nếu bỏ qua quá trình bầu chọn root, mà khi cấu hình ta chỉ ra luôn ai là root, ai là không root và tại các con non-root ta chỉ ra luôn root là ai và cost đến nó là mấy thì sẽ bỏ qua được quá trình bầu chọn root.

          Còn việc cấu hình manual vẫn không mất thời gian, dù gì thì bạn vẫn phải chui vào con switch để cấu hình priority, cost và enable STP lên mà ?! Thay vì gõ mấy lệnh này thì gõ mấy cái lệnh như trên kia !

          Chuyện có quá nhiều switch trong một vòng ring là chuyện chỉ có trong Lab chứ không có trong thực tế. Nếu trong cùng một tòa nhà hay khu công nghiệp người ta luôn ưa thích đấu hình star thay vì ring. Ring thường triển khai trong vùng địa lý rộng lớn khi các con switch cách nhau nhiều cây số. Nếu cách nhau xa vậy thì vùng phục vụ của switch phải lớn và phải có nhiều khách hàng. Nếu có nhiều khách hàng thì bandwidth của port 1Gb có thể chỉ đủ tải cho vài con switch, nên không thể để nhiều switch trong 1 ring.

          Mà nếu thuê đường truyền dẫn của các nhà cung cấp khác nhau thì chẳng cần đấu ring để backup mà đấu star luôn vì nhà cung cấp đã đảm bảo đấu ring ở lớp truyền dẫn mà ta không nhìn thấy được.

          Comment


          • #6
            Vậy thì bạn chỉ nghĩ đến những mạng nhỏ thôi sao? Giả sử mạng của bạn có N switch, nếu bạn cấu hình manual thì chỉ có 1 RB,...(chẳng hạn thế).
            Rồi bỗng dưng cái RB của bạn bị hỏng, vậy thì bạn lại phải chọn lại RB, rồi lại chọn lại tiếp đâu là RP trên từng cái non-root switch à?
            Rồi giả sử cái bạn hỏng 1 cái RB, cấu hình lại xong lại hỏng RB, xong lại hỏng tiếp,...cứ thế bạn sẽ cấu hình đến bao giờ mới xong???
            Vì thế dùng cơ chế STP là ổn nhất rồi. Còn nếu bạn cho rằng nó quá lâu thì đã có RSPT cơ mà!!!

            Comment


            • #7
              Originally posted by duanvcd View Post
              Vậy thì bạn chỉ nghĩ đến những mạng nhỏ thôi sao? Giả sử mạng của bạn có N switch
              Mạng nhỏ mới có N switch, còn mạng lớn vì lý do bandwidth như đã nêu ở bài trên (có nhiều sw thì có nhiều users, nhiều bandwidth, tất cả chạy thành vòng tròn thì không đủ tải nên không thể có nhiều sw) thì không thể có N switch mà chỉ có vài switch đấu thành ring thôi.

              Originally posted by duanvcd View Post
              Rồi bỗng dưng cái RB của bạn bị hỏng, vậy thì bạn lại phải chọn lại RB, rồi lại chọn lại tiếp đâu là RP trên từng cái non-root switch à?
              Đối với những mạng lớn, nếu chết con Root bridge thì coi như tiêu luôn cả ring, lúc đó không cần manual chọn lại con khác làm root, và bầu chọn lại tự động thì cũng chẳng có ích gì. Lý do là mạng lớn có phân cấp, trong đó có nhiều ring, mỗi một ring phải có 1 con switch làm switch "Uplink". SW Uplink là con switch mà tất cả các con khác trong ring muốn đi ra ngoài ring thì phải đến con sw này, những Sw non-uplink thì có 2 port để đấu ring, riêng sw uplink thì có port thứ 3 để đi lên cấp cao hơn. Do đó nếu die con uplink thì cả ring coi như die luôn. Mà con sw Uplink luôn được config thành con Root bridge, chẳng ai lại config một con sw khác làm RB hết. Vì nếu con sw uplink không làm RB thì bandwidth trên 2 tay của ring sẽ không đều. Tóm lại là chỉ mạng nhỏ mới đấu thành vòng tròn độc lập.

              Lý do thứ 2 là khi một con switch bị die thì tất cả các port sẽ forward trừ cái port nối với con bị die. Lúc đó ring đang bị hở, do đó không xảy ra chuyện loop. Mà nếu ring không có tình trạng loop thì :
              + Nếu STP tự động bầu chọn lại RB : việc bầu chọn lại tự động RB trong lúc này vẫn là thừa, có loop đâu mà chọn RB làm gì, tốn thêm thời gian hội tụ.
              + Nếu bỏ qua quá trình chọn RB : các con khác phát hiện RB unreachable thì nó coi như hở ring và forward ngay lập tức, không cần chọn lại ai làm RB. Khi RB lên trở lại thì vẫn chạy tiếp và tiếp tục block 1 port như trước đó để chống loop.

              Originally posted by duanvcd View Post
              Còn nếu bạn cho rằng nó quá lâu thì đã có RSPT cơ mà!!!
              RSTP vẫn chưa phải là nhanh như mong muốn, nó hội tụ mất vài giây. Trong khi dịch vụ voice, video mà bị đứng vài giây trong lúc ring chuyển trạng thái thì người dùng vẫn nhận ra được. Còn khi truyền data bằng TCP, lớp TCP khi truyền đi mà lost vài giây thì có khả năng drop kết nối.
              Nhiều application truyền liên tục khi lost vài giây sẽ bị treo luôn do mất gói và TCP không thể truyền lại do tràn buffer. VD khi truyền với tốc độ 10Mbps và RSTP hội tụ mất 5 giây (thực tế là vậy, ít khi nhanh hơn) thì TCP buffer phải có độ lớn là 50Mb thì mới cache được 5 giây mà truyền lại. Nhưng những hệ thống device có bộ nhớ nhỏ thì khó có thể cấp buffer đến 50Mb vì cùng lúc nó mở nhiều TCP connection. Do đó khi lost dưới 1 giây thì TCP còn truyền lại chứ lost vài giây thì kết nối sẽ drop hết.

              Các giao thức STP hay RSTP hay MSTP vẫn chưa thích hợp để chống loop cho mạng lớn, nó bắt đầu có vấn đề khi ring lớn hơn 7 node. Nhiều nhà sản xuất khuyến cáo không nên chạy quá 7 node trong ring.

              Mọi người tiếp tục cho ý kiến phản biện về vụ này !
              Last edited by invalid-password; 09-10-2008, 12:29 AM.

              Comment


              • #8
                Chào mọi người, mình mới vào diễn đàn và thấy bài này và cảm thấy cũng có hứng thú.

                Đúng là RSTP hội tụ vẫn còn chậm và ring của RSTP có vấn đề giới hạn 7 node. Mấy anh bạn của em làm ở ISP nói là khi đấu một cái ring có 8 switch mà throughput cỡ xấp xỉ 1Gbps thì chạy được khỏang một tháng thì bị loop nên chỉ nên để 7 con switch một ring là vừa.

                Còn về chuyện bầu chọn root của RSTP thì trong nhiều trường hợp đúng là quá trình không cần thiết nếu bỏ nó đi thì tốt hơn sẽ làm hội tụ nhanh hơn

                Comment


                • #9
                  Lý do thứ 2 là khi một con switch bị die thì tất cả các port sẽ forward trừ cái port nối với con bị die. Lúc đó ring đang bị hở, do đó không xảy ra chuyện loop. Mà nếu ring không có tình trạng loop thì :
                  + Nếu STP tự động bầu chọn lại RB : việc bầu chọn lại tự động RB trong lúc này vẫn là thừa, có loop đâu mà chọn RB làm gì, tốn thêm thời gian hội tụ.


                  Theo mình khúc này sai rồi:
                  VD
                  SW1
                  |
                  SW2---PC1
                  | |
                  SW3

                  Nếu nối như vậy và con SW1 là con root bridge thì hỏi sau khi SW1 die mạng nó còn hở như bạn nói hay ko.
                  Lúc này nếu SW1 die thì PC ping 1 máy mà không có trong mạng thì xảy ra loop là chắc rồi => cần có cơ chế tự bầu.
                  Last edited by phamminhtuan; 11-10-2008, 07:02 PM.
                  Phạm Minh Tuấn

                  Email : phamminhtuan@vnpro.org
                  Yahoo : phamminhtuan_vnpro
                  -----------------------------------------------------------------------------------------------
                  Trung Tâm Tin Học VnPro
                  149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
                  Tel : (08) 35124257 (5 lines)
                  Fax: (08) 35124314

                  Home page: http://www.vnpro.vn
                  Support Forum: http://www.vnpro.org
                  - Chuyên đào tạo quản trị mạng và hạ tầng Internet
                  - Phát hành sách chuyên môn
                  - Tư vấn và tuyển dụng nhân sự IT
                  - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

                  Network channel: http://www.dancisco.com
                  Blog: http://www.vnpro.org/blog

                  Comment


                  • #10
                    Hi all,

                    Mình có chút ý kiến sau :
                    1. Quá trình bầu chọn Root trong STP là bắt buộc, điều này điều kiện tiên quyết để thực giải thuật Spanning Tree (Root của Spanning Tree), từ đó mới đưa ra Layer 2 Tree trong hệ thống.
                    2. Thông thường trên thực tế thì hầu hết ta chỉ định Root của STP để đảm bảo việc control các luồng lưu lượng lớp 2, tăng performance của toàn hệ thống.
                    3. Cấu hình manual Root STP trong các cấu hình nâng cao HSRP, GLBP còn thực hiện việc share tải, dự phòng một cách tối ưu nhất.


                    Thanks,
                    longdn

                    Comment


                    • #11
                      Originally posted by logmeinvietnam View Post

                      SW1
                      |
                      SW2---PC1
                      | |
                      SW3

                      Nếu nối như vậy và con SW1 là con root bridge thì hỏi sau khi SW1 die mạng nó còn hở như bạn nói hay ko.
                      Cái mô hình này chỉ có trong lab (thực tình là như vậy), chỉ có SW2 và SW3 tạo thành ring nên người ta chỉ config STP cho 2 con đó, chứ không đưa con SW1 vào làm gì ? Mà dù có config như hình trên nếu traffic cỡ 100Mbps trở lên thì chưa chắc nó chạy quá 1 tuần đâu nhé, chạy chút chút trong lab thì không sao. Nếu có 2 SW2 và SW3 đấu 2 luồng như vậy thì người ta design EtherChannel để đảm bảo dự phòng và cascade 2 luồng lại để có tải gấp đôi, chứ không chạy STP để 1 luồng chạy 1 luồng nghỉ bao giờ ?!
                      Khi design thì phải lựa chọn topo tốt, có khi do design mà không có cách nào quản trị cho tốt cả. Nếu với topo trên bạn chỉ khai báo ring cho 2 SW2 và SW3 thì STP nếu không có quá trình bầu chọn thì vẫn không vấn đề gì.
                      Có những mô hình chỉ có trên giấy, vì khi đi vào thực tế nó vấp phải vấn đề quản trị, và chi phí. VD nếu có 5 node và cho nó đấu theo kiểu lồng đèn ông sao (5 node nối nhau = 5 cạnh ngôi sao và nối thêm cái vòng ở ngoài nữa) thì đúng là high availity thật nhưng tiền thuê luồng truyền dẫn chịu hok nổi (chỗ tui có người mới vào, làm đề tài thiết kế mạng, vẽ ra cái sơ đồ kiểu đó, và kết quả bị bắt làm lại, tại vì chi phí mỗi tháng cỡ $100.000).

                      Comment


                      • #12
                        Originally posted by blackv2 View Post
                        1. Quá trình bầu chọn Root trong STP là bắt buộc, điều này điều kiện tiên quyết để thực giải thuật Spanning Tree (Root của Spanning Tree), từ đó mới đưa ra Layer 2 Tree trong hệ thống.
                        longdn
                        Đúng là quá trình bầu chọn là bắt buộc để thực hiện giải thuật STP, nhưng vấn đề đặt ra là khi bỏ đi quá trình bầu chọn root thì tất nhiên phải thay đổi giải thuật STP, khi đó không còn quá trình bầu chọn nữa mà các node khi bắt đầu chạy là đã biết ai là root ai là non-root rồi. Có phải ông admin khi config cái priority thì ông ấy đã biết trước ai là root ai là non-root không ?!
                        Originally posted by blackv2 View Post
                        2. Thông thường trên thực tế thì hầu hết ta chỉ định Root của STP để đảm bảo việc control các luồng lưu lượng lớp 2, tăng performance của toàn hệ thống.
                        longdn
                        Nếu thực tế đều chỉ định Root của STP để control và tăng performance vậy thì còn thực hiện quá trình bầu chọn làm gì nếu đã có chỉ định ngay từ đầu ?

                        Comment


                        • #13
                          Hi bạn,

                          Mình bổ sung thêm một số ý kiến với bạn invalid nhé
                          1. STP là giải thuật với điều kiện tiên quyết là phải có Root. Vì vậy sinh ra quá trình bầu cử Root Bridge. Còn bác admin, muốn config SW-A làm Root Bridge trên VLANx thì tất nhiên bác íh phải show cái spanning-tree của cái VLANx đấy lên thì admin mới biết đường mà hiệu chỉnh priority của SW-A trên VLANx cho hợp lý.

                          2. Khi bạn đã nắm được vấn đề " Sao phải cần bầu chọn RootBridge", Root Bridge có ảnh hưởng gì đến hệ thống Layer2 thì lúc đấy sẽ dẫn đến làm cách nào để bạn control lưu lượng lớp 2, tăng performance của hệ thống.

                          Câu trả lời lúc đấy là bạn chỉ định Root Bridge tại điểm thích hợp trong Layer 2 network.

                          Thanks,
                          longdn

                          Comment


                          • #14
                            Originally posted by invalid-password View Post
                            Cái mô hình này chỉ có trong lab (thực tình là như vậy), chỉ có SW2 và SW3 tạo thành ring nên người ta chỉ config STP cho 2 con đó, chứ không đưa con SW1 vào làm gì ? Mà dù có config như hình trên nếu traffic cỡ 100Mbps trở lên thì chưa chắc nó chạy quá 1 tuần đâu nhé, chạy chút chút trong lab thì không sao. Nếu có 2 SW2 và SW3 đấu 2 luồng như vậy thì người ta design EtherChannel để đảm bảo dự phòng và cascade 2 luồng lại để có tải gấp đôi, chứ không chạy STP để 1 luồng chạy 1 luồng nghỉ bao giờ ?!
                            Khi design thì phải lựa chọn topo tốt, có khi do design mà không có cách nào quản trị cho tốt cả. Nếu với topo trên bạn chỉ khai báo ring cho 2 SW2 và SW3 thì STP nếu không có quá trình bầu chọn thì vẫn không vấn đề gì.
                            Có những mô hình chỉ có trên giấy, vì khi đi vào thực tế nó vấp phải vấn đề quản trị, và chi phí. VD nếu có 5 node và cho nó đấu theo kiểu lồng đèn ông sao (5 node nối nhau = 5 cạnh ngôi sao và nối thêm cái vòng ở ngoài nữa) thì đúng là high availity thật nhưng tiền thuê luồng truyền dẫn chịu hok nổi (chỗ tui có người mới vào, làm đề tài thiết kế mạng, vẽ ra cái sơ đồ kiểu đó, và kết quả bị bắt làm lại, tại vì chi phí mỗi tháng cỡ $100.000).


                            Bạn xem cái hính trên là mạng 3 lớp của Cisco khuyến cáo [đường màu đỏ là 1gb trở lên, đen là chừng 100mb]. Nếu cắt nửa ra giống mô hình mình đưa bạn không.
                            Mà làm gì thuê tới 100.000$, bộ bạn tính làm ISP à, bạn thử đưa lên mô hình đó cho anh em tham khảo xem.
                            <!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:conne***ype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:115.5pt; height:151.5pt'> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\cli p_image001.png" o:title=""/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
                            Last edited by phamminhtuan; 29-04-2009, 01:23 PM.
                            Phạm Minh Tuấn

                            Email : phamminhtuan@vnpro.org
                            Yahoo : phamminhtuan_vnpro
                            -----------------------------------------------------------------------------------------------
                            Trung Tâm Tin Học VnPro
                            149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
                            Tel : (08) 35124257 (5 lines)
                            Fax: (08) 35124314

                            Home page: http://www.vnpro.vn
                            Support Forum: http://www.vnpro.org
                            - Chuyên đào tạo quản trị mạng và hạ tầng Internet
                            - Phát hành sách chuyên môn
                            - Tư vấn và tuyển dụng nhân sự IT
                            - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

                            Network channel: http://www.dancisco.com
                            Blog: http://www.vnpro.org/blog

                            Comment


                            • #15
                              Originally posted by logmeinvietnam View Post
                              Mà làm gì thuê tới 100.000$, bộ bạn tính làm ISP à, bạn thử đưa lên mô hình đó cho anh em tham khảo xem.
                              Chứ gì nữa, đang ở ISP đây !
                              Cái hình đó cắt nữa ra là giồng nhưng nó vẫn là cái hình khác.
                              Cái hình đó chỉ có trong Lab, không ai đấu kiểu "mạng 3 lớp Cisco khuyến cáo" đó đâu, chỉ trả tiền truyền dẫn là đã đủ phá sản.
                              Last edited by invalid-password; 12-10-2008, 02:18 PM.

                              Comment

                              Working...
                              X