Giáo trình

Giáo trình mạng

Science and Technology

Giới thiệu một số công nghệ mạng LAN

Tác giả: unknown

Ethernet (802.3)

Ethernet đã dễ dàng trở thành công nghệ mạng LAN thành công nhất trong suốt 20 năm qua. Được phát triển vào giữa thập kỷ 1970s bởi các nhà nghiên cứu tại Xerox Palo Atlto Research Center (PARC), Ethernet là một ví dụ thực tiễn của loại mạng cục bộ sử dụng giao thức CSMA/CD.

Tổng quan

Khởi thủy, một phân đoạn mạng của Ethernet (Ethernet segment) được cài đặt trên một sợi cable đồng trục dài tối đa 500 m. Các trạm nối vào Ethernet segment bằng cách “mắc dây” (tab) nối vào nó. Các điểm đấu nối phải cách nhau ít nhất 2,5 m. Transceiver, một thiết bị nhỏ được gắn trực tiếp vào điểm đấu nối, làm nhiệm vụ nghe ngóng khi đường truyền rỗi để đưa tín hiệu ra đó khi trạm phát tín hiệu. Transceiver cũng làm nhiệm vụ nhận tín hiệu đến. Đến lượt transceiver lại được nối đến card mạng Ethernet, được gắn trong máy trạm. Tất cả những chi tiết luận lý làm nên giao thức Ethernet được cài đặt trong card mạng này.

Bức phác họa Ethernet của Bob Metcalfe, người sáng lập ra Ethernet (Xerox PARC - 1972) Và mô tả chi tiết transceiver + adaptor (H5.27)

Các segment có thể được nối với nhau bởi các repeater. Một repeater là một thiết bị dùng để chuyển tiếp tín hiệu số. Tuy nhiên, không được có hơn 4 repeater được đặt giữa hai trạm, có nghĩa là một mạng Ethernet nguyên thủy chỉ kéo dài tối đa là 2500 m.

Bất kỳ tín hiệu nào được phát ra Ethernet sẽ được truyền quảng bá ra toàn mạng, repeater có nhiệm vụ chuyển tín hiệu từ trong segment ra ngoài, và nhận tín hiệu từ ngoài phát quảng bá vào trong segment.

Ethernet Repeater (H5.28)

Khuôn dạng khung thông tin của Ethernet

Bên gởi sẽ bao gói gói tin IP thành khung Ethernet như sau:

Khuôn dạng khung thông tin Ethernet (H5.29)
  • Preamble: dài 7 bytes với mẫu 10101010 theo sau bởi 1 byte với mẫu 10101011, được sử dụng để đồng bộ hóa tốc độ đồng hồ giữa bên gởi và bên nhận.
  • Source and dest. addresses: Địa chỉ nguồn và đích, gồm 6 bytes. Khung được nhận bởi tất cả các trạm trong LAN. Khung bị xóa nếu dest. address không trùng với địa chỉ MAC của bất kỳ trạm nào hoặc không phải thuộc dạng multicast.
  • Type: chỉ ra giao thức được sử dụng ở tầng cao hơn, thường là IP, nhưng các giao thức khác vẫn được hỗ trợ - ví dụ: Novell IPX và AppleTalk.
  • CRC: Phần kiểm tra lỗi. Lỗi được kiểm tra tại trạm đích. Nếu khung có lỗi, nó sẽ bị xóa.

Địa chỉ Ethernet

Mỗi host trong một mạng Ethernet (thật ra là tất cả các host trên thế giới) có một địa chỉ Ethernet duy nhất. Mô tả một cách kỹ thuật, địa chỉ được gắn vào card mạng chứ không phải máy tính; nó được ghi vào ROM trên card mạng. Các địa chỉ Ethernet thường được in theo thể thức mà con người có thể đọc được: một dãy gồm 6 bytes được viết dưới dạng thập lục phân, cách nhau bởi dấu hai chấm. Ví dụ 8:0:2b:e4:b1:2 là cách biểu diễn dễ đọc của địa chỉ Ethernet sau

00001000 00000000 00101011 11100100 10110001 00000010

Để đảm bảo rằng mọi card mạng được gán một địa chỉ duy nhất, mỗi nhà sản xuất thiết bị Ethernet được cấp cho một phần đầu địa chỉ (prefix) khác nhau. Ví dụ Advanced Micro Devices đã được cấp phần đầu dài 24 bit x08002 (hay 8:0:2). Nhà sản xuất này sau đó phải đảm bảo phần đuôi (suffix) của các địa chỉ mà họ sản xuất ra là duy nhất.

