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.

Hỏi về thuật toán hash VLAN-to-instance trong MSTP

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

  • Hỏi về thuật toán hash VLAN-to-instance trong MSTP

    Tui đang gặp vấn đề về triển khai MSTP trên hệ thống switch vừa Cisco vừa non-Cisco, mấy thằng switch của các hãng khác nhau không sống chung MSTP với nhau do khác nhau gì đấy ở cách hash bảng VLAN (thấy nó hash bằng MD5 nhưng key thì khác).

    Tui muốn hỏi mọi người khi gửi BPDU thì cái thông tin về digest của bảng VLAN-to-instance map, cái name, revision number nó gửi trong phần nào (show me tài liệu, sơ đồ càng tốt).

    Kế đến là nó dùng cái key và hash 3 thông tin trên như thế nào ? Tui search tài liệu không thấy nói đến, mà chỉ thấy "Currently, this is not implemented by IEEE", nghĩa là mạnh ai nấy chế à ?

  • #2
    gửi cho bạn invalid password cái file nói về MSTP của HP Procurve switch trước.
    Đặng Quang Minh, CCIEx2#11897 (Enterprise Infrastructure, Wireless), DEVNET, CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/

    Comment


    • #3
      Cám ơn pác Minh, em đã down và đọc xong rồi, nhưng trong đó không có cái em cần mà chỉ có mấy cái lệnh config MSTP. Pác có nói là gửi cái này trước vậy tức là còn nữa phải không ?

      Comment


      • #4
        tiếp theo nữa là bạn invalid-password đọc tiếp phần dưới đây. Phần dưới chỉ mô tả chung hoạt động của MST. Nếu ok thì confirm nhé.

        -----------------
        Multiple Spanning Trees: IEEE 802.1s


        IEEE 802.1s Multiple Spanning Trees (MST) định nghĩa cách thức dùng nhiều phiên bản của STP trên một hạ tầng mạng dùng 802.1q. Giống như PVST+, MST cho phép hiệu chỉnh các thông số của STP sao cho một vài cổng là bị block trong một vlan nhưng nó có thể là forwarding trong vlan khác. Luôn luôn dùng kết hợp với 802.1w để hội tụ nhanh hơn. Không yêu cầu từng phiên bản của STP cho từng vlan. Thay vào đó, thiết kế tốt nhất thường dùng một phiên bản spanning tree cho các đường đi dự phòng. Nếu hệ thống mạng bao gồm tất cả các thiết bị có khả năng hỗ trợ MST, MST sẽ tương đối dễ hiểu. Một nhóm các switch dùng chung với nhau được gọi là MST region. Để tạo ra một MST region, các switch cần phải được cấu hình như sau:

        1. Bật MST ở chế độ toàn cục:
        # spanning-tree mode mst
        2. Trong chế độ cấu hình của MST, tạo ra MST region (tối đa 32 ký tự) dùng lệnh name.
        3.Trong chế độ cấu hình của MST, tạo ra một chỉ số MST revision number bằng cách dùng lệnh revision.

        Trong chế độ cấu hình của MST, chỉ định các VLAN nào vào phiên bản spanning tree nào bằng câu lệnh instance. Chìa khóa cho việc cấu hình của MST là cấu hình tất cả các thông số giống nhau trên tất cả các switch của cùng region. Ví dụ nếu bạn cho phiên bản instance 1 của MST chạy trên VLAN 1 đến VLAN 4 và vlan 5-8 đến cũng instance 1 trên switchkhác, hai switch sẽ không xem như chúng cùng MST region, mặc dù cả tên region và chỉ số revision là tương tự nhau. Ví dụ, trong hình dưới đây, một MST region đã được định nghĩa cùng với các kết nối đến các switch không chạy MST.


        Phía bên trái của hình, bên trong một MST bạn chỉ cần hai phiên bản của STP. Mỗi phiên bản cho một nửa số vlan. Nếu có hai phiên bản, các switch ở lớp access sẽ truyền các frame trên các kết nối của nó cho tập hợp một số vlan và truyền các frame của các vlan còn lại trên kết nối kia. Một trong những đặc điểm chủ yếu của MST so với PVST+ là việc yêu cầu chỉ cần một phiên bản của STP cho một nhóm các vlan. Nếu MST region này có hàng trăm VLAN và dùng PVST+, sẽ có tương ứng hàng trăm STP thông điệp sẽ được dùng. Khi kết nối một MST region đến một miền không chạy MST, MST sẽ làm cho cả một miền MST xuất hiện như là một switch duy nhất. Một MST sẽ đảm bảo tình trạng không bị lặp bên trong một MST region. Để ngăn ngừa vòng lặp trên kết nối CST từ miền MST đến miền phi MST, MST sẽ tham gia vào phiên bản STP đang chạy bên ngoài miền MST. Phiên bản thêm vào này gọi là Internal Spanning Tree (IST). Khi tham gia trong STP với các switch bên ngoài, miền MST sẽ xuất hiện như một switch duy nhất.
        Đặng Quang Minh, CCIEx2#11897 (Enterprise Infrastructure, Wireless), DEVNET, CCSI#31417

        Email : dangquangminh@vnpro.org
        https://www.facebook.com/groups/vietprofessional/

        Comment


        • #5
          Cái này cũng không phải là cái em cần, vấn đề là chỗ các sw đều đã có name, revision number và VLAN trong instance giống nhau nhưng nó vẫn không chạy với nhau. Khi capture thì thấy cái hash VLAN-to-instance khác nhau, mà thằng nào cũng nói nó là chuẩn cả nên em cần thực hiện lại quá trình hash bảng VLAN để tính xem switch nó tính sai hay dùng key khác (nghi là dùng key khác - tức là cái key để mã hóa HMAC-MD5 bảng map VLAN).

          Comment


          • #6
            Hic, đã tìm ra tài liệu nói về cách mã hóa, thực ra nó nằm ngay trong chuẩn IEEE 802.1s (MSTP) nhưng trên trang IEEE nó ghi là 802.1Q nên không để ý, tìm 802.1s mãi không ra.

            3 cái cấu thành 1 cái digest là : name, revision number và key, nó nằm trong BPDU ở :

            + The Configuration Name is encoded in octets 40 through 71;
            + The Revision Level is encoded as a number in octets 72 through 73;
            + The Configuration Digest is encoded in octets 74 through 89

            - Configuration name 32 byte, nếu không đủ thì thêm byte 0 vào cuối (giống null-terminated string trong C).
            - Revision number là số nguyên dương 2 byte.
            - Và key dùng trong MSTP là 16 byte giá trị 0x13AC06A62E47FD51F95D2BA243CD0346.

            ---------------------
            Đầu tiên nó tạo bảng VLAN-to-instance, chỉ có 16 instance, và 4096 VLAN. Nó ghép 4096 số 2-byte với nhau ra 1 chuỗi 8192 byte. Mỗi 2 byte là chỉ số instance mà VLAN đó thuộc vào, vd byte5&6 là của VLAN 2, giả sử VLAN 2 thuộc instance 10 thì byte5-6 sẽ = 10, nguyên văn mô tả trong 802.1s như sau :

            The Configuration Digest, a 16-octet signature of type HMAC-MD5 (see IETF RFC 2104) created
            from the MST Configuration Table (3.17, 8.9). For the purposes of calculating the Configuration
            Digest, the MST Configuration Table is considered to contain 4096 consecutive two
            octet elements, where each element of the table (with the exception of the first and last) contains
            an MSTID value encoded as a binary number, with the first octet being most significant.
            The first element of the table contains the value 0, the second element the MSTID value corresponding
            to VID 1, the third element the MSTID value corresponding to VID 2, and so on, with
            the next to last element of the table containing the MSTID value corresponding to VID 4094,
            and the last element containing the value 0. The key used to generate the signature consists of
            the 16-octet string specified in Table 13-1 .

            ----------------------------
            Sau khi có bảng VLAN, nó tính Configuration digest từ bảng này bằng thuật toán HMAC-MD5.
            HMAC-MD5 là thuật toán hash có sử dụng 1 key và 1 thuật toán hash, key là cái key đã ghi ở trên, còn thuật toán hash được chọn là MD5, nếu nó chọn hash SHA thì sẽ gọi là HMAC-SHA. Sở dĩ không dùng hash MD5 hay SHA là vì các thuật toán hash này không support một cái key, nên người ta dùng HMAC là một thuật toán có xài key, kết hợp với MD5 nên mới gọi là HMAC-MD5

            Đặc tả HMAC là RFC2104, đọc rất dễ hiểu.
            Đặc tả MD5 là RFC1321, đọc hok dễ hiểu nhưng cũng hok phải quá khó hiểu.
            Last edited by invalid-password; 17-12-2007, 11:10 AM.

            Comment

            Working...
            X