컴퓨터공학 dhson 2016. 3. 23. 23:56
3.4 신뢰성 있는 데이터 전송의 원리 내가 보낸 데이터가 상대방에게 100% 잘 전달되었는지는 네트워킹에서 가장 중요한 topic입니다. 만약 신뢰적이지 못한, 비신뢰적인 채널(unreliable channel)에서 데이터를 전송한다면 어떤 문제가 발생할 수 있을까요? 메세지 에러(message error) 그리고 메세지 분실(message loss) 등의 문제점이 발생할 수 있음을 예상할 수 있습니다. 그렇기 때문에 신뢰적인 데이터 전송 프로토콜(reliable data transfer protocol)이 필요한 것입니다. 그러나 생각보다 이 topic이 어렵고 중요한데요. 이유는 위 그림을 보면 알 수 있듯이 TCP가 Reliable Channel로 데이터를 잘 전송하는 것 같지만, 사실 그 서비스..
더 읽기
컴퓨터공학 dhson 2016. 3. 21. 19:56
스트리밍 멀티미디어 - 동영상이나 음악 따위를 전부다 다운받은 뒤에 재생하는 것이 아니라 수신하면서 재생하는 것들 - 인터넷 생중계(아프리카, 다음팟) - 저장된 미디어 스트리밍 서비스(유투브, 인터넷 음악듣기 서비스) - 실시간 멀티미디어(인터넷 전화, 화상회의) RTP - 트랜스포트 계층의 프로토콜(UDP에 붙어서 동작) - 비디오/오디오 "데이터" 전송을 위한 프로토콜 - 헤더에는 코덱정보,순서번호,타임스탬프,SSRC(양 단말간 여러 RTP세션 구분-한 웹브라우저에서 2개의 동영상재생 가능) 등을 포함 - 헤더마다 코덱이 들어가므로 네트워크 상황에 따라 코덱을 바꿀 수 있다. 품질이 떨어지는 코덱 변경할 수 있다. - UDP/IP로 패킷 전송 - 스트리밍 데이터 전송을 담당하기 때문에 서버에서 클라..
컴퓨터공학 dhson 2016. 3. 21. 19:41
RTSP(Real Time Streaming Protocol) RFC 2326 개요 많은 인터넷 멀티미디어 사용자는 재생, 중지, 이전이나 이후 시점으로 재생 재위치, 급전진 재생, 되감기 재생 등을 이용하여 연속적인 미디어의 재생을 제어하려고 한다. 이런 기능은 DVD 비디오를 볼 때 DVD 플레이어를 조작하거나, 음악 CD를 들을 때 CD 플레이어를 조작하는 것과 비슷하다. 사용자가 재생을 제어할 수 있도록 하려면 미디어 플레이어와 서버는 재생 제어정보를 교환하는 프로토콜이 필요한데 RTSP가 바로 그것이다. RTSP가 하지 않는 것 - 오디오와 비디오를 압축하는 기법에 대해서는 정의 하지 않는다. - 네트워크 상으로 전송하기 위해서 오디오와 비디오를 어떻게 패킷으로 캡슐화 하는지에 대해서는 정의하지..
컴퓨터공학 dhson 2016. 3. 21. 19:22
7.4 실시간 대화형 애플리케이션을 위한 프로토콜VoIP나 화상회의와 같은 실시간 대화형 애플리케이션을 위한 프로토콜(Protocols for real-time conversational applications: RTP, SIP)인 RTP, SIP에 대해서 살펴봅시다. 7.4.1 RTP 단도직입적으로 말해서 RTP라는 프로토콜은 멀티미디어 애플리케이션을 위한 프로토콜입니다. 오디오를 위한 PCM, GSM 또는 MP3, 비디오를 위한 MPEG과 H.263과 같은 일반적인 형식을 전달하는데 사용될 수 있습니다. 오늘날 RTP는 많은 상용 제품과 연구용 시작품 제작에 사용되고 있으며, 또 다른 중요한 실시간 대화형 프로토콜인 SIP도 서비스합니다. - RTP 기초 일반적으로 RTP는 UDP 상에서 실행됩니다...
컴퓨터공학 dhson 2016. 3. 21. 13:53
3.3비연결형 트랜스포트 : UDP 이번 절에서는 UDP가 어떻게 동작하고 무엇을 하는지 자세히 살펴봅니다.[RFC 768]에 정의된 UDP는 트랜스포트 계층 프로토콜이 할 수 있는 최소 기능으로 동작합니다. 그러니깐 UDP는 다중화/역다중화 기능과 간단한 오류 검사 기능을 제외하면 IP에 아무것도 추가하지 않는다는 말입니다. 그래서 애플리케이션 개발자가 TCP대신에 UDP를 선택한다면 애플리케이션은 거의 IP와 직접 통신하는 셈입니다. UDP는 (TCP와는 다르게) 세그먼트를 송신하기 전에 송신 트랜스포트 계층과 수신 트랜스포트 계층 사이에 핸드쉐이크(3-way handshake)를 사용하지 않는다는 점에 주의해야 합니다. 이런 이유로 UDP를 비연결형이라고 합니다. (TCP는 세그먼트를 송신하기 전에..
컴퓨터공학 dhson 2016. 3. 18. 11:31
3.2 다중화와 역다중화 이번 절에서는 트랜스포트 계층의 다중화와 역다중화를 살펴봅시다. 목적지 호스트에서의 트랜스포트 계층은 바로 아래층인 네트워크 계층으로부터 세그먼트를 수신합니다. 그리고 트랜스포트 계층은 호스트에서 동작하고 있는 애플리케이션 프로세스에게 이 세그먼트의 데이터를 전달할 의무가 있습니다. 네트워크 애플리케이션의 한 부분으로서 프로세스가 소켓(socket)을 가지고 있다는 것을 이미 알고 있을 것 입니다. 소켓은 출입문 역할을 합니다. 아래 슬라이드를 보면 알 수 있듯이 소켓은 애플리케이션 계층과 트랜스포트 계층 사이에 위치합니다. 트랜스포트 계층이 데이터를 프로세스에게 직접 전달하는 것이 아니라 소켓에게 전달합니다. 중간 매개자인 셈이죠. 그런데 이 소켓이라는 것은 반드시 1개만 있는..
컴퓨터공학 dhson 2016. 3. 17. 13:25
3.1 트랜스포트 계층 서비스 및 개요 트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 애플리케이션 프로세스들 간의 논리적통신(logical communication)을 제공합니다. 논리적 통신은 애플리케이션 관점에서 보면 프로세스들이 동작되는 호스트들이 직접적으로 연결되어 있지 않음에도 마치 서로 직접 연결된 것처럼 보인다는 것을 의미합니다. 실제로 호스트는 수많은 라우터와 다양한 형태의 링크를 통해 연결되어 지구상의 서로 다른 지역에 있을 수 있습니다. 그런데 애플리케이션 프로세스는 메시지 운반에 이용되는 물리적인 하위 구조에 관심없이 그저 메시지를 송신하려고 하며 이때 바로 아래 계층인 트랜스포트 계층이 제공하는 논리적 통신을 사용합니다. 위의 슬라이드와 같이 트랜스포트 계층 프로토콜은 중..
컴퓨터공학 dhson 2016. 3. 17. 13:17
트랜스포트 계층(Transport Layer) 애플리케이션 계층과 네트워크 계층 사이에 존재하는 트랜스포트 계층은 다음과 같은 순서로 진행되겠습니다. 3.1트랜스포트 계층 서비스 및 개요3.2다중화와 역다중화3.3비연결형 트랜스포트 : UDP3.4신뢰성 있는 데이터 전송의 원리3.5연결지향형 트랜스포트 : TCP3.6혼잡제어의 원리3.7TCP 혼잡제어 3.8요약