Bài giảng Mạng máy tính - Chương 4: Tầng liên kết dữ liệu
Mụctiêu:
Nắmđượccácnguyênlý đằngsaucácdịchvụcủa
tầngliên kếtdữliệu(LKDL) :
địnhkhungvàđồngbộhóa
dòlỗivàsửalỗi
cáchthứcchiasẻmộtkênhtruyềnquảngbá: đatruycập
đánhđịachỉởtầngLKDL
truyềndữliệutincậy, kiểmsoátluồng
Tìmhiểumộtsốcôngnghệ/kỹthuậtphổbiếnởtầng
LKDL
iểm tra bởi bên nhận Dò lỗi so với sửa lỗi Cả hai đều cần thông tin “thừa” Dò: lỗi có xuất hiện hay không Sửa: sửa lỗi nếu xuất hiện lỗi Chỉ là sự đảm bảo mang tính thống kê 12 Sự phát hiện lỗi EDC= các bít “dư thừa” để dò và sửa lỗi D = dữ liệu được bảo vệ bằng phương pháp kiểm tra lỗi, có thể bao gồm các trường điều khiển • Phát hiện lỗi không tin cậy 100%! • các cơ chế dùng để kiểm soát lỗi có thể bị sót một số lỗi (hiếm); • trường EDC càng lớn thì có thể dò và sửa lỗi tốt hơn. 13 Kiểm tra tính chẵn lẻ (Parity Checking) Two Dimensional Bit Parity: Detect and correct single bit errors Single Bit Parity: Detect single bit errors 0 0 14 Các kỹ thuật phát hiện lỗi khác Kiểm tra tổng (Checksum) Xét dữ liệu như là dãy các số nguyên (integers) Tính và gửi số kiểm tra tổng Xử lý được nhiều bit lỗi Không thể xử lý được tất cả các lỗi Kiểm dư vòng (Cyclic Redundancy Check) Dùng các hàm toán học để xét dữ liệu Tính toán phức tạp hơn rất nhiều Có thể xử lý được nhiều lỗi hơn 15 Internet checksum (RFC 1071) Mục tiêu: phát hiện “các lỗi” (vd: các bit bị lật) trong các segment được truyền (lưu ý: chỉ được dùng ở tầng vận chuyển) 16 Bên gửi: xem nội dung các segment như là dãy các số nguyên 16 bit checksum: thêm vào tổng phần bù 1 của nội dung segment Bên gửi đưa giá trị checksum và trường UDP checksum Bên nhận: tính checksum của segment vừa nhận được kiểm tra xem checksum vừa được tính có trùng với giá trị trong trường checksum hay không: NO – lỗi được phát hiện YES – không có lỗi bị phát hiện. Tuy nhiên, vẫn có thể tồn tại lỗi?! Kiểm dư vòng – Cyclic Redundancy Check xem các bit dữ liệu, D, như là các số nhị phân chọn đa thức sinh, G , mẫu r+1 bit mục tiêu: chọn r CRC bits, R, sao cho có thể được chia hết hoàn toàn bởi G (theo modulo 2) bên nhận biết G, chia bởi G. Nếu phần dư khác 0: lỗi bị phát hiện! có thể phát hiện tất cả các lỗi ít hơn r+1 bits được sử dụng rộng rãi trong thực tế (Ethernet, HDLC) 17 Ví dụ về CRC Ta muốn: D.2r XOR R = nG tương đương với: D.2r = nG XOR R Tương đương với: nếu ta chia D.2r cho G, ta có phần dư R R = phần dư [ ]D .2r G Gởi đi: 101110011 Ethernet và các mạng token ring sử dụng CRC-32 x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x5 + x4 + x2 + x + 1 18 Tóm tắt về sự phát hiện lỗi Để phát hiện lỗi có thể xảy ra trong quá trình truyền: Bên gởi thêm vào gói tin một số thông tin Bên nhận dựa vào các thông tin trên để kiểm tra Các kỹ thuật dò tìm lỗi phổ biến: Kiểm tra tính chẵn lẻ (Parity bit checking) Kiểm tra tổng (Checksum) Kiểm dư vòng (Cyclic Redundancy Check) Chỉ đảm bảo phát hiện được lỗi ở mức thống kê nào đó mà thôi! 19 Giao thức và liên kết đa truy cập Hai loại “liên kết” : điểm – điểm liên kết truy cập điểm-điểm qua quay số liên kết điểm giữa Ethernet switch và host quảng bá (dây dẫn hay phương tiện truyền được chia sẻ) Ethernet truyền thống upstream HFC 802.11 wireless LAN 20 Giao thức đa truy cập kênh truyền quảng bá đơn được chia sẻ khi có hai hay nhiều trạm truyền đồng thời thì xảy ra xung đột chỉ một nút truyền thành công tại một thời điểm Giao thức đa truy cập giải thuật phân tán giúp các nút chia sẻ kênh truyền vd: xác định khi nào một nút có thể truyền truyền thông về việc điều khiển chia sẻ kênh truyền có thể dùng một kênh riêng những gì các giao thức đa truy cập hướng tới (slide tiếp theo) : 21 Giao thức đa truy cập lý tưởng Kênh truyền quảng bá tốc độ R bps 1.Khi chỉ một nút muốn truyền, nó có thể truyền với tốc độ R. 2. Khi có M nút muốn truyền, mỗi nút có thể truyền với tốc độ trung bình là R/M 3. Giao thức phải là hoàn toàn phân tán: không một nút đặc biệt nào sắp xếp việc truyền tin không cần đến sự đồng bộ hóa đồng hồ, khe (thời gian) 4. Đơn giản 22 Một sự phân loại việc kiểm soát truy cập phương tiện truyền Có 3 loại chính: Phân chia kênh truyền chia kênh truyền thành những “mảnh” nhỏ (theo khe thời gian, tần số, mã) cấp phát các mảnh đó cho các nút và chúng được “độc quyền” sử dụng trong khoảng được chia Truy cập ngẫu nhiên không chia kênh truyền, chấp nhận xung đột vấn đề chính là “phục hồi” việc truyền khi có xung đột “Luân phiên” điều phối chặt chẽ việc truy cập phương tiện truyền để tránh xung đột 23 Các giao thức truy cập ngẫu nhiên khi một nút có gói tin để gởi truyền với tốc độ tối đa của kênh (R). không có sự phối hợp từ trước giữa các nút khi có hai hay nhiều nút truyền đồng thời -> “xung đột” Giao thức MAC truy cập ngẫu nhiên định rõ: làm thế nào để dò ra xung đột làm thế nào để phục hồi khi có xung đột xảy ra Một số giao thức MAC truy cập ngẫu nhiên tiêu biểu: ALOHA slotted ALOHA CSMA, CSMA/CD, CSMA/CA 24 CSMA – Đa truy cập cảm nhận sóng mang CSMA: “nghe trước khi nói” Nếu kênh truyền rỗi: truyền toàn bộ frame Nếu kênh truyền bận, trì hoãn việc truyền Tương tự như con người: không ngắt lời người khác! 25 Xung đột trong CSMA Bố trí về mặt không gian của các nút xung đột vẫn có thể xảy ra: hai nút không nghe được việc truyền của nhau do độ trễ truyền tin. khi có xung đột: toàn bộ thời gian truyền gói tin là lãng phí do nó bị hỏng lưu ý: Vai trò của khoảng cách và độ trễ truyền tin là rất quan trọng trong việc xác định xác suất xung đột 26 Đa truy cập cảm nhận sóng mang có dò xung đột (CSMA/CD) CSMA/CD: “nghe trong khi nói” xung đột được phát hiện trong khoảng thời gian ngắn những truyền thông gây xung đột bị hủy bỏ sớm, giảm sự lãng phí kênh truyền phát hiện xung đột: dễ thực hiện trong wired LANs: đo lường cường độ tín hiệu, so sánh tín hiệu truyền và tín hiệu nhận được khó thực hiện trong wireless LANs tương tự như con người: người có tài nói chuyện (lịch sự) 27 Minh họa phát hiện xung đột CSMA/CD 28 Các giao thức MAC “luân phiên” Các giao thức MAC phân chia kênh truyền: chia sẻ kênh truyền hiệu quả và công bằng khi tải cao không hiệu quả khi tải thấp: bị trễ khi truy cập kênh truyền, chỉ có 1/N dải thông được cấp nếu chỉ có một nút hoạt động! Các giao thức MAC truy cập ngẫu nhiên hiệu quả khi tải thấp: một nút có thể tận dụng toàn bộ kênh truyền tải cao: gánh nặng do xung đột Các giao thức “luân phiên” tìm kiếm cơ chế tốt nhất từ hai loại giao thức trên 29 Các giao thức MAC “luân phiên” (tiếp theo) Kiểm soát vòng: nút chủ “mời” nút tớ truyền dữ liệu theo lượt các vấn đề cần quan tâm: gánh nặng kiểm soát vòng độ trễ chờ đợi đến lượt sự hư hỏng của nút chủ sẽ làm gãy vòng Chuyển thẻ bài: thẻ bài điều khiển được chuyển tuần tự từ nút này sang nút khác. trạm nào có thẻ bài sẽ được quyền truyền thông điệp các vấn đề cần quan tâm: gánh nặng quản lý thẻ bài độ trễ chờ đợi thẻ bài thẻ bài bị mất sẽ làm gãy quá trình truyền 30 Tóm tắt về các giao thức điều khiển truy cập phương tiện truyền chia sẻ Các phương pháp chính để điều khiển việc truy cập phương tiện truyền chia sẻ Phân chia kênh theo thời gian, tần số, mã • Time Division, Frequency Division, Code Division Truy cập ngẫu nhiên, • ALOHA, S-ALOHA, CSMA, CSMA/CD • Cảm nhận sóng mang: dễ thực hiện trong một số công nghệ (wire) nhưng khó ở các công nghệ khác (wireless) • CSMA/CD được sử dụng trong Ethernet Luân phiên • Kiểm soát vòng bằng một trạm trung tâm, chuyển thẻ bài 31 Điều khiển liên kết dữ liệu điểm – điểm Một người gửi, một người nhận, một kết nối -> dễ điều khiển truy cập hơn các liên kết quảng bá: không kiểm soát truy cập phương tiện truyền không cần sự hiện diện của địa chỉ MAC vd: kết nối quay số, đường truyền ISDN Các giao thức kiểm soát LKDL điểm-điểm phổ biến: Giao thức PPP (point-to-point protocol) HDLC: Điều khiển LKDL tầng cao (LKDL từng được xem là “tầng cao” trong chồng giao thức! 32 Các yêu cầu thiết kế của PPP [RFC 1557] định khung gói tin: đóng gói gam dữ liệu của tầng mạng trong khung của tầng LKDL có thể mang đồng thời dữ liệu từ tầng mạng của bất kỳ giao thức tầng mạng nào (không chỉ IP) có khả năng tách ngược trở lại ở phía bên nhận tính trong suốt của bit: có thể mang bất cứ mẫu bit nào trong trường dữ liệu phát hiện lỗi (không sửa lỗi) sự “sống” của kết nối: phát hiện, báo hiệu về kết nối hỏng cho tầng mạng đàm phán về địa chỉ tầng mạng: các điểm cuối có thể học/cấu hình địa chỉ mạng của nhau 33 Những điều không yêu cầu đối với PPP Không phục hồi/sửa lỗi Không kiểm soát luồng dữ liệu Phân phát dữ liệu sai thứ tự vẫn okie Không cần hỗ trợ các kết nối multipoint Phục hồi lỗi, kiểm soát luồng, tái sắp đặt dữ liệu đều được “đá” lên các tầng cao hơn! 34 Cấu trúc khung PPP Flag: cờ để phân cách giữa các khung Address: không làm gì (chỉ là một tùy chọn) Control: không làm gì; có thể là các trường điều khiển trong tương lai Protocol: chỉ giao thức ở tầng trên (mạng) mà khung sẽ được phân phát (vd: PPP-LCP, IP, IPCP, …) info: dữ liệu được mang của tầng trên check: kiểm dư vòng để phát hiện lỗi 35 Nhồi Byte Yêu cầu của “sự trong suốt dữ liệu” : trong trường dữ liệu có thể chứa mẫu bit cờ Câu hỏi: khi nhận được thì đó là dữ liệu hay cờ? Bên gửi: “nhồi” thêm một byte vào sau mỗi byte dữ liệu Bên nhận: nếu nhận được 2 bytes 01111110 liên tục thì bỏ đi byte đầu tiên và tiếp tục thu nhận dữ liệu nếu nhận được một byte 01111110 đơn thì đó là cờ 36 Minh họa nhồi byte trong PPP Mẫu byte cờ trong dữ liệu để gửi Mẫu byte cờ được nhồi thêm vào trong dữ liệu được truyền đi 37 Sự hoạt động của giao thức PPP Trước khi trao đổi dữ liệu tầng mạng, các thực thể LKDL ngang hàng phải thực hiện cầu hình cho kết nối PPP (độ dài khung tối đa, xác thực) học/cấu hình thông tin tầng mạng đối với IP: mang các thông điệp IP Control Protocol (IPCP) (có giá trị trường protocol là 8021) để cấu hình/học địa chỉ IP 38
File đính kèm:
- Bài giảng Mạng máy tính - Chương 4 Tầng liên kết dữ liệu.pdf