• toc {:toc}

Notice

Computer Networks 글은 κ²½ν¬λŒ€ν•™κ΅ μ†Œν”„νŠΈμ›¨μ–΄μœ΅ν•©λŒ€ν•™ 이성원 κ΅μˆ˜λ‹˜μ˜ [컴퓨터 λ„€νŠΈμ›Œν¬ CSE302] μˆ˜μ—…μ„ 기반으둜 μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€.

DLC (Data Link Control)

  • μΈμ ‘ν•œ 2개의 λ…Έλ“œ μ‚¬μ΄μ˜ 톡신 절차λ₯Ό 닀룬닀.

Framing

  • DLCλŠ” ν”„λ ˆμž„μ— λΉ„νŠΈλ₯Ό ν•¨κ»˜ λ„£μ–΄ 각 ν”„λ ˆμž„μ΄ λ‹€λ₯Έ 것과 ꡬ뢄할 수 μžˆλ„λ‘ ν•œλ‹€.
  • Data-Link 계측은 sender address와 destination addressλ₯Ό μΆ”κ°€ν•¨μœΌλ‘œμ¨ λ©”μ‹œμ§€λ₯Ό 뢄리할 수 μžˆλ„λ‘ ν•œλ‹€.
  • Sender address : μˆ˜μ‹ μžκ°€ 데이터λ₯Ό λ°›κ³  ACKλ₯Ό 보낼 수 μžˆλ„λ‘ λ•λŠ”λ‹€.
  • Destination address : νŒ¨ν‚·μ΄ μ–΄λ””λ‘œ κ°€μ•Όν• μ§€λ₯Ό κ²°μ •ν•œλ‹€.

image

  • νŒŒλž€ 뢀뢄이 3κ³„μΈ΅μ—μ„œ 보낸 데이터이닀.
  • Flag : Physical layerμ—κ²Œ 정보가 DLCλ‘œλΆ€ν„°μ˜ λ©”μ‹œμ§€λΌλŠ” 것을 μ•Œλ €μ£ΌλŠ” 역할을 ν•œλ‹€.
  • μ•ž μͺ½ FlagλŠ” μ‹œμž‘, λ’· μͺ½ FlagλŠ” λ©”μ‹œμ§€ μ’…λ£Œ. FlagλŠ” byte λ‹¨μœ„λ‘œ 이루어진닀.

image

  • μœ„ 그림은 Byte stuffingκ³Ό unstuffing의 μ˜ˆμ‹œλ₯Ό 보여쀀닀.
  • 데이터와 Flagκ°€ μ„œλ‘œ 같은 경우 ν˜Όμ„ μ΄ 생길 수 있기 λ•Œλ¬Έμ— 주황색 ESCλ₯Ό suffingν•˜μ—¬ Flagκ°€ μ•„λ‹ˆλΌ λ°μ΄ν„°μž„μ„ μ•Œλ €μ€€λ‹€.
  • 이후 ν”„λ ˆμž„μ„ μˆ˜μ‹ ν•˜λ©΄ ESCλ₯Ό unstuffingν•˜μ—¬ μ›λž˜μ˜ 정보λ₯Ό λ³΅μ›ν•œλ‹€.

image

  • λ‹€μŒμ€ λΉ„νŠΈ stuffing, unstuffing을 λ‚˜νƒ€λ‚Έ 그림이닀.
  • Flag λ°”μ΄νŠΈλ₯Ό (01111110) λ‹€μŒκ³Ό 같이 μ‚¬μš©ν•œλ‹€.
  • μ‹€μ œ 데이터 내뢀에 λ™μΌν•œ λΉ„νŠΈ 배열이 있게 λ˜λŠ” 경우λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ μ˜λ„μ μœΌλ‘œ 5개의 1이 μžˆλ‹€λ©΄ λ‹€μŒ λΉ„νŠΈμ— 0을 μ‚½μž…ν•˜λŠ” λΉ„νŠΈ stuffing을 μ‚¬μš©ν•œλ‹€.
  • 이후 ν”„λ ˆμž„μ„ μˆ˜μ‹ ν•˜λ©΄ λΉ„νŠΈ 0을 unstuffing을 톡해 μ›λž˜ 정보λ₯Ό λ³΅μ›ν•œλ‹€.