Mỗi khung được phát ra Ethernet sẽ được nhận bởi tất cả các card mạng có nối với đường truyền. Mỗi card mạng sẽ so sánh địa chỉ đích trong khung với địa chỉ của nó, và chỉ cho vào máy tính những khung nào trùng địa chỉ. Địa chỉ duy nhất như vậy gọi là địa chỉ unicast. Ngoài ra còn có loại địa chỉ broadcast­ là loại địa chỉ quảng bá, có tất cả các bit đều mang giá trị 1. Mọi card mạng đều cho phép các khung thông tin có địa chỉ đích là broadcast đi đến host của nó. Cũng có một loại địa chỉ khác gọi là multicast, trong đó chỉ một vài bit đầu được đặt là 1. Một host có thể lập trình điều khiển card mạng của nó chấp nhận một số lớp địa chỉ multicast. Địa chỉ multicast được dùng để gởi thông điệp đến một tập con (subset) các host trong mạng Ethernet.

Cách thức mã hóa tín hiệu

Để chuyển đổi dữ liệu bit sang tín hiệu truyền trên đường truyền, Ethernet dùng kiểu mã hóa Manchester. Trong sơ đồ mã hóa Manchester, một bit sẽ được mã hóa bằng một sự thay đổi điện thế. Với bit “1”, điện thế đổi từ 1 xuống 0. Còn với bit “0”, điện thế đổi từ 0 lên 1.

Mã hóa Machester (H5.30)

Giải thuật truy cập đường truyền

Ethernet sử dụng giải thuật CSMA/CS+Exponential backoff, được trình bày cụ thể như sau:

Nhận một gói tin từ tầng cao hơn;

K := 0; n :=0; // K: thời gian chờ đợi ngẫu nhiên; n: số vụ đụng độ đã gặp phải

repeat:

chờ trong khoảng thời gian K*512 bit-time;

while (đường truyền bận) wait;

chờ tiếp 96 bit-time sau khi nhận thấy không có tín hiệu trên đường truyền;

truyền khung và chú ý phát hiện đụng độ;

if (có đụng độ)

{ ngừng truyền và phát tiếp một dãy nhồi 48-bit;

n ++;

m:= min(n, 10);

chọn K ngẫu nhiên từ tập hợp {0, 1, 2, …, 2m-1}.

if (n < 16) goto repeat;

else bỏ việc truyền;

}

Các công nghệ Ethernet

10-BASE-2

Giải thích các ký hiệu:

  • 10: 10 Mbps
  • 2: chiều dài cable tối đa là 200 m
  • Base: Baseband, Broad: Broadband.

Mạng Ethernet 10BASE2 sử dụng cáp đồng trục gầy, hình thái bus. Trong trường hợp mạng có nhiều segments, các repeaters sẽ được sử dụng để nối kết các segments này lại.

Mô hình mạng 10BASE2 (H2.31)

10-BASE-T và 100-BASE-T

Mạng đạt tốc độ 10/100 Mbps, về sau được gọi là “fast Ethernet”. Chữ T viết tắt cho Twisted Pair: cáp xoắn đôi.

Cách thức nối mạng được mô phỏng như sau:

Mô hình mạng 10BaseT (H5.32)

Các HUB được nối tới các SWITCH bằng cáp xoắn đôi. Với cách thức đấu nối như vậy, mạng được gọi là “hình sao”. Cơ chế CSMA/CD được cài đặt tại HUB

GIGABIT ETHERNET

Gbit Ethernet sử dụng khuôn dạng khung chuẩn của Ethernet. Nó cho phép mạng hoạt động trên cả hai kiểu nối kết điểm điểm và kênh quảng bá chia sẻ.

Trong kiểu nối kết điểm-điểm, Gbit Ethernet sử dụng các switches thay cho các hub. Đường truyền được sử dụng theo kiểu hai chiều đồng thời với tốc độ 1 Gbps.

Trong kiểu kênh quảng bá chia sẻ, Gbit Ethernet sử dụng các hubs làm kênh quảng bá và áp dụng giải thuật CSMA/CD để các trạm chia sẻ việc sử dụng các hubs này.

FDDI (Fiber Distributed Data Interface)

Theo nhiều phương diện, FDDI tương tự như 802.5 và IBM Token Ring. Tuy nhiên, cũng có những khác biệt đáng kể, một số phát sinh vì lý do FDDI chạy trên cáp quang, một số khác phát sinh do có nhiều đổi mới sau khi người ta phát minh ra IBM Token Ring. Chúng ta sẽ thảo luận về những khác biệt quan trọng trong phần dưới đây.

Các tính chất vật lý

