Quản lý liên kết Truyn dử liệu được chia thành hai kiểu: 1.1 Truyền thông không định hướng connectionless mode transmission: Với kiểu truyn này, nếu trong quá trình thu dử liệu mà ph
Trang 1TRƯNG ĐI HC KHOA HC
Trang 2Đề Cương Kỹ Thuật Truyền Dữ liệu
A.Thông tin đề tài :
Môn học : K Thuâ t Truyn D Liê u
Tên Đ Tài : Cơ S Ca Giao Th#c
Giáo Viên Hướng Dẫn : Võ Thanh Tú
Nhóm Sinh Viên Thực Hiện : Nguyễn Văn Công (nvcong0504@yahoo.com),Lê Trọng Bình, Trà Đình Anh, Bùi Thế Việt, Nguyễn Tuấn Minh, Mai TRúc Lâm
B.Nô 0i dung:
I Tổng quan
II Kiểm soát lỗi
1 Kiểm soát lỗi bằng tay
2 Kiểm tra dội lại
3 Kiểm soát lỗi tự động
2 Truyn lại có lựa chọn
a Truyn lại có lựa chọn không tường minh
b Truyn lại có lựa chọn có tường minh
3 Truyn lại một nhóm
4 Điu khiển luồng
a Kiểu điu khiển : X-ON/X-OFF
b Phương pháp cửa sổ trượt
5 Các chỉ số tuần tự
6 Đặc tả giao th#c
Trang 37 Hiệu suất sử dụng liên kết
V Quản lý liên kết
Truyn dử liệu được chia thành hai kiểu:
1.1 Truyền thông không định hướng (connectionless mode transmission): Với
kiểu truyn này, nếu trong quá trình thu dử liệu mà phát hiện ra lỗi thì nội dungca cả khối d liệu sẽ bị bõ qua
1.2 Truyền thông định hướng (connection- oriented) còn gọi là truyn thông tin
cậy: Với kiểu truyn này sau khi phát hiện ra lỗi thì cả hai phía thu và phát sẽ thực thi một quy luật thực hiện việc truyn lại đảm bảo thông tin được thu một cách đáng tin cậy Để thực hiện điu này thiết bị điu khiển tại đích phải thông báo với máy phát khi phát hiện ra một lỗi truyn và yêu cầu máy phát gi lại một bản copy khác ca khung bị lỗi Chu kỳ phối hợp phát hiện và sửa lỗi được gọi là kiểm soát lỗi
II Kiếm soát lỗi:
a Kiểm soát bằng tay :
Khi nhập dử liệu vào máy tính tử bàn phím, nếu ký tự hiện lên màn hình khác với ký tự đã gõ.Khi đó người dùng chỉ cần gõ vào một ký tự điu khiển xóa thích hợp thì chương trình điu khiến sẻ loại bỏ ký tự nhập vào và xóa khỏi màn hình Chế độ kiểm soát này gọi là kiểm soát lỗi bằng tay
b Kiểm tra dội lại :
Khi một thiết bị đầu cuối kết nối đến máy tính xa thông qua mạng PSTN và một modem Thay vì mổi ký tự được hiển thị một cách trực tiếp lên màn hình ca thiết bị đầu cuối, trước tiên nó lại truyn đến máy tính đầu xa Sau đó ký tựlại được máy tính đầu xa đọc, lưu gi và truyn tr lại thiết bị đầu cuối để hiển thị ra màn hình.Nếu ký tự hiện lên màn hình khác với ký tự đã gõ thì người dùng truyn một ký tự xóa thích hợp Chế độ kiểm soát lỗi này được gọi là kiểm tra dội lại
c Kiểm soát lỗi tự động :
Đối với việc truyn dử liệu , khi một thiết bị đầu cuối truyn các khối ký tự haycác khung dử liệu qua một liên kết số liệu nối tiếp đến một thiết bị đầu cuối khác Nếu thiết bị đầu cuối đích thực hiện việc kiểm soát lỗi một cách tự động
mà không có sự can thiệp ca người dùng thì được gọi là ARQ( automatic repeat request)
ARQ được phân thành 2 loại sau :
Trang 4Chiu truyên tin :
I-frame
ACK-frame hoặc NCK-frame
P:là phía phát các khung d liệu
S: Là phía thu các khung d liệu
I-frame: khung thông tin là các khung d liệu phía phát truyn cho phía thu ACK-frame: là khung được S truyn đến P để báo đã nhận d liệu tốt (không
bị lỗi)
Yêu cầu rõ
Truyền lại ngầm định
Trang 5NCK-frame: là khung được S truyn đến P để báo nhận được khung d liệu bị lỗi.
III. Idle RQ
1 Đặc Điểm :
Sử dụng trong kiểu truyn định hướng ký tự
Hoạt động theo chế độ bán song công ,Vì sau khi P khi động một I –Frame ,nó phải nhận một thông báo từ phía S cho biết I-Frame đó nhận được thành công hay không thành công Sau đó P sẽ gửi một I-Frame kế tiếp nếu khung trước đó nhận đúng hoặc truyn lại khng cũ nếu I-Frame kông được nhận thành công Có hai loại Idle RQ :
Truyn lại ngầm định (không tường minh Implicit retransmission):S báoACK –Frame nếu nhận được I-Frame đúng và sẽ không thông báo ACK nếu nhận sai Do đó P không nhận được ACK –Frame thì hiểu là I-Frame đã bị lỗi và phải truyn lại Thời gian chờ ACk –Frame ca P được xác định trước Và không được lâu hơn thời gian quá hạn (time expires)
Truyn lại tường minh ( yêu cầu rõ – explicit request ): S thông báo ACK –Frame nếu nhận I-Frame đúng và thông báo NAK nếu nhận I-Frame bị lỗi
2 Idle RQ ngầm định
a) Truyn đúng
b) I-Frame bị lỗi
Trang 6c) ACK –Frame bị lỗi
P chỉ có một I-Fame đang chờ ACK –Frame tại một thời điểm
Khi nhận một I-Frame không bị lỗi ,S sẽ truyn v ACK –Frame Khi P nhận được ACK- Frame ca khung I(N) ,P sẽ tiếp tục truyn đi khung kế tiếp I(N+1)
Khi S nhận được một I –Frame bị lỗi S sẽ bỏ qua và không gửi ACK Frame Khi P bắt đầu truyn I-Frame ,nó sẽ khi động bộ định thời ,nếu quá khoảng thời gian giới hạn thì P sẽ truyn lại I-Frame đó
Nếu P không nhận được một ACK –Frame trong khoảng thời gian định trước thì P sẽ truyn lại I-Frame đó nhưng S sẽ loại bỏ bản sao nầy do bị trùng lặp Điu nầy thực hiện được là do trong mỗi I-Frame P đu truyn theo chỉ sốtuần tự ca khung
Trang 73 Idle RQ tường minh
a Truyn đúng
b I-Frame bị lỗi
c ACK –Frame bị lỗi
Trang 8S sẽ trả ACK –Frame nếu nhận I-Frame đúng
Nếu P nhận được ACK Frame thì P sẽ dừng bộ thời và khi động lại đường truyn để truyn lại I-Frame khác
Nếu S nhận được một I-Frame bị lỗi thì I-Frame sẽ bị loại và S sẽ trả lời một NAK –Frame
Nếu P không nhận được một ACK –Frame (hoặc NAK –Frame )trong khoảng thời gain định trước thì P sẽ truyn lại I-Frame đó ,nhưng s sẽ loại bỏ bản sao nầy do bị trùng lặp
So Sánh Gia hai kiểu truyn Idle RQ trên là :
Với kiểu truyn ngầm định thì tăng hiệu quả thời gian hơn so với k thuật truyn yêu cầu rõ vì Thời gian S truyn NKA –Frame ít hơn nhiu so với thời gian quá hạn trong kiểu truyn không tường minh
Nhận Xét :
Đặc điểm chung ca Idle RQ là sau khi P gửi một I – frame, P phải chờ cho đến khi nhận được ACK –Frame tương #ng từ S Do đó kiểu truyn nầy còn được gọi là dừng và chờ (stop and wait)
4 Cấu trúc khung c%a Idle RQ
Trong cả hai nguyên lý truyn trên (truyn lại ngầm định và yêu cầu rõ) đu có trường hợp S nhận được I – frame và bản sao đu tốt và S phải loại bỏ bớt một.Như vậy, để S có thể phân biệt hai I –frame nhận được là khác nhau thì cần có
cơ chế đánh số Chỉ số tuần tự trong mỗi I – frame được gọi là chỉ số tuần tự gửi N(S) (send sequence number) và chỉ số tuần tự trong mỗi ACK – frame hay NAK – frame được gọi là chỉ số tuần tự nhận N(R) (receive sequence number) Các ký tự điu khiển được sử dụng là: SOH, STX, ETX Mỗi I – frame phải ch#a một chỉ số tuần tự tại sau SOH Ký tự SOH được chèn vào đầu một khối hoàn chỉnh để báo hiệu bắt đầu một I – frame mới Tiếp theo là cấu trúc thông thường với BCC dùng kiểm tra tổng khối để phía thu biết là nhận được khung đúng hay bị lỗi
Các khung ACK vào NAK được dùng cho mục đích báo nhận, theo sau là chỉ
số tuần tự thu Các khung này cũng dùng phương pháp kiểm tra tổng khối BCC Cả 3 lọai khung: I – frame, ACK – frame, NAK – frame đu được gọi là đơn vị d liệu giao th#c PDU (protocol data unit) ca giao th#c Idle RQ
Trang 9Hình : Các cấu trúc khung ca Idle RQ
5 Hiệu suất sử dụng liên kết:
Trang 10Hình : Các khoảng thời gian xử lý trong việc truyền dẫn
Xét một khung th# N được truyn từ P đến S và không bị lỗi S sau khi xử lý
và truyn ACK – frame vào P Các khoảng thời gian cần quan tâm như sau:
Tp (Propagation delay): thời gian sóng điện từ lan truyn từ P tới S hoặcngược lại
Tix(Transmission time): thời gian để truyn một khung từ P tới S
Tip: thời gian để xử lý khung tại S
Tax: thời gian truyn ACK – frame từ S tới P
Tap: thời gian xử lý ACK – frame tại P
Trường hợp truyền dẫn là lý tư$ng ( không có lỗi xảy ra):
Trang 11Gọi T là thời gian tổng để hoàn thành việc truyn một I – frame và xử lý xongt ACK – frame Khi đó:
Tt = T + 2.T + T + T + Tix p ap ip ax
Thông thường, T , T và Tap ip ax rất nhỏ so với T và T Do đó: T = T + 2.Tp ix t ix p
Lưu ý:
Tix là thời gian truyn khung d liệu, phụ thuộc vào tốc độ truyn (bps)
Tp là thời gian trễ do sóng điện từ lan truyn từ P tới S hoặc ngược lại, phụthuộc vào tốc độ lan truyn sóng (m/s) và khoảng cách (m) gia P và S Khi đó, hiệu suất sử dụng đường truyn được định nghĩa là:
Trường hợp truyền dẫn là không lý tư$ng (túc là có lỗi xảy ra): thì các
khung bị lỗi phải thực hiện việc truyn lại Giả sử, mỗi khung được truyn lạitrung bình là N lần Khi đó: r
Tt = (T + 2.ix Tp).N =N Tr r ix + 2.Nr.Tp
Hiệu suất sử dụng liên kết:
Trang 12Giá trị N có thể được tính từ tỉ lệ bit lỗi P ca đường truyn Gọi P là xác suấtr
1 bit bị loại Khi đó, xác suất 1 bit đúng là 1 – P ->Xác suất một khung đúng là(1 – P) , với N lá chiu dài khung.Ni i
Nếu gọi P là xác suất một khung thu được bị lỗi thì: P = 1 - (1 – P)f f Ni ≈ Ni.P(nếu N P<< 1) i
Suy ra: Xác suất một khung đúng là:1 – P = (1 – P)f Ni Do vậy: Nr=1/(1-Pf) Hiệu suất liên kết:
6 Điều khiển lỗi
Cung cấp cơ chế cho việc truyn d liệu trong trường hợp d liệu bị mất haysai sót trên đường truyn Bảo đảm d liệu nhận được đúng và chính xác
Kỹ thuật dùng để điều khiển lỗi
Phát hiện lỗi (CRC, Parity, …)
Positive ACK – xác nhận các frame nhận được
Truyn lại sau một thời gian time-out
Negative ACK (NAK) và truyn lại – yêu cầu truyn lại (NAK) cho các frame
bị hư
a ARQ (Automatic Repeat Request)
Cơ chế cho phép các nghi th#c liên kết d liệu quản lý lỗi và yêu cầu truyn lại
Phân loại
Idle RQ (stop-and-wait)
Dùng với cơ chế điu khiển dòng stop-wait
Trang 13Được dùng ch yếu trong truyn d liệu là ký tự hay byte thông tin oriented or byte-oriented)
(character-Continuous RQ
Dùng với cơ chế điu khiển dòng sliding-window
Được dùng ch yếu trong truyn d liệu là bit thông tin (bit-oriented)Được chia làm hai loại tùy theo cách th#c sửa lỗi: selective reject và go-back-N
b Iddle RQ(Stop–and–Wait)
Cơ chế hoạt động
- A gi một I-Frame (Information Frame) đến B
- A đợi trả lời
- ACK-Frame – A gới tiếp d liệu
- NAK-Frame – A gời lại d liệu
- Không nhận được trả lời – A gi lại sau thời gian time-out
- Lặp lại các bước trên
Trong trường hợp lỗi xảy ra
- (E1) I-Frame không đến được bên nhận
- (E2) I-Frame đến được bên nhận nhưng nội dung I-Frame bị sai
- (E3) ACK-Frame không đến được bên gi hay ACK-Frame đến đượcbên gi nhưng nội dung ACK-Frame bị sai
Trang 14Sửa lỗi E1 I-Frame không đến được bên nhận
Sử dụng timer: bên gi sau khi gi đi một I-Frame thì khi động một bộ đếmthời gian, sau khoảng thời gian đợi T mà chưa nhận được tín hiệu ACK báo vthì xem như I-Frame chưa tới và gi lại frame này
Sửa lỗi E2 ) I-Frame đến được bên nhận nhưng nội dung I-Frame bị sai
Trang 15Implicit retransmission: sử dụng timer
Explicit retransmission: sử dụng NAK-Frame (negative acknowledgementframe)
Sửa lỗi E3 ACK-Frame không đến được bên gi hay ACK-Frame đến được
bên gi nhưng nội dung ACK-Frame bị sai
Lỗi lặp lại frame (duplicated frame): dùng chỉ số tuần tự frame (sequentialnumber)
Trang 16IV. Continuous RQ (RQ liên tục)
P sẽ loại bỏ I-frame tương #ng ra khỏi danh sách truyền lại
S trả v ACK-frame cho mỗi I-frame nhận đúng
S lưu một danh sách thu, ch#a đựng định danh ca I-frame cuối cùng nhận đúng
Nếu có lỗi xảy ra trong quá trình truyn dẫn, có 2 cách truyn lại sau :
S phát hiện và yêu cầu P truyn lại chỉ nhng khung bị lỗi => Truyn lại có chọn lựa (Selective-Repeat)
S phát hiện và yêu cầu P truyn lại nhng khung chưa chưa được trả lời ACK, nghĩa là tất cả các khung kể từ khung cuối cùng nhận đúng=> Truynlại theo nhóm (Go-Back-N)
Trang 172) Truyền lại có lựa ch`n
Truyn lại có lựa chọn có thể thực hiê n theo mô t trong hai cách:
- Truyn lại có lựa chọn không tường minh
- Truyn lại có lựa chọn có tường minh
a Truyền lại có lựa ch`n không tường minh
Nếu khung I bị lỗi :
- Giả sử I-frame th# N+1 bị lỗi
- S trả v ACK-frame cho các I-frame N, N+2, N+3,…
- Khi P nhận được ACK(N+2), P phát hiện ACK ca I(N+1) chưa nhận được
=> nghĩa là bị lỗi => P vào trạng thái truyn lại
- Ở trạng thái này, việc truyn lại một khung mới bị hoãn cho đến khi tất cả các khung không nhận được thông báo nhận đu đã được truyn lại
- P xóa I(N+2) ra khỏi bộ đệm và truyn lại I(N+1) trước khi truyn khung I(N+5)
- Khi nhận được I(N+1), nội dung ca các I-frame được xếp hàng trong danh sách liên kết nhận được S phân phối đến LS-user theo đúng tuần tự LS-Link Sercive
Trang 18-Hình 3.8 truyền lại có lựa chọn không tường minh – I – frame bC lDi
Trang 19Hình 3.9 truyền lại có lựa chọn không tường minh – ACK – frame bC lDi
- Giả sử ACK-frame th# N bị lỗi
- Khi P nhận được ACK-frame th# N+1, P phát hiện ACK(N) chưa nhận ->
P sẽ hiểu là ACK-frame th# N bị lỗi Do đó P truyn lại I(N)
- Khi S nhận được I(N) lần th# 2, S xác định được sự trùng lặp và do đó sẽ b qua
- S truyn ACK-frame(N) v P để đảm bảo P xóa I(N) ra khỏi bộ đệm
b Truyền lại có lựa ch`n tường minh
S sẽ báo ACK frame cho tất cả các khung nhận đúng
Nếu I-frame bị lỗi :
Giả sử I(N+1) bị lỗi
S trả v ACK-frame cho I(N)
Khi S nhận được I(N+2) , S sẽ hiểu rằng I(N+1) bị lỗi=> S gi NAK(N+1) v P (P xem như S đang đợi I(N+1), do đó sẽ truyn lại khung này) Đồng thời S vào trạng thái truyn lại và S sẽ không gi v các ACK-frame cho các khung nhận đúng
Trang 20 P nhận được NAK(N+1), P sẽ gi lại I(N+1).
Khi S nhận được I(N+1), S sẽ giải phóng trạng thái truyn lại, và khi nhận được các khung đúng tiếp theo, S sẽ tiếp tục gi v các ACK-frame
ACK(N+1) sẽ báo đúng cho tất cả các khung có chỉ số tới N+1
Khi truyn v NAK(N+1) thì S sẽ Khi động timer, nếu quá khoảng thời gian xác định thì S sẽ truyn lại
Hình 3.10 truyền laIi có lựa chọn tương minh – I – frame bC lDi
Nếu I(N+1) lại bị lỗi 1 lần na và NAK(N+1) truyn v cũng bị lỗi :
S gi NAK(N+1) v P nhưng lần này nó bị lỗi
Khi nhận được ACK(N+3), điu này báo nhân tốt cho tất cả các I-frame từ N+3 tr xuống, nghĩa là bao gồm N+1 tr xuống.Do đó, I(N+1) không được truyn lại => I(N+1) sẽ bị mất
Trang 21Hình 3.11 truyền laIi có lựa chọn tương minh – NAK – frame bC lDi
3) Truyền lại mô 0t nhóm (Go – Back – N )
Khi th# cấp phát hiê n mô t frame không đúng tuần tự (t#c là bị lỗi) , nó báo cho
sơ cấp để thực hiê n viê c truyn lại từ mô t khung xác định
Trường hợp khung I bị lỗi : nếu trong quá trình truyn giả sử I-frame th# N+1 bị lỗi Khi đó :
S nhâ n I-frame N+2 không đúng tuần tự
Khi S nhâ n I-frame N+2 ,S gửi NAK-frame N+1 để báo cho P quay tr lại
và bắt đầu truyn lại I-frame N+1
Khi nhâ n được NAK-frame N+1 , P vào trạng thái truyn lại
Khi trạng thái truyn này ,P tạm thời dừng truyn I-frame mới và bắt đầu truyn lại các I-frame đang đợi báo nhâ n trong danh sách truyn lại
S loại bỏ các I-frame cho đến khi nhâ n được I-frame N+1
Khi nhâ n được I-frame N+1 ,S tr lại trạng thái sˆn sàng nhâ n I-frame mới
và gửi báo nhâ n cho P
Khi gửi NAK-frame N+1,S bắt đầu khi đô ng bô định thời để chờ nhâ n frame N+1, nếu quá mô t khoảng thời gian xác định thì S truyn lại NAK-frame N+1 (đ phòng NAK-frame N+1 bị lỗi)
Trang 22I-Hình 3.1: Go-back-N : I-frame bC lDi
Trường hợp ACK-frame bị lỗi:
S nhâ n tất cả các I-frame đu đúng
Giả sử ACK(N) và ACK(N+1) đu bị lỗi
Khi nhâ n được ACK(N+2) ,P phát hiê n rằng ACK(N) và ACK(N+1) chưa nhâ n được
Tuy nhiên , do nhâ n ACK(N+2) ch# không phải nhâ n NAK(N+2) nên P hiểu rằng cả ACK(N) và ACK(N+1) đu bị lỗi Do đó ,ACK(N+2) xác nhâ n đúng cho I-frame N và N+1