Flow and Error Control

  • Data Link Control κ³„μΈ΅μ˜ κ°€μž₯ μ€‘μš”ν•œ μ—­ν•  β†’ 흐름 μ œμ–΄, μ—λŸ¬ μ‘°μ •

image

  • DLC ν”„λ‘œν† μ½œμ€ connectionless(λΉ„μ—°κ²° μ§€ν–₯), connection-oriented(μ—°κ²° μ§€ν–₯)이 μžˆλ‹€.
  • λ„€νŠΈμ›Œν¬ 계측, 트렌슀포트 κ³„μΈ΅μ—μ„œ λ‹€μ‹œ 보자.

Simple Protocol

image

  • 흐름, μ—λŸ¬ 쑰정이 μ—†λŠ” κ°„λ‹¨ν•œ ν”„λ‘œν† μ½œμ΄λ‹€.
  • μˆ˜μ‹ μžμ—κ²ŒλŠ” μˆ˜μ‹ ν•˜λŠ” ν”„λ ˆμž„μ„ μ¦‰μ‹œ λ‹€λ£° 수 μžˆλ‹€κ³  κ°€μ •ν•œλ‹€. (=λ„˜μΉ˜μ§€ μ•ŠλŠ”λ‹€.)

image

  • Sending node
  1. Start μƒνƒœμ—μ„œ Ready μƒνƒœλ‘œ κ°€μ„œ νŒ¨ν‚·μ„ 받을 μ€€λΉ„λ₯Ό ν•œλ‹€.
  2. λ„€νŠΈμ›Œν¬ κ³„μΈ΅μ—μ„œ Event(νŒ¨ν‚·)λ₯Ό λ°›μœΌλ©΄ Action(ν”„λ ˆμž„μ„ λ§Œλ“€κ³  솑신)을 ν•œλ‹€.
  3. 이후 λ‹€μ‹œ Ready μƒνƒœλ‘œ λŒμ•„κ°€λŠ” 과정을 λ°˜λ³΅ν•œλ‹€.
  • Receiving node
  1. Start μƒνƒœμ—μ„œ Ready μƒνƒœλ‘œ κ°€μ„œ ν”„λ ˆμž„μ„ 받을 μ€€λΉ„λ₯Ό ν•œλ‹€.
  2. Event(ν”„λ ˆμž„)λ₯Ό λ°›μœΌλ©΄ Action(νŒ¨ν‚·μ„ λ„€νŠΈμ›Œν¬ κ³„μΈ΅μœΌλ‘œ 전달)을 ν•œλ‹€.
  3. λ‹€μ‹œ Ready μƒνƒœλ‘œ λŒμ•„κ°€λŠ” 과정을 λ°˜λ³΅ν•œλ‹€.

image

  • μ—λŸ¬λŠ” λ°˜λ“œμ‹œ λ‚  수 밖에 μ—†λ‹€.

Stop-and-Wait Protocol

  • 흐름, μ—λŸ¬ 쑰정을 μ‚¬μš©ν•œ ν”„λ‘œν† μ½œμ΄κ³  ν•΄λ‹Ή 방식은 μ›μ΄ˆμ μΈ 버전이닀.
  • SenderλŠ” ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ ν”„λ ˆμž„μ„ 보내고 λ‹€μŒ 것을 보내기 전에 ACKλ₯Ό κΈ°λ‹€λ¦°λ‹€.
  • μ†μƒλœ ν”„λ ˆμž„μ„ νƒμ§€ν•˜κΈ° μœ„ν•΄ 각 데이터 ν”„λ ˆμž„μ— CRC(Cycling Redundency)λ₯Ό μΆ”κ°€ν•œλ‹€.
  • CRCμ—μ„œ 0κ³Ό 1이 λ³€μ‘°λœ 경우 μ—λŸ¬κ°€ λ°œμƒν•œ κ²ƒμœΌλ‘œ νŒλ‹¨ν•˜κ³ , μ†μƒλœ ν”„λ ˆμž„μ€ 버린닀.
  • Stop-and-Wait ν”„λ‘œν† μ½œμ€ half-duplex 방식이닀.