Không giống như mạng 802.5, một mạng FDDI bao gồm một vòng đôi = hai vòng độc lập truyền dữ liệu theo hai chiều ngược nhau (xem H5.33.a).

Vòng quang đôi: a) hoạt động bình thường; b) vòng chính bị hỏng (H5.33)

Vòng phụ không được sử dụng trong khi hệ thống hoạt động bình thường, nó chỉ vào cuộc khi vòng chính bị sự cố (xem H5.33.b). Nghĩa là vòng chính sẽ quành lại vòng phụ để tạo ra một vòng hoàn chỉnh, và chính điều này giúp cho FDDI có khả năng chịu lỗi khi một cộng cáp bị đứt hay một trạm trong vòng bị hỏng.

Do phải chịu phí tổn khi cấu hình theo kiểu vòng đôi, nên FDDI còn cho phép một trạm chọn nối vào chỉ một vòng đơn thôi. Những trạm như vậy gọi là những “trạm nối đơn” (single attachment station – SAS). Những trạm nối cả vào hai vòng dĩ nhiên sẽ được gọi là những “trạm đấu đôi” (dual attachment station – DAS). Một bộ tập trung (concentrator) sẽ được sử dụng để nối các SAS vào vòng đôi (xem H5.34)

Các SAS được nối vào bộ tập trung (H5.34)

Nếu một SAS bị hỏng hóc, bộ tập trung sẽ phát hiện ra tình trạng này và sử dụng cơ chế bỏ qua tín hiệu quang (obtical bypass) để cô lập SAS bị hỏng, vì thế giữ cho vòng được thông suốt.

Trong FDDI, bộ đệm của giao diện mạng có thể có kích thước khác nhau tại những trạm khác nhau, mặc dù kích thước của nó không bao giờ nhỏ hơn 9 bit và lớn hơn 80 bit. Một trạm cũng có thể bắt đầu phát các bit trong bộ đệm đi trước khi bộ đệm của nó bị đầy. Dĩ nhiên là tổng thời gian để một thẻ bài di chuyển hết một vòng là một hàm của kích thước của các bộ đệm này. Ví dụ, FDDI là mạng tốc độ 100 Mbps, nó có thời gian xử lý 1 bit là 10 ns. Nếu mỗi trạm cài đặt buffer dài 10 bit và chờ cho đến khi buffer bị đầy một nửa mới bắt đầu truyền, thì mỗi trạm tạo ra thời gian trì hoãn là 5 × 10 ns = 50 ns đối với tổng thời gian xoay vòng mạng.

FDDI còn có các tính chất vật lý khác. Chẳng hạn, một mạng đơn có giới hạn chuẩn là có tối đa 500 trạm làm việc, với khoảng cách xa nhất giữa một cặp trạm bất kỳ là 2 km. Nhưng trên hết, mạng lại bị giới hạn với kích thước tổng cộng là 200 km cáp quang. Do tính chất là vòng đôi, nên tổng kích thước cáp quang nối tất cả các trạm là 100 km. Ngoài ra, mặc dù ký tự “F” ám chỉ cáp quang, nhưng chuẩn FDDI đã được định nghĩa để có thể chạy trên một số thiết bị tải khác, bao gồm cả cáp đồng trục và cáp xoắn đôi. Tuy nhiên cũng nên cẩn thận khi xét đến tổng kích thước mà vòng bao phủ. Như chúng ta sẽ thấy dưới đây, lượng thời gian bỏ ra để cho thẻ bài đi hết một vòng mạng sẽ đóng vai trò quan trọng trong giải thuật điều khiển truy cập.

FDDI sử dụng phương pháp mã hóa 4B/5B. Do FDDI chuẩn mạng phổ biến đầu tiên sử dụng cáp quang, nên các con chíp mã hóa dạng 4B/5B chạy trên tốc độ của FDDI có rất nhiều ngoài thị trường.

Giải thuật “Thẻ bài được định thời” – Timed Token

Các luật qui định thời gian giữ thẻ bài trong FDDI phức tạp hơn trong 802.5 một ít. THT cho mỗi trạm được tính như trong phần trình bày về Token Ring, và được tinh chỉnh để có được một giá trị hợp lý. Ngoài ra, để đảm bảo cho mỗi trạm có cơ hội truyền trong một khoảng thời gian cụ thể nào đó, nghĩa là để đặt một cận trên cho giá trị TRT mà mọi trạm đều thấy được, chúng ta định nghĩa thông số “đích thời gian xoay vòng của thẻ bài” (target token rotation time – TTRT). (Việc các trạm thống nhất với nhau về thời gian TTRT như thế nào sẽ được trình bày trong phần phía dưới). Mỗi trạm đo thời gian giữa hai lần liên tiếp thẻ bài đến nó, chúng ta gọi thời gian này là TRT đo được của trạm (measured TRT). Nếu thời gian TRT đo được của trạm lớn hơn thời gian TTRT được dàn xếp trước đó thì thẻ bài bị trễ, vì thế trạm sẽ không được truyền dữ liệu nữa. Ngược lại, thẻ bài đến sớm và trạm sẽ có quyền giữ thẻ bài trong khoảng thời gian (TTRT-TRT).

