애플리케이션이 이용 가능한 트랜스포트 서비스
- 소켓은 애플리케이션 프로세스와 트랜스포트 프로토콜 간의 인터페이스
- 전송 과정
- 송신 측 애플리케이션은 소켓을 통해 메시지를 전송
- 소켓의 반대편에서 트랜스포트 프로토콜은
네트워크를 통해 해당 메시지를 수신 프로세스의 소켓으로 이동시켜야 함
- 전송 과정
- 트랜스포트 프로토콜
- 대부분의 네트워크는 하나 이상의 프랜스포트 프로토콜을 제공
- 애플리케이션 개발할 때, 트랜스포트 프로토콜 중 하나를 선택해야 함.
- 애플리케이션 요구에 가장 적합한 서비스를 제공하는 프로토콜 선택
- 하나를 선택해야만 하고, 각 전송 모드는 다른 서비스를 제공
- 트랜스포트 계층 프로토콜이 제공하는 서비스
신뢰적 데이터 전송
,처리율
,시간
,보안
신뢰적 데이터 전송(data integrity)
- 프로토콜이 보장된 데이터 전송 서비스를 제공하면 데이터 전송을 제공하는 것
- 보낸 데이터가 올바르고 완전히 다른 애플리케이션에 전달되어야 한다.
- 트랜스포트 계층 프로토콜이 애플리케이션에 제공하는 중요한 서비스
→ 프로세스 간의 신뢰적 데이터 전송
- 패킷은 컴퓨터 네트워크 내에서 손실될 가능성이 존재
- 원인
- 라우터의 버퍼에서 오버플로(overflow)
- 패킷의 비트가 잘못된 경우 → 호스트 or 라우터에 의해 버려짐
- 데이터 손실은 위험한 결과를 초래할 수 있음
- 원인
손실 허용 애플리케이션(loss-tolerant application)
- 어느 정도의 데이터 손실을 참아낼 수 있는 애플리케이션
- 멀티미디어 애플리케이션에서 가능
- 손실 데이터는 재생되는 오디오/비디오 품질에 약간의 영향을 줌
- 예시
- 실시간 오디오/비디오
- 저장 오디오/미디어
처리율(Throughput)
처리율
: 프로세스 간의 통신 세션에서 수신 프로세스로 비트를 전달할 수 있는 비율- 처리율은 시간에 따라 변동됨
- 다른 세션들이 네트워크 경로를 따라 대역폭을 공유하기 때문
- 세션들은 생겼다 없어졌다 할 수 있기 때문
- 트랜스포트 프로토콜이 제공할 수 있는 자연적인 서비스
→ 명시된 속도에서 보장된 가용 처리율을 제공- 애플리케이션은 r비트/초의 보장된 처리율을 요구할 수 있음
- 트랜스 프로토콜은 가용한 처리율이 항상 r bps임을 보장
대역폭 민감 애플리케이션(bandwidth-sensitive application)
- 처리율 요구사항을 갖는 애플리케이션
- 현존하는 많은 멀티미디어 애플리케이션은 대역폭에 민감
탄력적 애플리케이션(elastic application)
: 가용한 처리율의 민감하지 않음- 물론 대역폭은 많을수록 좋긴 함
시간(Delay-sensitive)
- 트랜스포트 계층 프로토콜은
시간 보장(timing guarantee)을
제공 - 시간 보장은 여러 가지 형태로 나타남
- 예시
- 송신자가 소켓에서 보내는 모든 비트가 수신자 소켓에 100ms 내에 도착하는 것
- 송신자가 소켓에서 보내는 모든 비트가 수신자 소켓에 100ms 내에 도착하는 것
- 예시
- 실시간 상호작용 애플리케이션에 특히 중요함
- 인터넷 전화, 가상 환경, 원격 회의, 다자간 게임 등
- 인터넷 전화, 가상 환경, 원격 회의, 다자간 게임 등
- 애플리케이션의 효과적 동작을 위해 데이터 전송에 엄격한 시간제한이 요구됨
- 비실시간 애플리케이션의 경우
→ 낮은 지연이 항상 높은 지연보다 선호되지만 엄격하진 않음
보안(Security)
- 트랜스포트 프로토콜은 애플리케이션에 하나 이상의 보안 서비스를 제공
- 기밀성(confidentiality), 데이터 무결성(integrity), 종단 인증(authentication) 등
프로세스 간 기밀성
- 이러한 서비스로 송신, 수신 프로세스 사이에 기밀성을 제공
- 송신 호스트에서 트랜스포트 프로토콜은 프로세스가 전송 데이터 암호화 가능
- 수신 호스트에서 트랜스포트 프로토콜은 데이터의 암호를 복호화할 수 있음
- 데이터 복호화은 수신 프로세스로 전달하기 전에 일어남