Các công cụ cá nhân
Bạn đang ở: Trang chủ Kiến thức cơ bản Bài giảng về Ethernet
Các hành động

Bài giảng về Ethernet

bởi chevaThay đổi lần cuối: 02/11/2007 00:40

Bài viết này nằm trong loạt bài giảng về Communication Networks, nói về Ethernet trên Data Link Layer

Lịch sử của Ethernet

  • Ethernet được phát triển bởi Robert Metcalfe và các đồng nghiệp của ông tại Xeror vào những năm 1970.

  • Robert Mecalfe nhận được bằng PhD từ MIT, luận văn của ông là về ARPAnet (tiền thân của mạng Internet) và ALOHA. Sau khi hoàn thành chưong trình học PhD, ông vào làm việc tại Xeror và phát triển Ethernet tại đây. Vào năm 1979, ông thành lập công ty của riêng mình là 3Com để nhằm thương mại hóa Ethernet.

  • Vào những năm 1980 và 1990, có một vài công nghệ dành cho mạng LAN (là các mạng cục bộ giống như mạng của một công ty hay của một trường đại học) như Token Ring, FDDI, Ethernet và ATM

  • Ethernet là công nghệ mạng LAN phổ biến và thành công nhất. Nguyên nhân chủ yếu là do nó rất đơn giản (do đó một mạng LAN dùng Ethernet rất dễ quản lý, và các thiết bị Ethernet thì không đắt tiền) và cho hiệu năng khá cao.

  • Ethernet được chuẩn hóa bởi IEEE thành IEEE 802.3 vào những năm 1980.

Giao thức Ethernet

  • Ethernet dùng Carrier Sensing Multiple Access - Collision Detection (CSMA-CD)

    • Trước khi một trạm truyền một frame, nó nghe ngóng môi trường truyền

    • Nếu môi trường đang rảnh, nó sẽ truyền frame đó

      • Trong quá trình truyền, nó theo dõi môi trường truyền để phát hiện xung đột

      • Nếu có xung đột xảy ra, trạm đó hủy việc truyền frame đó

    • Nếu môi trường đang bận, sẽ có 3 phương án

      • 1-persistent: liên tục nghe ngóng môi trường truyền, ngay khi môi trường hết bận, nó sẽ bắt đầu truyền frame

      • non-persistent: chờ một khoảng thời gian ngẫu nhiên, sau đó tiếp tục nghe ngóng môi trường truyền

      • p-consistent: liên tục nghe ngóng môi trường truyền. Khi môi trường hết bận, với xác suất p% nó sẽ truyền frame đó, và với xác suất (1-p)% nó sẽ tiếp tục đợi để nghe ngóng sau.

  • Ethernet sử dụng phương án 1-persistent

    • Điều đó có nghĩa là Ethernet sẽ không làm việc hiệu quả trong trường hợp có nhiều giao tiếp trong mạng, chẳng hạn mỗi trạm đều phải truyền một số lượng frame lớn

  • Sự khác biệt giữa Ethernet và các giao thức CSMA-CD thông thường:

    • Khi đang truyền một frame, trạm truyền theo dõi môi trường để phát hiện xung đột. Nếu có xung đột thì nó sẽ hủy việc truyền, và dùng giải thuật Truncated Binary Exponential Backoff để truyền lại frame đó

    • Thời gian chờ đợi của việc truyền frame thứ k là một biến ngẫu nhiên phân bố đồng đều giữa timeslot 0 và 2^k-1

      • Một timeslot tương đưong với thời gian quay vòng dài nhất (the longest round-trip time) của Ethernet

        • Ví dụ: Chuẩn Ethernet đầu tiên được thiết kế để vận hành ở 100Mbps trên khoảng cách tối đa là 2500m thông qua 4 bộ lặp (repeater). Thời gian quay vòng dài nhất bao gồm trễ của truyền tín hiệu (propagation delay) và thời gian để đi qua các bộ lặp là vào khoảng 50 microsecond

      • Đối với việc truyền frame đầu tiên, một trạm chờ 0 hoặc 1 timeslot

      • Đối với việc truyền frame dữ liệu thứ hai, một trạm chờ 0, 1, 2 hoặc 3 timeslot

    • Việc lựa chọn giải thuật này là để điều chỉnh số lượng các kênh muốn truyền một cách linh động
      • Nếu thời gian chờ luôn luôn nằm trong khoảng 0 tới 1 timeslot, xác suất xảy ra xung đột là nhỏ khi chỉ có hai trạm đang bận, nhưng xác suất này sẽ rất lớn nếu có tới 1000 trạm đang bận, và xung đột sẽ xảy ra liên tục trong một thời gian dài
      • Giải thuật Binary Exponential Backoff đảm bảo một xác suất xung đột tương đối thấp và một thời gian trễ tương đối ngắn trong tất cả các trường hợp.
        • Khi k>10, thời gian chờ sẽ nằm trong khoảng 0 tới 2^10-1 mini-slot times. Điều đó có nghĩa là thời gian chờ đợi tối đa là 2^10-1 mini-slot times
        • Khi k>16 thì trạm sẽ hủy việc truyền frame


