본문 바로가기

cs/컴퓨터네트워크

컴퓨터 네트워크 7차시, 8차시 정리

DNS(Domain Name System)

  • DNS는 Domain Name System의 약자로, 인터넷에서 사용하는 도메인 이름을 숫자 형태의 IP 주소로 변환하는 역할
  • DNS는 계층적으로 구성되어 있으며 인터넷 사용자들이 도메인 이름을 이용해 웹 사이트 등에 접속할 수 있도록 지원
  • DNS의 동작 방식
    • Recursive Domain Name Resolution
    • Iterative
     

계층적 구조

P2P(Peer-to-Peer)

  • P2P는 Peer-to-Peer의 약자로, 중앙 서버 없이 직접적으로 연결된 컴퓨터들이 서로 데이터를 주고받는 방식
  • P2P 방식은 중앙 서버가 필요하지 않기 때문에, 대규모 데이터 전송이 가능하고, 빠른 속도와 안정성을 제공
  • Pure P2P 문제점
    • Peer의 부제
    • 보안 취약
    • 일부 PEER가 다른 PEER보다 많은 조각을 가지는 쏠림 현상이 발생

Reliable Networking(End-to-End)

  • 데이터 전송에서 중간에 있는 네트워크 장비들의 개입 없이, 송신자와 수신자 간의 신뢰성 있는 통신을 제공하는 방식
  • 문제점
    • 손실 : packet이 손실될 수 있는 문제
    • 순서 바뀜 : packet의 순서가 바뀌는 문제
    • Congestion : 네트워크가 혼잡한 문제
    • Overload : receiver가 overload 되는 문제

성능향상(Pipelining)

  • Pipelining은 데이터 전송의 효율성을 높이기 위한 방법 중 하나
  • Pipelining은 데이터 전송의 효율성을 높이기 위한 기법으로, 전송하는 데이터를 일정한 크기로 분할하여 여러 개의 데이터를 동시에 전송하고, 이전 데이터 전송이 완료되기 전에 다음 데이터 전송(병렬성)

Non-Pipelined vs Pipelined

Go-Back-N

  • Go-Back-N은 전송된 패킷에 대한 ACK가 수신되지 않은 경우, 송신자가 해당 패킷부터 이후 모든 패킷을 다시 전송하는 방식
  • 패킷을 다시 전송하므로 비효율적일 수 있으나, 오류 검출 및 복구를 보장함
  • 최대 N개의 패킷을 병렬적으로 처리함.
  • 송신측 => N개의 패킷을 Buffering(Buffering : 수신이 확실하지 않은 패킷에 대하여 재전송을 위하여 보관)
  • 수신측 => 순차적으로 잘 수신된 패킷을 ACK를 송신하고 패킷의 Payload를 응용계층으로 올려보냄( ACK 패킷은 수신측에서 전송측으로 보내지며, 수신한 패킷의 정상적인 수신을 알리는 역할)
  • 송신측에서는 Buffer에 여유가 생기면 그만큼 추가로 Pipelining
  • Go-Back-N에서의 재전송
    • 각 패킷 전송 시 패킷을 위한 타이머 셋
    • ACK를 받으면 ACK 해당 패킷과 앞쪽 패킷에 대한 타이머 소멸
    • 타이머 이벤트 발생 시 해당 패킷부터 재전송
  • 추가 전송 정책 : K번째 패킷에 대한 ACK이 반복이면 K+1번째 패킷의 유실 함축
  • 장점 : 전송 효율성, 패킷 유실 감소, 신뢰성, 구현성
  • 단점 : 대역폭 사용량 증가 => 패킷의 손실이나 손상이 발생할 경우, 해당 패킷 이후의 모든 패킷들을 재전송(대역폭 사용량이 증가)

Selective Repeat

  • Go-Back-N를 개선한 프로토콜
  • 전송된 패킷이 수신측에서 제대로 수신되었는지 확인하는 과정에서 Go-Back-N 와는 달리, 각각의 패킷이 수신되었는지 개별적으로 확인.
  • 수신측에서 패킷의 손상 여부를 확인하고, 손상되지 않은 패킷만 재전송을 요청함.
  • Go-Back-N의 재전송의 효율을 높혔지만 재전송을 위해 수신측에서 버퍼를 사용하기 때문에 버퍼 사용량이 증가할 수 있음.

 

GBN, SR