Transcript Network_3

Chapter 3. The Data Link Layer
고려대학교
네트워크 연구실
Data Link Layer 역할
신뢰성 있는 데이터 전송
Framing
Error control
Flow control
Data Tranaparency
Data Link Layer Design Issues
Unacknowledged connectionless service
Channel이 신뢰성이 있을때
Real time traffic
신뢰성 보장 안됨
Acknowledged connectionless service
Unreliable channel에서 사용
Acknowledged connection-oriented service
Frame 구성 방식(1)
일정한 크기의 data를 하나의 단위로 하여 전송하는 단위(Frame)
1.character count
Header부분에 해당 frame속에 몇 개의 character가 있는지 기록
수신단에서 그 개수를 보고 동기를 맞춘다.
2.character oriented protocol
Frame의 시작과 끝은 특정한 제어문자로 나타냄
SYN, ETX, STX, DLE(data link escape)
Chrater stuffing:송신측엣 data내용중에 DLE와 똑같은 bit pattern
이 있으면 DLE를 하나더 끼워 보내고 수신측에서는 DLE뒤에 ETX
가 아니면 DLE하나를 제거
STX
DLE
A
DLE
DLE
B
DLE
ETX
Frame 구성방식(2)
3.Bit-Oriented protocol
시작과 끝에 flag를 둠(01111110)
Bit stuffing:송신측에서 1이 연속적으로 5개이면
0을 삽입,수신측에서도 1이 5개이면 0을 하나제거
(zero bit inserting):data transparency 보장
Physical layer coding violations
Start(JK0JK000), END(JK1JK111):JK가
nonstandard encoding
Error Detection and Correction
Error-Correcting codes
Hamming code(using parity check )
Error-Detecting codes
CRC Check
Error control(1)
Idle RQ
ŸÀӾƿô
I(n+1)
I(n)
P
I(n)
I(n+1)
S
I(n)
I ÇÁ·¹ÀÓ ¿¡·¯·Î
ÀÎÇÑ ÀçÀü¼Û
S
I(n)
I(n)
)
I(n
)
I(n
)
I(n
)
I(n
±âº» µ¿ÀÛ
I(n)
)
I(n)
1
I(n+
)
I(n
S
P
ACK (n
)
I(n)
ACK
(n )
P
ŸÀӾƿô
I(n)
ACK ÇÁ·¹ÀÓ ¿¡·¯·Î
ÀÎÇÑ ÀçÀü¼Û
Error control(2)
I 프레임 에러에 대한 S의 동작
– 프로토콜 속도에 영향

무시: 프로토콜이 단순, 속도가 늦어짐
NAK 전송: 프로토콜이 복잡, 속도가 빨라짐
ŸÀӾƿô
P
I(n)
P
¿¡·¯ÀÖ´ÂI ÇÁ·¹ÀÓÀ» ¹«½ÃÇÏ´Â °æ¿ì
S
I(n)
I(n)
)
I(n
I(n)
I(n)
)
I(n
)
I(n
)
I(n
S
I(n)
ŸÀӾƿô ½Ã°£ °£°Ý
NAK( n
)

I(n)
NAK¸¦ Àü¼ÛÇÏ´Â °æ¿ì
Error control(3)
Continues RQ
5
V(S):
1
2
1
3
2
4
3
4
0
0
1
2
3
I(1)
1
I(3)
2
)
I(4
0
I(2)
I(4)
)
I(3
I(1)
I(3)
)
I(2
I(1)
I(0)
I(2)
ÀçÀü¼Û
¸®½º Æ®
(3)
I(0)
I(0)
S
4
ACK
(2)
P
3
ACK
(1)
0
2
ACK
1
ACK
( 0)
0
I(4)
3
4
¼ö½Å
¸®½º Æ®
0
1
2
3
4
V(R)
Error control(4)
에러시 동작 방법

선택적 재전송(Selective Retransmission)


에러가 발생한 I 프레임만을 재전송
고-백-엔(Go-back-N)

에러가 발생한 프레임 이후의 모든 I 프레임 재전송
Flow Control(1)
송신측과 수신측 장비가 갖는 data 처리능력을 극복
하는 방식
Sliding Windows방식
송신측에서 data를 전송하고 ACK를 받지 않는 frame번호를
window에 기억하는 방식
Sequence number
최소한의 순서번호를 가지고 data 전송
Flow Control(2)
Sliding Windows 방식
À©µµ¿ì
n
n+1 n+2 n+3 n+4 n+5 n+6 n+7
µ¥ÀÌŸ¸¦ Àü¼ÛÇÏ°íACK¸¦ ¹ÞÀº
ÇÁ·¹ÀÓ ¹øÈ£
송신측 수신측
윈도우 윈도우
크기
크기
ÀÌÈÄ¿¡ Àü¼ÛÇÒ ÇÁ·¹ÀÓ ¹øÈ£
µ¥ÀÌŸ¸¦ Àü¼ÛÇÏ°íACK¸¦ ¹ÞÁö
¾ÊÀº ÇÁ·¹ÀÓ ¹øÈ£
Idle-RQ
선택적 재전송
고-백-엔
1
k
k
1
k
1
윈도우의 크기
Flow Control(3)
Sequence number
송신측 윈도우 크기: K
순서 번호의 최소 수
Idle-RQ
2
고 -백 -엔
K+1
선택적 재전송
2K
HDLC(High-Level Data Link Control)
Bit-Oriented Protocol. Bit stuffing for data
transparency
Three Operation Mode
NRM(Normal Response Mode)
Master의 허락이 있어야 slave가 data전송 가능
ARM(Asynchronous Response Mode)
Slave는 Master의 허락없이 data전송가능
ABM(Asynchronous Balanced Mode)
각 station이 Master와 Slave의 기능은 모두 갖는다.
Full-duplex 방식으로 data를 보낼 수 있슴
양방향으로 data가 전송되므로 data frame에 반대방향 data의
ACK정보를 함께 전송할 수 있다.(Piggy-back acknowledge
방식)
HDLC Frame 구조
8
Àüü ±¸Á¶
Ç÷¡±×
8/16
8/16
ÁÖ¼Ò
Á¦¾î
0~N
16/32
»ç¿ëÀÚ µ¥ÀÌŸ
1 2 3 4 5 6 7 8
0
Á¦¾îºÎ
Ç¥ÁØ
±¸Á¶
N(S)
p/f
N(R)
1 2 3 4 5 6 7 8
1 0
S p/f
N(R)
1 2 3 4 5 6 7 8
1 1
M
p/f
M
ºñÆ®¼ö
Ç÷¡±×
N(S): ¼Û½Å ¼ø¼- ¹øÈ£
N(R): ¼ö½Å ¼ø¼- ¹øÈ£
Á¤º¸ ÇÁ·¹ÀÓ
°¨µ¶ ÇÁ·¹ÀÓ
FCS
8
S
M
ºñ¹øÈ£ ÇÁ·¹ÀÓ
RR(receiver ready), RNR(receiver not ready),
REJ(reject), SREJ(selective reject)
SABM(set ABM), SNRM(set NRM), SARM(set ARM),
RSET(reset), FRMR(frame reject), DISC(disconnect),
UA(unnumbered ACK), ....
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
È®ÀåµÈ
±¸Á¶
Á¦¾îºÎ
ÁÖ¼ÒºÎ
0
1 0
S
1 1
M
N(S)
unused
p/f
M
p/f
p/f
N(R)
N(R)
p/f
unused
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
0
0
Á¤º¸ ÇÁ·¹ÀÓ
°¨µ¶ ÇÁ·¹ÀÓ
ºñ¹øÈ£ ÇÁ·¹ÀÓ
...
8n
1
HDLC Frame 구조(2)
Frame의 종류
Unnumbered frame : 링크상에서 연결 설정 해제
시 사용
Information frame:사용자 data를 실제로 전송하
는 frame
ABM이나ARM mode로 동작할때 piggy-back
ack정보를 가짐
Supervisory frame:에러제어나 흐름제어 수행
The Data Link Layer in Internet and
ATM
Internet
SLIP(Serial line IP), PPP(Point-to Point Protocol)
ATM
SC
SAR
AAL
ATM
TC
PMD
TC-Transmission Convergence
PMD-Physical Medium Dependent sublayer
The Data Link Layer in ATM
Cell Transmission
Virtual circuit
(4byte)
HEC
(1byte)
Payload(48byte)
Header
HEC(Head Error Control)
Head error에 의해 cell이 잘못 배달될 확률을 낮춘다.
Payload Checksum을 하지않고 HEC를 쓰는 이유
Payload checksum을 상위 layer에 맞김
Real-time인 경우 약간의 data error허용
Use optical fiber : High reliability
The Data Link Layer in ATM(2)
Transmission Media에 따른 분류
Asynchronous : cell이 준비되면 언제든지 보낼 수 있다.(시
간의 제약이 없음)
Synchronous:cell이 미리 정의된 timing pattern에 따라 전
송됨
Idle cell
OAM(Operation And Maintenance)
The Data Link Layer in ATM(3)
Cell Reception
TC의 역할
Output에서
cell의 sequence를 맞춘다.
HEC를 더한다.
결과를 bit stream으로 바꾼다.
OAM cell를 삽입함으로서 Physical transmission system
에 기초한 속도에 bit stream을 맞춘다.
Input에서는 반대로 동작한다.
Cell boundary를 찾는 것이 Issue
Flag가 없다. 따라서 물리계층에 맡기거나 HEC를 이용하거
나 Recognition algorithm을 이용한다.