Hiệu năng của Ethernet

  • Việc phân tích chính xác Ethernet rất phức tạp do giải thuật Truncated Binary Exponential Backoff. Do đó ta sử dụng phương pháp xác định hiệu năng tối đa của phương pháp CSMA-CD thông thường

trong đó n là số lượng trạm

  • Với Ethernet có thời gian truyền tải là t_prop và tốc độ 10Mbps, chúng ta có hiệu năng như trong hình sau, khi n thay đổi:

  • Kích thước frame của Ethernet tốc đ 10Mbps là từ 64 Bytes cho tới 1518 Bytes

    • Thời gian truyền tối thiểu của một frame phải lớn hơn RTT, nhờ đó mà một trạm có thể phát hiện ra xung đột trước khi việc truyền tải hoàn tất

    • Kích thước frame tối thiều = RTT * Tốc độ truyền = 50 microsecond * 10Mbps = 512 bít =64 bytes

    • Kích thước frame tối đa phải đủ lớn để đạt được hiệu năng sử dụng mạng cao, tuy nhiên nó không được lớn quá, nếu không các trạm sẽ phải chờ trong một thời gian rất lâu.
    • 1518 Bytes được chọn làm kích thước frame tối đa

Ethernet Frame


Một frame của Ethernet bao gồm các phần sau:

  • Phần mở đầu: 7 bytes (không được tính vào kích thước frame của Ethernet)
    • Tất cả các byte đều có giá trị 10101010
    • Được dùng để đồng bộ đồng hồ giữa nơi nhận và gửi frame
  • SD (Start frame delimiter): 1 byte (không được tính vào kích thước Ethernet frame)
    • Byte này có giá trị 10101011
    • Được dùng để đánh dấu bắt đầu một frame
    • Tuy vậy, không có end-frame-delimieter cho Ethernet frame. Việc thêm bit/byte (stuffing) cũng không được sử dụng cho các bit thông tin. Kết thúc của một frame được phát hiện bằng việc sử dụng tín hiệu vật lý
  • Địa chỉ nơi đến: 6 bytes
    • Đây là địa chỉ MAC của Ethernet card của nơi đến
    • Ý nghĩa của bit thấp nhất (least-significant bit) xác định 6 bytes này:
      • 0: địa chỉ unicast
        • 3 bytes đầu tiên được dùng để chỉ nhà sản xuất
          • 00-00-0C: CISCO
          • 00-00-3D: AT&T
        • 3 bytes tiếp theo do nhà sản xuất quyết định
      • 1: địa chỉ multicast
        • 01-80-c2-00-00-00: được dùng bởi các bridges cho giải thuật cây tản rộng (spanning tree algorithm)
          • ff-ff-ff-ff-ff-ff-ff: địa chỉ quảng bá (broadcast)p
    • Ở chế độ hoạt động bình thường, Ethernet chỉ tiếp nhận những frame có địa chỉ nơi đến trùng với đại chỉ (duy nhất) của nó, hoặc địa chỉ nơi đến thể hiện một thông điệp quảng bá. Tuy vậy, hầu hết các Ethernet card đều có thể được đặt ở chế độ "promiscuous". Trong chế độ này, nó sẽ nhận tất cả các frame xuất hiện trong mạng LAN.
  • Địa chỉ nguồn: 6 bytes
    • Đây là địa chỉ MAC của Ethernet card nguồn
  • Loại/ Độ dài: 2 bytes
    • Có hai loại cấu trúc Ethernet frame
      • IEEE 802.3 MAC
        • Dùng để chỉ độ dài của Ethernet frame
      • DIX Ethernet: Được công bố bởi DEC, Intel và Xeror vào năm 1980 (phổ biến hơn)
        • Dùng để chỉ giao thức của lớp phía trên
          • 0800: IP
          • 0806: ARP
  • Phần thông tin: Từ 46 tới 1500 bytes:
    • Do kích thước frame tối thiều là 64 bytes, kích thước tối thiểu của phần thông tin là 64-18=46 bytes
    • Kích thước phần thông tin tối đa là 1500 bytes. Do đó, kích thước gói IP trong Ethernet tối đa là 1500 bytes, đây cũng là một trong ba kích thước gói IP thông dụng nhất (40, 576, 1500).
  • FCS (Frame Check Sequence): 4 bytes
    • CCITT 32-bit CRC

