Mạng máy tính - Truyền thông giữa 2 máy nối trực tiếp
Chia sẻ bởi Nguyễn Việt Vương |
Ngày 29/04/2019 |
96
Chia sẻ tài liệu: Mạng máy tính - Truyền thông giữa 2 máy nối trực tiếp thuộc Bài giảng khác
Nội dung tài liệu:
Truyền thông giữa 2 máy nối trực tiếp
Mạng máy tính
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
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
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)
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
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
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
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
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
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
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
0
1
1
0
-4v
-2v
+2v
Sóng mang – Điều tần
Thay đổi tần số để điều chế sóng mang
Thí dụ:
Tần số 1.0*107 biểu diễn bit 0
Tần số 0.5*107 biểu diễn bit 1
0
1
1
0
+4v
-4v
1.0*107
0.5*107
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
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)
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
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)
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.
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
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
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
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
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
Ư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
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
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 d1,d2,…dn
Check sum =
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
Tính lại Checksum = 014F, khớp nhưng thực chất truyền sai
soh | 4142434544 | eot | 014F
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 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
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
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
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
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
Các bit mã hamming đặt ở các vị trí 1,2,4,8,...,2r-1
Điều kiện r được chọn m + r 2r-1
Thí dụ tính mã Hamming
Xét dãy m_bit với m=16
1011010110110101
Tính mã Hamming?
Giải:
Với m=16, theo điều kiện m + r 2r-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}
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ẻ)
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
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
Suy ra mã hamming mà bên nhận nhận được là: 10111
Tính mã Hamming theo quy định (ở slide 28) và kiểm chẵn ta được:
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
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:
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
Mạng máy tính
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
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
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)
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
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
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
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
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
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
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
0
1
1
0
-4v
-2v
+2v
Sóng mang – Điều tần
Thay đổi tần số để điều chế sóng mang
Thí dụ:
Tần số 1.0*107 biểu diễn bit 0
Tần số 0.5*107 biểu diễn bit 1
0
1
1
0
+4v
-4v
1.0*107
0.5*107
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
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)
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
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)
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.
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
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
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
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
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
Ư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
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
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 d1,d2,…dn
Check sum =
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
Tính lại Checksum = 014F, khớp nhưng thực chất truyền sai
soh | 4142434544 | eot | 014F
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 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
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
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
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
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
Các bit mã hamming đặt ở các vị trí 1,2,4,8,...,2r-1
Điều kiện r được chọn m + r 2r-1
Thí dụ tính mã Hamming
Xét dãy m_bit với m=16
1011010110110101
Tính mã Hamming?
Giải:
Với m=16, theo điều kiện m + r 2r-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}
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ẻ)
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
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
Suy ra mã hamming mà bên nhận nhận được là: 10111
Tính mã Hamming theo quy định (ở slide 28) và kiểm chẵn ta được:
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
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:
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
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Việt Vương
Dung lượng: |
Lượt tài: 4
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)