Networks Business Online Việt Nam & International VH2

Bài tập lớn mạng máy tính mô phỏng hoạt động của giao thức CSMA – Tài liệu text

Đăng ngày 09 November, 2022 bởi admin

Bài tập lớn mạng máy tính mô phỏng hoạt động của giao thức CSMA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.46 MB, 50 trang )

Bài Tập Lớn Mạng Máy Tính
Đề Tài:Lập Trình Mô Phỏng Hoạt Động Giao Thức CSMA
GVHD:TS.
Hà Nội, 11/2016

Hà Nội, 12 / 2017
 

Mô phỏng hệ thống CSMA/CD

Lời nói đầu
Mạng máy tính phát sinh từ nhu cầu muốn chia sẻ, dùng chung tài nguyên và
cho phép giao tiếp trực tuyến cũng như các ứng dụng đa phương tiện trên mạng.
Giao tiếp trực tuyến bao gồm gửi và nhận thông điệp, thư điện tử… các ứng dụng
đa phuơng tiện có thể là phát thanh, truyền hình, điện thoại qua mang, hội thỏ trực
tuyến, nghe nhạc, xem phim… Sự kết hợp của máy tính với các hệ thống truyền
thông đã tao 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. Mô hình tập trung dựa trên máy tính lớn được thay thế bởi mô hình các
máy tính đơn lẻ được kết nối lại để cùng thực hiện công việc, hình thành môi trường
làm việc nhiều người sử dụng phân tán, cho phép nâng cao hiệu quả khai thác tài
nguyên chung từ những vị trí địa lý khác nhau. Các mô hình như thế được gọi là
mạng máy tính. Với sư phát triển của khoa học và kỹ thuật hiện nay, các hệ thống
mạng máy tính đã phát triển một cách nhanh chóng và đa dạng cả về quy mô, hệ
điều hành và ứng dụng. Do vậy, việc nghiên cứu để vận hành và khai thác chúng
ngày càng trở nên phức tạp. Tuy nhiên, các mạng máy tính có cùng các điểm chung
và thông qua đó chúng ta có thể khảo sát, phân loại và đánh giá chúng. Vì vậy, trong
báo cáo này chúng em thực hiện việc khảo sát, mô phỏng và đánh giá hệ thống
CSMA/CD được sử dụng mạnh mẽ trong mạng Lan công nghệ Ethernet hiện nay.
Nhóm em xin chân thành cảm ơn thầy TS. Trần Quang Vinh đã tạo cơ hội cho
chúng em làm bài tập lớn và đã nhiệt huyết giúp đỡ nhóm em vượt qua những khó

khăn trong việc hoàn thiện bài tập lớn này. Trong quá trình làm bài tập lớn không
tránh khỏi những sai sót do thiếu kiến thức, kinh nhiệm và kỹ năng làm bài tập lớn
do đó nhóm em rất mong có thêm những nhận xét của thầy, chúng em xin chân
thành cảm ơn.
Trong bài báo cáo này nhóm em chia làm 4 phần chính, phần 1 nói kĩ về hệ
thống CSMA bao gồm lý thuyết cơ sở, các kiểu truy cập và tại sao phải sinh ra hệ
thống CSMA/CD đồng thời phân tích về giải thuật hệ thống CSMA/CD và đưa ra
hướng phân tích kết quả mô phỏng. Phần 2 chúng em sẽ nói sơ lược về phần mềm
mô phỏng Omnet++(Omnetpp) được sử dụng để mô phỏng lại hệ thống. Phần 3
chúng em sẽ phân tích hệ thống và đưa ra mô hình hóa, đồng thời sẽ đưa ra các khó
2|Page

Mô phỏng hệ thống CSMA/CD

khăn đã gặp và cách giải quyết như thế nào. Phần 4 nhóm em hướng dẫn chi tiết về
cách để có thể mô phỏng được hệ thống từ project bất kì đã được viết trước và thực
hiện việc build hệ thống. Phần cuối cùng của báo cáo bao gồm các tài liệu đã tham
khảo thể hiện sự tôn trọng đối với những nhà nghiên cứu.

3|Page

Mô phỏng hệ thống CSMA/CD

Mục lục

4|Page

Mô phỏng hệ thống CSMA/CD

Danh sách hình vẽ

5|Page

Mô phỏng hệ thống CSMA/CD

Danh sách bảng biểu

Danh sách các từ viết tắt
Kí hiệu hoặc Tên viết tắt

Ý nghĩa

CSMA

Carrier-sense multiple access

CSMA/CD

Carrier-sense multiple access with collision
detection

OMNeT++

Objective Modular Network Testbed in C++.
Thời gian xử lý truyền gói tin
Thời gian trễ kênh truyền

6|Page

Mô phỏng hệ thống CSMA/CD

Nội Dung
1. Mô hình giao thức CSMA/CD
2

Lý thuyết giao thức CSMA

CSMA (viết tắt của từ Carrier Sense Multiple Access) là giao thức đa truy nhập
cảm nhận sóng mang của Ethernet và hoạt động theo nguyên lý cơ bản “Nghe trước
nói sau” để tránh các va chạm khi truyền chung một kênh truyền. Các nút trên mạng
cục bộ của Ethernet được kết nối qua một kênh truyền quảng bá dùng chung, vì vậy,
khi một trạm gửi đi một frame, tất cả các trạm trên LAN đều nhận được frame. Khi
một trạm có bản tin cần gửi nó sẽ lắng nghe kênh truyền nếu thấy có sóng mang
nghĩa là kênh truyền đang bận nó sẽ đợi tới khi kênh truyền rảnh, ngược lại nó sẽ
truyền ngay lập tức. Tất cả các trạm đều sẽ nhận được bản tin, tuy nhiên sau khi
kiểm tra địa chỉ đích thấy không phải gửi cho mình bản tin sự tự động bị hủy.

1.2 Các kiểu mô hình truy cập của CSMA
CSMA thường sử dụng 3 loại mô hình truy cập kênh truyền bao gồm 1-persistent
CSMA, p-persistent CSMA và non-persistent CSMA.

1.2.1 1 – Persistent CSMA
Đối với mô hình này truy cập này, khi trạm có bản tin cần truyền nó sẽ lắng
nghe kênh truyền, nếu kênh truyền không có sóng mang (không bận) thì nó sẽ
truyền ngay lập tức. Ngược lại, nó sẽ lại đợi và kiểm tra kênh truyền liên tục cho tới

khi kênh truyền rảnh. Đây là mô hình được cài đặt trong hệ thống CSMA/CD bao
gồm cả Ethernet.

7|Page

Mô phỏng hệ thống CSMA/CD

Hình 1. Lưu đồ giải thuật 1-Persistent CSMA

1.2.2 P – persistent
Đối với mô hình này truy cập này, khi trạm có bản tin cần truyền nó sẽ lắng
nghe kênh truyền, nếu kênh truyền có sóng mang (kênh bận) thì hệ thống sẽ đợi tới
khi kênh truyền rảnh. Ngược lại hệ thống tạo một số ngẫu nhiên I nằm trong khoảng
từ [0,1] nếu I nhỏ hơn một giá trị p cho trước thì trạm sẽ gửi bản tin, ngược lại nó sẽ
đợi 1 mini slot time sau đó sẽ bắt đầu truyền lại.
Ở đây, giá trị mini slot time thường gấp đôi thời gian trễ kênh truyền bằng .
Theo như khảo sát đồ thị tính cực trị để hiệu suất kênh truyền cao nhất thì giá trị p
thường được lấy như sau:

1. n là số trạm trong mạng
2. p là xác suất để truy cập kênh

8|Page

Mô phỏng hệ thống CSMA/CD

Hình 2. Lưu đồ giải thuật p – persistent CSMA

1.2.3 None – Persistent
Mô hình này truy cập này khá giống với mô hình 1 – Persistent, khi trạm có bản
tin cần truyền nó sẽ lắng nghe kênh truyền, nếu kênh truyền không có sóng mang
(không bận) thì nó sẽ truyền ngay lập tức. Ngược lại, hệ thống sẽ lại đợi với một số
ngẫu nhiên nguyên lần mini slot time được định nghĩa ở trên, sau đó trạm tự động
bắt đầu thực hiện việc “nghe trước khi nói”.

9|Page

Mô phỏng hệ thống CSMA/CD

Hình 3. Lưu đồ giải thuật none – persistent CSMA

1.3 Sự kế thừa CSMA/CD từ hệ thống CSMA
1.3.1 Lý thuyết CSMA/CD
Trong hệ thống CSMA thì sẽ chỉ có thể phát hiện ra xung đột, như thế sẽ khó
có thể làm tăng hiệu suất của kênh. Do đó, hệ thống CSMA/CD ra đời có thêm cơ
chế xử lý xung đột.
Về mặt nguyên lý truy cập kênh truyền không khác CSMA và trong khi truyền
hệ thống sẽ vẫn luôn nghe sóng mang để phát hiện xung đột. Khi phát hiện thấy có
sóng mang (bị xung đột), thì hệ thống sẽ thực hiện việc xử lý gói tin bằng cách gửi
bản tin thông báo đồng thời sẽ đợi một khoảng thời gian ngẫu nhiên, sau khi hết
thời gian đợi nó sẽ bắt đầu truyền lại bản tin đó. Trường hợp bản tin sẽ bị hủy xảy ra
khi bị xung đột quá nhiều.

