Mạng máy tính Truyền thơng máy nối trực tiếp Copyright © 2006, HaiVDC 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 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 sốt lỗi Mã dị lỗi Mã sửa lỗi Copyright © 2006, HaiVD 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 hệ truyền thơng Copyright © 2006, HaiVD 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 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 Khoảng cách tối đa 50 feet Dùng dòng điện truyền liệu qua cáp link COM, sử dụng mức điện +/- 15V +15V biểu diễn bit -15V biểu diễn bit Khi dây rãnh giữ mức điện -15V Một ký tự truyền qua đơn vị truyền SDU (Serial data unit) Cấu trúc SDU gồm: start bit,8 bit data, parity bit, stop bit khởi đầu (+15V),biễu diễn mã ký tự, kiểm lỗi, kết thúc(-15V) Copyright © 2006, HaiVD 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ó xác hay bị lỗi Kiểm tra chẵn (even) parity bit = 0: tổng số bit ký tự số chẵn parity bit = 1: tổng số bit ký tự 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 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 không bị lỗi Copyright © 2006, HaiVD Chuẩn truyền thông RS-232 Thí dụ: Truyền ký tự “c” SDU 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 parity bit = (vì có bit 1) SDU: start bit, 01100011, 0, stop bit Vẽ sơ đồ dòng điện Nhận xét: parity kiểm lỗi đơn giản Copyright © 2006, HaiVD Cáp link COM Đầu D9 dùng 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 tính hiệu điều khiển Chỉ cần chân TxD,RxD,Gnd Có thể dùng phần mềm NC để kết nối máy tính qua cổng COM theo chuẩn RS-232 Copyright © 2006, HaiVD 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 giây kbps = 1000 bps Mbps = 1000 bps 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ó band width xác định Trong thực tế tốc độ truyền thông thực thấp band width nhiều lần Chuẩn RS-232 qua cổng COM tốc độ tối đa 128 kbps Copyright © 2006, HaiVD Các tính chất hệ truyền thơng Simplex (đơn cơng) Half duplex (bán song công) Hệ truyền thơng chiều Chỉ truyền nhận Thí dụ: Television broastcast Hệ truyền thơng chiều Có thể truyền nhận khơng đồng thời Thí dụ: dùng cáp đồng trục Full duplex (tồn song cơng) Hệ truyền thơng chiều Có thể truyền nhận cách đồng thời Thí dụ: dùng cáp COM chuẩn RS-232 full duplex Copyright © 2006, HaiVD 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 hồn liên tục hình Sin gọi sóng mang (carrier) Để gởi data qua sóng mang ta phải điều chế sóng mang (modulation) Có phương pháp điều chế Điều biên Điều tần Điều pha Copyright © 2006, HaiVD 10 Khung (frame) Mạng máy tính thường cung cấp giao diện truyền liệu theo khung Một khung chứa nhiều byte liệu Frame header Frame data Frame tailer Phần header/tailer chứa thông tin điều khiển Phần data: chứa liệu cần truyền Thời gian truyền khung: t = tstartup + ttranfer tstarup: t/g tạo khung chuẩn bị truyền kích cỡ khung tối đa Copyright © 2006, HaiVD 18 Khung Khung nhỏ: Khung lớn: Khung chứa byte data lần truyền byte Tốn thời gian tstarup thời gian truyền header/tailer không hiệu lần truyền nhiều byte khung truyền lâu Đối với mạng dùng chung đường truyền: máy truyền máy khác phải đợi Nếu khung truyền bị lỗi (dù sai bit) phải truyền lại khung Nên chọn khung có kích cỡ trung bình khoảng vài Kilobyte Copyright © 2006, HaiVD 19 Khung Thí dụ: Truyền tập tin có dung lượng 123.500 byte hệ truyền thơng tốc độ 64kbps Tính thời gian truyền sử dụng khung kích cỡ tối đa 1520byte (1500 byte data, 20byte header) Chia tập tin thành khung, lấy 123.500/1500 = 82,33 1s truyền 64000bit = 8000 byte Thời gian truyền tập tin Chia thành 82 khung đủ 1500 byte Chia thành khung đủ 500byte t = 82(tstarup + 1520/8000) + 1(tstartup + 520/8000) Mỗi cơng nghệ mạng sử dụng dạng khung khác Hai máy muốn truyền thông phải thống chung dạng khung Copyright © 2006, HaiVD 20 Khung Thí dụ: dạng khung đơn giản khung soh/eot dùng 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: kiểm số lỗi đơn giản lỗi khung (ví dụ khơng nhận ký tự eot) Khuyết: ký tự soh/eot xuất data khơng phân biệt Người ta dùng thêm ký tự đặc biệt gọi esc Bên gởi thay ký tự data: soh esc x, eot esc y, esc esc z Bên nhận thay ngược lại: esc x soh, esc y eot, esc z esc Copyright © 2006, HaiVD 21 Kiểm soát lỗi Lỗi truyền thơng tượng khó tránh thực tế nhiều nguyên nhân: thời tiết, tiếng ồn,… cho data bị truyền sai Mạng máy tính phải có chức kiểm soát lỗi, phát 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 mã đặc biệt tính theo cơng thức dựa vào vùng data gọi mã kiểm lỗi Bên nhận: kiểm lỗi 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 không lỗi Có loại mã kiểm lỗi: Mã dị lỗi Mã sửa lỗi Copyright © 2006, HaiVD 22 Mã dò lỗi (error detecting code) Phát lỗi khơng xác định vị trí lỗi Parity: phép kiểm tra chẵn lẻ (dùng chuẩn RS-232) hiệu chưa cao kiểm lỗi bit hay số bit lẻ Check sum ( kiểm tổng) Dữ liệu truyềnn gồm dãy byte d1,d2,…dn Check sum = ∑ di i =1 Thí dụ: xét liệu gồm 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 tất lỗi Thí dụ bên nhận soh | 4142434544 | eot | 014F Tính lại Checksum = 014F, khớp thực chất truyền sai Copyright © 2006, HaiVD 23 CRC (cyclic redundancy check) Kiểm kiểu dư vòng Dùng đa thức bậc n: anxn+ an-1xn-1+ +a1x1+ a0 Đa thức nhị phân đa thức có hệ số hay Có tương ứng 11 đa thức nhị phân dãy số nhị phân Thí dụ: x5 + x3 + x + 101011 Thuật tốn tính CRC dãy m_bit Dãy m_bit ~ đa thức nhị phân M(x) Chọn đa thức nhị phân G(x) bậc m gọi đa thức sinh Thêm n bit 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 dùng phép toán xóa bit Phần dư mã CRC n_bit Copyright © 2006, HaiVD 24 Thí dụ tính CRC Cho dãy m_bit 10010110110111 đa thức G(x)=x4 + x + Ta có m=14, n=4, G(x) ~ 10011 Thêm n=4 bit 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 0 Bên nhận: kiểm lỗi Gọi M(x) ~ dãy m_bit + CRC bên gởi T(x) ~ dãy m_bit + CRC bên nhận T(x) = M(x) + E(x) Nếu E(x) = 0: khơng có lỗi Copyright © 2006, HaiVD 1 1 25 1 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) Ta phải chọn G(x) cho thỏa E(x)/G(x) = E(x) =0 Hệ quả: Chẵn: không lỗi Lẻ: có lỗi E(x)/G(x) khác E(x) khác có lỗi 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 99% Các CRC thường cài đặt phần cứng Copyright © 2006, HaiVD 26 Mã sửa lỗi (Error connecting code) Cho phép phát xác định vị trí lỗi Có thể sửa lỗi bên gởi khơng cần truyền lại Mã hamming: Cho phép sửa lỗi sai bit Cho dãy m_bit, mã hamming thêm vào r_bit kiểu parity tạo thành dãy (m+r) bit Các bit đánh số m+r Các bit mã hamming đặt vị trí 1,2,4,8, ,2r-1 Điều kiện r chọn m + r ≤ 2r-1 Copyright © 2006, HaiVD 27 Thí dụ tính mã Hamming Xét dãy m_bit với m=16 1011010110110101 Tính mã Hamming? Giải: ≤ r-1 r > Xét r = thỏa Với m=16, theo điều kiện m + r Ta dùng bit parity vị trí 1,2,4,8,16 Quy định: bit 1: kiểu parity 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 7/12 13 14 15/20 21} bit 8: {8 10 11 12 13 14 15} bit 16: {16 17 18 19 20 21} Copyright © 2006, HaiVD 28 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ẻ) 10 11 12 13 14 15 16 17 18 19 20 21 1 0 1 0 1 1 1 bit = 1: có số bit = 0: có số bit = 0: có số bit = 0: có số bit 16 = 1: có số Mã Hamming 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, HaiVD 29 1 Thí dụ tính mã Hamming sửa lỗi Giả sử bên nhận nhận dãy m_bit 1011010010110101 mã Hamming 10001 Hãy kiểm sửa lỗi Giải: Tương tự thí dụ trước ta lý luận sếp (m+r) bit sau 10 11 12 13 14 15 16 17 18 19 20 21 1 1 0 1 1 Tính mã Hamming theo quy định (ở slide 28) kiểm chẵn ta được: 10 11 12 13 14 15 16 17 18 19 20 21 1 1 1 0 1 1 Suy mã hamming mà bên nhận nhận là: 10111 Tính lại : 10111 ≠ 10001 Suy sai bit 4,8 Copyright © 2006, HaiVD 30 1 Bên nhận kiểm sửa lỗi bit sai A = {4,5,6,7/12,13,14,15/20,21} tập bit sai bit sai B = {8,9,10,11,12,13,14,15} tập bit sai Giao A B C= {12,13,14,15} tập bit sai bit D = {1,3,5,7,9,11,13,15,17,19,21} bit E = {2,3,6,7,10,11,14,15,18,19} bit 16 F = {16,17,18,19,20,21} Từ tập D,E,F {13,14,15} Kết luận: bit 12 sai Sửa bit 12 từ Dãy m_bit đúng: 1011010110110101 Copyright © 2006, HaiVD 31 Bài tập Bài 1: Giả sử hệ truyền thơng có tốc độ 64Kbps sử dụng cấu trúc khung kích cở 1520byte gồm 20 byte header 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 liệu truyền 16 bit dùng mã sửa lỗi hamming 5bit Giả sử máy nhận dãy bit sau: 10 11 12 13 14 15 16 17 18 19 20 21 0 1 1 0 1 1 1 Trong bit 1,2,4,8,16 mã hamming Cho biết khung liệu nhận có bị lỗi hay khơng? Nếu bị lỗi sửa lỗi Copyright © 2006, HaiVD 32 ... link COM Tốc độ truyền – Band width Các tính chất hệ truyền thơng Copyright © 2006, HaiVD 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 PC/PC,... 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 hệ truyền thông Truyền thông khoảng cách xa Sóng mang Modem Kỹ thuật truyền. .. vàng điện tử, PC /máy in… Truyền thông nối tiếp bất đồng Khoảng cách tối đa 50 feet Dùng dòng điện truyền liệu qua cáp link COM, sử dụng mức điện + /- 15V +15V biểu diễn bit -1 5V biểu diễn