Tuy nhiên, có vấn đề phát sinh như sau: Nếu một nút có quá nhiều dữ liệu cần phải gởi có cơ hội giữ thẻ bài, nó sẽ tận dụng hết thời gian giữ thẻ bài được phép. Vì thế nút kế sau nó sẽ tính toán và thấy thời gian TTRT và TRT là bằng nhau, nghĩa là nút kế sau này sẽ không có quyền truyền dữ liệu nữa. Để tính đến khả năng này, FDDI định nghĩa hai lớp giao thông trên mạng: đồng bộ và dị bộ. Khi một trạm có được thẻ bài, nó luôn được phép gởi dữ liệu dạng đồng bộ mà không cần phải quan tâm là thẻ bài tới sớm hay trễ. Ngược lại, trạm có thể gởi dữ liệu dạng dị bộ chỉ khi thẻ bài tới sớm.

Chú ý rằng các khái niệm đồng bộ và dị bộ ở đây có thể gây hiểu lầm. Bằng cách dùng khái niệm đồng bộ, FDDI ám chỉ rằng giao thông trên mạng là có nhạy cảm với độ trễ thông tin. Ví dụ, người ta sẽ muốn gởi âm thanh hay video trên mạng FDDI theo kiểu đồng bộ. Ngược lại, những ứng dụng nào quan tâm đến thông lượng của đường truyền thì sẽ thích kiểu truyền dị bộ hơn. Ví dụ, ứng dụng truyền file trên mạng sẽ muốn sử dụng kiểu lưu thông dị bộ trên FDDI.

Lại thêm vấn đề phát sinh: Do kiểu lưu thông dạng đồng bộ không có quan tâm đến việc thẻ bài đến sớm hay muộn, nên có khả năng nếu trạm co-dãn thời gian gởi dữ liệu đồng bộ thì thông số TTRT không còn ý nghĩa gì nữa! Để giải quyết vấn đề này, ta qui định: tổng thời gian gởi dữ liệu đồng bộ trong một vòng xoay của thẻ bài không được vượt quá TTRT.

Quản lý thẻ bài

Các cơ chế mà FDDI dùng để đảm bảo luôn có một thẻ bài hợp lệ chạy trên vòng cũng khác so với 802.5, do chúng dính với quá trình thiết đặt TTRT. Trước tiên, tất cả các trạm trong vòng luôn quan sát để đảm bảo là thẻ bài không bị mất. Để ý rằng một trạm trên vòng luôn có thể thấy được thời gian truyền hợp lệ của khung hay là thẻ bài. Thời gian rỗi tối đa giữa những lần truyền hợp lệ mà mỗi trạm nên biết qua là bằng độ trễ của vòng cộng với thời gian bỏ ra để truyền một khung đầy. (Trên một vòng có kích thước tối đa, thời gian tối đa để truyền một khung đầy là nhỏ hơn 2.5 ms). Do đó, mỗi trạm sẽ đặt bộ đếm lên, bộ đếm này sẽ hết hạn trong thời gian 2.5 ms. Nếu bộ đếm hết hạn, trạm sẽ nghi ngờ là có vấn đề không ổn và sẽ phát khung “thỉnh cầu”. Ngược lại khi bộ đếm chưa hết hạn mà trạm thấy được một sự truyền hợp lệ, nó sẽ đặt lại giá trị tối đa của bộ đếm là 2.5 ms.

Khung thỉnh cầu trong FDDI khác với trong 802.5 do nó có chứa giá trị TTRT mà trạm mời chào (bid for the TTRT), nghĩa là: đó là thời gian xoay vòng của thẻ bài mà trạm cảm thấy đủ để các ứng dụng chạy trên nó thỏa mãn các ràng buộc về thời gian. Một trạm có thể gởi khung thỉnh cầu trong khi không có thẻ bài trong tay, và nó thường làm vậy khi có nghi ngờ mất thẻ bài hoặc khi mới tham gia vào vòng lần đầu tiên. Nếu khung thỉnh cầu đi được hết một vòng và quay lại, trạm phát sẽ xóa nó đi và hiểu rằng giá trị TTRT được mời chào trong đó là giá trị nhỏ nhất. Bây giờ có thể coi là trạm đang nắm thẻ bài, nghĩa là nó có trách nhiệm chèn vào mạng một thẻ bài hợp lệ, và có thể tiếp tục với giải thuật dùng thẻ bài thông thường.

