1 / 41

Chapter7 Data Link Control

Chapter7 Data Link Control. Flow Control Error Detection Error Control HDLC. Flow Control. Flow Control 수신 엔티티의 용량 이상으로 Data 가 넘치지 않도록 송신 엔티티를 제어하는 기술 만약 , Flow Control 이 없으면 Receiver 의 Overflow 가 발생. 처리율 <전송률. Buffer 에 저장. Flow Control. Flow Control. Flow Control 방법

melody
Download Presentation

Chapter7 Data Link Control

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter7 Data Link Control Flow Control Error Detection Error Control HDLC

  2. Flow Control • Flow Control • 수신 엔티티의 용량 이상으로 Data가 넘치지 않도록 송신 엔티티를 제어하는 기술 • 만약, Flow Control이 없으면 Receiver의 Overflow가 발생 처리율 <전송률 Buffer에 저장 Flow Control

  3. Flow Control • Flow Control 방법 • Sender에서 보내는 Data가 Receiver의 처리 능력을 초과하지 않도록 맞춰줌 • 수신 데이터를 저장하는 Buffer가 꽉 차지 않도록 함

  4. Flow Control • Fragmentation 하는 이유 • Receiver의 Buffer Size가 제한 • Error Check를 빨리 할 수 있음 • Error 발생시 Retransmission하는 Data의 양이 적음 • Transmission Media를 효율적으로 공유

  5. Flow Control • Fragment의 크기 • 너무 클 때의 문제점 • 전송 매체를 점유하는 경우가 증가  불공평한 매체 사용 • 에러 발생에 의해 다시 전송할 때 부담이 큼 • 너무 작을 때의 문제점 • 전송을 위한 부가정보(헤더 등)의 비중이 커짐

  6. Flow Control • Transmission time • 한 Frame을 송신하는데 걸리는 시간 • Propagation time • Sender가 Receiver에 한 Bit 보내는데 걸리는 시간 Transmission Time Sender Receiver Transmission Media Propagation Time

  7. Flow Control • Frame Transmission Model

  8. Flow Control • Flow Control의 종류 • 정확한 데이터 전송을 위해.. • 일정한 수의 데이터를 보낸 후 잘 받았다는 응답을 받는 형태로 반복 • 한번에 보내는 데이터의 양에 따라 분류 Flow Control Stop-and-Wait Sliding Window 한 번에 하나의 Frame 전송 한 번에 여러 개의 Frame 전송

  9. Flow Control • Stop and Wait • 송신측은 하나의 Frame을 전송 • 수신측은 Frame을 잘 받았으면 ACK 전송 • 송신측은 ACK를 기다림 • 일정 시간 동안 ACK가 오지 않으면 재전송 • 장점 • 구현하기 쉽고 간단 • 단점 • 비효율적 → Frame 수가 적은 경우 사용

  10. Flow Control • Stop and Wait의 동작원리 단점 : ACK가 돌아올 때까지 기다리는 시간낭비 Link의 Utilization이 저하

  11. Flow Control • Stop and Wait의 Link Utilization

  12. Flow Control • Sliding Window Flow Control • 한 번에 여러 개의 Frame 전송 • 송신 Frame의 수는 수신측에서 결정 • 각 Frame에 Sequence number 부여 • ACK에는받고자 하는 다음 Frame의 Sequence number 포함

  13. Flow Control • Sliding Window 동작(Sander Window) • Frame을 송신 - 왼쪽 경계가 이동하여 윈도우 축소 • ACK를 수신 - 오른쪽 경계가 이동하여 윈도우를 확장

  14. Flow Control • Sliding Window 동작(Receiver Window) • Frame을 수신 - 왼쪽 경계가 이동하여 윈도우 축소 • ACK를 송신 - 오른쪽 경계가 이동하여 윈도우를 확장

  15. Flow Control 전송 후 ACK를 받은 Frame Frame 보내면 한 칸 이동 ACK 받으면 한 칸 이동 수신 후 ACK를 보내준 Frame Frame 받으면 한 칸 이동 ACK 보내면 한 칸 이동

  16. Flow Control ACK 보낸 Frame ACK 받은 Frame 1 2 3 4 0,1,2번 잘 받음. 3번 전송 요청. 5 6 8 7 9 10 11 12 RR (Receive Ready) n : 이전 것은 잘 받았으니 n번을 전송해 달라는 의미

  17. Error Detection • Error Control • 수신된 데이터의 에러를 체크하고 정정하기 위한 제어 • Error Detection • Error를 감지하기 위해 송신측에서 특정 비트 정보를 추가해서 전송 • Error가 있으면 재전송 • Error Correction • Error를 감지하면 Error를 정정

  18. Error Detection • Parity Check • 1의 수를 even parity 또는 odd parity로 맞춰줌 • 에러가 여러 bit에서 발생하면 체크하지 못함 1 bit error ! Even Parity 1 0 1 0 0 1 1 1 0 1 0 1 1 1 Even Parity 아니므로 Error ! 2 bit error ! 1 0 1 0 0 1 1 1 0 0 0 0 0 1 Even Parity  Error 감지 못함

  19. Error Detection • CRC(Cyclic Redundancy Check) • Mod-2 division에 근거한 오류검출 방식 • 송·수신 간에 “divisor”(n+1 bits)를 공유함 • 송신측 : CRC(n bits) 발생기 • 수신측 : CRC(n bits) 검사기

  20. Error Detection • CRC 연산 방법 • 수신기는 수신된 프레임을 FCS로 나누어 나머지가 없으면 에러가 없는 것으로 간주 • 모듈로-2 연산 • Carry가 없는 2진 덧셈 (exclusive-OR연산)예) 1111 + 1010 -------- 0101 11001 x 11 ------------- 11001 11001 ------------- 101011

  21. Error Detection • CRC의 발생과 검사과정 • Step-1 : n-bit extra “0” • 정보 data의 뒤에 n-bit의 “0”을 첨가 • Step-2 : “divisor” generates CRC • 첨가된 data를 n+1 bit의 “divisor”로 나누어 그 나머지를 CRC로 결정 • Step-3 : CRC attaching • 정보 data 뒤에 첨가된 n-bit “0”대신 n-bit CRC를 첨가 • === 전송(transmission) === • Step-4 : CRC check • 수신정보(정보 data + CRC)를 “divisor”로 나누어 나머지를 구함 • 나머지 = “0” ⇒ ‘ACK’ • 나머지 ≠ “0” ⇒ ‘NAK’

  22. Error Detection

  23. Error Detection

  24. Error Control • Error Control 방법 • Error Control은 Error Detection과 Retransmission을 포함 • Data Link Layer 구현사항 • Stop and Wait ARQ • Sliding Window ARQ Error Control Stop and Wait ARQ Sliding Window ARQ Go back N ARQ Selective Reject ARQ

  25. Error Control • ARQ(Automatic Repeat reQuest) 방식 • 에러 발생시 재전송을 자동으로 요청하는 방식 • 오류검출 • 부정응답(NAK) • 프레임 재전송 • ARQ의 종류 • Stop and Wait ARQ • Go Back N ARQ • Selective Reject ARQ

  26. Error Control • Stop and Wait ARQ • Stop and Wait Flow Control에 손실 혹은 손상된 Frame을 Retransmission할 수 있도록 확장

  27. Error Control • 기본 Stop and Wait에 추가할 사항 • 보낸 Frame을 Buffer에 가지고 있어야 함 • Frame 식별을 위한 교대로 0과 1 번호 사용 • ACK 손실 체크 • Frame의 오류 발견시에 NAK 사용 • Frame 번호에 관계없이 마지막 Frame Retransmission • Timer 사용 • Timeout이 발생하면 Frame 손실로 간주하고 Retransmission • 받은 Frame이 손상된 경우 • ACK가 손상되는 경우

  28. Error Control • Stop and Wait ARQ의 동작원리 • Stop and Wait를 기반으로 함 • Sender의 동작 • 하나의 Frame만 전송 후ACK를 기다림 • 일정 시간 동안 ACK가 없으면 Timeout 되므로 Retransmission • Receiver의 동작 • 0과 1을 번갈아 ACK에 번호를 붙임 • 받은 Frame이 손상된 경우, Frame을 버림

  29. Error Control • Stop and Wait ARQ (손상된 Frame) 1 0 1

  30. Error Control • Stop and Wait ARQ (손실된 Frame)

  31. Error Control • Stop and Wait ARQ (손실된 ACK)

  32. Error Control • Sliding Window ARQ • Sliding Window Flow Control에 손실 혹은 손상된 Frame을 Retransmission할 수 있도록 확장

  33. Error Control • 기본 Sliding Window에 추가할 사항 • 보낸 Frame을 Buffer에 가지고 있어야 함 • Frame의 오류 발견시에 NAK 사용 • NAK 번호는 손상된 Frame 번호만 전송 • Timer 사용 • Timeout이 발생하면 Frame 손실로 간주하고 Retransmission • 받은 Frame이 손상된 경우 • ACK가 손상되는 경우

  34. Error Control • Retransmission 방법에 따라 분류 • Go Back N ARQ • 하나의 Frame이 손실되면 ACK 이후의 모든 Frame을 Retransmission • Selective Reject ARQ • 손상되거나 손실된 Frame만 Retransmission

  35. Error Control • Go Back N ARQ의 동작원리 • Sliding window를 기반으로 함 • Sender의 동작 • 한번에 여러 Frame 전송 • 에러 발생시 에러 발생한 Frame부터 모두 Retransmission • Receiver의 동작 • 에러가 발생하지 않으면 다음으로 받을 Frame의 번호를 ACK에 표시하여 전송 • 에러 발생하면 에러 발생한 Frame의 번호를 포함하여 NAK 전송

  36. Error Control • Go Back N ARQ (손상된 Frame) 손상된 Frame 이후 수신된 Frame은 패기

  37. Error Control • Go Back N ARQ (손실된 Frame) 도착한 Frame의 순서 검사 손상된 Frame 이후 수신된 Frame은 패기

  38. Error Control • Go Back N ARQ (손실된 ACK, NAK) 측정 타이머 가동 마지막 ACK 이후 전송했던 모든 Frame을 재전송

  39. Error Control • Selective Reject ARQ의 동작원리 • Sliding Window를 기반으로 함 • Sender의 동작 • 한 번에 여러 Frame 전송 • 손상되거나 손실된 Frame만 Retransmission • Receiver의 동작 • 에러가 발생하지 않으면 다음으로 받을 Frame의 번호를 ACK에 표시하여 전송 • 에러 발생하면 에러 발생한 Frame의 번호를 포함하여 NAK 전송

  40. Error Control • Selective Reject ARQ (손상된 Frame) 수신 Frame의 완전한 재배치까지 모든 Frame을 유지 Frame2를 다시 받은 후에 ACK5로 응답 재전송 요구된 Frame을 찾아 해당 Frame만 재전송

  41. Error Control • Go Bank N vs Selective Reject • Frame 전송의 효율적인 측면 • Selective Reject ARQ가 유리 • Sender와 Receiver의 구현 측면 • Receiver에서 요구하는 재배열 및 저장 공간의 복잡도 • Sender에서 요구하는 특정 Frame 선택을 위한 추가적인 로직이 필요함 • SelectiveReject ARQ가 불리 • 구현의 단순성 때문에 Go Back N ARQ를 선호

More Related