10 | P a g e

Mô phỏng hệ thống CSMA/CD

1.3.2 Giải thuật CSMA/CD

Hình 4. Lưu đồ giải thuật mô hình CSMA/CD [1]

Để có thể dễ dàng trình bày ta sẽ tách giải thuật ở hình trên thành 2 tiến trình chính
bao gồm tiến trình gửi tin và tiến trình xử lý xung đột.

1.3.3 Tiến trình gửi tin
Khi một trạm nhận được một gói tin và nó cần phải truyền đi thì nó sẽ thực hiện
các bước sau. Các bước này sẽ hoàn thiện khi bản tin truyền thành công trên kênh
truyền hoặc là nó được xác định xung đột trên kênh truyền để đưa tới tiến trình xử
lý xung đột.
Bước 1. Trạm có bản tin cần gửi không? Nếu có thì chuyển sang bước tiếp
Bước 2. Kiểm tra kênh truyền, nếu kênh truyền không bận thì chuyển sang
bước tiếp. Ngược lại nó sẽ đợi đến khi kênh truyền không bận, khoảng thời
gian lấy mẫu kênh truyền sau mỗi lần kiểm tra thường sẽ được tính toán dựa
trên tốc độ của kênh truyền. [2]
Bước 3. Bắt đầu truyền và đồng thời khởi tạo bộ giám sát nhận biết xung đột
khi truyền.

11 | P a g e

Mô phỏng hệ thống CSMA/CD

Bước 4. Có xung đột không? Nếu có thì chuyển sang tiến trình xử lý xung
đột.
Bước 5. Khởi tạo lại bộ đếm chuẩn bị cho lần gửi tiếp theo và kết thúc gói tin.

1.3.4 Tiến trình xử lý xung đột
Khi có hiện tượng xung đột khi đang truyền thì hệ thống sẽ tự động xử lý như sau:
Bước 1. Tiếp tục truyền nhưng với bản tin Jam thường là 4-6 byte [1] nhằm
mục đích cảnh báo xung đột cho toàn bộ trạm khác (trong bài này chọn
4byte). Sau đó chuyển sang bước 2.
Bước 2. Tăng bộ đếm xung đột.
Bước 3. Kiểm tra bộ đếm xung đột đã tới giá trị tối đa. Nếu tới thì hủy gói tin
và kết thúc, ngược lại chuyển sang bước 4.
Bước 4. Tính toán và đợi một khoảng thời gian ngẫu nhiên (backoff). Sau khi
đợi xong chuyển sang bước 5.
Bước 5. Quay lại tiến trình gửi tin.

1.3.5 Thuật toán binary exponential backoff
Trong hệ thống CSMA/CD khi xảy ra xung đột các trạm đang truyền tin sẽ
cùng nhau đợi một khoảng thời gian. Vậy câu hỏi ở đây là đợi như thế nào? Thuật
toán binary exponential backoff được sử dụng trong mạng Ethernet giải quyết vấn
đề này một cách hoàn hảo. Khi xảy ra xung đột khi đang truyền và trong bộ counter
đã đếm xung đột lên lần collision thứ n, thì trạm truyền sẽ chọn ngẫu nhiên một giá
trị K nguyên dương trong tập dữ liệu {0, 1, 2, …, } và giá trị lớn nhất của n là 10 và
số lần xung đột tối đa để hủy gói tin là 16 chuẩn Ieee 802.3 [2]. Như vậy khi số
xung đột khi một frame bị truyền đi truyền lại càng nhiều, thì giá K có khả năng
được chọn càng lớn và khi hơn 10 thì phạm vi giá trị K sẽ được giữ cố định. Trong
mạng Ethernet sau khi chọn giá trị được giá trị K, thời gian của trạm cần đợi sẽ là
(512 bit times là slot time đối với Ethernet [3] ). Ví dụ:
Giả thiết rằng một trạm cố gắng để truyền một frame cho lần đầu tiên và trong
lúc đang truyền nó nhận thấy bị xung đột. Lúc này thì giá trị K = 0 sẽ có xác xuất là
0.5 và K = 1 cũng sẽ có xác suất là 0.5. Nếu giá trị K = 0 được chọn, nó sẽ không
12 | P a g e

Mô phỏng hệ thống CSMA/CD

đợi và được chuẩn bị để gửi vào kênh truyền ngay lần tiếp theo. Ngược lại, nếu giá
trị

K = 1 được chọn nó sẽ đợi 512 bit times (ví dụ: 0.01us cho mạng 100Mbps

Ethernet) trước khi bắt đầu truyền lại frame vào kênh truyền. Sau lần thứ 2 xung
đột, giá trị K sẽ được chọn trong tập {0, 1, 2, 3}. Sau lần thứ 3 xung đột, K được
chọn trong tập {0, 1, 2, 3, 4, 5, 6, 7}.Sau lần thứ 10 xung đột K được chọn trong {0,
1, 2, 3, …., 1023}. Như vậy giá trị K có thể chọn được sẽ được tăng dần theo hàm
mũ với số lần xung đột và đây cũng là lý do nó có tên là binary exponential
backoff.

1.4 Đánh giá hiệu năng mô hình CSMA/CD
Khi một trạm cần chuyển một gói tin, trạm này nghiễm nhiên có thể truyền với
tốc độ lớn nhất của kênh truyền (Đối với mạng Ethernet có thể là 10Mbps,
100Mbps thậm chí là 1Gbps). Tuy nhiên, nếu nhiều trạm đều có gói tin để chuyển
thì hiệu suất của kênh truyền sẽ tất nhiên bị giảm. Chúng ta sẽ xác định hiệu suất
của mô hình CSMA/CD trong trường hợp tất cả các trạm đều có gói tin cần phải
chuyển trong một thời gian đủ dài để có thể đánh giá. Tuy nhiên trên lý thuyết ta có
công thức đánh giá hiệu suất của hệ thống như sau [4]

1.

là trễ lan truyền vật lý giữa hai trạm xa nhau nhất (giả sử truyền trong

500m, với vận tốc ánh sáng suy ra )
2. là thời gian để truyền một frame với độ dài tối đa vào kênh truyền mà
không bị xung đột (giả sử bản tin có kích thước 1500bit, truyền trong mạng

có tốc độ 10Mbps suy ra )
Như vậy, khi khoảng cách giữa các trạm càng xa hay nói cách khác càng tăng
thì sẽ làm cho xung đột xảy ra càng cao, đồng thời làm giảm hiệu năng kênh truyền.
Đối với thời gian truyền của frame với độ dài tối đa càng lớn làm cho hiệu suất
kênh truyền tiệm cận tới 1, tới một ngưỡng nào đó sẽ có thể coi bằng 0. Khi những
bit đầu tiên truyền đi thành công, thì với càng lớn thì thời gian chiếm dụng kênh
truyền của nó càng cao, do đó kênh truyền sẽ được sử dụng một cách hiệu quả. [4]
13 | P a g e

Mô phỏng hệ thống CSMA/CD

1.5 Một số công nghệ về công nghệ Ethernet trong mạng LAN
Ethernet là công nghệ mạng LAN cho phép truyền tín hiệu giữa các máy tính với
tốc độ 10Mb/s đến 10Gigabit/s. Trong các kiểu Ethernet thì kiểu sử dụng cáp xoắn
đôi là thông dụng nhất. Hiện nay, có khoảng 85% mạng LAN sử dụng Ethernet.
Năm 1980, Xẽo, tập đoàn Intel và tập đoàn Digital Equipment đưa ra tiêu chuẩn
Ethernet 10Mbps (tiêu chuẩn DIX) được cài đặt trên một sợi cable đồng trục dài tối
đa 500m. 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 đồi nối phải cách nhau ít nhất 2.5m 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ụ.

1.5.1 Các thông số của Ethernet
• Ethernet ban đầu
o Tốc độ truyền : 10Mbps
o Độ dài cực tiểu của khung 512bit = 64byte
o Thời gian của khe: 512bit/10 Mbps = 51.2us
o Chiều dài cực đại: 2500 + 4 trạm lặp
• Ethernet theo chuẩn 802.3(CSMA/CD)
o Thời gian của khe: 512 bit/lần

o Khoảng cách giữa các khung: 96us
o Giới hạn số lần thử: 16
o Giới hạn số lần quay lui: 10
o Độ dài cực đại của khung :1518 byte
o Độ dài cực tiểu của khung: 64 byte