Khi một nút nhận được một khung thỉnh cầu, nó kiểm tra xem giá trị TTRT được mời chào trong đó có nhỏ hơn giá trị TTRT của chính nó không. Nếu nhỏ hơn, nó sẽ đặt lại giá trị TTRT của nó thành giá trị TTRT được mời chào. Nếu lớn hơn, trạm sẽ xóa khung thỉnh cầu này đi, chèn vào vòng một khung thỉnh cầu mới chứa giá trị TTRT được mời chào bằng giá trị TTRT của nó. Trường hợp cuối cùng, nếu giá trị TTRT được mời chào bằng với giá trị TTRT của trạm, trạm sẽ so sánh địa chỉ của trạm gởi khung thỉnh cầu và địa chỉ của nó, địa chỉ nào lớn hơn sẽ thắng – nghĩa là bên thắng sẽ sở hữu khung thỉnh cầu. Do đó, nếu một khung thỉnh cầu đi hết một vòng và trở về trạm gởi, trạm gởi sẽ biết rằng nó là người mời chào giá trị TTRT duy nhất và nó có thể tạo ra một thẻ bài mới một cách an toàn. Tại thời điểm đó, tất cả các trạm bấy giờ đều đồng ý rằng giá trị TTRT là giá trị đủ nhỏ để làm cho tất cả chúng cảm thấy hạnh phúc!

Khuôn dạng của khung thông tin

Khung thông tin FDDI

Do FDDI sử dụng cơ chế mã hóa 4B/5B, nên nó dùng các ký tự điều khiển 4B/5B. Ngoài ra trong phần Control có tồn tại một bit để phân biệt kiểu lưu thông là dị bộ hay đồng bộ.

Mạng không dây (802.11)

Mạng không dây là kỹ thuật nối mạng đang phát triển nhanh hiện nay. Như chúng ta đã biết, khả năng để xây dựng mạng không dây là hầu như không có giới hạn, trải dài từ cách sử dụng tín hiệu hồng ngoại để dựng mạng nội bộ trong phạm vi một tòa nhà cho đến việc kiến thiết mạng toàn cầu từ một lưới các vệ tinh quĩ đạo thấp. Phần này sẽ có cái nhìn gần hơn vào một kỹ thuật cụ thể xoay quanh chuẩn 802.11 đang nổi hiện nay. Giống như những người anh em Ethernet và Token Ring, 802.11 được thiết kế để hoạt động trong một phạm vi địa lý hẹp (các ngôi nhà, các tòa nhà văn phòng, các khu đại học) và thách thức quan trọng nó đặt ra là phải trù tính đến việc truy xuất đến phương tiện truyền thông chia sẻ - trong trường hợp này là các tín hiệu lan truyền trong không gian. 802.11 hỗ trợ thêm một số tính năng như các dịch vụ có giới hạn về thời gian, quản lý năng lượng và các cơ chế an toàn, nhưng chúng ta chỉ tập trung vào thảo luận về chức năng cơ bản của nó thôi.

Các tính chất vật lý

802.11 được thiết kế để chạy trên ba phương tiện vật lý khác nhau - hai dựa trên sóng radio phổ rộng và một dựa trên tia hồng ngoại được khuếch tán. Phiên bản chạy trên sóng radio hiện đang chạy với tốc độ 11 Mbps, nhưng có thể sớm đạt được tốc độ 54 Mbps.

Ý tưởng đằng sau khái niệm phổ tần rộng là nhằm trải rộng tín hiệu lên trên một băng tần rộng hơn so với bình thường, vì thế có thể giảm thiểu tác động của sự giao thoa tín hiệu với các thiết bị khác. Ví dụ, kỹ thuật “nhảy tần số” (frequency hopping) là một kỹ thuật sử dụng phổ tần rộng, nó xoay quanh việc gởi tín hiệu qua một dãy tần số ngẫu nhiên; nghĩa là lần đầu sẽ gởi trên một tần số, lần hai gởi trên tần số khác, lần thứ ba và vân vân. Dãy tần số này không thật sự là ngẫu nhiên mà được tính toán một cách có giải thuật bởi một bộ sinh số ngẫu nhiên. Bên nhận sẽ dùng cùng một giải thuật như bên gởi và do đó có thể nhảy qua các tần số khác nhau đồng bộ với bên gởi để nhận chính xác khung thông tin.

