Sự kết hợp của máy tính với các hệ thống truyền thông đã tạo ra cuộc cách mạng trong vấn đề tổ chức khai thác và sử dụng hệ thống máy tính.. Định nghĩa Ethernet – Ethernet là một dạng
GIAO THỨC CSMA/CD
GIỚI THIỆU VỀ MẠNG CỤC BỘ (LOCAL AREA NETWORK)
Mạng cục bộ (LAN) là hệ thống kết nối máy tính trong không gian nhỏ như nhà ở, văn phòng hoặc trường học Trong mạng LAN, các máy tính có khả năng chia sẻ tài nguyên, bao gồm tập tin, máy in, máy quét và nhiều thiết bị khác, giúp tối ưu hóa hiệu suất làm việc và tăng cường khả năng hợp tác.
A minimal Local Area Network (LAN) requires a server, networking devices such as repeaters, hubs, switches, and bridges, client computers, a Network Interface Card (NIC), and cables for connectivity In the era of MS-DOS, LAN servers commonly utilized Novell NetWare software, but this has become outdated with the advent of Windows NT and Windows for Workgroups Today, most servers operate on Windows, with LAN speeds reaching up to 10 Mbps, 100 Mbps, or even exceeding 1 Gbps.
Hình 1.1: Sơ đồ mạng LAN (nguồn IT Release)
Một dạng mạng khác của LAN là WAN (Wide Area Network), hay còn gọi là mạng diện rộng, được sử dụng để kết nối các mạng LAN thông qua router Bên cạnh đó, WLAN (Wireless LAN) - mạng LAN không dây, đã xuất hiện trong những năm gần đây như một hình thức mới của mạng LAN.
LAN có thể được phân loại thành hai loại Máy tính trong mạng LAN được kết nối dưới dạng peer to peer hoặc client-server
Mạng peer-to-peer (P2P) cho phép các máy tính kết nối trực tiếp mà không cần máy chủ chuyên dụng, với mỗi máy tính hoạt động như cả máy khách và máy chủ Một ví dụ điển hình của mạng P2P là BitTorrent, nơi các máy tính có thể tải lên và tải xuống tệp cùng lúc Mặc dù mạng P2P cho phép tối đa 10 máy tính kết nối, nhưng độ bảo mật của nó thường khá yếu.
Mạng client-server là một cấu trúc trong đó một máy tính đảm nhận vai trò máy chủ, cung cấp dịch vụ cho các máy khách khác Máy chủ có thể là máy chủ tệp, máy chủ in hoặc máy chủ cơ sở dữ liệu, và hệ thống này mang lại mức độ bảo mật cao So với mạng P2P, mạng client-server có tốc độ truyền dữ liệu nhanh hơn Ví dụ, khi bạn xem video trên YouTube, máy tính của bạn hoạt động như một máy khách, trong khi YouTube đóng vai trò là máy chủ cung cấp nội dung.
Network topology là cách kết nối mạng giữa các máy tính, thể hiện bố cục vật lý của mạng Nó mô tả vị trí của máy tính và cách chúng được kết nối với nhau Các loại network topology phổ biến bao gồm: bus topology, star topology, ring topology, tree topology, mesh topology và hybrid topology.
Hình 1.2: Sơ đồ kết nối một số network topology
Ethernet, được phát triển vào những năm 1970 tại Trung tâm Nghiên cứu Palo Alto (PARC) của Xerox, là một giao diện mạng chi phí thấp và chịu lỗi, phục vụ cho cả mạng cục bộ và mạng diện rộng Khi ra đời, Ethernet đã xuất hiện giữa nhiều công nghệ mạng khác như TokenBus, TokenRing, ARCNET và CDDI, cùng với một số giao diện mạng ít được biết đến hoặc độc quyền Các cấu trúc mạng phổ biến bao gồm: a) Topology bus, b) Topology sao, c) Topology vòng, d) Topology lưới, e) Topology cây, và f) Topology lai.
Nhà khoa học Robert Metcalf tại PARC được giao nhiệm vụ phát triển giải pháp kết nối hàng trăm máy tính trong công ty, nhằm chia sẻ chiếc máy in laser đầu tiên trên thế giới do Xerox phát minh.
Vào đầu những năm 1970, một số công ty sở hữu nhiều hơn hai hoặc ba máy tính, trong bối cảnh không có máy tính cá nhân, máy tính xách tay hay điện thoại di động Các mạng thời điểm đó không đủ nhanh hoặc không thể mở rộng để kết nối nhiều máy tính, do đó, Metcalf và các đồng nghiệp của ông cần tìm ra một giải pháp mới để khắc phục vấn đề này.
Họ đã sáng tạo ra mạng internet hiện đại bằng cách kết hợp các công nghệ tiên tiến với ý tưởng độc đáo, kết nối hàng triệu thiết bị trên toàn cầu với nhau và với internet.
Theo tiêu chuẩn IEEE-802.3, được ban hành vào năm 1985, Ethernet đã trở thành giao diện chuẩn cho các mạng lớn, nhỏ và thiết bị cá nhân Đây là sự kết hợp hoàn hảo giữa phần cứng và phần mềm, được thiết kế để chịu lỗi và hoạt động nhanh chóng.
Biểu đồ dữ liệu là thông tin được tổ chức thành các "gói" hoặc "khung", bao gồm không chỉ dữ liệu mà còn thông tin nhận dạng tiêu đề và địa chỉ để tái tạo dữ liệu ở đầu nhận Cuối cùng, biểu đồ dữ liệu còn có CRC 32-bit để kiểm tra và ngăn ngừa lỗi.
Các thiết bị mạng sử dụng giao diện Ethernet và mỗi thiết bị được gán một địa chỉ duy nhất Điều này rất quan trọng vì trong một mạng có nhiều thiết bị có khả năng truyền và nhận dữ liệu, mỗi thiết bị cần xác định chính xác dữ liệu nào là dành cho nó.
Ethernet là công nghệ truyền thống dùng để kết nối các mạng LAN cục bộ, cho phép các thiết bị giao tiếp với nhau thông qua một giao thức chung, đảm bảo tính tương thích và hiệu quả trong việc truyền tải dữ liệu.
Ethernet là một lớp giao thức data-link trong tầng TCP/IP, cho phép các thiết bị mạng định dạng và truyền các gói dữ liệu hiệu quả Nhờ vào Ethernet, các thiết bị trên cùng phân khúc mạng cục bộ có thể phát hiện, nhận và xử lý các gói dữ liệu một cách dễ dàng Hệ thống cáp Ethernet đóng vai trò quan trọng trong việc truyền dữ liệu qua các kết nối vật lý.
TỔNG QUAN VỀ CSMA
Carrier Sense Multiple Access (CSMA) là giao thức đa truy nhập sử dụng cảm nhận sóng mang trong Ethernet Để cải thiện hiệu suất kênh truyền và giảm xác suất va chạm, CSMA áp dụng cơ chế kiểm tra trạng thái kênh Trước khi truy nhập, trạm sẽ kiểm tra xem kênh có đang bận hay không Nếu có sóng mang, tức là kênh đang bận, trạm sẽ chờ cho đến khi kênh trở nên rỗi Ngược lại, nếu không có sóng mang, trạm sẽ ngay lập tức truyền dữ liệu lên kênh.
Thời gian dễ xảy ra va đập trong CSMA là thời gian trễ lan truyền
Hình 1.6: Thời gian dễ xảy ra va đập trong giao thức CSMA
CSMA sử dụng 3 mô hình truy nhập kênh là: 1-Persistent CSMA, p-Persistent CSMA, non-Persistent CSMA.
2.1 1-Persistent CSMA
Trong 1-Persistent CSMA, trước khi truy nhập kênh, trạm sẽ kiểm tra trạng thái của kênh truyền (kênh truyền rỗi hoặc bận) để xem nó có thể truyền dữ liệu hay không Trong trường hợp kênh bận, trạm sẽ chờ và tiếp tục kiểm tra trạng thái kênh Khi trạm tìm thấy kênh truyền rỗi, nó truyền khung đến kênh mà không có bất kỳ sự chậm trễ nào Do trạm truyền khung hình với xác suất 1 nên mô hình này được gọi là 1-Persistent CSMA
Hình 1.7: Sơ đồ cơ chế truy nhập kênh của mô hình 1-Persistent CSMA
Truy nhập kênh Bắt đầu
Va đập xảy ra khi có từ hai trạm trở lên cùng chờ và truy cập kênh truyền khi kênh chuyển sang trạng thái rỗi Trong cơ chế 1-Persistent CSMA, xác suất xảy ra va đập vẫn cao, đặc biệt trong trường hợp tải lớn hoặc khi kích thước gói dữ liệu dài.
Hình 1.8: Lược đồ thời gian của mô hình truy nhập kênh 1-Persistent CSMA (có xảy ra va đập)
Mô hình truy nhập kênh p-Persistent CSMA được phát triển để khắc phục những hạn chế của mô hình 1-persistent CSMA Trong p-Persistent CSMA, khái niệm mini slot (𝑡 𝑚𝑠) được giới thiệu, với 𝑡 𝑚𝑠 nhỏ hơn nhiều so với 𝑡 𝑠, thường là thời gian lan truyền tối đa của tín hiệu trên kênh, tương đương với hai lần thời gian trễ vòng đi vòng lại (round trip propagation delay).
Hình 1.9: Sơ đồ cơ chế truy nhập kênh của mô hình p-Persistent CSMA
Tạo một số ngẫu nhiên 𝑘 ∈ ሾ0, 1ሿ
Mô hình p-Persistent CSMA sử dụng cơ chế truy nhập kênh hiệu quả Khi kênh truyền đang rỗi, trạm có xác suất p để truy cập kênh ngay lập tức, hoặc với xác suất (1−p) sẽ chờ một mini slot trước khi kiểm tra trạng thái kênh Nếu kênh đang bận, trạm sẽ tiếp tục chờ cho đến khi kênh trở nên rỗi và lặp lại quá trình này.
Va đập xảy ra khi có từ hai trạm trở lên truy cập kênh truyền với xác suất p, hoặc khi tất cả các trạm cùng chờ với xác suất (1−p).
Trong mô hình p-Persistent CSMA, khi giá trị p giảm, xác suất xảy ra va đập cũng giảm theo Tuy nhiên, điều này dẫn đến việc hiệu suất kênh giảm do thời gian kênh truyền không bị chiếm (idle) tăng lên.
Hình 1.10: Lược đồ thời gian của mô hình truy nhập kênh p-Persistent CSMA (có xảy ra va đập)
Bằng cách điều chỉnh giá trị của p, chúng ta có thể tối ưu hóa hiệu suất của kênh truyền Giả sử có n trạm cùng truy cập vào kênh truyền, và trong trường hợp kênh truyền bận, khi kênh rỗi, xác suất xảy ra va chạm sẽ tăng lên.
2 trạm trở lên cùng truy nhập kênh) là:
Hình 1.11: Sơ đồ cơ chế truy nhập kênh của mô hình non-Persistent CSMA
Back off Đợi một số nguyên (ngẫu nhiên) lần mini slot
Truy nhập kênh Bắt đầu
Non-Persistent CSMA giới thiệu khái niệm "back-off", cho phép một trạm trì hoãn việc truy cập kênh khi kênh đang bận Thời gian trì hoãn này được xác định ngẫu nhiên, tính bằng số nguyên lần của mini slot.
Mô hình non-persistent CSMA sử dụng cơ chế truy nhập kênh hiệu quả Khi một trạm cần truyền khung, nó sẽ kiểm tra trạng thái của kênh truyền Nếu kênh rỗi, trạm sẽ ngay lập tức gửi khung Ngược lại, nếu kênh đang bận, trạm sẽ chờ một khoảng thời gian back-off trước khi tiếp tục kiểm tra kênh truyền.
Ta thấy rằng, nếu thời gian back-off lớn thì hiệu suất kênh truyền cũng giảm
Hình 1.12: Lược đồ thời gian của mô hình truy nhập kênh non-Persistent CSMA
Giao thức Carrier Sense Multiple Access with Collision Detection (CSMA/CD) tương tự như giao thức CSMA, nhưng thêm cơ chế phát hiện va đập (collision detection)
Khi va đập xảy ra, các trạm thực hiện các bước:
Các trạm dừng truyền gói
Gửi bản tin JAM SIGNAL để báo hiệu cho các trạm khác
Thực hiện back-off theo hàm mũ
Thời gian back-off (𝑇 𝐵) được xác định theo công thức 0 < 𝑇 𝐵 < 2 𝑘, với k là số lần truy nhập kênh không thành công 𝑇 𝐵 có vai trò quan trọng trong việc giảm xác suất va chạm và điều khiển lưu lượng dữ liệu Khi số lần truy nhập không thành công tăng, thời gian back-off cũng tăng, dẫn đến việc lưu lượng dữ liệu gửi vào kênh truyền giảm.
I.3.1 Cơ chế truy nhập kênh của giao thức CSMA/CD
Hình 1.13: Sơ đồ cơ chế truy nhập kênh của giao thức CSMA/CD
Quá trình gửi tin: Khi một trạm cần truy nhập kênh, trạm sẽ tiến hành các bước sau:
– Kiểm tra kênh truyền, nếu kênh truyền bận, trạm sẽ đợi đến khi kênh truyền rỗi Nếu kênh truyền rỗi thì chuyển sang bước tiếp theo
– Thực hiện việc truyền khung lên kênh, đồng thời khởi tạo bộ đếm số lần va đập và kiểm tra phát hiện va đập khi truyền khung
Apply one of the persistence methods (1-persistent, p- persistent or non-persistent)
Transmission done or Collision detected
Choose a random number R between 0 and 2 𝑘 − 1
Station has a frame to send
T fr : Average transmission time for a frame
– Khi gặp va đập, chuyển sang quá trình xử lý va đập, nếu không thì tiếp tục lặp lại cho đến khi khung cuối cùng được truyền xong
– Khởi tạo lại bộ đếm số lần va đập và kết thúc truy nhập kênh
Quá trình xử lý va đập: Khi có va đập xảy ra trong kênh truyền, hệ thống sẽ tự động xử lý: – Các trạm ngừng truyền gói tin
– Gửi bản tin JAM SIGNAL để báo hiệu cho các trạm khác
– Tăng bộ đếm số lần va đập
Kiểm tra giá trị của bộ đếm số lần va đập; nếu giá trị này vượt quá mức tối đa, hãy hủy gói tin và kết thúc quá trình Nếu không, tiếp tục thực hiện các bước tiếp theo.
– Tính toán và đợi một khoảng thời gian ngẫu nhiên theo hàm mũ (back-off)
– Tiếp tục quá trình gửi tin
I.4 ĐÁNH GIÁ HIỆU QUẢ SỬ DỤNG KÊNH
Để đánh giá hiệu suất của hệ thống, cần xem xét các yếu tố như độ trễ lan truyền vật lý giữa hai trạm xa nhất và thời gian cần thiết để truyền một frame có độ dài tối đa vào kênh truyền mà không xảy ra va chạm.
Khi khoảng cách giữa các trạm tăng, khả năng va đập cũng gia tăng, dẫn đến hiệu suất kênh truyền bị giảm Thời gian truyền của frame với độ dài tối đa lớn giúp hiệu suất kênh truyền tiệm cận đến 1 Nếu khung lớn hơn, thời gian chiếm dụng kênh truyền cũng tăng, từ đó nâng cao hiệu quả sử dụng kênh truyền.
Trong CSMA/CD, kích thước khung cần lớn đủ để người gửi phát hiện va chạm trong quá trình truyền Do đó, độ trễ truyền khung tối thiểu phải gấp đôi độ trễ truyền tối đa.
Trong trường hợp tốt nhất, trạm đã truyền gói dữ liệu thành công đến đích, trong khi trường hợp xấu nhất có thể xảy ra các vị trí tranh chấp Khe tiếp nhận không thể truyền do va chạm, ví dụ như khi trạm A truyền dữ liệu nhưng bị va chạm, dẫn đến thời gian lãng phí tối đa là 2Tp Sau đó, một trạm B đã tìm ra phương pháp truyền dữ liệu và thực hiện thành công.
Hình 1.14: Va đập trong khi truyền dữ liệu
𝑇 𝑝𝑟𝑜𝑝 = độ trễ truyền tối đa giữa 2 nút trong mạng LAN
𝑇 𝑡𝑟𝑎𝑛𝑠 = thời gian để truyền khung có kích thước tối đa
𝑇 𝑡𝑟𝑎𝑛𝑠 Hiệu suất kênh truyền sẽ tiến tới 1 nếu: 𝑇 𝑡𝑟𝑎𝑛𝑠 → ∞ hoặc 𝑇 𝑝𝑟𝑜𝑝 → 0
Từ kết quả trên, chúng ta có thể kết luận :
– Nếu khoảng cách tăng lên, hiệu quả của CSMA/CD giảm
– CSMA/CD không phù hợp với các mạng đường dài như WAN, nhưng hoạt động tối ưu cho mạng LAN
– Nếu độ dài của gói lớn hơn, hiệu quả của CSMA/CD cũng tăng lên, nhưng giới hạn độ dài tối đa là 1500 byte
– Hiệu suất tốt hơn ALOHA: với thiết kế đơn giản, chi phí rẻ hơn và có khả năng phân quyền.
LẬP TRÌNH MÔ PHỎNG HOẠT ĐỘNG CỦA MÔ HÌNH MẠNG CSMA/CD TRÊN
CẤU TRÚC MÔ PHỎNG
Hình 2.1: Sơ đồ cấu trúc mạng mô phỏng
Từ mạng trên nó có thể được quan sát thấy LAN 1 (gồm A và B) chia sẻ BUS 1, LAN 2 (gồm
C và D) chia sẻ BUS 2 Tốc độ lan truyền trong Ethernet, cáp đồng trục và sợi cáp quang là
3 × 10 8 m/s Vì vậy, mục tiêu là để thiết lập kết nối giữa các nút và bắt đầu dữ liệu truyền sử dụng giao thức CSMA/CD
Chúng tôi đã thực hiện mô phỏng thời gian liên xuất hiện của các gói dữ liệu dựa trên phân phối Poisson với λ = 0,5, tương ứng với việc mỗi gói dữ liệu có 2 khung (frame) slot Mỗi khung chứa 1000 byte dữ liệu và thời gian cho mỗi khung slot là 500 μs.
THIẾT KẾ VÀ THỰC HIỆN MÔ PHỎNG TRÊN MATLAB
Quá trình thực hiện diễn ra qua ba giai đoạn, trong đó các giai đoạn đầu tiên liên quan đến việc triển khai CSMA/CD cho N nút chia sẻ cùng một bus trong mạng Các nút sẽ cạnh tranh để truy cập kênh, trong khi nút đích được lựa chọn ngẫu nhiên với xác suất bằng nhau.
Giai đoạn cuối có cấu trúc liên kết mạng với hai bus khác nhau kết nối mỗi lần 2 nút vào mạng của các bộ định tuyến
Phương pháp tiếp cận theo hướng sự kiện đơn luồng cho phép mô phỏng xử lý các sự kiện và tạo báo cáo từ thống kê mạng thông qua việc sử dụng một thread Điều này có nghĩa là chương trình hoạt động một cách tuần tự, trong đó cả việc tạo gói và truyền gói đều được xử lý bởi cùng một thread Do đó, hai quy trình này không thể diễn ra đồng thời, và chương trình sẽ có một vòng lặp để quản lý các sự kiện.
Trong quá trình quản lý, tất cả các quy trình sẽ được theo dõi và các sự kiện có thể được thêm hoặc xóa từ danh sách Vòng lặp sẽ kết thúc khi thời gian mô phỏng đã hết.
– Không liên kết giữa các node hoặc lỗi liên quan đến bộ định tuyến thì xảy ra thất bại trong mô phỏng
– Mỗi bộ định tuyến có đệm vô hạn, vì thế không có gói dữ liệu bị mất trong quá trình truyền
– Trọng số của liên kết bao gồm tất cả các yếu tố có thể như khoảng cách, băng thông và tải lưu lượng
– Các gói trong hàng đợi được truyền đi trên một cơ sở FCFS
– Các node giống như một máy phát cũng như một máy thu cho các gói dữ liệu
– Các gói sẽ bị xóa khỏi hàng đợi ngay sau khi nó được truyền thành công
II.2.1 Sơ đồ khối chung
Hình 2.2: Sơ đồ khối chương trình mô phỏng
Create “GENERATE_PACKET” events for all stations
Process Event According to its Type
Create More Events if needed
II.2.2 Các bước mô phỏng
+) Sơ đồ mô hình mô phỏng 1:
Hình 2.3: Sơ đồ mô hình mô phỏng 1 +) Bước 1: Khởi tạo các thông số
Một mảng lưu trữ chi tiết liên quan đến mọi gói (trạng thái) được tạo hoặc có trong hàng đợi, bao gồm các thông tin như ID nguồn, ID đích, thời gian tạo, thời gian truyền gói, thời gian nhận tại điểm đến, thời gian đã chạy và số va đập trước khi truyền thành công.
– GENTIMECURSOR cho thời gian tạo của các gói gần đây nhất tại tất cả các nút
– SIMRESULT để lưu trữ các thông số thống kê
% Tên node và ID của node
% Mảng động elist[n 6] với n là số packets đợi trong hàng đợi giữa node % A và B (1 hàng trong mảng elist tương đương một packets) elist=[];
% Khởi tạo giá trị ban đầu
SRC=1; % Id nút nguồn bắt đầu từ nút A
GENTIME=2; % Thời gian packet được tạo ở nút nguồn
TXTIME=3; % Thời-gian bắt đầu truyền-gói
RXTIME=4; % Thời gian mà gói được nhận tại điểm đến
CURTIME=5; % Thời gian chương trình đã chạy
COLLISIONS=6; % Số va chạm trước khi truyền thành công
% Các thông số liên quan
% Sử dụng biến CLOCK thể hiện thời gian chạy mô phỏng
TOTALSIM0*10^3; % Thời gian thực hiện chương trình mô phỏng lambda = 0.5; % Phân phối poisson
Khung thời gian BUS được thiết lập là 50 micro giây, tương ứng với thời gian truyền một khung Độ trễ lan truyền trên BUS là 80 micro giây, trong khi độ trễ phục vụ gói là 10 micro giây Tổng độ trễ được tính bằng cách cộng độ trễ lan truyền và độ trễ phục vụ, dẫn đến tổng độ trễ là 90 micro giây Thời gian slot được sử dụng cho thuật toán backoff là 50 micro giây, với thời gian backoff tối đa là 2^3 khung thời gian.
% Thời gian tạo của các gói gần đây nhất tại tất cả các nút
% Khởi tạo mảng để thu thập số liệu thống kê
Mọi nút trong mạng đều có khả năng tạo gói, và N nút sẽ cạnh tranh để truy cập kênh bất cứ lúc nào Do tất cả các nút chia sẻ cùng một bus, hàng đợi đơn sẽ duy trì các gói được truyền từ nút nguồn đến nút đích Để tạo gói mới, cần tính toán thời gian giữa các lần đến của các gói và cập nhật thời gian tạo cho các gói tương ứng.
% Sử dụng hàm tạo gói function pkt = createpacket(nodeid)
% Tính thời gian đến interarvtime = round(frameslot*exprnd(1/lambda,1,1));
% Dùng hàm tạo ngẫu nhiên, kiểu mảng, làm tròn bỏ phần thập phân
% Thời gian sinh packets tại nodeid
GENTIMECURSOR(nodeid) = GENTIMECURSOR(nodeid)+interarvtime;
% [SRC= nodeid GENTIME=birthtime TXTIME=0, RXTIME=0 CURTIME=birthtime % COLLISIONS=0] pkt = [nodeid GENTIMECURSOR(nodeid) 0 0 GENTIMECURSOR(nodeid) 0];
% Thêm vào ma trận packet: elist/ dùng lệnh X=[X; x] elist = [elist; pkt]; end
Để bắt đầu quá trình truyền gói, hãy xem gói ở đầu hàng đợi như được gửi từ nút nơi nó được tạo ra Nút đích được chọn ngẫu nhiên từ danh sách các nút, không bao gồm nút nguồn.
% Sau khi update thời gian, tìm source của packet đầu tiên ở hàng đầu tiên
% của elist src = elist(1,SRC);
% Chọn đích đến cho packet (ngẫu nhiên ngoại trừ node source) dst = mod(src,2)+1;
Sau khi một gói được tạo ra, cần trì hoãn các gói khác theo tổng thời gian trễ Điều này là cần thiết vì có thể xảy ra trường hợp khi gói mới được tạo ra, một gói khác đã được truyền đi, do đó gói mới sẽ phải chờ đợi cho đến khi gói trước đó đến được điểm đến.
Update the packet transmission time by incorporating the current time and the received time, factoring in both propagation delay and transmission delay.
% Hàm tạo delay function delaypkts(delay)
Trong quá trình truyền dữ liệu, có thể xảy ra tình huống khi một gói tin mới được gửi từ nguồn trong khi gói tin cũ vẫn đang trên đường truyền Trong trường hợp này, gói tin mới sẽ phải chờ cho đến khi gói tin cũ đến đích trước khi tiếp tục được xử lý.
% Trường hợp này được mô tả trong chương trình như sự kiện CURTIME < % CLOCK(lúc này CLOCK đang đóng vai trò như RXTIME) list=find(((elist(:,CURTIME)-CLOCK) < 0));
% Lúc này, đặt lại CURTIME của tất cả các hàng (packet phải đợi) trong % elist về CLOCK elist(list,CURTIME)=CLOCK; end
+) Bước 6: Nếu chênh lệch thời gian giữa hai gói tin trong hàng đợi lớn hơn trễ lan truyền, va đập (collision) sẽ không xảy ra
Cập nhật thời gian truyền của gói dữ liệu trong hàng đợi bằng cách tính toán thời gian đã chạy và thời gian nhận gói, thông qua việc cộng dồn tất cả các độ trễ Công thức tính toán được sử dụng là: timediff = elist(2,CURTIME) - elist(1,CURTIME).
% Chênh lệch về CURTIME/thời gian truyền giữa 2 gói tin
If the time difference exceeds the propagation delay and no collision occurs, calculate the packet transmission start time Set the start time to the current time if the transmission time is zero.
% Cập nhật thời gian truyền của gói elist(1,RXTIME) = elist(1,CURTIME) + tdelay;
+) Bước 7: Trong trường hợp có va đập (collision), cập nhật thời gian truyền của các gói với thời gian đã chạy và số lần va đập tăng thêm 1
Một số ngẫu nhiên trong khoảng từ 0 đến 2^n - 1 (với n là số lần va chạm) được chọn và nhân với thời gian back-off, dẫn đến việc truyền gói tin bị trì hoãn do thời gian back-off này.
% Tính back-off if elist(1,TXTIME)==0 elist(1,TXTIME)=elist(1,CURTIME);
% Nếu thời gian bắt đầu truyền gói của gói 1 = 0, đặt là CURTIME end if elist(2,TXTIME)==0 elist(2,TXTIME)=elist(2,CURTIME);
% Nếu thời gian bắt đầu truyền gói của gói 2 = 0, đặt là CURTIME end
% Tăng giá trị COLLISION (va chạm) của 2 gói lên 1 elist(1,COLLISIONS)=elist(1,COLLISIONS)+1; elist(2,COLLISIONS)=elist(2,COLLISIONS)+1; if (elist(1,COLLISIONS)