1.5.2 Các công nghệ Ethernet
1. Công nghệ 10BASE2
Công nghệ 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. Dưới đây sẽ trình bày đặc điểm của công nghệ 10BASE2
• Các thiết bị đầu và cuối phải có trở kháng 50 ohm
• Khoảng cách tối thiếu 0.5m
• Khoảng cách PC tới đầu nối 4cm.
• Chiều dài tối đa 185m
• Dùng các bộ lặp nới rộng khoảng cách
14 | P a g e

Mô phỏng hệ thống CSMA/CD

• Nhỏ hơn, nhẹ hơn và mềm hơn
• Chi phí thấp, không yêu cầu bộ tập trung(HUB) và không cần phải
cấu hình hệ thống
• Mã hóa Manchester
• Đầu nối BNC hình T
• Chiều dài tối đa 185m, tối thiểu 0.5m
• Truyền bán song công, tốc độ truyền tối đa là 10Mbps
• Hỗ trợ tối đa 30 máy
2. Công nghệ 10BASE5

• Kết nối dạng BUS
• Tốc độ truyền 10Mbps trên bang cơ bản – baseband (không truyền






được song công). Sử dụng mã hóa Manchester
Chiều dài tối đa: 500m
Hỗ trợ tối đa 101 đoạn mạng theo chuẩn Ethernet
Tối đa có 1024 trạm nối vào mạng 10Base5
Tối đa có 100 bộ thu phát nối vào một đoạn mạng chiều dài 500m
Khoảng cách tối thiểu giữa hai bộ thu phát là 2.5m
Cuối mỗi đoạn cáp cần có bộ đầu-cuối (50ohm) để dập tín hiệu
Bộ lặp được sử dụng để mở rộng chiều dài mạng. Sử dụng tối đa 2 bộ

lặp giữa các thiết bị
3. Công nghệ Ethernet 100 Mbps
• Mạng Ethernet 100Mbps được gồm 2 chuẩn : Fast Ethernet (IEEE





802.3u) : 100Base-TX, 100Base-T4 và 100Base-FX

100BASE-TX và 100Base-FX sử dụng kỹ thuật mã hóa 4B/5B
100Base-T4 sử dụng kỹ thuật mã hóa 8B/6T
Phương thức điều khuyển truy nhập CSMA/CD
100Base-T4 sử dụng phương thức hoạt động bán song công
100Base-TX sử dụng phương thức hoạt động song công
100Base-FX sử dụng cả phương thức bán song công và hoạt động
song công

2. Phần mềm mô phỏng Omnet++
2

Giới thiệu
2.2.1 Omnet++ là gì?
OMNeT++ là viết tắt của cụm từ Objective Modular Network Testbed in C++.

OMNeT++ là một ứng dụng cung cấp cho người sử dụng môi trường để tiến hành

15 | P a g e

Mô phỏng hệ thống CSMA/CD

phỏng hoạt động của mạng. Mục đích chính của ứng dụng là mô phỏng hoạt động
mạng thông tin, tuy nhiên do tính phổ cập và linh hoạt của nó, OMNeT++ còn được
sử dụng trong nhiều lĩnh vực khác như mô phỏng các hệ thống thông tin phức tạp,
các mạng kiểu hàng đợi (queueing networks) hay các kiến trúc phần cứng…
OMNeT++ cung cấp sẵn các thành phần tương ứng với các mô hình thực tế. Các
thành phần này (còn được gọi là các module) được lập trình theo ngôn ngữ C++,
sau
đó được tập hợp lại thành những thành phần hay những mô hình lớn hơn bằng một

ngôn ngữ bậc cao (NED). OMNeT++ hỗ trợ giao diện đồ hoạ, tương ứng với các

hình cấu trúc của nó đồng thời phần nhân mô phỏng (simulation kernel) và các
module của OMNeT++ cũng rất dễ dàng nhúng vào trong các ứng dụng khác.

2.2.2 Các thành phần chính của Omnet++
• Thư viện phần nhân mô phỏng (simulation kernel)
• Trình biên dịch cho ngôn ngữ mô tả hình trạng (topology
description

language)

– NED (nedc)
• Trình biên tập đồ hoạ (graphical network editor) cho các file
NED (GNED)
• Giao diện đồ hoạ thực hiện mô phỏng, các liên kết bên trong
các

file

thực

hiện

mô phỏng (Tkenv)
• Giao diện dòng lệnh thực hiện mô phỏng (Cmdenv)
• Công cụ (giao diện đồ hoạ) vẽ đồ thị kết quả vector ở đầu ra
(Plove)
• Công cụ (giao diện đồ hoạ) mô tả kết quả vô hướng ở đầu ra
(Scalars)

• Công cụ tài liệu hoá các mô hình
• Các tiện ích khác
• Các tài liệu hướng dẫn, các ví dụ mô phỏng…

16 | P a g e

Mô phỏng hệ thống CSMA/CD

1 Mô hình trong Omnet++
Một mô hình trong OMNeT++ bao gồm các module lồng nhau có
cấu trúc phân cấp. Độ sâu của của các module lồng nhau là không
giới hạn, điều này cho phép người sử dụng có thể biểu diễn các
cấu trúc logic của các hệ thống trong thực tế bằng các cấu trúc mô
hình. Các module trao đổi thông tin với nhau thông qua việc gửi
các message (message). Các message này có thể có cấu trúc phức
tạp tuỳ ý. Các module có thể gửi các message này theo hai cách,
một là gửi trực tiếp tới địa chỉ nhận, hai là gửi đi theo một đường
dẫn được định sẵn, thông qua các cổng và các kết nối.
Các module có thể có các tham số của riêng nó. Các tham số này
có thể được sử dụng để chỉnh sửa các thuộc tính của module và để
biểu diễn cho topology của mô hình.
Các module ở mức thấp nhất trong cấu trúc phân cấp đóng gói
các

thuộc

tính.

Các

module này được coi là các module đơn giản, và chúng được lập
trình

trong

ngôn

ngữ

C++ bằng cách sử dụng các thư viện mô phỏng.

2.2.3 Ứng dụng
OMNeT++ là một công cụ mô phỏng các hoạt động mạng bằng
các module được thiết kế hướng đối tượng. OMNeT++ thường được
sử dụng trong các ứng dụng chủ yếu như:
1.
2.
3.
4.




hình hoạt động của các mạng thông tin
hình giao thức
hình hoá các mạng kiểu hàng đợi
hình hoá các hệ thống đa bộ vi xử lý (multiprocesser)

hoặc

17 | P a g e

các

hệ

thống

Mô phỏng hệ thống CSMA/CD

phần cứng theo mô hình phân tán khác (distributed hardware
systems)
5. Đánh giá kiến trúc phần cứng
6. Đánh giá hiệu quả hoạt động của các hệ thống phức tạp…

2.3 Tổng quan
2.3.1 Mô hình của Omnet++
OMNeT++ cung cấp cho người sử dụng những công cụ hiệu
quả để mô tả cấu trúc của các hệ thống thực tế.
1. Các module lồng nhau có cấu trúc phân cấp
2. Các module là các đối tượng cụ thể của các kiểu module
3. Các module trao đổi thông tin bằng các message qua các
kênh
4. Các tham số của module linh hoạt
5. Ngôn ngữ mô tả Topology
Một mô hình OMNeT++ bao gồm những phần sau:

• Ngôn ngữ mô tả topology – NED (file có phần mở rộng .ned):

tả

cấu

trúc

của module với các tham số, các cổng… Các file .ned có thể
được viết bằng bất kỳ bộ soạn thảo hoặc sử dụng chương
trình GNED có trong OMNeT++.
• Định nghĩa cấu trúc của các message (các file có phần mở
rộng

.msg):

Người

sử dụng có thể định nghĩa rất nhiều kiểu messsage và thêm
các

trường

dữ

liệu

cho chúng. OMNeT++ sẽ dịch những định nghĩa này sang các
lớp C++ đầy đủ.

• Mã nguồn của các module đơn giản. Đây là các file C++ với
phần
là .h hoặc .cc.

18 | P a g e

mở

rộng

Mô phỏng hệ thống CSMA/CD

Hệ thống mô phỏng cung cấp cho ta các thành phần sau:
• Phần nhân mô phỏng. Phần này chứa code để quản lý quá
trình

phỏng

các thư viện lớp mô phỏng. Nó được viết bằng C++, được
biên

dịch

được

đặt cùng dạng với các file thư viện (các file có phần mở rộng
là .a hoặc .lib).
• Giao diện người sử dụng. Giao diện này được sử dụng khi
thực

hiện

quá

trình

mô phỏng, tạo sự dễ dàng cho quá trình sửa lỗi, biểu diễn
(demonstration)
hoặc khi thực hiện mô phỏng theo từng khối (batch execution
of

simulations).

Có một vài kiểu giao diện trong OMNeT++, tất cả đều được
viết

bằng

C++,

được biên dịch và đặt cùng nhau trong các thư viện (các file

phần

mở

rộng

là .a hoặc .lib).

2.3.2 Hệ thống file
Sau khi cài đặt OMNet++, thư mục omnetpp trên hệ thống máy
của bạn nên chứa các thư mục con dưới đây: [5]