Một kỹ thuật sử dụng phổ tần rộng khác, được gọi là “dãy trực tiếp”(direct sequence), cũng đạt được cùng một hiệu quả bằng cách thể hiện một bit trong khung thành nhiều bit trong tín hiệu truyền đi. Với mỗi bit bên gởi muốn truyền đi, nó thực ra sẽ gởi một chuỗi bit là kết quả của phép toán exclusive-OR của bit đó với một chuỗi n bit ngẫu nhiên. Cũng như trong frequency hopping, chuỗi n bit này được sinh ra bởi một bộ sinh số ngẫu nhiên và được hiểu bởi cả hai bên gởi và nhận. Các giá trị được truyền đi, được gọi là “mã cắt lát” n bit (n-bit chipping code), sẽ rải tín hiệu trên một dãi tần rộng hơn gấp n lần so với dãi tần mà thông thường khung cần để được truyền đi. H5.35 là một ví dụ về mã cắt lát 4 bit.

Ví dụ về mã cắt lát 4 bit. (H5.36)

802.11 định nghĩa một lớp vật lý sử dụng cơ chế “nhảy tần số” (trên 79 dải tần có độ rộng 1-Mhz), lớp vật lý thứ hai sử dụng “dãy trực tiếp” (sử dụng dãy cắt lát 11 bit). Cả hai chuẩn đều chạy trên sóng điện từ băng tần 2.4 GHz. Trong cả hai trường hợp, việc trải rộng phổ truyền đều có điểm thú vị là làm cho tín hiệu giống như nhiễu đối với bất kỳ bên nhận nào không biết chuỗi ngẫu nhiên giả.

Chuẩn vật lý thứ ba của 802.11 dựa trên tín hiệu hồng ngoại. Tín hiệu lưu thông sẽ được khuếch tán, nghĩa là bên gởi và bên nhận không cần phải hướng vào nhau và không cần tầm nhìn rõ ràng. Kỹ thuật này có phạm vi hoạt động khoảng 10 m và bị giới hạn chỉ trong các tòa nhà mà thôi.

Tránh đụng độ (Collision Avoidance)

Thoạt nhìn, có vẻ như giao thức không dây cũng tuân thủ cùng giải thuật như ở Ethernet: đợi cho đến khi đường truyền rỗi thì mới truyền, lùi lại nếu có đụng độ. 802.11 cũng làm tương tự như vậy. Tuy nhiên, vấn đề phức tạp hơn trong hệ thống mạng không dây, bởi vì không phải tất cả các nút đều có thể thấy nhau!

Ví dụ về mạng không dây (H5.37)

Xét tình huống được chỉ ra trong H5.37, mỗi trạm chỉ có thể gởi và nhận tín hiệu đến hai nút kề trái và phải của nó. Ví dụ nút B có thể trao đổi các khung dữ liệu với nút A và C nhưng không thể phát tín hiệu đến D được, trong khi C chỉ có thể trao đổi với B và D mà không thể với A. (Tầm phủ sóng của A và D không được vẽ trong hình). Giả sử cả A và C cùng muốn nói giao tiếp với B và do đó chúng cùng gởi khung đến B. A và C không biết gì về nhau do sóng không thể đi xa như vậy. Hai khung này sẽ bị đụng độ tại B, nhưng không như trong Ethernet, không ai trong A và C hay biết gì về sự đụng độ này. A và C được gọi là các nút ẩn (hiden nodes) đối với nhau.

Một vấn đề liên quan nữa, gọi là vấn đề “nút bị phơi trần” (exposed node problem), phát sinh trong tính huống sau: Giả sử B đang gởi cho A, nút C nhận biết được tình huống này vì nó nghe được việc truyền của B. Và sẽ là sai lầm nếu C kết luận là nó không thể truyền đến bất kỳ nút nào khác do nó nghe thấy B đang truyền. Ví dụ, giả sử C muốn truyền cho D thì việc này không gây ảnh hưởng gì vì việc truyền từ C đến D không can dự vào khả năng nhận tín hiệu của A từ B. (Chỉ gây ảnh hưởng khi A truyền cho B, nhưng trong trường hợp này B đang truyền).

