Skip to content

Files

Latest commit

c0f7fec · Mar 24, 2023

History

History
92 lines (86 loc) · 3.53 KB

7차시,8차시.md

File metadata and controls

92 lines (86 loc) · 3.53 KB

7. 응용계층(4) & 8. 전송계층(1)

Internet 에서의 ID(기계)


IP

  • IPv4 : 32Bit = 8Bit * 4 (xxx.xxx.xxx.xxx)
  • IPv6 : 128Bit = 16Bit * 8 (xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx)

Domain Name

  • 순수하게 인간을 위한 시스템
  • 응용계층(인터넷 5계층)에서만 관여

DNS(Domain Name System)


  • Domain Name을 IP 주소로 바꿔주는 서비스
  • Aliasing 관리
  • 전 우주적으로 중앙관리
  • 분산관리(계층적 분산관리)
  • DNS의 계층
    • Root Name Server
      • Top-Level Domain Name Server 관리
      • Top-Level Domain Name Server의 IP를 반환(유효기간과 함께)
      • 유효기간 동안은 동일한 Top-Level Domain Name Server IP 요청 X
    • Top Level Domain Name Server(ex. .kr, .com, .org, .net)
    • Authorized Domain Name Server(ex. kau.ac.kr)
    • Local Domain Name Server
  • DNS의 동작 방식
    • Recursive Domain Name Resolution
    • Iterative

P2P(Peer-to-Peer)


  • 서버 없이 단말(Peer)들끼리 직접 상호간 서비스를 제공하는 시스템(물물교환)
  • 서비스 보장 X
  • Peer들은 IP를 바꾸며 옮겨다닐 수 있음
  • Hybrid P2P
    • 서비스 메타 정보는 서버가 관리
    • 실제적 서비스는 Peer 끼리
    • Skype, Starcraft
  • Pure P2P
    • 문제점
      • Peer가 없다
      • 신뢰 X - 해쉬코드
      • 이기적
      • 조각들의 쏠림현상
    • Torrent, Bitcoin

Reliable Networking(End-to-End)


  • 현실 네트워크의 문제

    • 무한한 흐름 X
    • 패킷 유실
    • 패킷 순서 바뀜
    • 패킷 변조
  • 통신 오류 케이스

    • 패킷이 가는 과정에서 유실되는 경우
    • ACK가 돌아오는과정에서 유실되는 경우
    • 걸린 총 시간보다 타임아웃이 일찍 걸리는 경우

성능향상(Pipelining)


  • 연속된 대량의 작업이 순차성을 갖고 있으나 앞의 일이 종료하지 않고도 다음 일을 시작할 수 있는 병렬성을 가진 경우 성능 향상 기법

Pipelining의 2가지 기법

Go-Back-N

  • 최대 N개의 패킷을 병렬적으로 처리
  • 송신측에서는 N개의 패킷을 Buffering
    • Buffering의 의미 : 수신이 확실하지 않은 패킷에 대하여 재전송을 위하여 보관
  • 수신측에서는 순차적으로 잘 수신된 패킷에 대히여 ACK를 송신하고 패킷의 Payload를 응용계층으로 올려보냄
  • 송신측에서는 Buffer에 여유가 생기면(ACK를 받아서) 그만큼 추가로 Pipelining
  • 수신측에서 순서에 맞지 않는(이빨이 빠진) 패킷이 온 경우 반응 2가지 옵션
    • 조용히 있음
    • 잘 받은 마지막 패킷에 대한 ACK를 전송
  • Go-Back-N에서의 재전송 정책
    • 각 패킷 전송 시에 패킷을 위한 타이머를 설정
    • ACK를 받으면 ACK 해당 패킷과 앞쪽 패킷에 대한 타이머 소멸
    • 타이머 이벤트 발생 시 해당 패킷부터 재전송
    • 추가 전송 정책 : K번째 패킷에 대한 ACK이 반복적으로 올 경우 K+1번째 패킷의 유실을 함축
  • 장점
    • 단순함(특히 수신측에서)
    • 간명하게 시스템의 상태가 추상화
  • 단점
    • 패킷 유실에 대한 복구비용이 많이듦

Selective Repeat

  • Go-Back-N의 단점 보완
  • 수신측에 버퍼를 둠
  • 빠진 패킷이 있을 경우 그 뒤 쪽의 잘 도착한 패킷들은 버퍼에 보관
  • 빠진 패킷이 추후 도착하면 버퍼에 저장한 이후 패킷들까지 순차적으로 응용에 전달
  • 장점
    • 실패한 패킷만 재전송(성능UP)
  • 단점
    • 시스템 추상화 복잡
    • 수신측에도 버퍼가 필요