image

  1. μ†‘μ‹ μžμ—μ„œ CRCλ₯Ό λΆ™μ—¬ μ „μ†‘ν•œλ‹€.
  2. μˆ˜μ‹ μžκ°€ ν”„λ ˆμž„μ˜ CRC값을 κ³„μ‚°ν•˜μ—¬ 였λ₯˜κ°€ μžˆλŠ”μ§€ ν™•μΈν•œλ‹€.
  3. 였λ₯˜κ°€ μžˆλ‹€λ©΄ ACKλ₯Ό 보내지 μ•Šκ³  였λ₯˜κ°€ μ—†λ‹€λ©΄ ACKλ₯Ό μ „μ†‘ν•œλ‹€.
  4. μ†‘μ‹ μžλŠ” ACK에 μžˆλŠ” CRC와 보낸 ν”„λ ˆμž„μ˜ CRCλ₯Ό λΉ„κ΅ν•˜μ—¬ μ˜¬λ°”λ₯Έ μˆ˜μ‹ μ΄ μ™„λ£ŒλμŒμ„ νŒλ‹¨ν•  수 μžˆλ‹€.
  5. μ†‘μ‹ μžκ°€ ACKλ₯Ό 일정 μ‹œκ°„ λ™μ•ˆ μˆ˜μ‹ ν•˜μ§€ λͺ»ν–ˆλ‹€λ©΄ μ†‘μ‹ μžλŠ” ν”„λ ˆμž„μ„ μž¬μ „μ†‘ν•œλ‹€.

image

  • Sending node
  1. Ready μƒνƒœμ— λ“€μ–΄μ„œλ©΄ νŒ¨ν‚·μ„ 받을 μ€€λΉ„λ₯Ό ν•œλ‹€.
  2. νŒ¨ν‚·μ„ λ°›μœΌλ©΄ ν”„λ ˆμž„μ„ λ§Œλ“€κ³  볡사(ACK λͺ» λ°›μ•˜μ„ 경우 μž¬μ „μ†‘ν•˜κΈ° μœ„ν•΄)ν•œλ‹€.
  3. ν”„λ ˆμž„μ„ μ „μ†‘ν•˜κ³  타이머λ₯Ό μ‹œμž‘ν•œλ‹€.
  4. 타이머가 ν„°μ§„ 경우 β†’ ν”„λ ˆμž„μ„ λ‹€μ‹œ 보내고 타이머λ₯Ό μž¬μ„€μ •ν•œλ‹€.
  5. CRC에 였λ₯˜κ°€ μžˆλŠ” ACKλ₯Ό 받은 경우 ACKλ₯Ό 버린닀.
  6. 였λ₯˜κ°€ μ—†λŠ” ACKλ₯Ό 받은 경우 타이머λ₯Ό λ©ˆμΆ”κ³  볡사해둔 ν”„λ ˆμž„μ„ 버린닀.
  7. Blocking μƒνƒœμ—μ„œ νŒ¨ν‚·μ΄ 였면 μŒ“μ•„λ‘”λ‹€.
  • Receiving node
  1. Ready μƒνƒœμ—μ„œ ν”„λ ˆμž„μ΄ λ„μ°©ν•˜κΈ°λ₯Ό κΈ°λ‹€λ¦°λ‹€.
  2. 였λ₯˜κ°€ μžˆλŠ” ν”„λ ˆμž„μ„ 받을 경우 ν”„λ ˆμž„μ„ 버린닀.
  3. 였λ₯˜κ°€ μ—†λŠ” ν”„λ ˆμž„μ„ 받을 경우 νŒ¨ν‚·μ„ λ„€νŠΈμ›Œν¬ κ³„μΈ΅μœΌλ‘œ μ „λ‹¬ν•˜κ³  ACKλ₯Ό μ „μ†‘ν•œλ‹€.