802.11 giải quyết hai vấn đề trên bằng một giải thuật gọi là “Đa truy cập với cơ chế tránh đụng độ” – Multiple Access with Collision Avoidance (MACA). Ý tưởng là cho hai bên gởi và nhận trao đổi những khung điều khiển với nhau trước khi thật sự truyền dữ liệu. Việc trao đổi này dụng ý là để thông báo cho các trạm lân cận rằng một phiên truyền dữ liệu sắp xảy ra. Cụ thể giải thuật như sau: Bên gởi gởi một khung “yêu cầu gởi” – Request To Send (RTS) đến bên nhận; khung RTS có chứa một trường, trong đó chỉ ra bên gởi muốn giữ kênh truyền bao lâu ( nghĩa là nó chỉ ra chiều dài của khung cần gởi). Bên nhận sẽ trả lời bằng khung “sẵn sàng nhận” – Clear To Send (CTS); khung này sẽ lặp lại trường chiều dài khung như phía bên gởi. Bất kỳ trạm nào thấy khung CTS cũng hiểu được rằng trạm bên nhận ở gần nó, cho nên nó sẽ không thể gởi khung trong khoảng thời gian được chỉ ra trong CTS. Còn những trạm thấy khung RTS nhưng không thấy khung CTS đâu thì chắc chắn là không ở gần bên nhận, do đó chúng có quyền tự do gởi khung đi.

Có thêm hai chi tiết nữa để hoàn thiện bức tranh về Wireless LAN. Thứ nhất, bên nhận gởi một khung báo nhận (ACK) cho bên gởi sau khi đã nhận thành công một khung dữ liệu. Tất cả các nút khác phải chờ khung ACK này đi qua trước khi thử truyền khung của mình. (Khung ACK này không có trong phiên bản MACA gốc, thay vào đó nó được đề nghị trong một phiên bản mở rộng được gọi là MACW: MACA for Wireless LANs). Thứ hai, trường hợp có hơn hai trạm phát hiện kênh truyền rỗi, chúng sẽ gởi khung RTS cùng lúc, dẫn đến các khung này bị va chạm với nhau. 802.11 không có hỗ trợ cơ chế phát hiện đụng độ, thay vào đó, các trạm nhận ra sự đụng độ khi chúng không nhận được các khung CTS sau một khoảng thời gian nào đó. Nếu thế, mỗi trạm sẽ chờ đợi sau một khoảng thời gian ngẫu nhiên nào đó trước khi thử gởi khung RTS lần nữa. Khoảng thời gian mà một trạm chờ để thử lại được định nghĩa giống như thuật toán back-off trong Ethernet.

Hệ thống phân tán

Như những gì đã trình bày, 802.11 có thể thích hợp với cấu hình mạng dạng ad-hoc, trong đó các nút có thể hoặc không thể giao tiếp với những nút còn lại, tùy thuộc vào khoảng cách giữa chúng là gần hay xa. Ngoài ra, do một trong những thuận lợi của mạng không dây là các nút có thể tự do di chuyển do chúng không bị trói buộc bởi hệ thống dây nối, tập các nút có thể thấy nhau trực tiếp là thay đổi theo thời gian. Để giúp giải quyết vấn đề di động và nối kết một phần này, 802.11 định nghĩa thêm một kiến trúc trên một tập các nút. Các nút có quyền tự do giao tiếp trực tiếp với nhau như đã trình bày, nhưng trong thực tế chúng hoạt động bên trong kiến trúc này.

Các điểm truy cập được nối kết vào mạng phân tán (H5.38)

Thay vì tất cả các nút được tạo ra như nhau, một số nút được phép đi lang thang (đó là máy laptop của bạn) và một số được nối kết tới một hạ tầng mạng có nối dây. Các trạm nối kết có dây được gọi là các điểm truy cập - “access point” (AP) và chúng được nối với nhau bằng cái gọi là hệ thống phân tán. H5.38 mô phỏng một hệ thống phân tán nối kết ba điểm truy cập, mỗi điểm truy cập phục vụ các nút di động trong khu vực mình phụ trách. Mỗi khu vực này giống như một cell trong hệ thống điện thoại di động, với AP hoạt động giống như Base station.

Mặc dù hai nút có thể giao tiếp trực tiếp với nhau nếu chúng ở trong tầm với của nhau, tuy nhiên ý tưởng ở trong kiến trúc này là: mỗi nút sẽ kết hợp với một điểm truy cập của nó. Ví dụ, để nút A giao tiếp được với nút E, đầu tiên A gởi khung của nó đến điểm truy cập AP-1, AP-1 sẽ gởi khung qua hệ thống phân tán đến AP-3, rồi AP-3 sẽ phân phát khung đến E. Chỉ ra AP-1 làm cách nào để chuyển khung đến AP-3 là nằm ngoài phạm vi của 802.11, một giao thức cầu nối (sẽ được nghiên cứu ở tầng mạng) có thể được sử dụng để làm nhiệm vụ này. Những gì 802.11 có thể làm là xác định cách thức các nút chọn ra AP của chúng, và thú vị hơn nữa là làm sao giao thức này hoạt động được trong tình cảnh các nút di chuyển từ cell này đến cell khác.

