Lập trình mô phỏng giao thức mạng Token Ring bằng ngôn ngữ Java. Project là bài tập lớn học phần Mạng máy tính của Viện Điện tử viễn thông, trường đại học Bách Khoa Hà Nội. Mục đích của project nhằm giúp sinh viên nắm bắt được cách hoạt động của giao thức Token trong mạng máy tính.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - TRUYỀN THÔNG
BÁO CÁO BTL MẠNG MÁY TÍNH
ĐỀ TÀI: LẬP TRÌNH MÔ PHỎNG HOẠT ĐỘNG CỦA GIAO
THỨC TOKEN RING
Giảng viên hướng dẫn:
Nhóm sinh viên: Nhóm 15
Hà Nội, 05/2017
Trang 2MỤC LỤC
Trang 31 GIỚI THIỆU VỀ GIAO THỨC TOKEN RING / IEEE 802.5
1.1.Sơ lược lịch sử.
Mạng Token Ring ban đầu được phát triển bởi IBM vào những năm 1970 Đảm bảo tốc độ truyền 4 Mbps hoặc 16 Mbps, chuẩn này được IEEE chuẩn hóa với mã IEEE 802.5, và được ISO công nhận với mã ISO 8802.5
Token Ring và các mạng IEEE 802.5 về cơ bản tương thích, mặc dù các đặc điểm kỹ thuật khác nhau theo những cách nhỏ Mạng Token Ring của IBM xác định một ngôi sao, với tất cả các đầu cuối kết nối với một thiết bị được gọi là đơn vị truy cập đa mục (MSAU) Ngược lại, IEEE 802.5 không chỉ định một tôpô, mặc dù hầu như tất cả các hiện thực IEEE 802.5 được dựa trên một ngôi sao Các khác biệt khác tồn tại, bao gồm loại phương tiện truyền thông (IEEE 802.5 không chỉ định loại
phương tiện truyền thông, mặc dù các mạng Token Ring của IBM sử dụng dây xoắn đôi) và kích thước trường thông tin định tuyến
Một loạt các công nghệ mạng cục bộ khác nhau đã được phát triển vào đầu những năm 1970, Cambridge đã chứng minh được tiềm năng của một topo vòng nối tiếp token và nhiều nhóm trên toàn thế giới đã bắt đầu thực hiện triển khai của riêng mình Tại Phòng thí nghiệm nghiên cứu của IBM ở Zurich, Werner Bux và Hans Müller đặc biệt đã nghiên cứu thiết kế và phát triển công nghệ vòng token của
IBM, trong khi làm việc sớm tại MIT dẫn đến việc Proteon 10 Mbit / s Pronet-10 mạng token ring vào năm 1981, cùng năm mà máy trạm nhà cung cấp Apollo
Computer giới thiệu 12 Mbit / s Token Ring Apollo (ATR) mạng độc quyền của họ Chạy trên cáp đồng trục 75-ohm RG-6U.Proteon sau đó phát triển một 16 Mbit / s phiên bản chạy trên không được che chở cáp cặp xoắn
IBM tung ra sản phẩm độc quyền của họ vào ngày 15 tháng 10 năm 1985 Nó chạy ở tốc độ 4 Mbit / s và có thể được đính kèm từ các máy tính IBM, máy tính cỡ trung và máy tính lớn Nó sử dụng một topo vật lý có cấu trúc có dây, và chạy qua cáp xoắn đôi được bảo vệ, và ngay sau đó đã trở thành cơ sở cho tiêu chuẩn (ANSI) / IEEE 802.5
Trong thời gian này, IBM lập luận mạnh mẽ rằng các mạng LAN vòng tròn mã thông báo là tốt hơn Ethernet, đặc biệt là dưới tải, nhưng những tuyên bố này đã được thảo luận gay gắt
Năm 1988, chiếc nhẫn token chuẩn 16 Mbit / s được tiêu chuẩn hóa bởi nhóm làm việc 802.5, và tăng lên đến 100 Mbit / s được chuẩn hóa và tiếp thị trong thời gian suy giảm của sự tồn tại của vòng token Tuy nhiên, nó không bao giờ được sử
dụng rộng rãi, "IBM không xem vòng loại tín hiệu tốc độ cao như là một yêu cầu đối
với phần lớn khách hàng của mình và do đó quyết định không được cung cấp các gói lên tới 100 Mbps trên các sản phẩm của nó " ), và trong khi 1000 Mbit / s đã được
phê duyệt vào năm 2001, không có sản phẩm đã từng mang đến cho thị trường và hoạt động tiêu chuẩn đến bế tắc như fast Ethernet và Gigabit Ethernet chiếm ưu thế trong khu vực địa phương thị trường mạng
Trang 41.2.Mạng Token Ring
IEEE 802.5 được tạo thành hai phần: một mô tả về các tiêu chuẩn Lớp Vật lý trên mô hình OSI và một mô hình khác xác định lớp con MAC của lớp Liên kết Dữ liệu OSI
Ngoài Ethernet LAN một công nghệ LAN chủ yếu khác đang dùng hiện nay là Token Ring Nguyên tắc của nó được định nghĩa trong tiêu chuẩn IEEE 802.5
Phương pháp truy cập trong mạng gọi là Token passing, phương pháp truy cập xách định, trong đó các xung đột được ngăn ngừa bằng cách ở mỗi thời điểm chỉ một trạm
có thể được truyền tín hiệu Điều này được thực hiện bằng việc chuyển một tín hiệu đặc biệt gọi là Token (thẻ bài) xoay từ trạm này qua trạm khác Mỗi trạm chỉ có thể gửi dữ liệu khi nó nhận được thẻ bài
2.1.Kiến trúc
Kiến trúc Token Ring điển hình bắt đầu với một vòng vật lý Trong thực tế, các máy tính được nối với nhau bằng vòn cap hình sao, các máy tính trên mạng được nối với một hub trung tâm
Hình 1: Sơ đồ mạng Token Ring
Vòng logic biểu thị đường đi của thẻ bài (token) giữa 2 máy tính Vòng cáp vật
lý trong thực tế nằm trong hub Người dùng là thành phần của vòng, nhưng họ lại nối kết với vòng qua hub
2.2.Đặc điểm cơ bản của Token Ring
Mạng có đặc tính sau:
- Cấu hình star ring
- Phương pháp truy cập: chuyển thẻ bài (token passing)
- Cáp UTP và STP
- Tốc độ truyền 4Mbps và 16Mbps
- Truyền dải gốc
Trang 52.3.Kiểm soát truy cập
Quá trình truyền dữ liệu đi như sau:
- Các khung thông tin trống rỗng được lưu hành liên tục trên vòng
- Khi một máy tính có một tin nhắn để gửi, nó seizes các mã thông báo Máy tính sau đó sẽ có thể gửi khung
- Khung này sau đó được kiểm tra bởi mỗi máy trạm kế tiếp Máy trạm xác định bản thân nó là đích đến của thư sao chép nó từ khung và thay đổi mã thông báo trở về 0
- Khi khung trở lại người khởi tạo, nó thấy rằng mã thông báo đã được thay đổi thành 0 và thông điệp đã được sao chép và nhận Nó loại bỏ các tin nhắn từ khung
- Khung tiếp tục lưu hành như một khung "trống", đã sẵn sàng để được thực hiện bởi một máy trạm khi nó có một tin nhắn để gửi
2.4.Giao thức Token Ring
Khi một nút cần truyền tải một thông báo, quá trình gửi sau đây sẽ xảy ra Xem biểu đồ Gửi tín hiệu Token Ring dưới đây
Hình 2: Sơ đồ thuật toán gửi
Trang 6Nút phải dừng truyền sau mười mili giây và đợi cho token đến xung quanh một lần nữa nếu nó có nhiều dữ liệu hơn để gửi đi Mã thông báo sẽ lưu hành xung quanh vòng, theo sau là thông báo, đi qua nút đích, cho đến khi nó trở về nút nguồn Khi nó
đi qua nút đích, nút sao chép dữ liệu vào bộ nhớ riêng của nó (Các bit A và C trong byte trạng thái frame được sử dụng để báo hiệu nút gửi đến node đó là còn sống và frame đã được sao chép) Khi nút nguồn nhận được mã thông báo bận, nó sẽ truyền lại
nó như là một mã thông báo miễn phí Khi nó nhận được dữ liệu sau mã thông báo, nó không truyền lại nó, do đó loại bỏ các tin nhắn từ vòng
Biểu tượng Token Nhận Sơ đồ thuật toán bên dưới minh họa quá trình tổng quát yêu cầu cho một nút nhận khung
Hình 3: Sơ đồ thuật toán nhận
2.5.Phương pháp vận hành của vòng chuyển thẻ bài
Khi máy tính đầu tiên trong mạng Token Ring đăng nhập mạng, mạng tạo ra một thẻ bài (token) Thẻ bài này du ngoạn quanh vòng, thăm dò từng máy tính một đến khi
có một máy tính phát tín hiệu cho biết nó muốn truyền dữ liệu và giành quyền điều khiển thẻ bài “Thẻ bài” là một luồng bit định sẵn, cho phép máy tính đặt dữ liệu lên cáp mạng Máy tính có thể không truyền dữ liệu lên cáp trừ phi nó đã đoạt được quyền
sở hữu thẻ bài; trong khi thẻ bài đang chịu sự điều khiển của một máy tính, những máy tính còn lại không thể tiến hành truyền dữ liệu
Trang 7Hình 4: Thẻ bài Token ring chạy quanh khung theo chiều kim đồng hồ
Sau khi đoạt được thẻ bài máy tính gởi đi một khung dữ liệu lên mạng.Khung này tiếp tục chuyển vòng rồi dừng lại tại máy tính có địa chỉ khớp với địa chỉ đích trên khung Máy tính đích sao chép khung dữ liệu sang vùng nhớ đệm của nó rồi đánh dấu vào trường trạng thái (frame status) của khung để thông báo rằng dữ liệu đã được tiếp nhận.Khung dữ liệu lại quay về máy gửi theo vòng quay, tại đây cuộc truyền được xác nhận là thành công Máy gửi sẽ loại bỏ khung dữ liệu ra khỏi vòng và gửi lên vòng một thẻ bài mới Mỗi lần chỉ có một thẻ bài hoạt động trên mạng và thẻ bài chỉ xoay vòng theo một chiều
Nếu thẻ bài có sẵn, máy tính đóng vai trò như một bộ chuyển tiếp một chiều, tái tạo thẻ bài và chuyển nó đi
Nhận biết máy tính:
Khi một máy tính mới đăng nhập, hệ thống Token Ring kết nạp máy tính đó để trở thành một vòng Thủ tục bao gồm:
- Kiểm tra xem có địa chỉ trùng nhau hay không
- Thông báo cho các máy tính khác trên mạng biết về sự hiện diện của máy tính mới
Giám sát hệ thống:
Máy tính đầu tiên đăng nhập mạng được hệ thống Token Ring phân công giám sát hoạt động của mạng nhằm đảm bảo khung dữ liệu được truyền nhận đúng địa chỉ
2.6.Khuôn dạng frame IEEE 802.5
Trang 8Hình 5: Mô tả kiến trúc frame cho giao thức 802.5
Sarting delimiter(SD): chỉ định định đầu frame SD bao gồm các mẫu báo hiệu
có thể phân biệt với số liệu Nó được mã hóa: JK0JK000
Access control (AC): có dạng PPPTMRRR, trong đó PPP và RRR là 3 bit đầu
ưu tiên và các biến dữ liệu, M là bit giám sát T chỉ ra frame là token hay số liệu
Frame control (FC): chỉ cho biết đây có phải là frame số liệu LLC hay không
Nếu không phải các bit trong field này điều khiển hoạt động của giao thức MAC trên ring
2.7.Các vấn đề có thể dẫn đến phá vỡ hệ thống
Việc mất thẻ bài : giải pháp sử dụng một trạm Active monitor và time out để hồi phục thẻ bài rỗi
Một thẻ bài “bận” lưu chuyển không ngừng trạm monitor sử dụng monitor bit để
“đánh dấu” (1) khi gặp một thẻ bài “bận” đi qua nó Nếu gặp lại một thẻ bài “bận” với bit đã đánh dấu đó chứng tỏ rằng có một thẻ bài “bận” cứ quay vòng mãi, monitor sẽ đổi bit trạng thái thành “rỗi” và chuyển tiếp trên vòng Các trạm còn lại theo dõi monitor và sẵn sàng thay thế nó khi gặp sự cố
3.1.Ưu điểm
- Kỹ thuật đơn giản vì nó là điểm-tới-điểm kỹ thuật số - không có tương tự
- Tiêu chuẩn xoắn đôi trung bình là giá rẻ và dễ cài đặt
- Dễ dàng phát hiện và hiệu chỉnh sự cố cáp
- Deterministic và giao thông có thể được ưu tiên
- Không có phần đệm dữ liệu cần thiết trong khung, vì vậy các khung ngắn
Trang 9- Hiệu suất tuyệt vời trong điều kiện tải nặng.
- Kể từ khi vòng có thể được cầu nối bởi bộ tập trung dây của họ vào những gì
là có hiệu quả một vòng, kích thước vòng không có giới hạn thực tế
3.2.Nhược điểm
- Sự cần thiết phải có một chức năng giám sát
- Trong các điều kiện tải trọng thấp, sự chậm trễ đáng kể đang đợi token đến, mặc dù mạng không hoạt động
- Có thể yêu cầu nhiều dây điện hơn để chạy hơn cấu trúc bus
- Việc truyền Token sẽ không thực hiện được nếu xoay vòng bị đứt đoạn
- Phải có cơ chế kiểm tra Token để kiểm tra và khôi phục Token bị mất
3.3.Hiệu suất của giao thức CSMA/CD và Token Ring
Các phương pháp dùng thẻ bài phức tạp hơn so với giao thức truy cập ngẫu nhiên CSMA/CD Hiệu quả không cao trong việc tải nhẹ Một trạm có thể đợi khá lâu mới đến lượt
Phương pháp dùng thẻ bài: khả năng điều hòa lưu thông trong mạng, lập chế độ
ưu tiên cấp phát thẻ bài cho các trạm cho trước Đặc biệt hiệu quả trong các trường hợp tải nặng
Để mô phỏng hoạt động của giao thức Token Ring, nhóm chúng em đã thực hiện quá trình mô phỏng trêm môi trường Java Sau đây là giao diện chính của chương trình:
Trang 10Hình 6: Giao diện chính của chương trình mô phỏng
- Số lượng máy tính: Là ô nhập số lượng máy tính cần mô phỏng trong mạng,
ở đây số lượng máy tính từ 3 đến 8 máy
- Máy gửi: Là ô nhập địa chỉ máy muốn gửi dữ liệu.
- Máy nhận: Là ô nhập địa chỉ máy nhận dữ liệu
- Nút mô phỏng: Sau khi nhập số liệu đầy đủ, ấn Mô phỏng để chạy chương
trình
- Nút dừng: Nút tạm dừng quá trình mô phỏng.
- Nút tiếp tục: Nút cho phép mô phỏng với số lượng máy tính đã nhập lần
trước, chỉ thay đổi địa chỉ máy gửi và máy nhận
- Nút Cancel: Xóa quá trình mô phỏng.
Dấu chấm tròn đỏ trên màn hình mô phỏng tượng trưng cho Token trong mạng Khi mô phỏng với 8 máy tính trong mạng, gửi dữ liệu từ máy 2 tới máy 4 thì quá trình xảy ra như sau:
- Máy 2 chiếm quyền điều khiển Token và gửi một khung dữ liệu theo chiều kim đồng hồ tới máy 4
Trang 11Hình 7: Máy 2 chiếm quyền điều khiển thẻ bài và gửi khung dữ liệu đi
- Máy 4 nhận được khung dữ liệu đồng thời đánh dấu vào trường trạng thái của khung để báo hiệu đã nhận được dữ liệu và gửi khung đó về cho máy
gửi( máy 2) theo chiều tương ứng
Trang 12Hình 8: Máy 4 nhận được khung dữ liệu và gửi lại cho máy nhận
Khi máy gửi (máy 2) nhận được khung dữ liệu từ máy nhận (máy 4) thì quá trình truyền dữ liệu kết thúc
Chế độ Auto:
Mô phỏng ở chế độ Auto, chương trình sẽ tự động lựa chọn mọi thông số đầu vào như số lượng máy cần mô phỏng, địa chỉ máy gửi, địa chỉ máy nhận, số lượng bản tin cần gửi
Trang 13Hình 9: Chế độ Auto
Như hình trên thì chương trình lựa chọn 6 máy để mô phỏng, máy gửi là máy 3, máy nhận là máy 2 và số lượng bản tin cần gửi là 2 bản tin
[1] https://en.wikipedia.org/wiki/Token_ring, truy nhập cuối ngày 8/5/2017 [2] http://ieeexplore.ieee.org/document/540214/?reload=true, truy cập lần cuối ngày 8/5/2017
[3] http://fit.mta.edu.vn/files/DanhSach/LTMANGC3.pdf , truy cập lần cuối ngày 8/5/2017
[4] http://codes-sources.commentcamarche.net/source/48238-simulation-les-reseaux-token-ring, truy cập lần cuối ngày 8/5/2017