image

  • 톡신이 잘 된 상황
  1. μ†‘μ‹ μžλŠ” νŒ¨ν‚·μ„ λ°›μ•„ ν”„λ ˆμž„μ„ μƒμ„±ν•˜κ³  μˆ˜μ‹ μžμ—κ²Œ 전솑
  2. μˆ˜μ‹ μžλŠ” νŒ¨ν‚·μ„ λ„€νŠΈμ›Œν¬λ‘œ μ „λ‹¬ν•˜κ³  ACKλ₯Ό μ†‘μ‹ μžμ—κ²Œ 전솑
  3. μ˜¬λ°”λ₯Έ ACKλ₯Ό μ†‘μ‹ μžκ°€ λ°›μ•„ 톡신 μ’…λ£Œ
  • 전솑 μ‹œ ν”„λ ˆμž„μ΄ μ „λ‹¬λ˜μ§€ μ•Šμ€ 경우
  1. μ†‘μ‹ μžκ°€ ν”„λ ˆμž„μ„ μˆ˜μ‹ μžμ—κ²Œ 전솑
  2. μˆ˜μ‹ μžκ°€ ν”„λ ˆμž„μ„ λ°›μ§€ λͺ»ν•˜κ³  μ†‘μ‹ μžκ°€ ACKλ₯Ό 타이머가 끝날 λ™μ•ˆ λ°›μ§€ λͺ»ν•¨
  3. μ†‘μ‹ μžκ°€ ν”„λ ˆμž„μ„ μž¬μ „μ†‘
  4. 톡신이 잘 된 상황과 λ™μΌν•œ κ³Όμ •
  • ACK ν”„λ ˆμž„μ΄ μ „λ‹¬λ˜μ§€ μ•ŠλŠ” 경우
  1. μ†‘μ‹ μžκ°€ ν”„λ ˆμž„μ„ μˆ˜μ‹ μžμ—κ²Œ 전솑
  2. μˆ˜μ‹ μžκ°€ ACK μ „μ†‘ν•˜μ§€λ§Œ ACKκ°€ μ „λ‹¬λ˜μ§€ μ•ŠμŒ
  3. 타이머가 λλ‚˜κ³  μ†‘μ‹ μžκ°€ ν”„λ ˆμž„μ„ μž¬μ „μ†‘
  4. μˆ˜μ‹ μžκ°€ ν”„λ ˆμž„μ„ λ°›κ³  ACK 전솑
  5. μˆ˜μ‹ μž μž…μž₯μ—μ„œλŠ” λ™μΌν•œ ν”„λ ˆμž„μ„ λ°›λŠ” κ²½μš°κ°€ λ°œμƒν•œλ‹€.

image

  • ACK ν”„λ ˆμž„μ΄ μ „λ‹¬λ˜μ§€ μ•ŠλŠ” 경우 λ°œμƒν•˜λŠ” 쀑볡을 막기 μœ„ν•΄ ν”„λ ˆμž„μ— 번호λ₯Ό 뢙인닀.
  • 0 λ˜λŠ” 1의 번호λ₯Ό 뢙인닀.
  • ν”„λ ˆμž„ 0으둜 μ „λ‹¬λ˜λŠ” 경우 ACK 1을 보낸닀.
  • ACK 1이 μ „λ‹¬λ˜μ§€ μ•ŠλŠ” 경우 ν”„λ ˆμž„ 0을 μž¬μ „μ†‘ν•˜μ—¬ ACKλ₯Ό λ°›λŠ”λ‹€.
  • μˆ˜μ‹ μž μž…μž₯μ—μ„œ ν”„λ ˆμž„ 0이 μ€‘λ³΅λ˜μ—ˆκΈ° λ•Œλ¬Έμ— 두 번째 ν”„λ ˆμž„ 0은 버린닀.

Piggybacking

  • μ–‘λ°©ν–₯의 full-duplex 방식이닀.
  • ν”„λ ˆμž„μ„ 전솑할 λ•Œ ACKλ₯Ό 뒀에 λΆ™μ—¬μ„œ μ „μ†‘ν•œλ‹€.

Go-Back-N Protocol

  • Go-Back-N ν”„λ‘œν† μ½œμ—μ„œλŠ” senderκ°€ ACKλ₯Ό 기닀리지 μ•Šκ³ , μ—¬λŸ¬ ν”„λ ˆμž„μ„ 보낸닀.
  • μ—λŸ¬κ°€ λ°œμƒν•  경우 N번 λ’€λ‘œ λ³΄λ‚΄μ„œ λ‹€μ‹œ λ³΄λ‚΄λŠ” 방식을 μ‚¬μš©ν•œλ‹€.