Kỹ thuật để chọn ra một AP được gọi là kỹ thuật “quét” (scanning) và nó xoay quanh bốn bước sau:

  1. Nút gởi một khung Probe (thăm dò).
  2. Tất cả điểm truy cập (AP) trong tầm với của nút sẽ trả lời bằng một khung Probe Response (trả lời thăm dò).
  3. Nút sẽ chọn một trong các điểm truy cập trên và gởi đến điểm truy cập đó một khung Association Request (yêu cầu gia nhập).
  4. Điểm truy cập trả lời bằng một khung Association Reponse (trả lời cho yêu cầu gia nhập).

Một nút tiến hành giao thức này khi nó lần đầu tham gia vào mạng hoặc nó không hài lòng với AP hiện tại. Điều này có thể xảy ra, ví dụ như vì tín hiệu từ AP hiện tại yếu dần do nút càng di chuyển xa AP. Mỗi khi nút kiếm được AP mới, AP mới sẽ nhắc nhở AP cũ về sự thay đổi này.

Sự di động của nút mạng (H5.39)

Lấy ví dụ như trong H5.38, khi mà nút C di chuyển từ cell được phục vụ bởi AP-1 sang cell được phục vụ bởi AP-2. Khi C di chuyển, nó gởi khung Probe đến AP-2 và được AP-2 trả lời bằng khung Probe Response. Tại thời điểm đó, C thích AP-2 hơn AP-2, do đó nó gia nhập vào điểm truy cập này.

Cơ chế vừa được mô tả được gọi là cơ chế “quét chủ động” – active scanning, do nút chủ động dò tìm điểm truy cập. Các AP cũng thường xuyên gởi khung Beacon (đèn hiệu) để quảng cáo cho khả năng của mình, bao gồm tốc độ truyền được điểm truy cập hỗ trợ. Cơ chế này được gọi là “quét thụ động” – passive scanning, và một nút có thể chuyển sang điểm truy cập này đơn giản bằng cách gởi môt khung Association Request ngược lại AP.

Khuôn dạng khung

Khuôn dạng khung 802.11 (H5.40)

Hầu hết các thông tin trong khung 802.11, như được vẽ trong H5.40, là đều như chúng ta mong muốn. Khung bao gồm địa chỉ nguồn và đích, mỗi cái dài 48 bits; dữ liệu tối đa 2312 bytes; và phần kiểm tra lỗi CRC 32 bits. Trường Control chứa ba trường con: Trường Type dài 6 bits – dùng để chỉ ra khung là khung dữ liêu, hay là khung RTS, hay là CTS, hoặc cũng được sử dụng bởi giải thuật quét; một cặp trường mỗi trường dài 1 bit gọi là ToDS và FromDS, sẽ được giải thích ngay sau đây.

Điều kỳ dị trong khung 802.11 là nó chứa đến bốn địa chỉ. Cách thức thông dịch các địa chỉ này lại phụ thuộc vào việc thiết đặt các bít ToDS và FromDS trong trường Control. Điều này là để tính đến khả năng khung phải được chuyển tiếp qua hệ thống phân tán, có nghĩa là bên gởi nguyên thủy không nhất thiết phải là nút phát khung gần đây nhất. Cũng tương tự đối với địa chỉ bên nhận. Trong trường hợp đơn giản nhất, khi một nút gởi khung trực tiếp đến nút kia, cả hai bit DS đều có giá trị 0, Addr1 chứa địa chỉ nút đích, Addr2 chứa địa chỉ nút nguồn. Trong trường hợp phức tạp nhất, cả hai bit DS mang giá trị 1, chỉ ra rằng khung thông tin đi từ nút không dây qua hệ thống phân tán và rồi từ hệ thống phân tán đến nút không dây bên đích. Với cả hai bit DS được đặt, Addr1 định danh đích cuối cùng, Addr2 định danh nút gởi tạm thời (là nút đã chuyển khung từ hệ thống phân tán đến đích cuối cùng), Addr3 định danh nút đích tạm thời (là nút đã nhận khung từ nút không dây và trung chuyển khung xuyên qua hệ thống phân tán), Addr4 định danh nút gởi nguyên thủy. Trong ví dụ H5.37, Addr1=E, Addr2=AP-3, Addr3=AP-1, Addr4=A.

Đánh giá:
0 dựa trên 0 đánh giá

Tuyển tập sử dụng module này

Nội dung cùng tác giả
 
Nội dung tương tự