Bài giảng Mạng máy tính: Truyền thông giữa 2 máy nối trực tiếp

ppt 32 trang phuongnguyen 4090
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Mạng máy tính: Truyền thông giữa 2 máy nối trực tiếp", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_mang_may_tinh_truyen_thong_giua_2_may_noi_truc_tie.ppt

Nội dung text: Bài giảng Mạng máy tính: Truyền thông giữa 2 máy nối trực tiếp

  1. Mạng máy tính Truyền thông giữa 2 máy nối trực tiếp Copyright © 2006, HaiVDC 1
  2. Nội dung ◼ Truyền thông khoảng cách gần ❑ Chuẩn truyền thông RS-232 ❑ Cáp link COM ❑ Tốc độ truyền – Band width ❑ Các t/c của hệ truyền thông ◼ Truyền thông khoảng cách xa ❑ Sóng mang ❑ Modem ◼ Kỹ thuật truyền Baseband/Broadband ❑ Truyền thông Baseband ❑ Truyền thông Broadband ◼ Khung ◼ Kiểm soát lỗi ❑ Mã dò lỗi ❑ Mã sửa lỗi Copyright © 2006, HaiVDC 2
  3. Truyền thông khoảng cách gần ◼ Chuẩn truyền thông RS-232 ◼ Cáp link COM ◼ Tốc độ truyền – Band width ◼ Các tính chất của hệ truyền thông Copyright © 2006, HaiVDC 3
  4. Chuẩn truyền thông RS-232 ◼ Nối qua cổng truyền tin nối tiếp com1/com2 cho phép truyền thông giữa PC/PC, PC/Cân vàng điện tử, PC/máy in ◼ Truyền thông nối tiếp bất đồng bộ ◼ Khoảng cách tối đa 50 feet ◼ Dùng dòng điện truyền dữ liệu qua cáp link COM, chỉ sử dụng 2 mức điện thế +/- 15V ❑ +15V biểu diễn bit 0 ❑ -15V biểu diễn bit 1 ❑ Khi dây rãnh vẫn giữ mức điện thế -15V ◼ Một ký tự được truyền qua đơn vị truyền SDU (Serial data unit) ◼ Cấu trúc SDU gồm: ❑ 1 start bit,8 bit data, 1 parity bit, 1 stop bit ❑ khởi đầu (+15V),biễu diễn mã ký tự, kiểm lỗi, kết thúc(-15V) Copyright © 2006, HaiVDC 4
  5. Chuẩn truyền thông RS-232 ◼ parity bit: bit kiểm tra chẵn lẻ, dùng để kiểm lỗi ký tự truyền có chính xác hay bị lỗi ❑ Kiểm tra chẵn (even) ◼ parity bit = 0: tổng số bit 1 của ký tự là số chẵn ◼ parity bit = 1: tổng số bit 1 của ký tự là số lẻ ❑ Kiểm tra lẻ (odd): ngược lại ◼ Kiểm lỗi: bên nhận tính lại parity bit (dựa vào 8 bit data) so sánh với parity bit bên gởi ❑ Nếu không khớp: ký tự truyền bị lỗi ❑ Nếu khớp: xem như không bị lỗi Copyright © 2006, HaiVDC 5
  6. Chuẩn truyền thông RS-232 ◼ Thí dụ: Truyền ký tự “c” tại SDU và vẽ sơ đồ dòng điện tương ứng. Giả sử dùng phép kiểm chẵn ◼ Giải: ❑ Tại SDU biểu diễn “c” = 99 = 63 Hex = 01100011 ❑ 1 parity bit = 0 (vì có 4 bit 1) ❑ SDU: 1 start bit, 01100011, 0, 1 stop bit ◼ Vẽ sơ đồ dòng điện ◼ Nhận xét: parity chỉ kiểm được các lỗi đơn giản Copyright © 2006, HaiVDC 6
  7. Cáp link COM ◼ Đầu D9 dùng 9 chân ❑ TxD: chân truyền data ❑ RxD: chân nhận data ❑ Gnd: chân đất (ground) ❑ DTR, DSR, RTS, CTS, CD, RI dùng để xác định các tính hiệu điều khiển ❑ Chỉ cần 3 chân chính TxD,RxD,Gnd ◼ Có thể dùng phần mềm NC để kết nối 2 máy tính qua cổng COM theo chuẩn RS-232 Copyright © 2006, HaiVDC 7
  8. Tốc độ truyền – Band width ◼ Tốc độ truyền đo theo đơn vị bps (bit per second) xác định tần số bit truyền trên 1 giây ❑ 1 kbps = 1000 bps ❑ 1 Mbps = 1000 bps ❑ 1 Gbps = 1000 bps ◼ Band width (băng thông/dải tần) xác định tốc độ tối đa mà phần cứng truyền thông cho phép. ◼ Mỗi hệ truyền thông có 1 band width xác định. ◼ Trong thực tế tốc độ truyền thông thực sự luôn thấp hơn band width nhiều lần. ◼ Chuẩn RS-232 qua cổng COM tốc độ tối đa 128 kbps Copyright © 2006, HaiVDC 8
  9. Các tính chất của hệ truyền thông ◼ Simplex (đơn công) ❑ Hệ truyền thông 1 chiều ❑ Chỉ có thể truyền hoặc chỉ có thể nhận ❑ Thí dụ: Television broastcast ◼ Half duplex (bán song công) ❑ Hệ truyền thông 2 chiều ❑ Có thể truyền và nhận không đồng thời ❑ Thí dụ: khi dùng cáp đồng trục ◼ Full duplex (toàn song công) ❑ Hệ truyền thông 2 chiều ❑ Có thể truyền và nhận 1 cách đồng thời ❑ Thí dụ: khi dùng cáp COM chuẩn RS-232 là full duplex Copyright © 2006, HaiVDC 9
  10. Truyền thông k/c xa – sóng mang ◼ Truyền thông khoảng cách xa sử dụng tín hiệu dao động tuần hoàn liên tục hình Sin gọi là sóng mang (carrier) ◼ Để gởi data qua sóng mang ta phải điều chế sóng mang (modulation) ◼ Có 3 phương pháp điều chế ❑ Điều biên ❑ Điều tần ❑ Điều pha Copyright © 2006, HaiVDC 10
  11. Sóng mang – điều biên ◼ Thay đổi biên độ để điều chế sóng ◼ Thí dụ: Quy định ❑ Biên độ 2 biểu diễn bit 0 ❑ Biên độ 4 biểu diễn bit 1 +4v +2v -2v -4v 0 1 1 0 Copyright © 2006, HaiVDC 11
  12. Sóng mang – Điều tần ◼ Thay đổi tần số để điều chế sóng mang ◼ Thí dụ: 7 ❑ Tần số 1.0*10 biểu diễn bit 0 7 ❑ Tần số 0.5*10 biểu diễn bit 1 +4v -4v 0 1 1 0 1.0*107 0.5*107 Copyright © 2006, HaiVDC 12
  13. Sóng mang – Điều pha ◼ Thay đổi pha để điều chế sóng mang ◼ Sự thay đổi pha gọi là lệch pha, mạng máy tính thường dùng pp lệch pha ◼ Thí dụ: ❑ Lệch pha /2 biểu diễn bit 0 ❑ Lệch pha biểu diễn bit 1 +4v -4v 0 1 1 0 Copyright © 2006, HaiVDC 13
  14. Modem (Modulator) ◼ Modem là phần cứng cơ bản để truyền thông khoảng cách xa ◼ Modem có 2 loại chính: ❑ Mạch điều chế (modulator) chuyển đổi tín hiệu dòng điện sang sóng mang tương ứng. ❑ Mạch giải điều chế (demodulator) chuyển đổi tín hiệu sóng mang về dòng điện tương ứng. ◼ Có nhiều loại modem: ❑ Modem quang: nối qua cáp quang ❑ Modem vô tuyến: truyền bằng vô tuyến ❑ Modem quay số: truyền qua hệ thống điện thoại (phổ biến nhất) Copyright © 2006, HaiVDC 14
  15. Hoạt động của modem quay số ◼ Modem quay số có thêm mạch giả lập điện thoại thực hiện các thao tác sau bằng lệnh: ❑ Nhấc ống nghe ❑ Quay số ❑ Gác máy ◼ Modem bắt đầu ở chế độ gọi: ra lệnh nhấc ống nghe, nghe tín hiệu điện thoại và quay số ◼ Modem nhận ở chế độ đáp, trả lời cuộc gọi; 2 modem bắt đầu kết nối với nhau ◼ 2 modem trao đổi thông tin qua sóng mang ◼ Để kết thúc truyền thông, modem ra lệnh gác máy Copyright © 2006, HaiVDC 15
  16. Kỹ thuật truyền Baseband/Broadband ◼ Truyền thông baseband (dải cơ sở) ❑ 1 tín hiệu dữ liệu dùng toàn bộ băng thông đường truyền ❑ Tại mỗi thời điểm chỉ có 1 máy truyền, các máy khác phải đợi ◼ Truyền thông broadband ❑ Băng thông đường truyền được chia thành nhiều kênh. ❑ Mỗi kênh có thể truyền 1 tín hiệu khác nhau. ❑ Kỹ thuật này cho phép nhiều tín hiệu có thể truyền đồng thời qua đường truyền. ❑ Thí dụ: Băng thông đường truyền 640kbps có thể chia thành 10 kênh truyền, mỗi kênh tốc độ 64kbps ◼ Phần cứng có thể truyền thông broad cast là thiết bị Multiplexor (bộ điều kênh) và Demultiplexor (bộ tách kênh) Copyright © 2006, HaiVDC 16
  17. Kỹ thuật truyền Baseband/Broadband ◼ Phương pháp dồn kênh chia tần (FDM): các tín hiệu với tần số khác nhau có thể dồn lại thành 1 tín hiệu ◼ Phương pháp dồn kênh chia thời (TDM): chia trục thời gian thành các khe thời gian, mỗi khe tạo thành một kênh truyền. Copyright © 2006, HaiVDC 17
  18. Khung (frame) ◼ Mạng máy tính thường cung cấp giao diện truyền dữ liệu theo khung ◼ Một khung chứa nhiều byte dữ liệu Frame Frame data Frame header tailer ◼ Phần header/tailer chứa thông tin điều khiển ◼ Phần data: chứa dữ liệu cần truyền ◼ Thời gian truyền khung: t = tstartup + ttranfer tstarup: t/g tạo khung và chuẩn bị truyền kích cỡ khung tối đa bao nhiêu Copyright © 2006, HaiVDC 18
  19. Khung ◼ Khung nhỏ: ❑ Khung chứa ít byte data ❑ 1 lần truyền được ít byte ❑ Tốn thời gian tstarup và thời gian truyền header/tailer → không hiệu quả ◼ Khung quá lớn: ❑ 1 lần truyền được nhiều byte → khung truyền rất lâu ❑ Đối với mạng dùng chung đường truyền: 1 máy truyền các máy khác phải đợi. ❑ Nếu khung truyền bị lỗi (dù sai 1 bit) phải truyền lại cả khung. ◼ Nên chọn khung có kích cỡ trung bình khoảng vài Kilobyte Copyright © 2006, HaiVDC 19
  20. Khung ◼ Thí dụ: Truyền tập tin có dung lượng 123.500 byte trên hệ truyền thông tốc độ 64kbps. Tính thời gian truyền nếu sử dụng khung kích cỡ tối đa 1520byte (1500 byte data, 20byte header) ◼ Chia tập tin thành các khung, lấy 123.500/1500 = 82,33 ❑ Chia thành 82 khung đủ 1500 byte ❑ Chia thành 1 khung đủ 500byte ◼ 1s truyền được 64000bit = 8000 byte ◼ Thời gian truyền tập tin ❑ t = 82(tstarup + 1520/8000) + 1(tstartup + 520/8000) ◼ Mỗi công nghệ mạng có thể sử dụng các dạng khung khác nhau ◼ Hai máy muốn truyền thông phải thống nhất chung dạng khung Copyright © 2006, HaiVDC 20
  21. Khung ◼ Thí dụ: 1 dạng khung đơn giản là khung soh/eot dùng 2 ký tự đặc biệt ❑ soh: ký tự bắt đầu khung ❑ eot: ký tự kết thúc khung soh data eot ◼ Ưu điểm: có thể kiểm được một số lỗi đơn giản như lỗi khung (ví dụ không nhận được ký tự eot) ◼ Khuyết: nếu ký tự soh/eot xuất hiện trong data thì không phân biệt được ◼ Người ta dùng thêm 1 ký tự đặc biệt gọi là esc. ❑ Bên gởi thay các ký tự trong data: soh →esc x, eot →esc y, esc →esc z ❑ Bên nhận thay thế ngược lại: esc x → soh, esc y → eot, esc z → esc Copyright © 2006, HaiVDC 21
  22. Kiểm soát lỗi ◼ Lỗi truyền thông là hiện tượng khó tránh trên thực tế do nhiều nguyên nhân: thời tiết, tiếng ồn, là cho data bị truyền sai ◼ Mạng máy tính phải có chức năng kiểm soát lỗi, nếu phát hiện lỗi, phải yêu cầu bên gởi truyền lại. ◼ Phương pháp chung là: dùng mã kiểm lỗi ❑ Bên gởi: thêm vào khung truyền 1 mã đặc biệt được tính theo 1 công thức nào đó dựa vào vùng data gọi là mã kiểm lỗi ❑ Bên nhận: kiểm lỗi bằng cách tính lại mã so sánh với mã bên gởi ◼ Không khớp: khung truyền bi lỗi ◼ Khớp: xem như không lỗi ❑ Có 2 loại mã kiểm lỗi: ◼ Mã dò lỗi ◼ Mã sửa lỗi Copyright © 2006, HaiVDC 22
  23. Mã dò lỗi (error detecting code) ◼ Phát hiện được lỗi nhưng không xác định được vị trí lỗi ◼ Parity: phép kiểm tra chẵn lẻ (dùng trong chuẩn RS-232) hiệu quả chưa cao chỉ kiểm được lỗi 1 bit hay số bit lẻ. ◼ Check sum ( kiểm tổng) ❑ Dữ liệu truyền gồm 1 dãy các byte d ,d , d n 1 2 n ❑ Check sum =  di i=1 ❑ Thí dụ: xét dữ liệu gồm 5 ký tự A,B,C,D,E ◼ Check sum = 41 + 42 + 43 + 44 + 45 = 014F (Hex) ◼ Tạo khung soh | 4142434445 | eot | 014F ◼ Bên nhận kiểm lại checksum so với checksum bên gởi xem có bị lỗi không ❑ Nhận xét: checksum không kiểm được tất cả các lỗi ❑ Thí dụ bên nhận soh | 4142434544 | eot | 014F ❑ Tính lại Checksum = 014F, khớp nhưng thực chất truyền sai Copyright © 2006, HaiVDC 23
  24. CRC (cyclic redundancy check) ◼ Kiểm kiểu dư vòng n n-1 1 ◼ Dùng đa thức bậc n: anx + an-1x + +a1x + a0 ◼ Đa thức nhị phân là đa thức có hệ số 0 hay 1. Có tương ứng 1- 1 giữa đa thức nhị phân và dãy số nhị phân ◼ Thí dụ: x5 + x3 + x + 1 → 101011 ◼ Thuật toán tính CRC của dãy m_bit ❑ Dãy m_bit ~ đa thức nhị phân M(x) ❑ Chọn 1 đa thức nhị phân G(x) bậc m gọi là đa thức sinh ❑ Thêm n bit 0 vào sau dãy m_bit tạo dãy (m+n) bit ~ đa thức N(x) ❑ Chia đa thức N(x)/G(x) theo module 2 dùng phép toán xóa bit ❑ Phần dư là mã CRC n_bit Copyright © 2006, HaiVDC 24
  25. Thí dụ tính CRC ◼ Cho dãy m_bit 10010110110111 và đa thức G(x)=x4 + x + 1 ◼ Ta có m=14, n=4, G(x) ~ 10011 ◼ Thêm n=4 bit 0 vào m_bit 100101101101110000 ~ N(x) ◼ Lấy N(x)/G(x) ~ 100101101101110000/10011 ~ 001010 ◼ CRC = 1010 ◼ Kiểm lỗi CRC ❑ Bên gởi: truyền dãy m_bit + CRC A B X-OR ❑ Bên nhận: kiểm lỗi 0 0 0 0 1 1 ◼ Gọi M(x) ~ dãy m_bit + CRC bên gởi 1 0 1 ◼ T(x) ~ dãy m_bit + CRC bên nhận 1 1 0 ◼ T(x) = M(x) + E(x) ◼ Nếu E(x) = 0: không có lỗi Copyright © 2006, HaiVDC 25
  26. Kiểm lỗi CRC ◼ Nhận xét: ❑ M(x)/G(x) chẵn → T(x)/G(x) = M(x)/G(x) +E(x)/G(x) ❑ T(x)/G(x) ◼ Chẵn: không lỗi ◼ Lẻ: có lỗi → E(x)/G(x) khác 0 → E(x) khác 0 → có lỗi ❑ Ta phải chọn G(x) sao cho thỏa E(x)/G(x) = 0 → E(x) =0 ◼ Hệ quả: ❑ CRC phục thuộc vào cách chọn đa thức sinh ❑ Nếu chọn G(x) bậc 32 → phép kiểm lỗi 32 bit kiểm được 99% ◼ Các CRC thường được cài đặt bằng phần cứng Copyright © 2006, HaiVDC 26
  27. Mã sửa lỗi (Error connecting code) ◼ Cho phép phát hiện và xác định vị trí lỗi ◼ Có thể sửa được lỗi → bên gởi không cần truyền lại ◼ Mã hamming: Cho phép sửa lỗi sai 1 bit ❑ Cho dãy m_bit, mã hamming là thêm vào r_bit kiểu parity tạo thành dãy (m+r) bit ❑ Các bit được đánh số bắt đầu từ 1 → m+r r-1 ❑ Các bit mã hamming đặt ở các vị trí 1,2,4,8, ,2 r ❑ Điều kiện r được chọn m + r 2 -1 Copyright © 2006, HaiVDC 27
  28. Thí dụ tính mã Hamming ◼ Xét dãy m_bit với m=16 ❑ 1011010110110101 ❑ Tính mã Hamming? ◼ Giải: r ❑ Với m=16, theo điều kiện m + r 2 -1 → r > 4. Xét r = 5 thỏa ❑ Ta dùng 5 bit parity ở các vị trí 1,2,4,8,16 ◼ Quy định: ❑ bit 1: kiểu parity các bit {1/3/5/7/9/11/13/15/17/19/21} ❑ bit 2: {2 3/6 7/10 11/14 15/18 19/} ❑ bit 4: {4 5 6 7/12 13 14 15/20 21} ❑ bit 8: {8 9 10 11 12 13 14 15} ❑ bit 16: {16 17 18 19 20 21} Copyright © 2006, HaiVDC 28
  29. Thí dụ tính mã Hamming ◼ Giả sử dùng phép kiểm parity chẵn ◼ Biểu diễn dãy (m + r) bit, r bit kiểu parity (0/1 ở vị trí chẵn/lẻ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 ❑ bit 1 = 1: vì có 7 số 1 ❑ bit 2 = 0: vì có 6 số 1 ❑ bit 4 = 0: vì có 6 số 1 ❑ bit 8 = 0: vì có 4 số 1 ❑ bit 16 = 1: vì có 3 số 1 ◼ Mã Hamming sẽ gởi kèm m_bit là: 10001 ◼ Để kiểm lỗi, bên nhận phải tính lại mã Hamming Copyright © 2006, HaiVDC 29
  30. Thí dụ tính mã Hamming và sửa lỗi ◼ Giả sử bên nhận nhận được dãy m_bit 1011010010110101 và mã Hamming là 10001. Hãy kiểm và sửa lỗi. ◼ Giải: ❑ Tương tự thí dụ trước ta lý luận và sắp sếp (m+r) bit như sau 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 ❑ Tính mã Hamming theo quy định (ở slide 28) và kiểm chẵn ta được: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 0 1 1 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1 0 1 ❑ Suy ra mã hamming mà bên nhận nhận được là: 10111 ❑ Tính lại : 10111 10001. Suy ra sai tại bit 4,8 Copyright © 2006, HaiVDC 30
  31. Bên nhận kiểm và sửa lỗi ◼ bit 4 sai → A = {4,5,6,7/12,13,14,15/20,21} tập bit có thể sai ◼ bit 8 sai → B = {8,9,10,11,12,13,14,15} tập bit có thể sai ◼ Giao A và B → C= {12,13,14,15} tập các bit có thể sai ◼ bit 1 đúng → D = {1,3,5,7,9,11,13,15,17,19,21} đúng ◼ bit 2 đúng → E = {2,3,6,7,10,11,14,15,18,19} đúng ◼ bit 16 đúng → F = {16,17,18,19,20,21} đúng ◼ Từ tập D,E,F → {13,14,15} đúng ◼ Kết luận: bit 12 sai ◼ Sửa bit 12 từ 0 → 1 ◼ Dãy m_bit đúng: 1011010110110101 Copyright © 2006, HaiVDC 31
  32. Bài tập ◼ Bài 1: Giả sử hệ truyền thông có tốc độ là 64Kbps và sử dụng cấu trúc khung kích cở 1520byte trong đó gồm 20 byte header và 1500 byte data. Cho tập tin A dài 16000 byte. Xác định thời gian truyền tập tin biết tstartup=15ms (milisecond) ◼ Bài 2: Cho khung dữ liệu truyền 16 bit dùng mã sửa lỗi hamming 5bit. Giả sử máy nhận được dãy bit như sau: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 0 0 1 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 0 ❑ Trong đó 5 bit 1,2,4,8,16 là mã hamming ❑ Cho biết khung dữ liệu nhận có bị lỗi hay không? Nếu bị lỗi hãy sửa lỗi Copyright © 2006, HaiVDC 32