image

  • μœ„ 그림은 Go-Back-N ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν–ˆμ„ λ•Œ sender bufferλ₯Ό ν‘œν˜„ν•œ 그림이닀.
  • Go-Back-N ν”„λ‘œν† μ½œμ€ μ—¬λŸ¬ ν”„λ ˆμž„μ„ 전솑할 수 μžˆλŠ”λ° μ΄λ•Œ 보낼 수 μžˆλŠ” ν¬κΈ°λŠ” 이닀.
  • m은 λ²„νΌμ˜ λΉ„νŠΈ 수λ₯Ό μ˜λ―Έν•œλ‹€.
  • ACKλ₯Ό λ°›μ§€ μ•Šμ•„λ„ μ—¬λŸ¬ 개의 ν”„λ ˆμž„μ„ 전솑할 수 μžˆλ‹€.
  • ACKλ₯Ό μˆ˜μ‹ ν•˜λ©΄ windowκ°€ μ΄λ™ν•œλ‹€. ACKλ₯Ό μˆ˜μ‹ ν•œ ν”„λ ˆμž„μ€ μ μ„ μ²˜λ¦¬κ°€ λ˜μ–΄ μžˆλ‹€.
  • λ²„νΌλŠ” circular queue둜 λ˜μ–΄ μžˆλ‹€.

image

  • Window sizeλ₯Ό μ™œ 둜 ν•΄μ•Όν•˜λŠ”κ°€μ— λŒ€ν•œ 그림이닀. m=2이닀.
  • ν”„λ ˆμž„μ„ μ „μ†‘ν•˜κ³  ACKλ₯Ό μ „λΆ€ λ°›μ§€ λͺ»ν•œ 경우 ν”„λ ˆμž„ 0λΆ€ν„° μž¬μ „μ†‘ν•΄μ•Όν•˜λŠ” μƒν™©μž„μ„ κ°€μ •ν•œλ‹€.
  • a의 경우 window sizeκ°€ 일 λ•Œ ν”„λ ˆμž„ 0, 1, 2λ₯Ό 보낸 ν›„ λ‹€μ‹œ 0을 μž¬μ „μ†‘ν•  수 μžˆλ‹€.
  • b와 같이 window sizeκ°€ 이라면 ν”„λ ˆμž„ 0, 1, 2, 3을 보낸 ν›„ λ‹€μ‹œ 0을 μž¬μ „μ†‘ν•΄μ•Ό ν•˜μ§€λ§Œ μƒˆλ‘œμš΄ ν”„λ ˆμž„ 0κ³Ό μž¬μ „μ†‘ν•˜λŠ” ν”„λ ˆμž„ 0이 겹치기 λ•Œλ¬Έμ— ν˜Όμ„ μ΄ λ°œμƒν•œλ‹€.

image

  1. μœˆλ„μš° μœ„μΉ˜λ₯Ό μ΄ˆκΈ°ν™”ν•œλ‹€.
  2. μˆ˜μ‹ μžλ‘œλΆ€ν„° ν”„λ ˆμž„ 0의 μš”μ²­μ΄ λ“€μ–΄μ˜€κ³  μ†‘μ‹ μžλŠ” ν”„λ ˆμž„ 0을 μˆ˜μ‹ μžμ—κ²Œ μ „μ†‘ν•œλ‹€.
  3. μˆ˜μ‹ μžλŠ” ν”„λ ˆμž„ 0에 λŒ€ν•œ ACK 1와 ν”„λ ˆμž„ 1에 λŒ€ν•œ μš”μ²­μ„ μ†‘μ‹ μžμ—κ²Œ 보낸닀.
  4. μ†‘μ‹ μžλŠ” ACKλ₯Ό λ°›κ³  μœˆλ„μš°λ₯Ό μ΄λ™μ‹œν‚¨λ‹€.
  5. μ†‘μ‹ μžλŠ” ν”„λ ˆμž„ 1을 μˆ˜μ‹ μžμ—κ²Œ μ „μ†‘ν•œλ‹€.
  6. μˆ˜μ‹ μžλŠ” ν”„λ ˆμž„ 1에 λŒ€ν•œ ACK 2와 ν”„λ ˆμž„ 2에 λŒ€ν•œ μš”μ²­μ„ μ†‘μ‹ μžμ—κ²Œ 보낸닀.
  7. ACK 2κ°€ 쀑간에 μœ μ‹€λ˜μ–΄ λ°›μ§€ λͺ»ν•˜κ³  μ†‘μ‹ μžλŠ” ν”„λ ˆμž„ 1, 2λ₯Ό μˆ˜μ‹ μžμ—κ²Œ μ „μ†‘ν•œλ‹€.
  8. μˆ˜μ‹ μžλŠ” ν”„λ ˆμž„ 1, 2λ₯Ό λ°›μ•˜λ‹€λŠ” ACK 3을 μ†‘μ‹ μžμ—κ²Œ μ „μ†‘ν•œλ‹€.
  9. ACK 3λ₯Ό λ°›κΈ° 전이라도 데이터가 μ€€λΉ„λ˜λ©΄ ν•œ λ²ˆμ— ν”„λ ˆμž„ 1, 2, 3을 μ „μ†‘ν•œλ‹€.
  10. ACK 3을 λ°›μ•˜κΈ° λ•Œλ¬Έμ— ν”„λ ˆμž„ 2κΉŒμ§€ μˆ˜μ‹ μ΄ μ™„λ£Œλ¨μ„ ν™•μΈν•˜κ³  μœˆλ„μš°λ₯Ό μ΄λ™μ‹œν‚¨λ‹€.

