• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
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.

Mô tả hoạt động của MLS và cách thức mà một Layer 3 switch sử dụng MLS

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

  • Mô tả hoạt động của MLS và cách thức mà một Layer 3 switch sử dụng MLS

    Bài viết này mô tả hoạt động của MLS và cách thức mà một Layer 3 switch sử dụng MLS .
    MLS được thiết kế ra nhằm hỗ trợ kiến trúc phân phối layer 3 switching . Điều đó có nghĩa là không nhất thiết các thành phần của MLS phải được tích hợp trong một thiết bị phần cứng cụ thể . MLS bao gồm 2 thành phần chính sau :
    - MLS-RP ( MLS Route Processor ) : Thành phần này chính là Control Plane như ta đã biết . Nó có tác dụng duy trì Routing table và cập nhật các Update khi mạng có sự thay đổi về topology .
    - MLS-SE ( MLS Switching Engine ) : Thành phần này chính là Data Plane . Nó có tác dụng định ra next hop , egress interface , rewrite lại các frame mà nó nhận được và forward frame đến đúng đích .
    Trước tiên chúng ta hãy tìm hiểu xem flow là gì ? Flows là khái niệm dùng để mô tả các thông tin routing lưu trong route cache của MLS-SE . Một flow có thể được định nghĩa dựa trên destination Ip address , hoặc sự kết hợp của source và destination ip address hoặc source ip address , destination ip address và source port , destination port ( TCP/UDP port ) . Ví dụ : bất kì địa chỉ source nào gửi đến địa chỉ destination là 192.168.2.1 được coi là một flow . Các packet từ source 192.168.2.1 đến địa chỉ đích 192.168.2.2 cũng được coi là một flow khác .
    Hình ảnh dưới đây mô tả kiến trúc của MLS và cách thức hoạt động của nó .



    Host X có địa chỉ là :
    Ip : 192.168.1.100
    Gateway : 192.168.1.1
    MAC : 0010.4ae0.1e03
    MLS-RP có địa chỉ là :
    Ip1 : 192.168.1.1
    Ip2 : 192.168.2.1
    MAC : 0010.7be2.abe0
    Host Y có địa chỉ là :
    Ip : 192.168.2.200
    Gateway : 192.168.2.1
    MAC : 0006.53fe.8420
    Giải thích : Ta thấy MLS-RP không nhất thiết phải tích hợp luôn ở trong Switch . Trong trường hợp này MLS-RP là router xử lí việc định tuyến giữa 2 vlan . Interface Ethernet của Router được phân ra làm 2 sub interface , mỗi subinterface cung cấp default-gateway cho mỗi Vlan . Host X nằm trong Vlan 1 có địa chỉ là 192.168.1.100 . Host Y nằm trong Vlan 2 có địa chỉ là 192.168.2.200 .
    Bước 1 : Host X gửi một packet đến cho Host Y . Vì host Y nằm khác Vlan với Host X nên Host X phải gán địa chỉ destination MAC address là MAC address của default-gateway .
    Bước 2 : Frame gửi đi và được nhận bởi MLS-SE ( switch ) , MLS-SE nhận thấy destination MAC là của MLS-RP . Bất kì một frame nào có địa chỉ MAC destination là của một thiết bị routing , khi MLS-SE nhận được frame loại này , nó sẽ mark frame này lên như là một candidate frame cho Layer 3 switching . MLS-SE sẽ xem xét destination ip address trong packet và kiểm tra MLS cache đối với flow này . Vì đây là packet đầu tiên gửi cho Host Y nên sẽ không có một entry nào trong bảng MLS cache . Do đó packet sẽ được chuyển lên cho MLS-RP xử lí . Lúc này flow về destination Host Y đã được add vào một phần , đó là địa chỉ destination ip .
    Bước 3 : MLS-RP nhận được packet này và thực hiện routing bình thường . Nó sẽ kiểm tra thông tin về destination ip trong bảng routing table và quyết định gửi ra sub interface dành cho vlan 2 . Đồng thời nó cũng phải rewrite lại thông tin về destination MAC address , lúc này là địa chỉ MAC của Host Y . ( Nếu chưa có thì phải gửi ARP request trước khi rewrite lại frame ) .
    Bước 4 : MLS-SE nhận được frame và lưu tiếp thông tin về destination MAC address vào entry còn thiếu dành cho Host Y .Thông tin chứa trong Entry này sẽ được dùng cho các lần rewrite và forward tiếp theo mà không cần phải chuyển lên cho MLS-RP xử lí nữa .
    Bước 5 : Switch tra thông tin về destination MAC trong bảng CAM và switch packet ra interface 2/3 cho Host Y .
    Bước 6 : Host X lại gửi tiếp một packet khác cho Host Y , lúc này MLS-SE không cần phải chuyển lên cho MLS-RP nữa ,vì thông tin này là một flow đã có sẵn trong MLS cache của nó rồi . Nó chỉ thực hiện các công việc rewrite lại destination MAC address , ip checksum và frame checksum .
    Như vậy kiến trúc của MLS dựa trên flow , do đó phân biệt được các loại flow là rất cần thiết . Flow có 3 loại sau , còn gọi là các flow mask :
    - Destination ip address ( destination-only ) : một địa chỉ destination duy nhất có thể tạo thành được một flow . Tất cả các packet gửi đến cùng một destination ip address đều thuộc một flow . Đối với ví dụ trên , flow mask là destination-only .
    - Source and destination ip address ( source-destination ) : tất cả các packet được gửi bởi một source và nhận được bởi một destination cụ thể nào đó thì tạo thành một flow . Điều đó có nghĩa là có thể có nhiều flow cho một destination ip address , mỗi flow được phân biệt với nhau bởi source address .
    - Full flow ( full ) : Một full-flow chỉ ra traffic thuộc về một source ip address, destination ip address , source TCP/UDP port , destination TCP/UDP port cụ thể . Ví dụ Telnet session từ địa chỉ 192.168.2.1 đến địa chỉ 192.168.2.2 là một flow khác với flow tạo ra bỏi một session FTP từ 192.168.2.1 đến 192.168.2.2
    Flow rất quan trọng , vì nó được chứa trong MLS cache , và thông tin này được sử dụng cho việc rewrite based on harware của layer 3 switching . Flow mask ở dạng nào là tùy thuộc vào yêu cầu của mạng . Tùy vào việc ACLs được triển khai như thế nào mà sử dụng flow mask cho phù hợp . Ví dụ , nếu ta đang triển khai extended ACLs thì nên xài kiểu full flow .
    Minh họa hoạt động của MLS khi có ACLs .



    Bước 1 : Host X đang thiết lập một kết nối HTTP tới Host Y . Nó gửi đi một packet có các thông số source ip = 192.168.1.100 , destination ip = 192.168.2.200 , protocol number = 6 ( TCP ) , destination port = 80 , random source TCP port = 1111 . Host Y không nằm cùng một subnet với Host X nên Host X sẽ phải gửi tới địa chỉ MAC destination là của MLS-RP . MLS-SE nhận được frame này , sẽ đánh dấu nó là một candidate frame dành cho layer 3 switching . Khi MLS-RP nhận được packet này nó sẽ xét trong ACLs , permit packet này và thực hiện route ra interface phù hợp . MLS-SE nhận được routed packet này sẽ ghi vào cache của mình là một flow mới .
    Bước 2 : Host X muốn thiết lập tiếp một FTP connection tới Host Y . Do thông tin về FTP không match với thông tin của HTTP chứa sẵn trong cache của MLS-SE nên MLS-SE sẽ gửi lên cho MLS-RP . MLS-RP sẽ kiểm tra thông tin này có match với ACLs hay không . Lúc này , nó nhận thấy thông tin này bị deny trong ACLs nên sẽ drop packet này luôn . MLS-SE sẽ không nhận được thông tin về flow này từ MLS-RP nữa , do đó nó sẽ không ghi thông tin của flow này vào cache .
    Bước 3 : Đối với phiên làm việc được thiết lập giữa Host X và Host Y như ở bước 1 thì sẽ được MLS-SE switch mà không cần phải chuyển lên cho MLS-RP nữa . Nếu có một session HTTP khác được thiết lập , tức là sẽ có 1 source port random khác được tạo ra và tương ứng sẽ có thêm 1 flow nữa cho session này được tạo ra trong cache của MLS-SE .
    MLS cần có một sự giao tiếp giữa MLS-RP và MLS-SE nhằm đảm bảo cho việc thực hiện layer 3 switching của MLS-SE là diễn ra chính xác . Các sự kiện sau đây sẽ làm cho thông tin về flow trong cache không còn chính xác nữa :
    - Routing Topology thay đổi
    - Cấu hình ACL thay đổi .
    Giữa MLS-RP và MLS-SE phải chạy một giao thức gọi là MLSP ( multilayer switching protocol ) . MLSP multicast hello được gửi đi bởi MLS-RP với thời gian interval là 15s , thông báo cho MLS-SE về sự thay đổi của routing topology và ACLs.
    Đối với một packet đầu tiên , MLS phải xử lí bằng software . Các packet kế tiếp cùng flow với packet đầu tiên mới được xử lí bằng hardware . Mỗi khi có một session mới được thiết lập thì phải add thêm thông tin về flow của session đó vào cache . Nếu network của chúng ta là dạng large enterprise thì việc sử dụng MLS là không tối ưu . Thông tin lưu trữ về các flow , và việc quản lí , duy trì các thông tin này trở nên quá tải đối với MLS . Vì thế người ta chuyển sang sử dụng CEF .
    Các ý kiến đóng góp và bổ sung xin gửi về : hoanglenhan@vnpro.org
    Xin cảm ơn !
    To be number 1 !!!

  • #2
    Cảm ơn bạn nhiều, mong rằng diễn đàn sẽ tiếp tục nhận được nhiều bài viết như vậy của bạn nữa.

    Comment


    • #3
      bài viết của bạn rất hay. Mình cũng đang tìm hiểu về MLS. Tuy nhiên ở phần cấu hình MLS-SE, cấu hình fast agingtime có 2 thông số là thời gian hạn định nhanh và ngưỡng packet. Mình muốn hỏi tại sao thời gian hạn định nhanh lại là các số 32,64,96,128 mà không phải là số khác; nếu mình định thời gian không phải là những số đó thì có gì xảy ra không? tương tự đối với ngưỡng packet là 1,3,5,7,... Rất mong nhận được câu trả lời của bạn.

      Comment

      Working...
      X