omnetpp/
bin/
nedtool…)
19 | P a g e

Thư mục gốc của OMNeT++
các công cụ trong OMNeT++ (GNED,

Mô phỏng hệ thống CSMA/CD

include/
lib/
bitmap/
doc/
manual/
tictoc-tutorial/
api/

nedxml-api/
src/
src/
nedc/
sim/
parsim/

tán

các file header cho mô hình mô phỏng
các file thư viện
các biểu tượng đồ hoạ
các file hướng dẫn, readme…
file hướng dẫn dạng HTML
giới thiệu sử dụng OMNeT++
API tham chiếu dạng HTML
API tham chiếu cho thư viện NEDXML
mã nguồn của tài liệu
mã nguồn của OMNeT++
nedtool, trình biên dịch message
phần nhân mô phỏng
các file dành cho việc thực hiện phân

netbuilder/ các file dành cho việc đọc động các file

NED

vector
hướng
test/

envir/
cmdenv/
tkenv/
gned/
plove/

mã nguồn cho giao diện người sử dụng
giao diện người dùng dòng lệnh
giao diện người sử dụng dựa trên Tcl/tk
công cụ soạn thảo file NED
công cụ vẽ và phân tích đầu ra dạng

scalars/

công cụ vẽ và phân tích đầu ra dạng vô

nedxml/
utils/

thư viện NEDXML
các tiện ích khác…
bộ kiểm thử lùi
bộ kiểm thử lùi cho thư viện mô phỏng
bộ kiểm thử lùi

core/
distrib/

Các quá trình mô phỏng mẫu được chứa trong thư mục samples:

samples/
aloha/

thư mục chứa các ví dụ mẫu
mô hình giao thức Aloha


Thư mục contrib chứa các chương trình có thể kết hợp với OMNeT+
+:
contrib/

20 | P a g e

Mô phỏng hệ thống CSMA/CD

octave

/

script của Octave dùng để xử lý kết

quả
emacs/

bộ đánh dấu cú pháp NED cho Emacs

Ngoài ra ta cũng có thể tìm thấy các thư mục khác như msvc/, chứa
các thành phần tích hợp cho Microsoft Visual C++…

2.3.3 Cấu trúc phân cấp của các Module
Một mô hình trong OMNeT++ chứa các module lồng nhau có
cấu trúc phân cấp, trao đổi thông tin với nhau bằng cách gửi các
message. Mỗi mô hình này thường biểu diễn cho một hệ thống
mạng. Module mức cao nhất trong cấu trúc phân cấp được gọi là
module hệ thống. Module này có thể chứa các module con, các
module con cũng có thể chứa các module con của riêng nó. Độ sâu
phân cấp đối với các module là không giới hạn, điều này cho phép
người sử dụng có thể dễ dàng biểu diễn một cấu trúc logic của một
hệ thống trong thực tế bằng cấu trúc phân cấp của OMNeT++.
Cấu trúc của mô hình có thể được mô tả bằng ngôn ngữ NED
của OMNeT++.

Hình 5. Ví dụ đơn giản về tổng hợp module [5]

21 | P a g e

Mô phỏng hệ thống CSMA/CD

Các module có thể chứa nhiều module con và được gọi là module kết hợp. Các
module đơn giản là các module có cấp thấp nhất trong cấu trúc phân cấp. Các
module
đơn giản chứa các thuật toán của mô hình. Người sử dụng triển khai các module
đơn
giản bằng ngôn ngữ C++, sử dụng các thư viện mô phỏng của OMNeT++.
Tất cả các module dù là đơn giản hay phức tạp đều là các đối
tượng cụ thể của các kiểu module. Trong khi mô tả các mô hình,
người sử dụng định nghĩa ra các kiểu module, các đối tượng cụ thể
của

các kiểu module này được sử dụng như các thành

phần của các kiểu module phức tạp hơn. Cuối cùng, người sử dụng
tạo

module

hệ

thống như một đối tượng cụ thể của kiểu module đã được định
nghĩa

trước

đó,

tất

cả

các module của mạng đều là module con (hoặc là con của module
con) của module hệ thống. Khi một kiểu module được sử dụng như
một khối dựng sẵn (building block), sẽ không thể phân biệt đó là
một module đơn giản hay phức tạp. Điều này cho phép người sử
dụng có thể tách các module đơn giản ra thành nhiều module đơn
giản được nhúng trong một module kết hợp, và ngược lại có thể
tập hợp các chức năng của một module kết hợp trong một module
đơn giản mà không ảnh hưởng gì đến các kiểu module đã được
người sử dụng định nghĩa.

Kiểu module có thể được lưu trữ trong một file riêng rẽ. Điều
này cho phép người sử dụng có thể nhóm các kiểu module lại và
tạo ra một thư viện thành phần.

22 | P a g e

Mô phỏng hệ thống CSMA/CD

3. Mô hình hóa hệ thống CSMA/CD
Mô hình hóa là phương pháp nghiên cứu bằng thực nghiệm trên mô hình của
một hiện tượng (quá trình, sự vật,…) thay vì nghiên cứu trực tiếp hiện tượng ấy ở
dạng tự nhiên (thực địa). Quá trình mô hình hóa bao gồm hai phần là chế tạo mô
hình và tiến hành thực nghiệm trên mô hình ấy (nguồn: Wikipedia).

2

Phân tích và mô hình hóa hệ thống

Để có thể phân tích được mô hình ta cần ánh xạ sang hệ thống và giải thuật
CSMA/CD được phân tích tại Mô hình giao thức CSMA/CD để đưa ra những giải
pháp và đưa ra mô hình cụ thể. Dưới đây nhóm em đưa ra những vấn đề cần giải
quyết
1. Mô hình hóa mô hình kênh truyền như thế nào? Làm thế nào để kiểm tra
được kênh truyền, khi đang truyền?
2. Tính toán được thời gian truyền tin như thế nào để thể hiện được sự tương
quan giữa các trạm?
3. Quá trình gửi tin sẽ được xử lý như thế nào và dừng việc truyền tin khi
phát hiện xung đột như thế nào?

3.2 Giải quyết vấn đề
3.2.1 Mô hình hóa các trạm

23 | P a g e

Mô phỏng hệ thống CSMA/CD
Hình 6. Mô hình bus topology (nguồn: Internet)

Để giải quyết bài toán về vị trí trong thực tế, với mô hình bus ta nhận thấy chỉ có
một chiều. Vì vậy ta sẽ lấy điểm cuối bên trái làm điểm gốc tọa độ và sinh số ngẫu
nhiên để tạo vị trí ngẫu nhiên trên kênh truyền, sau đó ta sẽ lấy thương của tọa độ
với độ dài lan truyền để lấy ra thời gian lan truyền từ gốc tọa độ tới trạm.

Hình 7. Code tạo vị trí ngẫu nhiên và tính khoảng cách tới điểm gốc

Sau khi ta tạo được vector khoảng cách của từng trạm đối với tọa độ gốc ta có thể
coi như đó là vector giá trị vị trí và thời gian lan truyền trong kênh là 1 đơn vị. Sau
khi có bảng vector vị trí của từng trạm, ta sẽ lập ma trận khoảng cách, ma trận này
sẽ tính toán khoảng cách từ một trạm bất kì tới trạm khác.

Hình 8. Code lập bảng ma trận khoảng cách giữa các trạm

24 | P a g e

Mô phỏng hệ thống CSMA/CD

3.2.2 Kênh truyền
Do trình mô phỏng Omnet++ chỉ hỗ trợ điểm tới điểm vì thế chúng em dùng một

trạm gọi là Receiver để nhận hết toàn bộ gói tin của tất cả các trạm khác đồng thời
thực hiện việc quản lý kênh truyền. Tất cả các trạm sẽ kiểm tra kênh truyền thông
qua trạm này. Nghĩa là khi một trạm muốn gửi tin thì sẽ bản tin cho trạm Receiver
này, sau đó trạm Receiver sẽ thực hiện việc kiểm tra kênh truyền và xử lý kênh
truyền.

3.2.3 Mô hình hóa quá trình gửi tin và phát hiện va chạm
Để tiện theo dõi em sẽ xử lý từng giai đoạn trong lưu đồ giải thuật

Để có thể truyền được gói tin, mỗi trạm sẽ thiết lập lại cờ trạng thái và giá trị
khởi tạo, sau đó sẽ tạo ngẫu nhiên một trạm bất kì không trùng với nó và tính toán
thời gian truyền cho công đoạn chuẩn bị. Sau đó sẽ kiểm tra kênh truyền bằng cách
xem trạng thái kênh thông qua Receiver nếu kênh truyền rảnh thì sẽ gửi gói tin lên
Receiver ngay lập tức với thời gian trễ lan truyền đã tính ở phần chuẩn bị, ngược lại
hệ thống sẽ lập lịch để lấy mẫu kênh truyền được tính bằng 96 bit thời gian xử lý
gói tin cho tới khi gửi được gói tin. Khi truyền được bản tin, trạm sẽ tự động đợi
một khoảng thời gian xử lý hết gói tin được tính toán phụ thuộc vào độ dài của gói
25 | P a g e

khăn trong việc triển khai xong bài tập lớn này. Trong quy trình làm bài tập lớn khôngtránh khỏi những sai sót do thiếu kiến thức và kỹ năng, kinh nhiệm và kiến thức và kỹ năng làm bài tập lớndo đó nhóm em rất mong có thêm những nhận xét của thầy, chúng em xin chânthành cảm ơn. Trong bài báo cáo giải trình này nhóm em chia làm 4 phần chính, phần 1 nói kĩ về hệthống CSMA gồm có kim chỉ nan cơ sở, những kiểu truy vấn và tại sao phải sinh ra hệthống CSMA / CD đồng thời nghiên cứu và phân tích về giải thuật mạng lưới hệ thống CSMA / CD và đưa rahướng nghiên cứu và phân tích tác dụng mô phỏng. Phần 2 chúng em sẽ nói sơ lược về phần mềmmô phỏng Omnet + + ( Omnetpp ) được sử dụng để mô phỏng lại mạng lưới hệ thống. Phần 3 chúng em sẽ nghiên cứu và phân tích mạng lưới hệ thống và đưa ra quy mô hóa, đồng thời sẽ đưa ra những khó2 | PageMô phỏng mạng lưới hệ thống CSMA / CDkhăn đã gặp và cách xử lý như thế nào. Phần 4 nhóm em hướng dẫn cụ thể vềcách để hoàn toàn có thể mô phỏng được mạng lưới hệ thống từ project bất kể đã được viết trước và thựchiện việc build mạng lưới hệ thống. Phần ở đầu cuối của báo cáo giải trình gồm có những tài liệu đã thamkhảo bộc lộ sự tôn trọng so với những nhà nghiên cứu. 3 | PageMô phỏng mạng lưới hệ thống CSMA / CDMục lục4 | PageMô phỏng mạng lưới hệ thống CSMA / CDDanh sách hình vẽ5 | PageMô phỏng mạng lưới hệ thống CSMA / CDDanh sách bảng biểuDanh sách những từ viết tắtKí hiệu hoặc Tên viết tắtÝ nghĩaCSMACarrier-sense multiple accessCSMA / CDCarrier-sense multiple access with collisiondetectionOMNeT + + Objective Modular Network Testbed in C + +. Thời gian giải quyết và xử lý truyền gói tinThời gian trễ kênh truyền6 | PageMô phỏng mạng lưới hệ thống CSMA / CDNội Dung1. Mô hình giao thức CSMA / CDLý thuyết giao thức CSMACSMA ( viết tắt của từ Carrier Sense Multiple Access ) là giao thức đa truy nhậpcảm nhận sóng mang của Ethernet và hoạt động giải trí theo nguyên tắc cơ bản “ Nghe trướcnói sau ” để tránh những va chạm khi truyền chung một kênh truyền. Các nút trên mạngcục bộ của Ethernet được liên kết qua một kênh truyền tiếp thị dùng chung, vì thế, khi một trạm gửi đi một frame, toàn bộ những trạm trên LAN đều nhận được frame. Khimột trạm có bản tin cần gửi nó sẽ lắng nghe kênh truyền nếu thấy có sóng mangnghĩa là kênh truyền đang bận nó sẽ đợi tới khi kênh truyền rảnh, ngược lại nó sẽtruyền ngay lập tức. Tất cả những trạm đều sẽ nhận được bản tin, tuy nhiên sau khikiểm tra địa chỉ đích thấy không phải gửi cho mình bản tin sự tự động hóa bị hủy. 1.2 Các kiểu quy mô truy vấn của CSMACSMA thường sử dụng 3 loại quy mô truy cập kênh truyền gồm có 1 – persistentCSMA, p-persistent CSMA và non-persistent CSMA. 1.2.1 1 – Persistent CSMAĐối với quy mô này truy vấn này, khi trạm có bản tin cần truyền nó sẽ lắngnghe kênh truyền, nếu kênh truyền không có sóng mang ( không bận ) thì nó sẽtruyền ngay lập tức. Ngược lại, nó sẽ lại đợi và kiểm tra kênh truyền liên tục cho tớikhi kênh truyền rảnh. Đây là quy mô được thiết lập trong mạng lưới hệ thống CSMA / CD baogồm cả Ethernet. 7 | PageMô phỏng mạng lưới hệ thống CSMA / CDHình 1. Lưu đồ giải thuật 1 – Persistent CSMA1. 2.2 P – persistentĐối với quy mô này truy vấn này, khi trạm có bản tin cần truyền nó sẽ lắngnghe kênh truyền, nếu kênh truyền có sóng mang ( kênh bận ) thì mạng lưới hệ thống sẽ đợi tớikhi kênh truyền rảnh. trái lại mạng lưới hệ thống tạo 1 số ít ngẫu nhiên I nằm trong khoảngtừ [ 0,1 ] nếu I nhỏ hơn một giá trị p cho trước thì trạm sẽ gửi bản tin, ngược lại nó sẽđợi 1 mini slot time sau đó sẽ khởi đầu truyền lại. Ở đây, giá trị mini slot time thường gấp đôi thời hạn trễ kênh truyền bằng. Theo như khảo sát đồ thị tính cực trị để hiệu suất kênh truyền cao nhất thì giá trị pthường được lấy như sau : 1. n là số trạm trong mạng2. p là Tỷ Lệ để truy vấn kênh8 | PageMô phỏng mạng lưới hệ thống CSMA / CDHình 2. Lưu đồ giải thuật p – persistent CSMA1. 2.3 None – PersistentMô hình này truy vấn này khá giống với quy mô 1 – Persistent, khi trạm có bảntin cần truyền nó sẽ lắng nghe kênh truyền, nếu kênh truyền không có sóng mang ( không bận ) thì nó sẽ truyền ngay lập tức. Ngược lại, mạng lưới hệ thống sẽ lại đợi với một sốngẫu nhiên nguyên lần mini slot time được định nghĩa ở trên, sau đó trạm tự độngbắt đầu thực thi việc “ nghe trước khi nói ”. 9 | PageMô phỏng mạng lưới hệ thống CSMA / CDHình 3. Lưu đồ giải thuật none – persistent CSMA1. 3 Sự thừa kế CSMA / CD từ mạng lưới hệ thống CSMA1. 3.1 Lý thuyết CSMA / CDTrong mạng lưới hệ thống CSMA thì sẽ chỉ hoàn toàn có thể phát hiện ra xung đột, như vậy sẽ khócó thể làm tăng hiệu suất của kênh. Do đó, mạng lưới hệ thống CSMA / CD sinh ra có thêm cơchế giải quyết và xử lý xung đột. Về mặt nguyên tắc truy cập kênh truyền không khác CSMA và trong khi truyềnhệ thống sẽ vẫn luôn nghe sóng mang để phát hiện xung đột. Khi phát hiện thấy cósóng mang ( bị xung đột ), thì mạng lưới hệ thống sẽ thực thi việc giải quyết và xử lý gói tin bằng cách gửibản tin thông tin đồng thời sẽ đợi một khoảng chừng thời hạn ngẫu nhiên, sau khi hếtthời gian đợi nó sẽ khởi đầu truyền lại bản tin đó. Trường hợp bản tin sẽ bị hủy xảy rakhi bị xung đột quá nhiều. 10 | P a g eMô phỏng mạng lưới hệ thống CSMA / CD1. 3.2 Giải thuật CSMA / CDHình 4. Lưu đồ giải thuật quy mô CSMA / CD [ 1 ] Để hoàn toàn có thể thuận tiện trình diễn ta sẽ tách giải thuật ở hình trên thành 2 tiến trình chínhbao gồm tiến trình gửi tin và tiến trình giải quyết và xử lý xung đột. 1.3.3 Tiến trình gửi tinKhi một trạm nhận được một gói tin và nó cần phải truyền đi thì nó sẽ thực hiệncác bước sau. Các bước này sẽ hoàn thành xong khi bản tin truyền thành công xuất sắc trên kênhtruyền hoặc là nó được xác lập xung đột trên kênh truyền để đưa tới tiến trình xửlý xung đột. Bước 1. Trạm có bản tin cần gửi không ? Nếu có thì chuyển sang bước tiếpBước 2. Kiểm tra kênh truyền, nếu kênh truyền không bận thì chuyển sangbước tiếp. Ngược lại nó sẽ đợi đến khi kênh truyền không bận, khoảng chừng thờigian lấy mẫu kênh truyền sau mỗi lần kiểm tra thường sẽ được thống kê giám sát dựatrên vận tốc của kênh truyền. [ 2 ] Bước 3. Bắt đầu truyền và đồng thời khởi tạo bộ giám sát nhận ra xung độtkhi truyền. 11 | P a g eMô phỏng mạng lưới hệ thống CSMA / CDBước 4. Có xung đột không ? Nếu có thì chuyển sang tiến trình giải quyết và xử lý xungđột. Bước 5. Khởi tạo lại bộ đếm chuẩn bị sẵn sàng cho lần gửi tiếp theo và kết thúc gói tin. 1.3.4 Tiến trình giải quyết và xử lý xung độtKhi có hiện tượng kỳ lạ xung đột khi đang truyền thì mạng lưới hệ thống sẽ tự động hóa giải quyết và xử lý như sau : Bước 1. Tiếp tục truyền nhưng với bản tin Jam thường là 4-6 byte [ 1 ] nhằmmục đích cảnh báo nhắc nhở xung đột cho hàng loạt trạm khác ( trong bài này chọn4byte ). Sau đó chuyển sang bước 2. Bước 2. Tăng bộ đếm xung đột. Bước 3. Kiểm tra bộ đếm xung đột đã tới giá trị tối đa. Nếu tới thì hủy gói tinvà kết thúc, ngược lại chuyển sang bước 4. Bước 4. Tính toán và đợi một khoảng chừng thời hạn ngẫu nhiên ( backoff ). Sau khiđợi xong chuyển sang bước 5. Bước 5. Quay lại tiến trình gửi tin. 1.3.5 Thuật toán binary exponential backoffTrong mạng lưới hệ thống CSMA / CD khi xảy ra xung đột những trạm đang truyền tin sẽcùng nhau đợi một khoảng chừng thời hạn. Vậy câu hỏi ở đây là đợi như thế nào ? Thuậttoán binary exponential backoff được sử dụng trong mạng Ethernet xử lý vấnđề này một cách tuyệt vời và hoàn hảo nhất. Khi xảy ra xung đột khi đang truyền và trong bộ counterđã đếm xung đột lên lần collision thứ n, thì trạm truyền sẽ chọn ngẫu nhiên một giátrị K nguyên dương trong tập dữ liệu { 0, 1, 2, …, } và giá trị lớn nhất của n là 10 vàsố lần xung đột tối đa để hủy gói tin là 16 chuẩn Ieee 802.3 [ 2 ]. Như vậy khi sốxung đột khi một frame bị truyền đi truyền lại càng nhiều, thì giá K có khả năngđược chọn càng lớn và khi hơn 10 thì khoanh vùng phạm vi giá trị K sẽ được giữ cố định và thắt chặt. Trongmạng Ethernet sau khi chọn giá trị được giá trị K, thời hạn của trạm cần đợi sẽ là ( 512 bit times là slot time so với Ethernet [ 3 ] ). Ví dụ : Giả thiết rằng một trạm nỗ lực để truyền một frame cho lần tiên phong và tronglúc đang truyền nó nhận thấy bị xung đột. Lúc này thì giá trị K = 0 sẽ có xác xuất là0. 5 và K = 1 cũng sẽ có Xác Suất là 0.5. Nếu giá trị K = 0 được chọn, nó sẽ không12 | P a g eMô phỏng mạng lưới hệ thống CSMA / CDđợi và được chuẩn bị sẵn sàng để gửi vào kênh truyền ngay lần tiếp theo. Ngược lại, nếu giátrịK = 1 được chọn nó sẽ đợi 512 bit times ( ví dụ : 0.01 us cho mạng 100M bpsEthernet ) trước khi mở màn truyền lại frame vào kênh truyền. Sau lần thứ 2 xungđột, giá trị K sẽ được chọn trong tập { 0, 1, 2, 3 }. Sau lần thứ 3 xung đột, K đượcchọn trong tập { 0, 1, 2, 3, 4, 5, 6, 7 }. Sau lần thứ 10 xung đột K được chọn trong { 0,1, 2, 3, …., 1023 }. Như vậy giá trị K hoàn toàn có thể chọn được sẽ được tăng dần theo hàmmũ với số lần xung đột và đây cũng là nguyên do nó có tên là binary exponentialbackoff. 1.4 Đánh giá hiệu năng quy mô CSMA / CDKhi một trạm cần chuyển một gói tin, trạm này nghiễm nhiên hoàn toàn có thể truyền vớitốc độ lớn nhất của kênh truyền ( Đối với mạng Ethernet hoàn toàn có thể là 10M bps, 100M bps thậm chí còn là 1G bps ). Tuy nhiên, nếu nhiều trạm đều có gói tin để chuyểnthì hiệu suất của kênh truyền sẽ tất yếu bị giảm. Chúng ta sẽ xác lập hiệu suấtcủa quy mô CSMA / CD trong trường hợp tổng thể những trạm đều có gói tin cần phảichuyển trong một thời hạn đủ dài để hoàn toàn có thể nhìn nhận. Tuy nhiên trên triết lý ta cócông thức nhìn nhận hiệu suất của mạng lưới hệ thống như sau [ 4 ] 1. là trễ Viral vật lý giữa hai trạm xa nhau nhất ( giả sử truyền trong500m, với tốc độ ánh sáng suy ra ) 2. là thời hạn để truyền một frame với độ dài tối đa vào kênh truyền màkhông bị xung đột ( giả sử bản tin có size 1500 bit, truyền trong mạngcó vận tốc 10M bps suy ra ) Như vậy, khi khoảng cách giữa những trạm càng xa hay nói cách khác càng tăngthì sẽ làm cho xung đột xảy ra càng cao, đồng thời làm giảm hiệu năng kênh truyền. Đối với thời hạn truyền của frame với độ dài tối đa càng lớn làm cho hiệu suấtkênh truyền tiệm cận tới 1, tới một ngưỡng nào đó sẽ hoàn toàn có thể coi bằng 0. Khi nhữngbit tiên phong truyền đi thành công xuất sắc, thì với càng lớn thì thời hạn chiếm hữu kênhtruyền của nó càng cao, do đó kênh truyền sẽ được sử dụng một cách hiệu suất cao. [ 4 ] 13 | P a g eMô phỏng mạng lưới hệ thống CSMA / CD1. 5 Một số công nghệ tiên tiến về công nghệ Ethernet trong mạng LANEthernet là công nghệ tiên tiến mạng LAN được cho phép truyền tín hiệu giữa những máy tính vớitốc độ 10M b / s đến 10G igabit / s. Trong những kiểu Ethernet thì kiểu sử dụng cáp xoắnđôi là thông dụng nhất. Hiện nay, có khoảng chừng 85 % mạng LAN sử dụng Ethernet. Năm 1980, Xẽo, tập đoàn lớn Intel và tập đoàn lớn Digital Equipment đưa ra tiêu chuẩnEthernet 10M bps ( tiêu chuẩn DIX ) được thiết lập 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 đồi nối phải cách nhau tối thiểu 2.5 m Transceiver, một thiết bị nhỏ đượcgắn trực tiếp vào điểm đầu nối, làm trách nhiệm. 1.5.1 Các thông số kỹ thuật của Ethernet • Ethernet ban đầuo Tốc độ truyền : 10M bpso Độ dài cực tiểu của khung 512 bit = 64 byteo Thời gian của khe : 512 bit / 10 Mbps = 51.2 uso Chiều dài cực lớn : 2500 + 4 trạm lặp • Ethernet theo chuẩn 802.3 ( CSMA / CD ) o Thời gian của khe : 512 bit / lầno Khoảng cách giữa những khung : 96 uso Giới hạn số lần thử : 16 o Giới hạn số lần quay lui : 10 o Độ dài cực lớn của khung : 1518 byteo Độ dài cực tiểu của khung : 64 byte1. 5.2 Các công nghệ tiên tiến Ethernet1. Công nghệ 10BASE2 Công nghệ 10BASE2 sử dụng cáp đồng trục gầy, hình thái bus. Trong trườnghợp mạng có nhiều segments, những repeaters sẽ được sử dụng để nối kết cácsegments này lại. Dưới đây sẽ trình diễn đặc thù của công nghệ tiên tiến 10BASE2 • Các thiết bị đầu và cuối phải có trở kháng 50 ohm • Khoảng cách tối thiếu 0.5 m • Khoảng cách PC tới đầu nối 4 cm. • Chiều dài tối đa 185 m • Dùng những bộ lặp nới rộng khoảng chừng cách14 | P a g eMô phỏng mạng lưới hệ thống CSMA / CD • Nhỏ hơn, nhẹ hơn và mềm hơn • Ngân sách chi tiêu thấp, không nhu yếu bộ tập trung chuyên sâu ( HUB ) và không cần phảicấu hình mạng lưới hệ thống • Mã hóa Manchester • Đầu nối BNC hình T • Chiều dài tối đa 185 m, tối thiểu 0.5 m • Truyền bán song công, vận tốc truyền tối đa là 10M bps • Hỗ trợ tối đa 30 máy2. Công nghệ 10BASE5 • Kết nối dạng BUS • Tốc độ truyền 10M bps trên bang cơ bản – baseband ( không truyềnđược song công ). Sử dụng mã hóa ManchesterChiều dài tối đa : 500 mHỗ trợ tối đa 101 đoạn mạng theo chuẩn EthernetTối đa có 1024 trạm nối vào mạng 10B ase5Tối đa có 100 bộ thu phát nối vào một đoạn mạng chiều dài 500 mKhoảng cách tối thiểu giữa hai bộ thu phát là 2.5 mCuối mỗi đoạn cáp cần có bộ đầu-cuối ( 50 ohm ) để dập tín hiệuBộ lặp được sử dụng để lan rộng ra chiều dài mạng. Sử dụng tối đa 2 bộlặp giữa những thiết bị3. Công nghệ Ethernet 100 Mbps • Mạng Ethernet 100M bps được gồm 2 chuẩn : Fast Ethernet ( IEEE802. 3 u ) : 100B ase – TX, 100B ase – T4 và 100B ase – FX100BASE-TX và 100B ase – FX sử dụng kỹ thuật mã hóa 4B / 5B100 Base – T4 sử dụng kỹ thuật mã hóa 8B / 6TP hương thức điều khuyển truy nhập CSMA / CD100Base-T4 sử dụng phương pháp hoạt động giải trí bán tuy nhiên công100Base-TX sử dụng phương pháp hoạt động giải trí tuy nhiên công100Base-FX sử dụng cả phương pháp bán song công và hoạt độngsong công2. Phần mềm mô phỏng Omnet + + Giới thiệu2. 2.1 Omnet + + là gì ? OMNeT + + là viết tắt của cụm từ Objective Modular Network Testbed in C + +. OMNeT + + là một ứng dụng phân phối cho người sử dụng môi trường tự nhiên để tiến hànhmô15 | P a g eMô phỏng mạng lưới hệ thống CSMA / CDphỏng hoạt động giải trí của mạng. Mục đích chính của ứng dụng là mô phỏng hoạt độngmạng thông tin, tuy nhiên do tính phổ cập và linh động của nó, OMNeT + + còn đượcsử dụng trong nhiều nghành khác như mô phỏng những mạng lưới hệ thống thông tin phức tạp, những mạng kiểu hàng đợi ( queueing networks ) hay những kiến trúc phần cứng … OMNeT + + cung ứng sẵn những thành phần tương ứng với những quy mô thực tiễn. Cácthành phần này ( còn được gọi là những module ) được lập trình theo ngôn từ C + +, sauđó được tập hợp lại thành những thành phần hay những quy mô lớn hơn bằng mộtngôn ngữ bậc cao ( NED ). OMNeT + + tương hỗ giao diện đồ họa, tương ứng với cácmôhình cấu trúc của nó đồng thời phần nhân mô phỏng ( simulation kernel ) và cácmodule của OMNeT + + cũng rất thuận tiện nhúng vào trong những ứng dụng khác. 2.2.2 Các thành phần chính của Omnet + + • Thư viện phần nhân mô phỏng ( simulation kernel ) • Trình biên dịch cho ngôn từ diễn đạt hình trạng ( topologydescriptionlanguage ) – NED ( nedc ) • Trình biên tập đồ họa ( graphical network editor ) cho những fileNED ( GNED ) • Giao diện đồ họa thực thi mô phỏng, những link bên trongcácfilethựchiệnmô phỏng ( Tkenv ) • Giao diện dòng lệnh triển khai mô phỏng ( Cmdenv ) • Công cụ ( giao diện đồ họa ) vẽ đồ thị hiệu quả vector ở đầu ra ( Plove ) • Công cụ ( giao diện đồ họa ) diễn đạt hiệu quả vô hướng ở đầu ra ( Scalars ) • Công cụ tài liệu hóa những quy mô • Các tiện ích khác • Các tài liệu hướng dẫn, những ví dụ mô phỏng … 16 | P a g eMô phỏng mạng lưới hệ thống CSMA / CD1 Mô hình trong Omnet + + Một quy mô trong OMNeT + + gồm có những module lồng nhau cócấu trúc phân cấp. Độ sâu của của những module lồng nhau là khônggiới hạn, điều này được cho phép người sử dụng hoàn toàn có thể trình diễn cáccấu trúc logic của những mạng lưới hệ thống trong trong thực tiễn bằng những cấu trúc môhình. Các module trao đổi thông tin với nhau trải qua việc gửicác message ( message ). Các message này hoàn toàn có thể có cấu trúc phứctạp tùy ý. Các module hoàn toàn có thể gửi những message này theo hai cách, một là gửi trực tiếp tới địa chỉ nhận, hai là gửi đi theo một đườngdẫn được định sẵn, trải qua những cổng và những liên kết. Các module hoàn toàn có thể có những tham số của riêng nó. Các tham số nàycó thể được sử dụng để chỉnh sửa những thuộc tính của module và đểbiểu diễn cho topology của quy mô. Các module ở mức thấp nhất trong cấu trúc phân cấp đóng góicácthuộctính. Cácmodule này được coi là những module đơn thuần, và chúng được lậptrìnhtrongngônngữC + + bằng cách sử dụng những thư viện mô phỏng. 2.2.3 Ứng dụngOMNeT + + là một công cụ mô phỏng những hoạt động giải trí mạng bằngcác module được phong cách thiết kế hướng đối tượng người tiêu dùng. OMNeT + + thường đượcsử dụng trong những ứng dụng hầu hết như : 1.2.3. 4. MôMôMôMôhình hoạt động giải trí của những mạng thông tinhình giao thứchình hóa những mạng kiểu hàng đợihình hóa những mạng lưới hệ thống đa bộ vi giải quyết và xử lý ( multiprocesser ) hoặc17 | P a g ecáchệthốngMô phỏng mạng lưới hệ thống CSMA / CDphần cứng theo quy mô phân tán khác ( distributed hardwaresystems ) 5. Đánh giá kiến trúc phần cứng6. Đánh giá hiệu suất cao hoạt động giải trí của những mạng lưới hệ thống phức tạp … 2.3 Tổng quan2. 3.1 Mô hình của Omnet + + OMNeT + + cung ứng cho người sử dụng những công cụ hiệuquả để miêu tả cấu trúc của những mạng lưới hệ thống trong thực tiễn. 1. Các module lồng nhau có cấu trúc phân cấp2. Các module là những đối tượng người dùng đơn cử của những kiểu module3. Các module trao đổi thông tin bằng những message qua cáckênh4. Các tham số của module linh hoạt5. Ngôn ngữ miêu tả TopologyMột quy mô OMNeT + + gồm có những phần sau : • Ngôn ngữ diễn đạt topology – NED ( file có phần lan rộng ra. ned ) : môtảcấutrúccủa module với những tham số, những cổng … Các file. ned có thểđược viết bằng bất kỳ bộ soạn thảo hoặc sử dụng chươngtrình GNED có trong OMNeT + +. • Định nghĩa cấu trúc của những message ( những file có phần mởrộng. msg ) : Ngườisử dụng hoàn toàn có thể định nghĩa rất nhiều kiểu messsage và thêmcáctrườngdữliệucho chúng. OMNeT + + sẽ dịch những định nghĩa này sang cáclớp C + + vừa đủ. • Mã nguồn của những module đơn thuần. Đây là những file C + + vớiphầnlà. h hoặc. cc. 18 | P a g emởrộngMô phỏng mạng lưới hệ thống CSMA / CDHệ thống mô phỏng phân phối cho ta những thành phần sau : • Phần nhân mô phỏng. Phần này chứa code để quản trị quátrìnhmôphỏngvàcác thư viện lớp mô phỏng. Nó được viết bằng C + +, đượcbiêndịchvàđượcđặt cùng dạng với những file thư viện ( những file có phần mở rộnglà. a hoặc. lib ). • Giao diện người sử dụng. Giao diện này được sử dụng khithựchiệnquátrìnhmô phỏng, tạo sự thuận tiện cho quy trình sửa lỗi, màn biểu diễn ( demonstration ) hoặc khi thực thi mô phỏng theo từng khối ( batch executionofsimulations ). Có một vài kiểu giao diện trong OMNeT + +, tổng thể đều đượcviếtbằngC + +, được biên dịch và đặt cùng nhau trong những thư viện ( những filecóphầnmởrộnglà. a hoặc. lib ). 2.3.2 Hệ thống fileSau khi thiết lập OMNet + +, thư mục omnetpp trên mạng lưới hệ thống máycủa bạn nên chứa những thư mục con dưới đây : [ 5 ] omnetpp / bin / nedtool … ) 19 | P a g eThư mục gốc của OMNeT + + những công cụ trong OMNeT + + ( GNED, Mô phỏng mạng lưới hệ thống CSMA / CDinclude / lib / bitmap / doc / manual / tictoc-tutorial / api / nedxml-api / src / src / nedc / sim / parsim / táncác file header cho quy mô mô phỏngcác file thư việncác hình tượng đồ hoạcác file hướng dẫn, readme … file hướng dẫn dạng HTMLgiới thiệu sử dụng OMNeT + + API tham chiếu dạng HTMLAPI tham chiếu cho thư viện NEDXMLmã nguồn của tài liệumã nguồn của OMNeT + + nedtool, trình biên dịch messagephần nhân mô phỏngcác file dành cho việc thực thi phânnetbuilder / những file dành cho việc đọc động những fileNEDvectorhướngtest / envir / cmdenv / tkenv / gned / plove / mã nguồn cho giao diện người sử dụnggiao diện người dùng dòng lệnhgiao diện người sử dụng dựa trên Tcl / tkcông cụ soạn thảo file NEDcông cụ vẽ và nghiên cứu và phân tích đầu ra dạngscalars / công cụ vẽ và nghiên cứu và phân tích đầu ra dạng vônedxml / utils / thư viện NEDXMLcác tiện ích khác … bộ kiểm thử lùibộ kiểm thử lùi cho thư viện mô phỏngbộ kiểm thử lùicore / distrib / Các quy trình mô phỏng mẫu được chứa trong thư mục samples : samples / aloha / thư mục chứa những ví dụ mẫumô hình giao thức AlohaThư mục contrib chứa những chương trình hoàn toàn có thể phối hợp với OMNeT + + : contrib / 20 | P a g eMô phỏng mạng lưới hệ thống CSMA / CDoctavescript của Octave dùng để giải quyết và xử lý kếtquảemacs / bộ lưu lại cú pháp NED cho EmacsNgoài ra ta cũng hoàn toàn có thể tìm thấy những thư mục khác như msvc /, chứacác thành phần tích hợp cho Microsoft Visual C + + … 2.3.3 Cấu trúc phân cấp của những ModuleMột quy mô trong OMNeT + + chứa những module lồng nhau cócấu trúc phân cấp, trao đổi thông tin với nhau bằng cách gửi cácmessage. Mỗi quy mô này thường trình diễn cho một hệ thốngmạng. Module mức cao nhất trong cấu trúc phân cấp được gọi làmodule mạng lưới hệ thống. Module này hoàn toàn có thể chứa những module con, cácmodule con cũng hoàn toàn có thể chứa những module con của riêng nó. Độ sâuphân cấp so với những module là không số lượng giới hạn, điều này cho phépngười sử dụng hoàn toàn có thể thuận tiện màn biểu diễn một cấu trúc logic của mộthệ thống trong trong thực tiễn bằng cấu trúc phân cấp của OMNeT + +. Cấu trúc của quy mô hoàn toàn có thể được miêu tả bằng ngôn từ NEDcủa OMNeT + +. Hình 5. Ví dụ đơn thuần về tổng hợp module [ 5 ] 21 | P a g eMô phỏng mạng lưới hệ thống CSMA / CDCác module hoàn toàn có thể chứa nhiều module con và được gọi là module phối hợp. Cácmodule đơn thuần là những module có cấp thấp nhất trong cấu trúc phân cấp. Cácmoduleđơn giản chứa những thuật toán của quy mô. Người sử dụng tiến hành những moduleđơngiản bằng ngôn từ C + +, sử dụng những thư viện mô phỏng của OMNeT + +. Tất cả những module dù là đơn thuần hay phức tạp đều là những đốitượng đơn cử của những kiểu module. Trong khi miêu tả những quy mô, người sử dụng định nghĩa ra những kiểu module, những đối tượng người dùng cụ thểcủacác kiểu module này được sử dụng như những thànhphần của những kiểu module phức tạp hơn. Cuối cùng, người sử dụngtạomodulehệthống như một đối tượng người dùng đơn cử của kiểu module đã được địnhnghĩatrướcđó, tấtcảcác module của mạng đều là module con ( hoặc là con của modulecon ) của module mạng lưới hệ thống. Khi một kiểu module được sử dụng nhưmột khối dựng sẵn ( building block ), sẽ không hề phân biệt đó làmột module đơn thuần hay phức tạp. Điều này được cho phép người sửdụng hoàn toàn có thể tách những module đơn thuần ra thành nhiều module đơngiản được nhúng trong một module tích hợp, và ngược lại có thểtập hợp những công dụng của một module phối hợp trong một moduleđơn giản mà không tác động ảnh hưởng gì đến những kiểu module đã đượcngười sử dụng định nghĩa. Kiểu module hoàn toàn có thể được tàng trữ trong một file riêng rẽ. Điềunày được cho phép người sử dụng hoàn toàn có thể nhóm những kiểu module lại vàtạo ra một thư viện thành phần. 22 | P a g eMô phỏng mạng lưới hệ thống CSMA / CD3. Mô hình hóa mạng lưới hệ thống CSMA / CDMô hình hóa là chiêu thức điều tra và nghiên cứu bằng thực nghiệm trên quy mô củamột hiện tượng kỳ lạ ( quy trình, sự vật, … ) thay vì điều tra và nghiên cứu trực tiếp hiện tượng kỳ lạ ấy ởdạng tự nhiên ( thực địa ). Quá trình quy mô hóa gồm có hai phần là sản xuất môhình và thực thi thực nghiệm trên quy mô ấy ( nguồn : Wikipedia ). Phân tích và quy mô hóa hệ thốngĐể hoàn toàn có thể nghiên cứu và phân tích được quy mô ta cần ánh xạ sang mạng lưới hệ thống và giải thuậtCSMA / CD được nghiên cứu và phân tích tại Mô hình giao thức CSMA / CD để đưa ra những giảipháp và đưa ra quy mô đơn cử. Dưới đây nhóm em đưa ra những yếu tố cần giảiquyết1. Mô hình hóa quy mô kênh truyền như thế nào ? Làm thế nào để kiểm trađược kênh truyền, khi đang truyền ? 2. Tính toán được thời hạn truyền tin như thế nào để bộc lộ được sự tươngquan giữa những trạm ? 3. Quá trình gửi tin sẽ được giải quyết và xử lý như thế nào và dừng việc truyền tin khiphát hiện xung đột như thế nào ? 3.2 Giải quyết vấn đề3. 2.1 Mô hình hóa những trạm23 | P a g eMô phỏng mạng lưới hệ thống CSMA / CDHình 6. Mô hình bus topology ( nguồn : Internet ) Để xử lý bài toán về vị trí trong thực tiễn, với quy mô bus ta nhận thấy chỉ cómột chiều. Vì vậy ta sẽ lấy điểm cuối bên trái làm điểm gốc tọa độ và sinh số ngẫunhiên để tạo vị trí ngẫu nhiên trên kênh truyền, sau đó ta sẽ lấy thương của tọa độvới độ dài Viral để lấy ra thời hạn Viral từ gốc tọa độ tới trạm. Hình 7. Code tạo vị trí ngẫu nhiên và tính khoảng cách tới điểm gốcSau khi ta tạo được vector khoảng cách của từng trạm so với tọa độ gốc ta có thểcoi như đó là vector giá trị vị trí và thời hạn Viral trong kênh là 1 đơn vị chức năng. Saukhi có bảng vector vị trí của từng trạm, ta sẽ lập ma trận khoảng cách, ma trận nàysẽ giám sát khoảng cách từ một trạm bất kỳ tới trạm khác. Hình 8. Code lập bảng ma trận khoảng cách giữa những trạm24 | P a g eMô phỏng mạng lưới hệ thống CSMA / CD3. 2.2 Kênh truyềnDo trình mô phỏng Omnet + + chỉ tương hỗ điểm tới điểm vì vậy chúng em dùng mộttrạm gọi là Receiver để nhận hết hàng loạt gói tin của tổng thể những trạm khác đồng thờithực hiện việc quản trị kênh truyền. Tất cả những trạm sẽ kiểm tra kênh truyền thôngqua trạm này. Nghĩa là khi một trạm muốn gửi tin thì sẽ bản tin cho trạm Receivernày, sau đó trạm Receiver sẽ thực thi việc kiểm tra kênh truyền và giải quyết và xử lý kênhtruyền. 3.2.3 Mô hình hóa quy trình gửi tin và phát hiện va chạmĐể tiện theo dõi em sẽ giải quyết và xử lý từng tiến trình trong lưu đồ giải thuậtĐể hoàn toàn có thể truyền được gói tin, mỗi trạm sẽ thiết lập lại cờ trạng thái và giá trịkhởi tạo, sau đó sẽ tạo ngẫu nhiên một trạm bất kỳ không trùng với nó và tính toánthời gian truyền cho quy trình sẵn sàng chuẩn bị. Sau đó sẽ kiểm tra kênh truyền bằng cáchxem trạng thái kênh trải qua Receiver nếu kênh truyền rảnh thì sẽ gửi gói tin lênReceiver ngay lập tức với thời hạn trễ Viral đã tính ở phần chuẩn bị sẵn sàng, ngược lạihệ thống sẽ lập lịch để lấy mẫu kênh truyền được tính bằng 96 bit thời hạn xử lýgói tin cho tới khi gửi được gói tin. Khi truyền được bản tin, trạm sẽ tự động hóa đợimột khoảng chừng thời hạn giải quyết và xử lý hết gói tin được giám sát phụ thuộc vào vào độ dài của gói25 | P a g e

Source: https://vh2.com.vn
Category : Tin Học