image

λ‹€μŒκ³Ό 같이 ν”„λ ˆμž„ 1이 μœ μ‹€λ˜λ”λΌλ„ 일정 μ‹œκ°„λ™μ•ˆ ACKλ₯Ό λ°›μ§€ λͺ»ν•œλ‹€λ©΄ μœˆλ„μš° μ•ˆμ— μžˆλŠ” ν”„λ ˆμž„μ„ κ³„μ†ν•΄μ„œ μ „μ†‘ν•¨μœΌλ‘œμ¨ 전솑을 μš©μ΄ν•˜κ²Œ ν•œλ‹€.

λ‹€λ§Œ, ν•˜λ‚˜μ˜ ν”„λ ˆμž„μ— 였λ₯˜κ°€ λ°œμƒν•  경우 μ—¬λŸ¬ ν”„λ ˆμž„μ„ 반볡적으둜 μž¬μ „μ†‘ν•΄μ•Ό ν•œλ‹€λŠ” 단점이 μžˆλ‹€.

Selective Repeat Protocol

  • Go-Back-N의 단점을 λ³΄μ™„ν•˜κΈ° μœ„ν•œ λ°©λ²•μœΌλ‘œ Selective Repeat ARQλŠ” 였λ₯˜κ°€ λ‚œ μˆ˜μ‹  ν”„λ ˆμž„λ§Œ μ „μ†‘ν•œλ‹€.
  • 쀑간에 ν”„λ ˆμž„μ΄ μœ μ‹€λ˜λ©΄ receiverλŠ” NAKλ₯Ό 보내 μ—λŸ¬κ°€ λ‚œ ν”„λ ˆμž„μ„ μž¬μ „μ†‘ν•˜λ„λ‘ λ§Œλ“ λ‹€.

image

image

  • Go-Back-Nκ³Ό Selective Repeat ν”„λ‘œν† μ½œμ€ window sizeκ°€ λ‹€λ₯΄λ‹€λŠ” 차이점을 κ°–λŠ”λ‹€.
  • Go-Back-N의 경우 인 반면 Selective RepeatλŠ” 이닀.
  • Go-Back-N의 경우 ν”„λ ˆμž„μ΄ μ†μƒλ˜μ–΄ μˆ˜μ‹ μžμ—κ²Œ μ „λ‹¬λœ 경우 ν”„λ ˆμž„μ„ 버리면 λ˜μ§€λ§Œ Selective Repeat은 μ˜¬λ°”λ₯΄κ²Œ μˆ˜μ‹ λœ ν”„λ ˆμž„μ€ μ €μž₯ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— μ €μž₯ 곡간이 더 ν•„μš”ν•˜λ‹€.
  • 즉, Selective Repeat의 경우 μ†μƒλœ ν”„λ ˆμž„ μœˆλ„μš°λ₯Ό μˆ˜μ‹ λ°›μ„ 곡간, 일반적인 ν”„λ ˆμž„ μœˆλ„μš°λ₯Ό μˆ˜μ‹  받을 곡간이 ν•„μš”ν•˜κΈ° λ•Œλ¬Έμ— 의 window sizeλ₯Ό κ°–λŠ”λ‹€.
  • μœ„ 그림의 빨간색 뢀뢄이 μ˜¬λ°”λ₯΄κ²Œ μˆ˜μ‹  받은 ν”„λ ˆμž„μ΄κ³  흰색 뢀뢄이 μ†μƒλœ ν”„λ ˆμž„μ΄λ‹€.

