호우동의 개발일지

Today :


애플리케이션이 이용 가능한 트랜스포트 서비스

  • 소켓은 애플리케이션 프로세스와 트랜스포트 프로토콜 간의 인터페이스
    • 전송 과정
      1. 송신 측 애플리케이션은 소켓을 통해 메시지를 전송
      2. 소켓의 반대편에서 트랜스포트 프로토콜은
        네트워크를 통해 해당 메시지를 수신 프로세스의 소켓으로 이동시켜야 함

  • 트랜스포트 프로토콜
    • 대부분의 네트워크는 하나 이상의 프랜스포트 프로토콜을 제공
    • 애플리케이션 개발할 때, 트랜스포트 프로토콜 중 하나를 선택해야 함.
      • 애플리케이션 요구에 가장 적합한 서비스를 제공하는 프로토콜 선택
      • 하나를 선택해야만 하고, 각 전송 모드는 다른 서비스를 제공

    • 트랜스포트 계층 프로토콜이 제공하는 서비스
      • 신뢰적 데이터 전송, 처리율, 시간, 보안

 


신뢰적 데이터 전송(data integrity)

  • 프로토콜이 보장된 데이터 전송 서비스를 제공하면 데이터 전송을 제공하는 것
    • 보낸 데이터가 올바르고 완전히 다른 애플리케이션에 전달되어야 한다.
    • 트랜스포트 계층 프로토콜이 애플리케이션에 제공하는 중요한 서비스
      → 프로세스 간의 신뢰적 데이터 전송

  • 패킷은 컴퓨터 네트워크 내에서 손실될 가능성이 존재
    • 원인
      • 라우터의 버퍼에서 오버플로(overflow)
      • 패킷의 비트가 잘못된 경우 → 호스트 or 라우터에 의해 버려짐

    • 데이터 손실은 위험한 결과를 초래할 수 있음

  • 손실 허용 애플리케이션(loss-tolerant application)
    • 어느 정도의 데이터 손실을 참아낼 수 있는 애플리케이션
    • 멀티미디어 애플리케이션에서 가능
      • 손실 데이터는 재생되는 오디오/비디오 품질에 약간의 영향을 줌
      • 예시
        • 실시간 오디오/비디오
        • 저장 오디오/미디어

 


처리율(Throughput)

  • 처리율 : 프로세스 간의 통신 세션에서 수신 프로세스로 비트를 전달할 수 있는 비율

  • 처리율은 시간에 따라 변동됨
    • 다른 세션들이 네트워크 경로를 따라 대역폭을 공유하기 때문
    • 세션들은 생겼다 없어졌다 할 수 있기 때문

  • 트랜스포트 프로토콜이 제공할 수 있는 자연적인 서비스
    → 명시된 속도에서 보장된 가용 처리율을 제공
    • 애플리케이션은 r비트/초의 보장된 처리율을 요구할 수 있음
    • 트랜스 프로토콜은 가용한 처리율이 항상 r bps임을 보장

  • 대역폭 민감 애플리케이션(bandwidth-sensitive application)
    • 처리율 요구사항을 갖는 애플리케이션
    • 현존하는 많은 멀티미디어 애플리케이션은 대역폭에 민감

  • 탄력적 애플리케이션(elastic application) : 가용한 처리율의 민감하지 않음
    • 물론 대역폭은 많을수록 좋긴 함

 


시간(Delay-sensitive)

  • 트랜스포트 계층 프로토콜은 시간 보장(timing guarantee)을 제공
  • 시간 보장은 여러 가지 형태로 나타남
    • 예시
      • 송신자가 소켓에서 보내는 모든 비트가 수신자 소켓에 100ms 내에 도착하는 것

  • 실시간 상호작용 애플리케이션에 특히 중요함
    • 인터넷 전화, 가상 환경, 원격 회의, 다자간 게임 등

  • 애플리케이션의 효과적 동작을 위해 데이터 전송에 엄격한 시간제한이 요구됨

  • 비실시간 애플리케이션의 경우
    → 낮은 지연이 항상 높은 지연보다 선호되지만 엄격하진 않음

 


보안(Security)

  • 트랜스포트 프로토콜은 애플리케이션에 하나 이상의 보안 서비스를 제공
    • 기밀성(confidentiality), 데이터 무결성(integrity), 종단 인증(authentication) 등

 

프로세스 간 기밀성

  • 이러한 서비스로 송신, 수신 프로세스 사이에 기밀성을 제공
    • 송신 호스트에서 트랜스포트 프로토콜은 프로세스가 전송 데이터 암호화 가능
    • 수신 호스트에서 트랜스포트 프로토콜은 데이터의 암호를 복호화할 수 있음
      • 데이터 복호화은 수신 프로세스로 전달하기 전에 일어남