Thiết bị Ethernet

  • Ethernet card có hai chế độ hoạt động:
    • Chế độ Half-Duplex
      • Ở chế độ này, mỗi trạm giả định rằng môi trường truyền được chia sẻ bởi nhiều hơn hai trạm, do đó nó dùng CSMA-CD
      • Ở chế độ này, một trạm không thể vừa nhận vừa gửi dữ liệu tại cùng một thời điểm
      • Tất cả các cáp mạng Ethernet đều hỗ trợ chế độ Half-Duplex, ví dụ cáp đồng trục (hiện không được dùng nữa mà chủ yếu dùng cho cable TV), cáp xoắn (loại này phổ biến nhất), và cáp quang (dùng cho các mạng Ethernet nhanh với phạm vi rộng)
    • Chế độ Full-Duplex:
      • Ở chế độ này, một trạm giả định rằng môi trường truyền được chia sẻ bởi chỉ hai máy trạm, và có kênh truyền riêng cho việc gửi và nhận dữ liệu. Do đó, CSMA-CD không còn cần thiết nữa, mỗi trạm có thể gửi và nhận dữ liệu cùng lúc
      • Cáp xoắn và cáp quang hỗ trợ chế độ này
    • Chú ý: Mặc dù cáp xoắn và cáp quang cung cấp các kênh truyền riêng cho việc gửi và nhận dữ liệu, một máy trạm ở chế độ half-duplex vẫn không thể gửi và nhận dữ liệu cùng lúc được (điều này là do với CSMA-CD, nếu một trạm nhận được một frame trong khi đang truyền một fram khác, nó sẽ coi đấy là xung đột)
  • Bộ lặp
    • Đây là một thiết bị ở Physical Layer: nó thao tác với các bit (tín hiệu) chứ không phải với các frame
    • Dùng để nối hai cáp Ethernet với nhau
    • Khuếch đại tín hiệu từ một cáp và gửi tín hiệu đó qua đoạn cáp kia
    • Trong trường hợp nó nhận được tín hiệu đồng thời từ hai đoạn cáp, một tín hiệu jamming sẽ được gửi tới cả hai đoạn cáp, thông báo xung đột
    • Ví dụ, một mạng Ethernet 10Mbps có thể dùng 4 bộ lặp để mở rộng chiều dài tối đa của cáp từ 500m tới 2500m
  • Hub
    • Đây là một thiết bị ở Physical Layer: nó thao tác với các bit (tín hiệu) chứ không phải với các frame
    • Dùng để kết nối các máy trạm hoạt động ở chế độ Half-Duplex với nhau
    • Sao chép tín hiệu từ một trạm tới các trạm khác. Một vài loại hub khuếch đại tín hiệu, các loại khác thì không
    • Trong trường hợp nó nhận được nhiều tín hiệu đồng thời từ các trạm khác nhau, một tín hiệu jamming sẽ được gửi tới tất cả các trạm, thông báo xung đột
    • Tất cả các trạm kết nối với một hub có cùng một miền xung đột (collision domain)
  • Ethernet switch
    • Đây là một thiết bị ở Data Link Layer: nó thao tác với các frame, có thể đọc được header của một frame
    • Thường được dùng để kết nối các máy trạm hoạt động ở chế độ Full-Duplex với nhau
    • Truyền frame tới một máy trạm thích hợp dựa trên địa chỉ MAC đích của frame
    • Thông thường, một Ethernet switch có vùng đệm để lưu-và-truyền câc frame
    • Lưu ý rằng ở chế độ Full-Fuplex không có xung đột, nên không có frame nào bị mất do xung đột, tuy nhiên, một vài frame có thể bị mất do tràn bộ đệm
  • Ethernet bridge
    • Một Ethernet switch còn có thể được dùng để kết nối hai hay nhiều mạng LAN với nhau. Trong trường hợp này, nó được gọi là một Ethernet bridge
    • Đây là thiết bị ở Data Link Layer: nó thao tác với các frame
    • Được dùng để kết nối nhiều mang LAN với nhau, mỗi mạng này bao gồm nhiều máy trạm kết nối với nhau bằng một hub
    • Nó truyển frame tới một mạng LAN phù hợp dựa trên địa chỉ MAC đích của frame
    • Nếu một mạng LAN có hơn hai máy trạm (bao gồm tất cả các bridge nối với nó), thì cổng tương ứng trên bridge phải hoạt động ở chế độ Half-Duplex
    • Mỗi mạng LAN có một miền xung đột riêng. Điều này có nghĩa là việc truyền nhiều đồng thời trên một mạng LAN sẽ gây ra xung đột, nhưng việc truyền đồng thời trên nhiều mạng LAN có thể không gây xung đột.
    • Một vài loại bridge cao cấp có thể kết nối hai loại mạng LAN khác nhau, ví dụ nối Ethernet với Token Ring. Trong trường hợp này, bridge phải chuyển đổi định dạng frame từ dạng này sang dạng kia.