image

Go-Back-Nκ³Ό λΉ„μŠ·ν•œ 이유둜 window sizeκ°€ 보닀 크면 μ•ˆ λœλ‹€.

image

  • ν”„λ ˆμž„ 1이 μ†μƒλœ 경우 μˆ˜μ‹ μžλŠ” NAK 1을 μ†‘μ‹ μžμ—κ²Œ μ „μ†‘ν•œλ‹€.
  • NAK 1을 받은 μ†‘μ‹ μžλŠ” ν”„λ ˆμž„ 1을 μˆ˜μ‹ μžμ—κ²Œ μž¬μ „μ†‘ν•œλ‹€.
  • ν”„λ ˆμž„ 1을 μˆ˜μ‹ ν•œ μˆ˜μ‹ μžλŠ” ACK 4λ₯Ό μ†‘μ‹ μžμ—κ²Œ μ „μ†‘ν•˜κ³  μœˆλ„μš°μ„ μ΄λ™μ‹œν‚¨λ‹€.
  • ACK 4λ₯Ό 받은 μ†‘μ‹ μžλŠ” μœˆλ„μš°λ₯Ό μ΄λ™μ‹œν‚¨λ‹€.

DLC Example

  • Stop-and-Wait ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•œλ‹€. PPP, Ethernet, Wireless LAN에 자주 μ‚¬μš©λ˜λŠ” κ°œλ…μ΄λ‹€.

image

  • I-frame, S-frame, U-frame 3κ°€μ§€ ν”„λ ˆμž„μ„ κ°–λŠ”λ‹€.
  • I-frame(Information Frame) : CRC와 λŒ€μ‘λ˜λŠ” FCS(Frame Check Sequence)κ°€ μžˆλ‹€. 데이터 전달, 데이터에 λŒ€ν•œ 확인 응닡을 보낼 λ•Œ μ‚¬μš©. Control이 0으둜 μ‹œμž‘ν•œλ‹€.
  • S-frame(Supervisior Frame) : μœ μ € 정보가 μ—†λŠ” ν”„λ ˆμž„. 였λ₯˜ μ œμ–΄μ™€ 흐름 μ œμ–΄λ₯Ό μœ„ν•΄ μ‚¬μš©ν•œλ‹€. Control이 10으둜 μ‹œμž‘ν•œλ‹€.
  • U-frame(Unnumbered Frame) : μœ μ € 정보가 μ•„λ‹Œ 톡신 링크λ₯Ό μœ μ§€ν•˜λŠ” μ‚¬λžŒμ΄ ν•„μš”ν•œ 정보λ₯Ό μ „λ‹¬ν•˜λŠ” ν”„λ ˆμž„. 링크의 λ™μž‘ λͺ¨λ“œ μ„€μ •κ³Ό 관리, 였λ₯˜ νšŒλ³΅μ„ μˆ˜ν–‰ν•œλ‹€. Control이 11둜 μ‹œμž‘ν•œλ‹€.

image

PPP(Point-to-Point Protocol)

  • 컴퓨터 개인 μ‚¬μš©μžμ™€ 인터넷 μ„œλΉ„μŠ€ 제곡자의 μ„œλ²„λ₯Ό μ—°κ²°μ‹œν‚€λŠ” 것에 μ‚¬μš©λ˜λŠ” ν”„λ‘œν† μ½œμ΄λ‹€.
  • 이동 톡신(2계측)μ—μ„œ μ‚¬μš©λœλ‹€.
  • μ„œλ‘œ λ‹€λ₯Έ 원격 μ•‘μ„ΈμŠ€ μ†Œν”„νŠΈμ›¨μ–΄λ“€μ΄ 인터넷 μ „μš©μ„ , λ˜λŠ” λͺ¨λŽ€κ³Ό μ „ν™”μ„  λ“±μœΌλ‘œ μ—°κ²°ν•˜μ—¬ TCP/IP ν”„λ‘œν† μ½œλ‘œ 톡신할 수 μžˆλ„λ‘ μ œμ •λœ ν‘œμ€€κ·œμ•½μ΄λ‹€.
  • Establish : Carrierκ°€ νƒμ§€λ˜λ©΄ 기지ꡭ이 λ³΄λ‚΄λŠ” μ‹ ν˜Έλ₯Ό μž‘μ•˜λ‹€λŠ” μ˜λ―Έμ΄λ―€λ‘œ 1계측을 μ„œλ‘œ μ—°κ²°ν•œλ‹€.
  • Authenticate : 슀마트폰 μ•ˆ μœ μ‹¬μ„ 확인해 합법적 μ‚¬μš©μžμΈμ§€λ₯Ό ν™•μΈν•œλ‹€.
  • Network : 합법적 μ‚¬μš©μžλΌλ©΄ IP ν”„λ‘œν† μ½œμ΄ 잘 전달될 수 μžˆλ„λ‘ λ„€νŠΈμ›Œν¬ 계측을 μ„€μ •ν•œλ‹€.

image

  • LCP (Link Control Protocol)

    • PPPλ₯Ό κ°œμ„€, μœ μ§€, μ’…λ£Œ, μ‹œν—˜μ„ λ‹΄λ‹Ήν•˜λŠ” ν”„λ‘œν† μ½œμ΄λ‹€.
    • μ΅œλŒ€ ν”„λ ˆμž„ 길이와 인증 ν”„λ‘œν† μ½œ(PAP, CHAP)의 μ’…λ₯˜λ₯Ό κ²°μ •ν•œλ‹€.
  • AP (Authentication Protocol)

    • μ‚¬μš©μžμ˜ 합법성 유무λ₯Ό λ‹΄λ‹Ήν•˜λŠ” ν”„λ‘œν† μ½œμ΄λ‹€.
    • ex) 슀마트폰 μœ μ‹¬ 확인을 톡해 합법적인 μ‚¬μš©μžμΈμ§€λ₯Ό νŒλ‹¨ν•œλ‹€.
  • NCP (Network Control Protocol)

    • μ„œλ‘œ λ‹€λ₯Έ λ„€νŠΈμ›Œν¬ 계측 ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•˜κ³  세뢀적인 μ œμ–΄κ°€ κ°€λŠ₯ν•˜λ„λ‘ ν•œλ‹€.
      • λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œλ‘œ 데이터λ₯Ό 전달할 수 있게 ν•œλ‹€.
      • 단일 PPP 링크에 λ‹€μˆ˜μ˜ λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•  수 μžˆλ‹€.
  • Encapsulation

    • 3κ³„μΈ΅μ˜ νŒ¨ν‚·μ„ ν”„λ ˆμž„ν™” ν•œλ‹€.
    • HDLC 방식에 κΈ°μ΄ˆν•œ ν”„λ ˆμž„ν™” 기법을 μ‚¬μš© μ•ˆμ •λœ 전솑을 보μž₯ν•œλ‹€.
  • 단계

  1. Establish 단계에 PPPλŠ” LCP의 λͺ…령을 μ „λ‹¬ν•œλ‹€.
  2. LCPκ°€ λ§Œμ‘±ν•΄ Authenticate λ‹¨κ³„λ‘œ λ„˜μ–΄κ°€λ©΄ APλ₯Ό ν™•μΈν•˜κ³  λ§Œμ‘±ν•˜λ©΄ λ„˜μ–΄κ°„λ‹€.
  3. 이후 NCPλ₯Ό 톡해 λ„€νŠΈμ›Œν¬λ₯Ό μ„€μ •ν•œλ‹€. 즉, PPPλŠ” λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œλ‘œ 톡신할 수 μžˆλ„λ‘ λ§Œλ“ λ‹€.
  • 이동 톡신 μ‚¬μš©μžμ˜ 합법성 μ—¬λΆ€λ₯Ό κ²€μΆœν•΄μ•Ό ν•˜κ±°λ‚˜ IP와 같은 νŠΉμ • ν”„λ‘œν† μ½œλ‘œ 톡신할 수 μžˆλ„λ‘ λ§Œλ“€κΈ° μœ„ν•΄ μ‚¬μš©ν•œλ‹€.

image

μ°Έκ³ λ¬Έν—Œ

  • Textbook: Behrouz A. Forouzan, β€œData Communications and Networking, 5th Edition”, McGraw-Hill Companies, Inc.

μ—°κ²°λ¬Έμ„œ

  • λ‹€μŒ λ…ΈνŠΈ - 2023-10-03-ComNet-L04-MAC-DLC1
  • 이전 λ…ΈνŠΈ - 2023-10-02-ComNet-L02-MAC