Các chức năng 2 l Nếu là mạng đa truy nhập, cần có các giao thức truy nhập đường truyền cho nhiều máy trạm l Kiểm soát luồng: l Kiểm soát tốc độ truyền của bên gửi sao cho bên nhận h
Trang 11
Chương 5:
Tầng liên kết dữ liệu
Trang 22
Tổng quan
l Tầng liên kết dữ liệu
l Dịch vụ:
l Đóng gói, địa chỉ hóa
l Phát hiện và sửa lỗi
l Kiểm soát luồng
l Kiểm soát truy nhập đường
Trang 33
Giới thiệu về Tầng liên kết dữ liệu
Trang 4l Hữu tuyến: Ethernet LAN,
ADSL, fiber optic…
l Không dây: Wi-fi, Wi-Max,
Trang 5Ethernet
802.4 Token Bus
802.5 Token Ring
802.11 Wi-Fi
802.16 Wi-Max
Trang 77
Các chức năng (1)
l Đóng gói - Framing:
l Bên gửi: đặt gói tin tầng mạng vào khung tin,
thêm phần đầu, phần đuôi
l Bên nhận: Bỏ phần đầu, phần đuôi và lấy gói tin truyền lên tầng mạng
l Địa chỉ hóa - Addressing:
l Địa chỉ vật lý đặt trong phần đầu gói tin để định danh nút nguồn, nút đích
Trang 88
Trang 9Các chức năng (2)
l Nếu là mạng đa truy nhập, cần có các giao thức truy nhập đường truyền cho nhiều máy trạm
l Kiểm soát luồng:
l Kiểm soát tốc độ truyền của bên gửi sao cho bên nhận hoạt động tốt, không bị quá tải
l Kiểm soát lỗi:
l Phát hiện và sửa các lỗi bít
l e.g parity check, checksum, CRC check
Trang 1010
Kiểm soát lỗi
Phát hiện lỗi Phát hiện và sửa lỗi
Trang 1111
Nguyên lý phát hiện lỗi
EDC= Error Detection Code (redundancy)
Trang 12l Phát hiện và sửa lỗi bít đơn
l Khái niệm về checksum của
Internet?
101011 111100 011101 001010
101011 101100 011101 001010
Trang 1313
CRC: Cyclic Redundancy Check
Mã vòng
l Dữ liệu được xem như một số nhị phân: D
l Chọn một chuỗi r+1 bit, G (chuỗi sinh – Generator)
l Tìm một chuỗi R độ dài r bit, sao cho chuỗi ghép của D và R
là một số nhị phân chia hết cho G (chia modulo 2)
Trang 14l Có nghĩa là R là số dư khi chia D.2r
cho G (phép chia modulo 2)
R= D.2r mod G
l Ví dụ
10101001000 1001
1001 1011110 1110
1001 1110 1001 1111 1001 1100 1001 1010 1001 110
R=110, chuỗi bít gửi đi là
Trang 15l G càng dài, mã CRC phát hiện lỗi càng hiệu quả
l CRC được sử dụng rộng rãi trong thực tế
l Wi-fi, ATM, Ethernet…
l Phép toán XOR được cài đặt bởi phần cứng
l Phát hiện chuỗi bít bị lỗi có độ dài nhỏ hơn r+1 bit
Trang 1616
Các kỹ thuật kiểm soát lỗi
l Đảm bảo truyền tin tin cậy
trên môi trường truyền tin
không tin cậy
l Điều kiện
l Các khung dữ liệu luôn
luôn được truyền chính xác
l Độ trễ truyền tin không
đáng kể
l Các loại lỗi
l Mất khung dữ liệu
l Khung dữ liệu bị lỗi
l Thông báo lỗi bị mất
l Các kỹ thuật sử dụng:
l Phát hiện lỗi (đã học)
l Báo nhận
l Truyền lại với timeout
l Truyền lại với báo không nhận
l Kỹ thuật tự động truyền lại (ARQ automatic repeat request) Có 3 phiên bản chuẩn hóa
l Dừng và chờ (Stop and Wait)ARQ
l Quay lại N(Go Back N) ARQ
l Loại bỏ chọn lọc (Selective Reject) ARQ
l Tương tự cơ chế kiểm soát luồng dữ liệu
Trang 1717
Kiểm soát truy nhập
đường truyền
Trang 19l Truy nhập ngẫu nhiên:
l Kênh không được chia, cho phép đồng thời truy nhập, chấp nhận là có xung đột
l Cần có cơ chế để phát hiện và tránh xung đột
l e.g Pure Aloha, Slotted Aloha, CSMA/CD, CSMA/CA…
l Lần lượt:
l Theo hình thức quay vòng
l Token Ring, Token Bus…
Trang 2020
Các phương pháp chia kênh
l TDMA: time division multiple access
l CDMA: code division multiple access
Trang 21frequency
time
4 máy
Ví dụ:
Trang 22l Và chỉ được phục hồi duy nhất ở cuối kênh với mã
ngẫu nhiên tương ứng
l Áp dụng lý thuyết trải phổ (spread spectrum), CDMA
đưa ra hàng loạt các ưu điểm mà nhiều công nghệ
khác chưa thể đạt được
http://en.wikipedia.org/wiki/Spread_spectrum
Trang 23l Nếu có dữ liệu cần truyền, truyền
l Nếu đang truyền mà nhận được dữ liệu
của trạm khác à có xung đột Tất cả các
trạm cần truyền lại
l Vẫn có thể xung đột khi truyền lại
l Không kiểm tra đường truyền trước khi
truyền
l Các gói mầu ghi bị xung đột (có overlap
về thời gian)
23
Trang 25Truy nhập ngẫu nhiên: CSMA
l Carrier Sense Multiple Access (Đa truy nhập sử dụng sóng mang)
l Thế nào là CSMA: trong một cuộc họp
Trang 2626
CSMA
l Nếu kênh rỗi, truyền toàn bộ dữ liệu
l Nếu kênh bận, chờ
l Tại sao lại có xung đột?
Độ trễ lan truyền
Trang 2727
Xung đột trong CSMA
l Giả sử kênh truyền có 4
Trang 29CSMA/CD (Collision detection)
l Dùng trong mạng Ethernet
l CSMA có phát hiện xung đột: Listen while talk
l Nếu đường truyền rỗi, truyền
l Nếu bận, chờ rồi truyền với xác suất p
xung đột chỉ phát 1 tín hiệu báo xung đột ngắn
và dừng ngay
l Không tiếp tục truyền như CSMA
l Thử truyền lại sau một khoảng thời gian ngẫu
Trang 30l Nghe trong thời gian bao lâu?
l Nếu phát hiện thấy xung đột: Hủy bỏ quá trình truyền và quay lại trạng thái chờ, nghe
l Một số biến thể của CSMA
l CSMA kiên nhẫn (persistance)
l CSMA không kiên nhẫn
l CSMA với xác suất p nào đó
Trang 3131
So sánh chia kênh và truy
nhập ngẫu nhiên
l Chia kênh
l Hiệu quả, công bằng cho đường truyền với lưu lượng lớn
l Lãng phí nếu chúng ta cấp kênh con cho một nút chỉ cần lưu lượng nhỏ
l Truy nhập ngẫu nhiên
l Khi tải nhỏ: Hiệu quả vì mỗi nút có thể sử dụng toàn bộ
kênh truyền
l Tải lớn: Xung đột tăng lên
l Phương pháp quay vòng: Có thể dung hòa ưu điểm của hai phương pháp trên
Trang 32l Nút nào giữ thẻ bài
sẽ được gửi dữ liệu
l Gửi xong phải chuyển
Trang 3434
Kiểm soát luồng dữ
liệu
Trang 3535
Kiểm soát luồng dữ liệu
l Đảm bảo trạm nguồn không làm quá tải trạm đích
l Trạm đích
l Không đặt vấn đề lỗi truyền tin
l Giải pháp
Trang 3636
Cơ chế dừng và chờ
l Nguyên tắc
l Nguồn gửi một khung dữ liệu
l Đích nhận khung dữ liệu, xử lí, sau đó thông báo sẵn sàng nhận các khung dữ liệu tiếp theo bằng một
thông báo báo nhận (acknowledgement)
l Nguồn chờ đến khi nhận được báo nhận mới truyền tiếp khung dữ liệu tiếp theo
Trang 3838
Trang 39l Khung dữ liệu dài khả năng lỗi lớn
l Trong môi trường truyền tin chia sẻ, không cho phép trạm nào chiếm dụng lâu đường truyền
Trang 4040
Cơ chế cửa sổ trượt: nguyên tắc
l Gửi nhiều khung dữ liệu để giảm thời gian chờ
l Các khung đã gửi đi chưa báo nhận được lưu trữ tạm thời trong bộ nhớ đệm
l Số khung được truyền đi phụ thuộc vào bộ nhớ
đệm
l Khi nhận được báo nhận
l giải phóng khung dữ liệu đã truyền thành công khỏi bộ
nhớ đệm
l Truyền tiếp các khung bằng với số khung đã truyền thành công
Trang 4141
Cơ chế cửa sổ trượt: Nguyên tắc
l Xét hai trạm A, B kết nối bằng một đường truyền song
Trang 4242
Cơ chế cửa sổ trượt
Trong cửa sổ là các khung sẽ phát Trong cửa sổ là các khung chờ nhận
Trang 4343
Cơ chế cửa sổ trượt
Trang 4444
Cơ chế cửa sổ trượt
l Các khung dữ liệu đang được gửi đi được đánh số
Số thứ tự phải lớn hơn hoặc bằng kích thước cửa
Trang 4545
Cơ chế cửa sổ trượt
l Nguồn quản lý
l Các khung đã gửi đi thành công
l Các khung đã gửi đi chưa báo nhận
l Các khung có thể gửi đi ngay
l Các khung chưa thể gửi đi ngay
l Đích quản lý
l Các khung đã nhận được
l Các khung đang chờ nhận
Trang 46l Nếu không, B gửi một khung báo nhận riêng
l Sau khi gửi báo nhận, nếu B truyền khung dữ liệu, B vẫn đặt số báo nhận trong khung dữ liệu
l Cơ chế cửa sổ trượt hiệu quả hơn nhiều so với
dừng và chờ!
l Quản lý phức tạp hơn
Trang 47Bài tập
l Cho một liên kết có tốc độ R=100Mbps
l Cần truyền 1 dữ liệu có kích thước tổng tại tầng liên kết
dữ liệu là L=100KB
l Giả sử kích thước một khung liên kết dữ liệu là: 1KB
l RTT giữa 2 nút của liên kết là 3ms
l Hỏi thời gian truyền khi áp dụng phương pháp kiểm soát luồng Stop-and-wait
l Thời gian truyền với phương pháp cửa sổ trượt với kích thước cửa sổ =7
l Thời gian truyền nhanh nhất với phương pháp cửa sổ trượt đạt được khi kích thước cửa sổ bằng bao nhiêu?
47
Trang 48Thời gian phát với cơ chế dừng và chờ
Trang 49Thời gian phát với cơ chế
Trang 50Cơ chế cửa sổ trượt
50
Trang 51Thời gian truyền với cửa sổ 7
l T truyền nhanh nhất = (T phát 7 gói + chờ )
Trang 52Thời gian truyền nhanh nhất
với cửa sổ trượt
đạt được khi nguồn phát xong gói cuối của cửa sổ thì đã nhận được ACK của gói đầu tiên
l T phát (W gói) >= T phát gói đầu + RTT
52
W gói
ACK
Trang 53Thời gian truyền nhanh nhất
với cửa sổ trượt (cont.)