Bridge

  • Bridge chuyển một frame nó nhận được tới mạng LAN thích hợp dựa trên địa chỉ MAC đích của frame và bảng chuyển tiếp (forwarding table). Bảng này gồm hai cột như sau:
    • Địa chỉ MAC: là địa chỉ MAC của một Ethernet card
    • Cổng: Cổng của bridge mà nối với Ethernet card đó
  • Một bridge sẽ tự động điền vào bảng chuyển tiếp khi nó hoạt động (điều này cũng đúng với Ethernet switch). Do đó, chúng ta không phải cấu hình một bridge bằng tay, điều này khiến cho bridge còn được gọi là transparent bridge
    • Mỗi khi nó nhận được một frame, nó sẽ điền vào bảng chuyển tiếp địa chỉ MAC nguồn của frame đó và cổng mà nó nhận được frame đó
  • Bridge chuyển tiếp một frame như thế nào?
    • Nó tìm trong bảng xem có địa chỉ MAC địch của frame không.
    • Nếu nó tìm thấy, frame sẽ được chuyển tiếp qua cổng tương ứng. Nếu cổng tương ứng này  trùng với cổng mà nó nhận được frame, frame này sẽ không được chuyển tiếp.
    • Nếu nó không tìm thấy, nó gửi frame tới tất cả các cổng, trừ cổng mà nó nhận được frame này

  • Nếu một trạm bị tách khỏi LAN thì làm sao?
    • Mỗi dòng trong bảng được gắn với một timer. Mỗi khi nhận được một frame thì timer của dòng tương ứng  được reset. Khi timer hết hạn thì dòng đó sẽ bị xóa
  • Nếu một trạm được chuyển qua một LAN khác thì làm sao?
    • Mỗi khi nhận được một frame, bridge cập nhật dòng tương ứng trong bảng
  • Nếu cò lặp thì sao?
    • Đôi khi, chúng ta thêm các bridge bổ sung vào giữa hai mạng LAN để cung cấp đường truyền dư thừa,  phòng trong trường hợp một đường truyền bị gián đoạn thì đường truyền kia vẫn hoạt động.
    • Tuy nhiên, chúng ta phải đảm bảo rằng chỉ một đường kết nối giứa hai mạng LAN ở trong tình trạng hoạt động (active), các đường kết nối khác phải bị chặn (standby).
    • Nếu có nhiều đường kết nối giữa hai mạng LAN, một frame với một  đích đến đã biết sẽ bị truyền hai lần, một frame với một đích đến chưa xác định sẽ gây ra broadcast nhiều lần (broadcast storm)
    • Tất cả các bridge thực thi giải thuật cây tản rộng (Spanning Tree Algorithm) để tìm ngăn ngừa các vòng lặp (nhiều đường kết nối) giữa hai mạng LAN
      • Tên của giải thuật xuất phát từ việc một cây tản rộng nối tất cả các nút của một đồ thị với nhau, nhưng không chứa vòng lặp
      • Giải thuật này xác định một bridge cụ thể là root bridge, sau đó nó đảm bảo rằng chỉ có một đường kết nối ở tình trạng hoạt động (active) từ một mạng LAN tới root bridge (và do đó, chỉ có một đường kết nối hoạt động giữa hai mạng LAN)
        • Mỗi bridge có một ID duy nhất được tạo bởi nhà sản xuất, bridge với ID nhỏ nhất được chọn làm root.
        • Một mạng LAN chọn bridge gần với root bridge nhất của nó để làm designated bridge, và chọn cổng tương ứng làm designated port. Trong trường hợp tie, bridge với ID thấp nhất được chọn.
        • Một bridge chọn cổng gần với root bridge nhất làm root port. Trong trường hợp tie, chọn cổng với số nhỏ nhất.
        • Cuối cùng, tất cả các cổng nối với root bridge, tất cả các root port, và tất cả các designated port được thiết lập ở trạng thái chuyển tiếp (active), tất cả các cổng khác được đặt ở trạng thái chặn (blocking hoặc standby).
      • Chúng ta có thể thấy, chỉ có một đường kết nối hoạt động giữa một mạng LAN và root bridge: mạng LAN 1 - [designated port của LAN 1] - designated bridge của LAN 1 - [root port của bridge đó] - mạng LAN 2 - [designated port của LAN 2] - ... - root bridge
      • Tất cả các bridge thực thi giải thuật này một cách định kỳ, do đó, nếu có lỗi xảy ra (một bridge gặp sự cố hoặc một link bị hỏng), thì một cây tản rộng mới sẽ được tạo.
      • Ví dụ:


Các liên kết tham khảo:
  1. 802.3 standard
  2. http://www.ethermanage.com/ethernet/ethernet.html
  3. MAC manufacture

(cheva dịch từ loạt bài giảng về Communication Networks của Dr. Lisong Xu)
« Tháng 2 2010 »
CN T2 T3 T4 T5 T6 T7
123456
78910111213
14151617181920
21222324252627
28
 

Vận hành bởi Hệ quản trị nội dung mã nguồn mở Plone

Trang này tuân theo các chuẩn sau: