를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/lecture/iba/ebook/part2/ch1/1-1.pdf ·...

16

Upload: vutram

Post on 17-Feb-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신
Page 2: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

인터넷은 전 세계의 수많은 컴퓨터가 연결된 거대한 컴퓨터 네트워크라고 할 수

있다. 컴퓨터 네트워크란 통신을 위해 컴퓨터와 컴퓨터를 연결해 놓은 것이라고

정의할 수 있다. 통신이란 멀리 떨어진 두 개 이상의 개체 사이에 어떤 정보를 주

고받는 행위라고 정의할 수 있다. 인류는 정보전달을 위해서 선사시대 이래 불,

연기, 소리, 문자와 그림, 동물 등 다양한 수단을 활용하여 왔고, 현재에는 전화

등의 유선통신수단, 위성과 같은 무선통신수단 등과 같이 발전된 수단을 이용하

고 있다. 이러한 통신이라는 개념을 자세히 살펴보면, 전달되는‘정보’와 그것을

전달하는데 필요한‘매체’라는 두 가지 개념이 공존함을 알 수 있다. 전화의 예

를 들어 설명하면, ‘음성’이라는 형태의 정보를‘전화기와 전화망을 통해 전달하

는 형태’라고 할 수 있다. 전달되는 정보인 음성은 전화기에 의해 전기적 신호로

바뀌고, 이 신호는 전화선을 통해서 전화국의 교환기에 전달된다. 이후에 교환기

에서 수신자에게 연결된 전화선을 거쳐 상대방의 전화기에 도달하고, 수신자의

전화기에 도착된 전기적 신호는 전화기에서 음성으로 변환되어 수신자에게 전달

된다. 이렇듯 전화를 이용해서 통신을 할 때에는 전화기와 전화선, 교환기 등 각

종 장치들을 이용하는데, 이러한 것들을 통틀어 공중교환전화망(PSTN : Public

Switched Telephone Network) 또는 전화망이라고 한다.

마찬가지로 컴퓨터 통신이란 서로 다른 컴퓨터 사이에서 정보를 주고받을 수 있

는 방법이라고 정의할 수 있다. 따라서 컴퓨터 통신을 위해서는 컴퓨터와 컴퓨터

를 연결해주는 선로, 그리고 통신제어에 필요한 장치 등이 필요하다. 일반적으로

이와 같이 컴퓨터 통신을 위해 연결된 컴퓨터들의 집합을 컴퓨터 통신망, 컴퓨터

네트워크, 혹은 줄여서 네트워크라고 한다. 인터넷은 이러한 컴퓨터 네트워크들

이 서로 연결된 거대한 네트워크라고 할 수 있다. 인터넷방송은 이런 인터넷을

매체로 멀티미디어 정보를 전달하는 것을 의미한다.

먼저 프로토콜이 무엇인지에 대해서 알아보자. 프로토콜의 사전적 의미는 국가

간의 외교 교류를 위한 외교적 의례나 국가간에 정한 의정서를 의미한다. 컴퓨터

통신에서 이와 비슷한 개념으로 사용된다. 컴퓨터 통신에서 프로토콜은 컴퓨터

시스템 사이의 데이터를 교환하는데 필요한 규칙의 집합이다. 상대방의 호출 및

응답, 연결 및 절단, 메시지의 블록화 형식, 에러발생시 처리방법, 코드의 변환방

법 등이 포함된다. 여기서 정확히 이해해야 할 것이 프로토콜은 하드웨어와 소프

트웨어가 아니라 데이터 교환을 위한 규칙이나 규약의 집합을 의미한다는 것이다.

전화의 예를 들면, 여러분이 수화기를 들면 신호음이 들릴 것이다. 이것은 여러

분의 전화기가 전화번호를 입력받을 준비가 되었다는 것을 의미한다. 여러분이

통화할 번호를 누르면 눌려진 번호가 전기적인 신호로 변환되어 전화망(선)을

통해 전화국의 교환기로 전달된다. 교환기에서는 해당 전화번호가 존재하는지

여부를 판단하여 존재하지 않으면 에러 메시지를 되돌려 보내고, 존재하면 해당

전화번호로 연결을 시키고 상대 전화기에서 전화벨이 울릴 수 있도록 신호를 보

낸다. 상대방에서 전화를 받으면 통화자간을 연결하여 통화를 할 수 있도록 한

다. 예에서처럼 전화를 걸기 위해 수화기를 들면 신호음이 울리고 여러분은 통화

가 가능한 상태라는 것을 안다. 이처럼 통신을 위해 미리 약속된 규칙이 바로 프

로토콜이다.

인터넷은 초기에 몇몇 컴퓨터 네트워크간의 소규모 통신망에 불과했지만 지금은

전세계의 컴퓨터 네트워크들을 상호 연결하는 대규모 컴퓨터 네트워크로 발전되

었다. 인터넷이라는 거대한 컴퓨터 네트워크에는 수많은 컴퓨터가 연결되어 있

다. 인터넷에 연결된 컴퓨터와 컴퓨터간에 데이터를 송수신하기 위한 여러가지

프로토콜이 존재한다. 먼저 인터넷의 서비스 형태부터 알아보겠다. 인터넷의 기

본적인 서비스 형태는 클라이언트-서버 방식으로 이루어지고 있다. 클라이언트

가 어떤 서비스를 요청하면 서버가 요청된 서비스를 처리하여 그 결과를 클라이

언트에게 돌려주는 방식을 의미한다. 이때 클라이언트와 서버간에 정보를 송수

신하기 위한 프로토콜이 필요하다. 인터넷에서 사용되는 메시지 교환에 관한 규

칙을 정의하는 프로토콜의 모음을 TCP/IP(Transmission Control Protocol/

Internet Protocol)라고 한다. 그러므로 TCP/IP는 여러 서비스를 처리하는데

필요한 여러 개의 프로토콜로 구성되어 있다.

예를 들면 여러분이 인터넷 서비스 중에 가장 많이 사용하는 서비스는 아마도 전

자우편 서비스일 것이다. 전자우편 서비스를 위한 프로토콜을 구현해 놓은 소프

트웨어 중에 하나가 메일서버와 아웃룩 익스프레스와 같은 것이다. 서버 역할을

하는 소프트웨어가 메일서버, 클라이언트 역할을 하는 소프트웨어가 아웃룩 익

스프레스다. 이런 메일 서비스를 위한 프로토콜도 TCP/IP 프로토콜을 구성하는

여러 개의 프로토콜 중의 하나이다. 이외에도 FTP, TELNET 등 여러가지 프로

12 13

Page 3: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

호스트는 인터넷에 물리적으로 접속되어 있고 TCP/IP 프로토콜을 사용하여 통

신하는 컴퓨터 시스템을 의미한다. 호스트는 다른 호스트와 통신하기 위해 응용

프로그램을 실행한다. 호스트로 대형 메인 프레임, 미니 컴퓨터, 중형 프로세서,

그래픽 워크스테이션이나 퍼스널 컴퓨터가 사용될 수 있다. 즉 인터넷에 연결된

모든 컴퓨터를 호스트라고 한다.

단순한 의미로 컴퓨터와 컴퓨터를 연결해 주는 물리적인 장치를 네트워크라고

한다. 호스트는 개별 네트워크에 연결되어 있다. 네트워크는 특정한 형태의 데이

터 링크 기술로 상호 연결된 둘 이상의 호스트들의 모임을 의미한다. TCP/IP 구

조는 특정 네트워킹 기술에 종속되어 있지 않다. TCP/IP의 강력함 중의 하나는

어떤 새로운 네트워킹 기술이 개발되더라도 그것들을 수용할 수 있도록 하는 유

연성있는 구조를 가지고 있다는 것이다.

라우터는 개별적인 여러 네트워크와 네트워크를 연결하는 장치이다. 라우터의

기능은 어느 네트워크에 접속된 호스트와 통신을 해야 하는 경우에, 어느 물리적

네트워크에서 다른 네트워크로 신호를 이동시켜 정보의 흐름을 바꾸어 주는 것

이다. 라우팅 기능은 두 개의 네트워크에 연결된 호스트에 경로배정 소프트웨어

를 실행시켜 수행하거나 라우터라고 하는 라우팅 기능만을 수행하는 전용장치에

의해 수행된다. 거대한 인터넷에서 경로 배정은 일반적으로 전용 라우터에 의해

수행되고 있다. 인터넷을 구성하는 네트워크들과 그들을 서로 연결하는 라우터

는 사용자들에게는 감추어져 있다. 사용자는 인터넷을 한 호스트에서 임의의 다

른 호스트로 데이터를 전송할 수 있는 단순히 통합된 네트워크로 인식한다.

인터넷은 동일한 혹은 상이한 데이터 링크 기술을 사용하는 독립적인 물리적 네

트워크간의 상호 접속에 의해 이루어진다. 독립적인 물리적 네트워크의 구성요

소에는 컴퓨팅 장치를 포함해서 네트워크 카드와 케이블, 허브*나 집중화기와

네트워킹 소프트웨어 등이 포함된다. 물리적 네트워크는 다양한 종류의 개인용

컴퓨터나 워크스테이션과 같은 범용 컴퓨팅 장치를 연결한다. 네트워크 카드가

설치된 프린터나 저장장치와 같은 것들은 직접 네트워크에 연결될 수 있다. 그러

나 일반적인 주변장치들은 네트워크에 연결된 컴퓨터 시스템 중의 하나에 연결

된다. 이렇게 연결된 주변장치는 다른 컴퓨터 시스템에서 네트워크를 통해 주변

장치가 연결된 컴퓨터 시스템에 접근하여 사용할 수 있다. 주변장치가 연결된 시

스템은 해당 장치를 공유시킬 수 있는 네트워크 소프트웨어가 설치되어 있어야

15

토콜이 있다. TCP/IP 프로토콜의 주 목적은 다양한 형태의 물리적인 네트워크

에 연결된 어떤 컴퓨터라도 네트워크 상의 다른 컴퓨터와 통신할 수 있도록 하는

것이다. TCP/IP 프로토콜은 상호 연결된 개별 네트워크들이 인터넷이라고 하는

하나의 동일한 형태를 갖도록 한다. 개별 네트워크에 연결된 컴퓨터가 TCP/IP

프로토콜을 사용할 수 있다는 말은 곧 인터넷에 연결된 모든 컴퓨터와 통신이 가

능하다는 이야기이다. 즉, 인터넷에 연결된 모든 컴퓨터는 물리적으로 연결만 되

어 있다면 자유롭게 정보를 교환할 수 있다.

중앙의 메인 컴퓨터를 중심으로 하는 과거의 터미널 기반 네트워크는 오늘날 별

로 중요한 자리를 차지하고 있지 않고 있다. 현재의 컴퓨터 네트워킹 기술은 모

든 종류의 컴퓨터 장비들이 상호 연결되어 동작할 수 있도록 지원하고 있다.

TCP/IP는 중요한 인터네트워킹 기술의 하나로서 여러 조직의 다른 컴퓨터 시스

템간의 통신을 가능하게 하였다. TCP/IP 프로토콜은 전 세계의 수많은 컴퓨터

네트워크에서 사용되고 있다. TCP/IP 프로토콜을 사용하는 인터넷은 ARPA-

NET*을 기원으로 하여 성장하였고 인터넷으로 불리며 발전되어 왔다. 오늘날

인터넷은 수천 개의 네트워크를 포함하며, 대학, 연구소, 상업기관 등의 수백만

대의 컴퓨터를 상호 연결하고 있다. 결론적으로 TCP/IP는 인터넷에 연결된 컴

퓨터들 간의 통신을 위한 프로토콜이므로 인터넷에 연결하기 위해 사용되는 프

로토콜이라고 할 수 있다.

다음 [그림 1-1]은 인터넷의 3가지 주된 구성요소를 나타낸 것이다. 인터넷은

크게 세부분으로 나눌 수 있다. 먼저 인터넷에 연결된 컴퓨터 즉 호스트가 있고,

컴퓨터들을 상호 연결하는 네트워크가 있다. 그리고 네트워크들을 연결해주는

라우터가 있다.

14

Page 4: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

하고 다른 컴퓨터 시스템에서 접근가능하도록 설정해 놓아야 한다.

네트워크 어댑터라고도 불리는 네트워크 인터페이스 카드(NIC : Network

Interface Card)는 네트워크에 직접 연결되어있는 각각의 컴퓨터 시스템에 설치

된다. 네트워크 인터페이스 카드는 때때로 LAN 카드, LAN 어댑터라고 불리기

도 한다. 네트워크 인터페이스 카드는 컴퓨터들이 물리적 통신이 가능하도록 하

는데 필요한 하드웨어 장치이다. 네트워크 프린터와 같이 물리적 네트워크에 직

접 연결될 수 있도록 설계된 장치들도 장치 안에 통합된 네트워크 인터페이스 카

드를 포함하고 있다. 네트워크에 연결되는 컴퓨터 시스템에는 여러 종류의 네트

워크 인터페이스 카드가 함께 설치되어 사용될 수 있다. 대체적으로 이러한 컴퓨

터 시스템이나 장치는 네트워크와 네트워크를 연결하는 라우터 기능을 수행한다.

케이블 시스템은 컴퓨터에 설치된 네트워크 인터페이스 카드들을 상호 연결하는

데 필요한 케이블을 의미한다. 다양한 형태의 전기 케이블이나 광케이블이 네트

워크를 구성하기 위해 사용된다. 케이블 시스템은 장치들이 케이블에 접속되도

록 하는데 필요한 접속 장치도 포함한다. 어떤 경우에는 케이블 시스템이 무선

통신 형태가 되기도 한다. 물리적 네트워크를 구성할 때 여러 장치들이 네트워크

에 연결되게 하는 집중화기 또는 허브를 사용하는 경우도 있다. 허브를 통해 장

치들을 접속하면 네트워크의 설치와 운영이 간단해질 수 있다.

네트워크 카드는 네트워크를 통해 상호 연결된 장치간에 물리적 통신이 이루어

지게 하는 낮은 수준의 기능을 수행한다. 최종 사용자가 입력하는 정보를 네트워

크 카드가 직접 해석하여 전달하지 못한다. 최종 사용자들이 입력하는 정보를 해

석하기 위해 사용하는 고수준의 기능들은 네트워크 카드를 제어하고 이용하는

TCP/IP 네트워킹 소프트웨어에 의해 처리된다. 여러분이 사용하는 전자우편 프

로그램이나 FTP프로그램* 등 수많은 프로그램들이 네트워킹 소프트웨어에 포

함된다.

TCP/IP는 문자 그대로는 전송 제어 프로토콜/인터넷 프로토콜(Transmission

Control Protocol/Internet Protocol)이다. TCP/IP 프로토콜의 강력함은 여러

회사에서 나온 다양한 형태의 광범위한 이기종 장치들이 상호 연동하도록 할 수

있는 기능에 있다. 그러나 많은 장치들을 지원하는데 따른 근본적인 호환성 문제

가 대두될 수 있다. 여러가지 다양한 장치들이 연결되기 위해서는 그런 장치들의

소프트웨어와 하드웨어가 호환되거나 아니면 복잡한 인터페이스를 통해서 상호

간에 신호들을 해석할 수 있어야만 의미 있는 통신을 할 수 있다. 이런 복잡함을

처리하기 위해 네트워크 장치에서 수행되는 소프트웨어 기능들은 독립적인 기능

계층들로 나누어져 있다.

TCP/IP 프로토콜의 통신 소프트웨어는 계층별로 나누어져 있어서, 응용 프로그

램과 최종 사용자들을 지원하는 최상위 계층에서는 네트워크 통신에 관한 자세

한 사항을 다루는 하위 계층들에 관한 것들을 알 수 없다. 인터넷의 한 호스트에

서 실행되는 응용 프로그램이 다른 호스트에서 실행되는 응용 프로그램과 바로

연결된 것처럼 용이하게 통신할 수 있는 것은 TCP/IP에 의한 것이다. 통신 프로

그램을 실행하는 두 호스트간에 많은 라우터와 물리적인 네트워크들로 구성된

복잡한 인터넷이 있더라도 통신은 매우 간단한 것처럼 보인다. 통신하는 두 호스

트에서는 통신 기능을 수행하기 위해, [그림 1-3]과 같은 4계층의 TCP/IP 구조

를 구현하는 소프트웨어들이 각각 수행된다.

TCP/IP는 서로 다른 시스템의 각 계층에서 동작하는 통신 프로토콜을 정의하고

있다. 통신 프로토콜은 다른 호스트의 같은 계층 간에 교환되는 데이터 유니트의

형식을 정의하고, 데이터 유니트가 교환되는 방법에 대해서 정의하고 있다. [그

1716

Page 5: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

림 1-4]에서 호스트 A의 계층 n과 계층 3 또는 계층 3과 계층2 간에 정보를 주

고받는 것을 서비스라고 한다. 같은 호스트의 프로토콜의 계층 간에 정보를 제공

하고 제공받기 위한 것을 서비스라고 하고, 서로 다른 호스트의 같은 계층 간에

정보 교환 형식과 방법을 프로토콜이라고 한다.

TCP/IP와 같은 계층 구조의 특정 계층에서 수행되는 프로토콜의 사용자는 일반

적으로 그 바로 위 계층에서 수행되는 프로세스가 된다. 인터넷 계층과 전달 계

층에서 동작하는 중요한 프로토콜들은 기본적인 데이터 전달 서비스를 제공한

다. 데이터 전달 서비스를 제공하는 통신 프로토콜은 그 프로토콜의 사용자에게

연결형 서비스 혹은 비연결형 서비스를 제공한다.

연결형 프로토콜은 전화회사에서 제공하는 서비스와 유사한 서비스를 제공한다.

연결형 프로토콜은 연결 설정, 데이터 전달, 연결 해제의 세 단계로 구성된다. 연

결형 프로토콜에서는 통신이 이루어지기 전에 통신 당사자간의 합의가 있어야

한다. 핸드쉐이크라고 하는 메시지 교환이 각 호스트에서 프로토콜을 수행하는

프로세스들간에 발생하면 그들간에 연결이라고 하는 연관 관계가 설정된다. 연

결형 프로토콜에서 데이터 전달은 항상 연결이 설정되어 통신하는 두 상대 사이

에서만 일어난다. 한 프로세스가 둘 이상의 다른 상대방에게 메시지를 전달하려

면 각각에 대해 별도의 연결을 설정해서, 별도의 동작으로 각 상대방에게 메시지

를 전달하여야 한다.

연결형 프로토콜은 신뢰성 있고, 순차적인 데이터 전달 서비스를 제공한다. 연결

이 설정되어 있는 동안에 송신자는 각 메시지가 순서대로 정확하게 수신되었다

고 가정할 수 있다. 만약 무언가 잘못되었으면 연결은 해제되고, 관련된 두 상대

에게 연결 해제 사실이 통보된다. 연결은 통신하는 당사자나 프로토콜에 의해 언

제든지 해제될 수 있다.

비연결형 프로토콜은 우편 배달 시스템과 유사하게 동작한다. 비연결형 프로토

콜에서 통신은 한 단계로 일어난다. 비연결형 프로토콜은 수신측과 송신측 간에

논리적인 연결을 설정할 필요가 없다. 사용자 프로세스는 프로토콜을 실행하는

프로세스에게 메시지를 넘기고, 메시지가 수신될 목적지 프로세스를 지정한다.

프로토콜을 실행하는 프로세스는 그 메시지를 해당 목적지에 전달한다. 각 메시

지는 원하는 수신자를 정확히 지정해야 하며, 각 메시지는 다른 메시지와는 독립

적으로 취급된다.

비연결형 프로토콜은 적은 양의 데이터를 전송해야 할 때 연결형 프로토콜에 비

해 네트워크를 통해서 전달되는 데이터의 양이 적다. 왜냐하면 서로 간의 통신이

가능한가를 검사하는 연결설정 과정과 연결해제 과정이 생략되기 때문이다. 비

연결형 프로토콜은 한 번의 전송으로 여러 목적지에 메시지를 전송할 수 있는 멀

티캐스트 기능도 구현할 수 있다. 그러나, 비연결형 프로토콜은 메시지가 순서대

로 보내졌는지 확인할 수 없으며, 수신측이 메시지를 받았다는 응답을 보내지도

않는다. 그러므로 송신측은 데이터가 제대로 전달되었는지 순서대로 수신측에

도착하였는지 알 수 없다. 또한 오류 복구 절차가 제공되지 않기 때문에 필요한

오류 복구 서비스들은 상위 단계 프로토콜이나 응용 프로그램에 의해 제공되어

야 한다.

[그림 1-5]는 네트워크에 연결된 하나의 호스트에서 다른 네트워크의 호스트로

데이터가 전달되는 과정을 보여주고 있다. 호스트 A를 사용하는 사용자가 응용

계층의 프로토콜을 처리하는 소프트웨어를 이용하여 전송할 정보를 입력한다.

그러면 응용계층의 소프트웨어는 입력된 정보를 화살표 방향에 따라 전달계층으

18 19

Page 6: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

로 전달한다. 그러면 전달계층에서는 전달받은 정보에 헤더를 덧붙인 다음 인터

넷계층으로 전달한다. 인터넷계층에서도 역시 자신만의 헤더를 덧붙인 다음 하

위계층으로 전달한다. 여기서 데이터링크계층은 다시 헤더를 덧붙인다. 데이터

링크계층에서 구성된 데이터 단위는 프레임이라 부르며 네트워크 카드와 같은

하드웨어에 의해서 네트워크로 보내진다. 만약 호스트 B가 호스트 A로 데이터를

전송하려면 위에서 설명한 역 과정이 진행된다. 물론 그림에 나타난 화살표의 방

향이 반대가 된다. TCP/IP는 네트워크 내부에서는 어떻게 전달되는지에 대해서

알지 못한다.

네트워크를 통해서 전달된 데이터는 라우터에 의해서 어떤 네트워크로 전달될

것인지 결정된다. 이런 기능을 위해서 라우터에서는 TCP/IP 프로토콜 중에 경

로배정 기능을 포함하고 있는 인터넷 계층까지 해석을 하여 데이터가 어느 네트

워크로 전달되는지를 판단한다. 경로가 할당된 다음 데이터는 적절한 네트워크

로 보내진다. 데이터는 다시 캡슐화되며 다음 네트워크로 전달된다. 이런 과정을

반복하여 하나 또는 여러개의 네트워크를 통해 전송된 데이터는 목적지 호스트

B에 도착하게 된다.

호스트 B에서는 호스트 A에서의 역으로 가장 하부계층이 먼저 데이터를 수신한

다. 데이터를 수신한 데이터링크계층은 호스트 A의 네트워크계층에서 덧붙인 헤

더 정보를 분리하여 데이터에 대한 정보를 해석하고 나머지 데이터를 상위계층

에 알맞은 형태로 만들어 전달한다. 각 계층을 거칠 때마다 헤더를 분리시킴으로

써 마지막 응용계층에는 호스트 A의 사용자가 전송한 데이터가 전달된다. 응용

계층의 소프트웨어는 전달된 데이터를 해석하여 호스트 B의 사용자가 볼 수 있

는 형태로 제공한다.

다음은 TCP/IP 구조를 구성하는 각 계층의 기능을 설명하고 각 계층에서 구동

되는 주요 프로토콜을 소개한다.

TCP/IP 응용 계층은 통신을 위해 인터넷을 이용하는 응용 프로그램으로 구성된

다. TCP/IP 환경의 응용 계층 소프트웨어는 사용자에게 직접 서비스를 제공하

는 표준화된 응용 계층 프로토콜을 제공한다. 다른 응용 계층 소프트웨어는 인터

넷 상에서 통신하는 사용자-작성 프로그램을 생성하는 데 사용될 수 있는 응용

프로그래밍 인터페이스를 제공한다. 응용 계층은 TCP/IP 사용자에게 원격 로그

인, 파일의 복사와 공유, 전자우편, 디렉토리 서비스, 그리고 네트워크 관리 기능

등의 서비스를 제공하는 광범위한 응용 계층 프로토콜을 정의하고 있다.

TCP/IP 통신 소프트웨어가 수행되는 대부분의 컴퓨터 시스템은 일반적으로 많

은 응용 프로세스들이 동시에 수행되도록 한다. 그러므로, 주어진 호스트 상에서

활성 상태의 많은 응용 프로세스들이 존재할 수 있으며, 이들이 동시에 TCP/IP

통신 서비스를 이용하기를 원할 수도 있다. 전달 계층의 기능은 TCP/IP 호스트

에서 수행되는 응용 프로세스 사용자에게 일대일 데이터 전달 서비스를 제공하

는 것이다.

전달 계층에서는 2가지 주요 프로토콜이 동작한다. 응용 프로세스는 데이터 전

달 서비스를 요청하기 위해 UDP나 TCP를 이용할 수 있다. 사용자 데이터그램

프로토콜(UDP: User Datagram Protocol)은 가장 간단한 전송 프로토콜이다.

전송 제어 프로토콜(TCP : Transmission Control Protocol)은 신뢰성있고, 순

서적인 데이터 전달 서비스를 제공하는 연결형 전달 계층 프로토콜이다.

인터넷상의 각 호스트는 최소한 하나 이상의 유일한 인터넷 주소를 할당받는다.

인터넷 주소는 인터넷에 접속되어 있는 특정 위치를 유일하게 식별한다. 전달 계

층 프로토콜이 하는 일은 근원지 호스트의 특정 프로세스에서 목적지 호스트의

특정 프로세스로 자료를 전송하는 것이다. 따라서, TCP/IP 전달 계층은 호스트

에 할당된 인터넷 주소 이상의 주소지정 기법을 요구한다. 이 상위 수준의 주소

지정 기법은 전달계층 프로토콜에 의해 제공된다.

호스트에서 동작하는 각 응용 프로세스는 동일한 호스트에서 동작하는 같은 전

달 계층 프로토콜의 다른 사용자들과의 구분을 위해 16비트의 전달 계층 프로토

콜 포트 번호가 할당되어야 한다. TCP/IP 서비스를 이용하는 각 응용 프로세스

는 호스트에 하나 또는 그 이상의 포트 번호를 할당받는다. 근원지 응용 프로세

스가 데이터를 전달 계층 프로토콜을 이용하여 목적지 응용 프로세스에 보낼 때,

3가지 정보를 전달 계층 프로토콜에 보내야 한다.

① 전송할 데이터

② 목적지 호스트의 인터넷 주소

③ 목적지 응용 프로세스에 할당되어 있는 목적지 호스트의 포트 번호

TCP/IP 프로토콜에 있는 각 전달 계층 프로토콜은 고유의 포트번호 할당 방법

을 가지고 있다. 예를 들어, TCP 포트 번호 지정은 UDP 포트 번호 지정과 구분

되고, TCP 포트 27로 보내지는 데이터는 UDP 포트 번호 27로 보내지는 데이

터와는 구분된다. 통신을 위해 TCP/IP를 이용하는 대부분의 응용은 클라이언

트-서버 모델*로 구현된다. 전달 프로토콜 포트는 클라이언트-서버 응용의 구

현에 이용된다. 클라이언트-서버 응용에서는 서버라고 하는 하나의 응용 요소가

클라이언트라고 하는 다른 호스트에서 실행되는 응용 요소를 위해 정의된 서비

20 21

Page 7: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

스를 제공한다. 클라이언트-서버 응용에서 클라이언트가 서버와의 통신을 시작

한다. 이때 클라이언트는 서버로 데이터를 전송하여 서비스 요청을 한다. 그러면

서버는 서비스를 수행하고, 클라이언트로 데이터를 반환하여 응답을 보낸다. 이

런 응용에서 서버는 클라이언트가 사용하는 포트의 번호를 알 필요가 있다. 이때

클라이언트는 서버가 응답하게 될 클라이언트 포트 번호를 서버에게 알려 준다.

TCP/IP는 0에서 255 사이의 포트 번호만 사용하고, 다른 포트는 TCP/IP 사용

자들이 할당하도록 남겨두고 있다. 포트 번호가 클라이언트와 서버의 프로세스

에 할당되는 일정한 방식을 제공하기 위해, 포트 번호는 보통 아래 표와 같은 방

법으로 지정된다.

인터넷에서 일반적으로 많이 사용되는 서버들을 지원하기 위해 1에서 255 사이

의 예약된 포트 번호가 잘 알려진 서비스에 할당되어 사용된다. 잘 알려진 서비

스를 위해 할당된 포트 번호는 표준으로 간주되고 있으며, 보통 TCP/IP를 지원

하는 모든 호스트에서 통용되고 있다. 예를 들어, TFTP(Trivial File Transport

Protocol)는 잘 알려진 UDP의 포트 번호 69를 사용한다. TFTP 서버를 이용하

고자 하는 TFTP 클라이언트 응용은 TFTP를 구동하는 서버의 인터넷 주소를

알아야 하고, 호스트 상의 TFTP와 통신을 설정하기 위해 UDP 포트번호 69를

사용한다.

256에서, 1,023 까지의 포트 번호는 원래 UNIX 관련 서비스를 위해 지정되었

다. 이 포트 번호들 중의 일부는 경로배정 기능과 같은 범용 목적의 서비스를 위

해 이용되고 있다. 클라이언트-서버 응용에서 클라이언트 프로세스는 서버와의

통신 설정을 위해 임의의 클라이언트 포트 번호중의 하나를 사용한다. 클라이언

트는 사용하고 있는 임의 포트 번호를 서버에게 보내게 된다.

TCP/IP 구조의 인터넷 계층은 한 네트워크의 호스트에서 인터넷 상의 다른 네

트워크로 데이터가 전송되어야 할 때 이용되는 경로배정과 중계기능을 제공한

다. 인터넷 계층은 근원지와 목적지 호스트 그리고 호스트들 간의 경로 상에 있

는 모든 라우터에서 동작한다. 각 메시지가 인터넷을 따라 전송되는 경로를 결정

하는 경로배정이 바로 이 계층에서 일어나게 된다.

데이터링크 계층의 주 기능은 하드웨어에 종속적인 기능을 다루는 것과 TCP/IP

의 인터넷 계층에 표준화된 인터페이스를 제공하는 것이다. TCP/IP 프로토콜들

은 네트워크 인터페이스 계층이나 그 이하의 계층에서 이용되는 프로토콜에 대

해 세부적인 것까지 언급하고 있지는 않다. 데이터링크 계층은 인터넷 계층으로

부터 메시지를 받아들이고, 원하는 형태의 데이터 링크 기술을 통해 이들의 전송

을 준비하는 역할을 한다. 개별적인 TCP/IP 네트워크는 아마 Ethernet 이나 토

큰 링, FDDI와 같은 LAN 데이터 링크 기술을 이용한 LAN 일 수 있다. 또한,

개별적인 TCP/IP 네트워크는 점대점 전용회선이나 전화회선, 인공위성, 특수한

디지털 회선 등과 같은 WAN 데이터 링크 기술로 구현될 수도 있다. TCP/IP가

널리 사용되고 있는 이유중의 하나는 거의 대부분의 물리적 회선 및 데이터 링크

기술과 연동할 수 있기 때문이다. 데이터 링크 계층의 중요한 기능의 하나는 호

스트 컴퓨터에 설치된 네트워크 카드가 수신하는 프레임을 검사하고 프레임이

인터넷 계층의 어떤 프로토콜로 가야 하는지를 결정하는 것이다.

인터넷은 거대한 컴퓨터 네트워크들의 집합으로서 다른 형태의 데이터 링크 기

술을 사용하는 별개의 물리적 네트워크들을 라우터로 연결한다. 한 호스트가 다

른 호스트와 물리적으로 연결되어 있기만 하면 두 호스트간에 다양한 통신 서비

스가 인터넷을 통해서 제공된다. 연결된 물리적 네트워크와 라우터들은 인터넷

사용자에게는 투명하게 제공된다. 인터넷에 의해 제공되는 다양한 통신 서비스

는 네트워크에 접속된 각 호스트를 모호하지 않게 식별할 수 있는 방법이 있을

때에만 가능하다. 인터넷에서 각 호스트를 식별하기 위한 방법을 설명하겠다.

TCP/IP 환경에서는 각각의 호스트를 세 가지 종류의 식별자, 즉 호스트 이름,

인터넷 주소, 물리적 하드웨어 주소로 식별한다.

TCP/IP 인터넷 사용자인 사람과 응용 프로그램은 알파벳과 숫자로 구성된 호스

트 이름을 사용하여 인터넷 상의 호스트들을 지정하는 경우가 많다. 소규모 인터

넷에서는 8자 이내의 알파벳과 숫자로 기억하기 쉬운 하나의 문자열로도 충분히

모호성없이 호스트를 지정할 수 있으며, 호스트 이름이 내부 구조를 가질 필요는

없다. 인터넷의 규모가 커지면서 하나의 단순한 이름만으로 호스트를 지정하기

22 23

Page 8: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

는 힘들어짐에 따라, 관습적으로 사용되는 계층적인 지정법이 일반적으로 사용

된다. 인터넷에서는 도메인 이름들을 포함하는 트리 구조의 이름 공간이 사용된

다. 도메인 이름은 마침표(.)로 분리되는 일련의 단순한 이름들로 구성된다.

TCP/IP 인터넷에서 각 호스트에는 최소한 하나의 유일한 인터넷 주소가 할당된

다. 인터넷 주소는 32비트의 이진수로서 TCP/IP 프로토콜이 인터넷의 접속점

을 유일하게 식별하는데 사용된다. 인터넷 주소의 중요한 특징은 그 주소에 의해

서 해당 호스트가 접속되어 있는 인터넷상의 물리적 네트워크를 유일하고 모호

함 없이 식별할 수 있다는 것이다.

LAN 데이터 링크와 같은 대표적인 물리적 네트워크 상에서 LAN에 접속된 각

장치에는 유일한 하드웨어 주소 또는 스테이션 주소가 할당된다. 하드웨어 주소

는 네트워크 접속 카드가 생산될 때 할당되며, 사용자들은 알 필요가 없다. 국제

표준을 따르는 LAN 데이터 링크는 48비트 스테이션 주소를 사용하여 LAN 상

의 각 스테이션을 유일하게 식별된다. 그러나, LAN을 위한 국제 표준들 중에는

16비트 스테이션 주소의 사용을 허용하기도 하며, 독점적 LAN 기술을 구현하

기 위한 LAN 데이터 링크에서는 물리적 하드웨어 주소지정을 위해 임의의 비트

수를 사용하는 스테이션 주소지정 전략을 사용하는 것도 가능하다.

사용자가 로컬 호스트에서 다른 원격 호스트와 통신을 시작하려면, 로컬 사용자

는 원격 호스트를 지정할 때에 해당 호스트의 호스트 이름을 사용하는 것이 일반

적이다. TCP/IP 전달 및 인터넷 계층에서 사용되는 프로토콜들은 인터넷 주소

로만 동작하며, 호스트 이름과는 관련이 없다. 따라서, 한 호스트 이름을 그에 해

당하는 인터넷 주소로 변환하기 위하여 응용 계층에서 이름 변환 기능이 수행되

어야 한다. hosts라고 하는 환경 파일을 사용해서 호스트 자체적으로 이름 변환

이 수행될 수도 있다. hosts라는 파일은 빈번히 참조되는 호스트들에 대해 호스

트 이름과 인터넷 주소를 유지하고 있다. 또한가지 방법은 도메인 이름 서버

(DNS : Domain Name Server)를 이용하여 이름 변환 동작을 수행하는 것이

다.

LAN 데이터 링크에 접속된 한 호스트는 같은 LAN에 속한 다른 호스트로 데이

터를 전송할 경우가 많다. TCP/IP 인터넷 계층에서 인터넷 프로토콜(IP)에 의

해 처리되는 데이터 유니트를 IP 데이터그램이라고 한다. IP 데이터그램은 목적

지 호스트의 인터넷 주소만을 가지고 있을 뿐이며, 해당 호스트의 물리적 하드웨

어 주소를 가지고 있지는 않다. 근원지 호스트는 인터넷 주소를 가지고 목적지

호스트의 LAN 스테이션의 물리적 하드웨어 주소를 결정할 수 있어야 한다. 주

소 변환 프로토콜(ARP : Address Resolution Protocol)이 물리적 하드웨어 주

소로 변환하는 역할을 하고 있다. ARP는 LAN 데이터 링크에 접속된 어떤 호스

트에서도 구현될 수 있다. 역 주소 변환 프로토콜(RARP : Reverse Address

Resolution Protocol)은 ARP의 반대 역할(물리적 하드웨어 주소를 인터넷 주소

로 변환하는 역할)을 한다. 처음 전원이 켜질 때에 인터넷 주소를 모르는 컴퓨터

가 RARP를 주로 사용한다. 인터넷 주소를 모르는 호스트는 RARP 서버와 접촉

해서 인터넷 주소를 얻는다.

TCP/IP 인터넷의 동작에서 IP가 수행하는 작업 중의 하나는 경로배정 기능이

다. 경로배정 기능이란 IP 데이터그램이 근원지 호스트에서 목적지 호스트까지

가는 경로는 결정하는 것이다. 각 IP 데이터그램의 헤더에는 근원지 호스트와 목

적지 호스트의 인터넷 주소를 포함하고 있다. 경로배정 기능을 수행하기 위해서

IP는 각 데이터그램의 목적지 인터넷 주소 필드를 살펴보고 그 데이터그램이 어

떤 네트워크로 전송되어야 할 지를 결정한다.

인터넷 주소의 길이는 32비트이며, 네트워크 식별자와 호스트 식별자의 두 부분

으로 구성되어 있다. 네트워크 식별자의 처음 비트들은 인터넷 주소가 어떤 네트

워크 클래스에 속하는지를 나타내고 있다. 가장 자주 사용되는 4가지 클래스에

대한 인터넷 주소 형식은 다음과 같다.

첫째 비트가 0인 주소를 클래스 A 주소라고 한다. 클래스 A 주소는 물리적 네트

워크를 식별하기 위해서 7비트를 사용하고, 나머지 24비트는 호스트들을 식별하

기 위해서 사용한다. 어떤 인터넷에서든지 클래스 A 주소를 사용하는 네트워크

는 126개까지 구성이 가능하다. 클래스 A 주소는 호스트를 식별하기 위해서 24

비트를 사용하기 때문에 클래스 A 네트워크는 실제적으로 거의 무제한의 호스트

들을 포함할 수 있다.

처음 두 비트의 값이 10인 주소를 클래스 B 주소라고 한다. 클래스 B 주소는 네

트워크를 식별하기 위해서 14비트를 사용하고, 호스트를 식별하기 위해서 16비

트를 사용한다. 클래스 B의 주소를 사용할 경우에 최대 216-2개의 물리적 네트

워크의 구성이 가능하고, 각 네트워크에서 최대 216-2개의 호스트가 허용된다.

24 25

Page 9: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

27

처음 세 비트의 값이 110인 주소를 클래스 C 주소라고 한다. 클래스 C 주소는

네트워크를 식별하기 위해서 21비트를 사용하고, 호스트를 식별하기 위해서 8

비트를 사용한다. 클래스 C 주소를 사용할 경우에 최대로 224-2개의 서로 다른

물리적 네트워크의 구성이 가능하며, 각 네트워크에서 최대 254개의 서로 다른

호스트를 연결할 수 있다.

처음 네 비트의 값이 1110인 주소를 클래스 D 주소라고 한다. 클래스 D 주소는

인터넷 내의 여러 호스트들을 하나의 주소로 지칭하는 멀티캐스팅의 형태를 구

현하는 데 사용될 수 있다. 해당 호스트들은 모두 같은 멀티캐스팅 주소를 갖는

IP 데이터그램을 받는다.

인터넷 연결이란 공인 IP주소를 가진 컴퓨터가 인터넷통신망에 물리적으로 연결

된 상태를 의미한다. 인터넷에 물리적으로 연결된 상태는 24시간 통신이 가능한

상태로서, 전화모뎀을 이용하여 한시적으로 인터넷에 접속하는 환경은 인터넷에

연결되었다고 할 수 없다. 인터넷에 연결되기 위해서는 ① 해당 컴퓨터가 인터넷

통신망에 항상 연결되어 있어야 하며, ② 해당 컴퓨터가 인터넷주소(공인 IP주

소)를 가지고 있어야 한다.

컴퓨터가 통신망에 항상 연결되기 위해서는 인터넷을 전용으로 사용할 수 있는

통신망을 연결해야 한다. 인터넷 전용회선은 국내 인터넷서비스 제공업체에서

제공하고 있다. IP주소는 인터넷에 연결된 컴퓨터의 주소로서 인터넷 전용회선

을 연결할 당시 해당 인터넷서비스제공업체(ISP)에서 할당받을 수 있다.

우리가 다른 사람에게 전화를 걸기 위해서는 전화가 전화망에 연결되어 있어야

하고, 그 사람의 전화번호를 알고 있어야 한다. 마찬가지로 인터넷에 연결된 다

른 컴퓨터와 통신을 하기 위해서는 컴퓨터가 인터넷에 연결되어 있어야 하고 컴

퓨터의 주소를 알고 있어야 한다. 컴퓨터의 주소는 숫자로 표현된 주소와 영문자

로 표현된 주소 2가지가 있다. 숫자로 표현된 주소는 아래와 같이 도트로 구분되

어 4단계로 표시된다.

26

도트로 구분된 각 숫자는 0〜255까지의 숫자를 사용할 수 있으며, 숫자로 표현

된 주소는 전세계적으로 중복되지 않게 사용된다. 숫자로 표현된 이러한 주소를

인터넷 공인 IP(Internet Protocol) 주소라고 한다. 그러나 인터넷 사용자들이

다른 컴퓨터와의 통신을 위해서 이렇게 숫자로 표현된 주소를 사용하게 되면, 주

소를 이해하기 힘들고 기억하기가 어렵다. 따라서 숫자로 표현된 주소대신에 영

문자로 표현된 주소를 사용할 수 있도록 하였다. 영문자로 표현된 주소는 우리가

실생활에서 사용하는 영문단어로 구성되어 있어 인터넷 사용자들이 편리하게 다

른 컴퓨터와 통신을 할 수 있다. 영문자로 표현된 주소는 아래와 같이 도트로 구

분되어 여러 단계로 구성된다.

각 단계는 오른쪽 맨 마지막에서부터 1단계, 2단계.. 형식으로 불리며, 전세계적

으로 중복되지 않는 고유한 이름으로 사용된다. 이를 인터넷 도메인(domain)이

라고 한다. 인터넷 도메인 이름은 인터넷에 연결된 전세계의 어떠한 컴퓨터와도

통신을 가능하게 해준다.

• 도메인이름은 영문자[A-Z][a-z], 숫자[0-9] 또는 하이픈[-]의 조합으로만 표

현되며, 영문자의 대, 소문자의 구별이 없다.

• 도메인이름은 영어나 숫자로 시작하여야 하며, 하이픈[-]으로 끝날 수 없다.

• 도메인이름의 길이는 최소 2자에서 최대 63자까지 가능하다.

• 도메인이름에 콤마(,), 언더바(_) 등의 기호를 사용할 수 없다.

• 도메인이름은 전세계적으로 중복되지 않도록 고유하게 사용된다.

인터넷 도메인 이름은 인터넷에 연결된 전세계의 어떠한 컴퓨터와도 통신을 가

능하게 해준다. 인터넷에 연결된 컴퓨터와 통신을 하기 위해서 2가지의 주소를

사용한다. 하나는 숫자로 표현된 주소이며, 다른 하나는 사용하기 편리하고 기억

하기 쉬운 도메인 이름이다. 그러나, 실제 컴퓨터와의 통신은 2가지 종류의 주소

중에서 숫자로 표현된 주소를 사용하여 통신을 하게 된다. 따라서 영문으로 표현

된 도메인 이름을 실제 컴퓨터가 통신할 때 사용하는 숫자로 표현된 주소로 변환

시켜 주어야만 한다.

Page 10: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

아래 그림은 일반사용자가 자신의 컴퓨터에서 www.nic.or .kr 웹페이지를 검색

하는 경우, 도메인이름으로 상대방 컴퓨터와 어떻게 통신을 하는지 보여준다.

일반사용자가 웹브라우저에서 www.nic.or.kr 주소를 입력하게 되면, 웹브라우

저는 제일 먼저 도메인 네임서버에게 www.nic.or.kr의 IP주소를 요청한다. 도

메인 네임서버는 질문한 www.nic.or.kr의 IP주소를 자신의 데이터에서 찾아 해

당 웹브라우저에게 응답을 한다. 응답을 받은 웹브라우저는 IP주소를 이용하여

해당 웹사이트(www.nic.or.kr) 컴퓨터와 데이터를 주고받게 된다. 이와 같이 영

문자로 표현된 주소(도메인)를 숫자로 표현된 주소(IP 주소)로 변환시켜 주는

것을 도메인 네임서비스라고 하며, 이러한 역할을 해주는 소프트웨어를 도메인

네임 시스템이라고 한다. 인터넷상에서 자신의 도메인 이름을 다른 사람이 사용

할 수 있도록 하기 위해서는 반드시 도메인 네임 서버에 도메인 이름을 등록해야

한다. 도메인 네임서버에 등록되지 않은 도메인은 인터넷을 이용하는 다른 사람

이 사용하려 해도 IP주소로 변환할 수 없기 때문에 사용할 수 없다.

인터넷상에서 사용되는 도메인은 전세계적으로 고유하게 존재하여야 하므로 공

통적으로 정해진 체계가 있으며, 임의로 변경하거나 생성할 수 없다. 인터넷의

모든 도메인은 루트라 불리우는 도메인 이하에 아래의 그림과 같이 나무를 거꾸

로 위치시킨 역트리 구조로 계층적으로 구성되어 있다. 루트도메인 아래 단계를

1단계 도메인 또는 최상위 도메인이라고 부르며, 차상위 단계를 2단계 도메인이

라 부른다.

최상위 도메인으로는 com, net, org, edu, gov, mil, int 등 인터넷 초창기부터

사용되던 7개의 일반도메인과 인터넷이 국제화되면서 ISO 3166에 의거하여 세

계의 각 국가들을 두자리 영문약자로 표현한 약 190여개의 국가도메인을 포함한

전세계적으로 약 200여개의 최상위 도메인이 있다. 국가도메인 kr은 한국을 대

표하는 최상위 도메인이며, jp는 일본, fr은 프랑스를 의미한다. 각 국가들은 서

로 다른 최상위 도메인을 사용하며, 최상위 도메인별로 도메인 이름 체계 및 등

록원칙이 다를 수 있다. 최상위 도메인이 com인 경우, 위의 그림에서와 같이

aaa, bbb, ccc 등 2단계에서 도메인 신청자가 원하는 이름을 사용할 수 있으며,

최상위 도메인이 kr(한국) 또는 jp(일본)인 경우, 2단계 도메인은 기관을 분류

(co, or, ac 등)하기 위해서 미리 정의된 이름을 사용하며, 3단계에서 aaa, bbb,

nic 등 도메인 신청자가 원하는 이름을 사용할 수 있다.

역트리 구조로된 도메인 체계에서 도메인이름을 읽는 방법은 최하위 단계에서

상위단계 순으로 한단계씩 위로 읽으면 된다. 예를 들어, 한국인터넷정보센터

(KRNIC)의 도메인이름은 3단계 nic, 2단계 or, 1단계 kr로서 nic.or.kr로 표현

되며, 웹서버, ftp 서버 등을 나타내는 호스트이름은 도메인이름 바로 앞부분에

www.nic.or.kr, 또는 ftp.nic.or.kr과 같이 표현된다.

일반적으로 도메인이름의 등록 및 관리는 NIC(Network Information Center)

이라 불리는 곳에서 수행한다. 한국은 KRNIC(Korea Network Information

Center)에서 kr 도메인을 관리하며, jp 도메인은 일본의 JPNIC에서 com, org,

net, edu, gov 등은 미국 Network Solutions에서 관리한다. 그러나, 국가도메

인중에서 국가 NIC가 있는 경우 국가 NIC에서 도메인을 관리하지만, 국가 NIC

가 없는 경우에는 미국 NSI에서 도메인을 대신 관리해 준다.

KR 도메인은 3단계로 구성된다. 1단계 도메인인 KR 이하에 기관의 성격 또는

지역에 따른 2단계 도메인을 적용하며, 3단계에서 신청기관의 도메인이름을 사

28 29

Page 11: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

용할 수 있다. 한국인터넷정보센터(KRNIC)의 도메인이름은 nic.or.kr로서

Network Information Center를 의미하는 nic, 비영리 기관/단체 성격의 or, 한

국을 나타내는 kr로 구성되어 있다. 또한 웹서비스, ftp 서비스, whois 서비스

등을 위해서 www, ftp, whois라는 호스트이름을 사용한다.

• 1단계 도메인(국가)인 KR은 국가코드 ISO 3166에서 정의된 인터넷 도메인

체계에서의 한국을 대표하는 도메인이름을 의미한다.

• 2단계 도메인(분류)은 기관의 성격을 분류한 6개의 도메인과 지역명을 기초

로 한 16개의 지역도메인이 있다. 도메인 신청자는 기관분류에 의한 2단계 도

메인 또는 지역명에 의한 2단계 도메인을 선택할 수 있다. 2단계 도메인이름

중 ac, go는 사용이 일부 제한되는 도메인으로서 ac는 2년제 이상의 대학 또

는 대학원에 한하여 사용하실 수 있으며, go는 정부기구도표에 명기된 정부기

관에 한하여 사용할 수 있다.

• 3단계 도메인은 상호명, 상표명을 근거로 하여 전체이름 또는 영문 약자 등으

로 자유롭게 표현할 수 있다.

인터넷의 웹서비스는 모든 통신을 세 가지 요소로 축소한다. 세 가지 요소는 데

이터의 위치를 의미하는 URL(Uniform Resource Locator), 데이터를 송수신

하기 위한 TCP/IP 응용 계층의 프로토콜 중의 하나인 HTTP(HyperText

Transfer Protocol), 데이터의 형태로 HTML(HyperText Markup Language)

이다. HTTP 프로토콜은 TCP를 채택하고 있고 TCP는 인터넷을 통하여 신뢰성

있는 데이터 전송을 보장하고 있다. 반대로 UDP는 신뢰성 없는 프로토콜로서

데이터가 올바른 순서대로 도착한다는 것을 보장하지 않는다. 중요한 것은 TCP

는 신뢰성있는 데이터의 전송을 위해 무척 복잡하고 많은 대역폭이 필요하다는

것이다. 따라서 데이터 손실이 소프트웨어 자체와 사람에게 그다지 중요하게 여

겨지지 않는 상황에서는 UDP가 더 유용하다는 것이다.

오디오와 비디오 전송이 고려되는 상황도 마찬가지이다. 사람들은 오디오와 비

디오의 전송 도중 발생하는 손실을 알아차리지 못한다. 만약 오디오와 비디오 데

이터 스트림을 전송하는 도중 약간의 데이터 패킷 손실이 발생했다고 하더라도,

사람의 눈과 귀는 이것을 느끼지 못하거나, 빠진 부분을 추측으로 보완하거나,

또는 어느 정도의 잡음을 견뎌내기 때문에 그다지 큰 문제가 되지 않는다. UDP

는 TCP보다 지점간 데이터의 이동이 빠르게 전달된다. 사람들은 오디오와 비디

오의 데이터 패킷 손실을 보완하는 능력을 가지고 있기 때문에 빠른 속도를 가진

UDP가 인터넷방송을 위하여 적절하다고 판단하고 있다.

오디오/비디오 인터넷방송 소프트웨어 업체들은 다양한 네트워크의 상황에 적절

히 반응할 수 있는 소프트웨어를 만들기 위해 노력하고 있다. 이러한 노력의 최

종 목표는 하나 또는 많은, 혹은 모든 네트워크 표준들과 프로토콜들을 만족시킬

수 있는 적응형 미디어 스트리밍 제품을 만드는 것이다. 그 대표적인 예로써 리

얼 네트워크사의 제품들은 멀티캐스트, UDP, TCP로 적용 범위를 넓혀가고 있

고 마이크로소프트사의 제품들도 마찬가지로 유니캐스트, 멀티캐스트, UDP,

TCP, HTTP등 다양한 프로토콜들을 지원하고 있다. 이 절에서 인터넷방송을 위

한 프로토콜에 대해서 살펴보자.

리얼 네트워크, 넷스케이프, 그리고 콜롬비아 대학에 의해 개발된 RTSP는 실시

간 특성을 가진 데이터의 전달과 주문형 전달에 관해 컨트롤할 수 있는 애플리케

이션 계층의 프로토콜이다. RTSP는 데이터 자원이 라이브 오디오와 비디오 같

은 라이브 데이터 공급과 녹화 이벤트와 같은 저장된 컨텐츠를 모두 지원할 수

있도록 설계되었다. RTSP는 인터넷으로 멀티미디어 데이터를 스트리밍 가능하

게 하기 위하여 RTP, HTTP, IP 멀티캐스트와 같은 프로토콜과 함께 동작한다.

현재 인터넷을 기반으로 하는 멀티미디어의 가장 일반적인 서비스 형식은 스트

리밍이다. 스트리밍을 위해서 클라이언트와 서버 사이에 알맞은 대역폭으로 전

송할 데이터를 패킷 크기에 맞게 자른다. 클라이언트가 일정량의 패킷을 수신하

면 사용자 소프트웨어는 첫번째 패킷을 재생하는 동시에 두번째 패킷의 압축을

해제하고, 한편으로는 새로운 패킷을 수신하는 3가지의 동작을 동시에 수행한

다. 사용자는 전체 미디어 파일을 완전히 다운로드받지 않아도 즉시 재생하여 들

30 31

Page 12: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

을 수 있다. RTSP는 유니캐스트 또는 멀티캐스트를 모두 사용하는 어플리케이

션에서 멀티미디어 스트리밍을 위한 강력한 기능을 제공하기 위한 어플리케이션

계층의 프로토콜이다. 전송 매커니즘은 RTP에 기본을 둔다.

제어를 위한 스트림셋은 프리젠테이션 디스크립션에 의해 정의된다. 클라이언트

는 HTTP등 몇몇 다른 방법을 통해서 프리젠테이션 디스크립션을 요구할 수 있

다. 만약 프리젠테이션이 멀티캐스트 중이면 프리젠테이션 디스크립션은 연속적

인 미디어 사용을 위해 멀티캐스트 어드레스와 포트들을 포함하고 있다. 각 미디

어 스트림은 다른 서버에 존재 할 수 있다. 클라이언트는 다른 미디어 서버들을

위해 자동적으로 제어 세션을 설립하며, 미디어의 동기화는 전달계층에서 수행

된다.

RTSP는 제어와 실시간 전송을 위해서 RTP의 상위 계층에 설계되었다. 따라서

RTP가 수정되거나 기능이 추가되어도 RTSP는 계속적으로 사용할 수 있는 장

점이 있다. RTSP는 유니캐스트 트래픽을 가지고 사용할 수 있기 때문에 유니캐

스트에서 RTP를 가진 IP 멀티캐스트로의 전송을 매끄럽게 해 줄 수 있다.

RTSP는 기능적으로 HTTP와 많은 부분에서 중복된다. 구문과 작동방법이 유사

하고 대부분의 경우 HTTP의 확장된 내용은 RTSP에 추가된다. 그러나 RTSP

와 HTTP의 중요한 차이점은 HTTP는 상태를 유지하지 않는 프로토콜인 반면

에 RTSP는 대부분의 경우 기본적으로 상태를 유지한다. 최초의 RTSP 스트리

밍 서버와 접속이 웹 페이지를 통하여 종종 이루어지기 때문에 HTTP와 상호 작

용을 한다.

[그림1-11]은 RTSP의 구동을 위한 RTP와 RTCP의 관계를 보여준다. 동작절

차는 HTTP를 사용하여 섹션 프리젠테이션 디스크립션을 얻고 미디어 클라이언

트에게 제어를 보낸다. 그리고 멀티미디어 서버는 RTSP를 통해서 통신한다. 실

제 멀티미디어 스트림은 RTP를 통해서 전송되고, 그 세션의 설정과 해제는

RTSP에 의해서 제어된다. 프리젠테이션은 여러 개의 미디어 스트림을 포함할

수 있다. 각 미디어 스트림은 RTSP에 의해서 개별적으로 제어가능하고 RTSP

URL에 의해서 인식된다. RTSP URL은 서버에 저장된 스트림 이름과 미디어

스트림을 다루기 위한 프로토콜을 가리킨다.

통합서비스 구조에는 자원예약을 위한 프로토콜과 QoS(Quality of Service) 제

어가 논리적으로 분리되어 있다. 그 이유는 RSVP를 다양한 QoS서비스에 사용

할 수 있고 통합서비스 구조의 한 부분으로 설계된 QoS 서비스가 다양한 구조와

함께 사용될 수 있기 때문이다. RSVP를 신호체계로 본다면 QoS제어 정보는 신

호 내용이라고 볼 수 있다. RTCP가 QoS에 대한 피드백을 제공하지만 적절한

전달과 전송자와 수신자간의 섹션에 지정한 QoS를 보장하기 위해 또 다른 프로

토콜이 필요하다. RSVP는 인터넷에서 QoS를 보장하기에 적합한 형태를 갖는

다. 상이한 QoS를 제공하고 QoS가 다른 경우는 비용의 차이가 있을 수 있고 사

용자는 상이한 네트워크 자원을 사용할 것이다.

RSVP는 동적 QoS를 지원한다. 수신자가 요청하는 자원들은 시간에 따라 변동

할 수 있다. RSVP는 수신자 정책으로 멀티캐스트 그룹과 같은 동적인 환경에서

더 적합하다. 멀티캐스트에서 예약 요청은 동일한 자원에 대해 예약하는 다른 수

신자의 요청과 만나는 점까지만 도달되면 된다. 이런 수신자 지향 설계는 큰 규

모의 멀티캐스트 그룹과 동적 그룹관리를 수용하려는 의도가 있다. RSVP는 IP

상에서 동작하고 프로토콜 스택에서 전송계층을 담당하지만 섹션 계층서비스를

제공한다. RSVP는 라우팅 프로토콜이 아니고 IGMP, ICMP와 같은 제어 프로

토콜이다. 예약 요청을 어디로 전송해야 하는가를 결정할 수 있도록 라우팅 프로

토콜을 이용한다. 라우팅 경로가 변경되면 RSVP는 새로운 경로에 맞도록 예약

을 조정한다. 라우터는 QoS제어 요청을 경로 상의 모든 노드에게 전달하는데

RSVP를 사용한다. 요청한 서비스를 제공할 수 있도록 상태를 설정하고 유지하

는데 사용한다. 예약이 이루어지면 RSVP를 지원하는 라우터는 입력 패킷의 경

로와 QoS를 결정한다.

네트워크 자원 예약 작업을 시작하기 위해서 RSVP 전송자는 Path메세지를

RSVP 수신 목적지로 전송한다. RSVP 기능을 갖는 라우터들은 Path메세지를

수신하고 유효한지 검사한다. 에러가 발견된 경우 라우터는 Path 메시지를 버리

고 PathErr 메시지를 전송자에게 전송하고 전송자는 이 메시지를 수신하고 적

절한 조치를 한다. 유효한 Path메시지는 라우터 경로상태에 이 메시지를 전송한

전송자를 등록한다. 라우터는 저장된 경로 상태 Path 메시지를 생성하고 라우팅

32 33

Page 13: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

트리를 따라 전송한다. Path 메시지가 수신되면 RSVP 수신자는 Resv 메시지

를 전달된 경로를 통해 전송자에게 다시 전송한다. 수신 호스트는 네트워크에

QoS를 요청하는데 RSVP를 사용한다. RSVP 예약요청은 요구하는 QoS에 대한

세부사항과 이 QoS를 수신할 데이터 패킷의 정으로 구성된다.

예약이 설정되는 동안 RSVP QoS 요구는 인정제어(admission)와 정책제어

(policy control) 지역 모듈로 전달된다. 정책제어는 사용자가 예약을 할 수 있는

지 결정한다. RSVP 부분이 아닌 하부의 통합서비스 구조에서 얻은 정보를 이용

하는 인정과 정책에 따라 요청은 인정되거나 거부된다. 예약이 거부되면 RSVP

는 Error메세지를 해당 수신자에게 보낸다. 예약이 수용되면 노드는 입력 패킷

을 선택할 수 있도록 패킷구별자를 만들고 출력되는 쪽의 QoS를 보장하도록 패

킷 스케줄러를 조정한다. 예약 요청은 전송자 쪽의 노드들로 전파된다. Resv 메

시지 수신이 성공하면 전송자는 전송을 시작한다. 기본적인 RSVP 예약모델은

one-pass 방식이다. 수신자가 예약요청을 하고 경로상의 각 노드는 이 요청을

인정하거나 거부한다.

RTP는 수신번호와 payload*를 구별하는 확장구조를 지원하는 방법으로 멀티

미디어 데이터를 전송하도록 설계되어 있다. RTCP 프로토콜은 RTP 세부사항

의 부분으로 정의된다. 이 프로토콜은 RTP 데이터전송을 감시하고 관리한다.

최근 버전의 RTP는 두 프로토콜의 설명을 포함하고 있고 표준으로 RFC로 승인

되었다(RFC 1889). 이름이 리얼타임이지만 사용자가 데이터를 송신한 후 곧바

로 수신하는 것을 의미하지 않는다. 이 경우 실시간은 스트림을 기본으로 하는

전송의 속성을 의미한다. 따라서 사용자는 자신의 로컬 기계상의 스트림 데이터

와 네트워크를 통해 전송된 스트림 데이터를 구별할 수 없다.

RTP는 end-to-end 전송 서비스를 제공하지만 일반적으로 전송계층 프로토콜에

서 제공되는 모든 기능을 지원하지 않는다. 예를 들면 RTP는 일반적으로 UDP

의 멀티플렉싱*과 체크섬 서비스*를 이용하기 위해 UDP 위에서 수행되지만

IPX, ATM에서도 수행될 수 있다. RTP는 연결 개념이 없고 연결지향 또는 비연

결지향의 하위계층 프로토콜에서 작동될 수도 있다. RTP는 payload를 식별하

기 위한 확장된 구조와 함께 순서번호와 타임 스탬프*를 제공함으로써 멀티미

디어 데이터의 전송을 돕도록 설계되었다. 두번째 프로토콜 RTCP는 RTP 명세

의 부분으로써 정의되었다. 목적은 RTP 데이터 전송의 제어와 모니터링을 제공

하도록 하는 것이다.

RTP는 또한 적절한 전달을 확실하게 하는 어떠한 구조도 제공하지 않고, QoS

를 보증한다. 따라서 전송을 보증하지 않거나 무순서 전송을 방해하지 않고 네트

워크의 신뢰성을 가정하지 않는다. 데이터의 전달에서 변화를 채택할 수 있는 몇

몇 어플리케이션은 그와 같은 보증은 요구하지 않으나, 그러한 것들을 위해서,

RTP는 RSVP같은 자원예약과 신뢰성 있는 서비스를 제공하는 다른 구조와 같

이 사용된다.

RTP가 유니캐스트 섹션에 사용할 수 있다고는 하지만, 그것은 주로 멀티캐스트

섹션을 위해 설계되었다. 단지 송신자로부터의 멀티캐스트가 아니라 그것을 받

은 사람이 자신의 보고를 그룹의 모든 회원에게 되돌려 보낼 수 있는 멀티캐스트

이다. RTCP에 이 멀티캐스트 피드백은 모든 참여자들이 그들의 섹션과 그들이

송신측에게서 받을 수 있는 전송 데이터가 요구하는 대역폭을 알게 된다.

34 35

Page 14: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

송신자와 수신자의 일반적인 규칙에서 RTP는 두 가지 다른 규칙인 트랜스레이

터과 믹서를 정의한다. 트랜스레이터와 믹서는 네트워크상에서 송신자와 수신자

사이에 위치하고 RTP 패킷을 전달한다. 트랜스레이터는 간단하게 하나의

payload 형태를 다른 것으로 번역하는 것이다. 예를 들면, 비디오 파일을 네트워

크에서 대역폭 사용을 감소시키기 위해서 다른 코덱*으로 인코드했을 때 요구된

다.

믹서는 트랜스레이터와 비슷하지만, 다른 형태로 개인적인 스트림을 번역하는

대신에, 다양한 스트림을 원래의 형태를 보존하는 하나의 스트림으로 조합한다.

모든 어플리케이션들이 믹서를 지원하는 것은 아니다. 예를 들어, 이러한 접근은

오디오 컨퍼런스에서 잘 동작하지만, 보통 다수의 비디오 자원은 하나의 스트림

으로 조합할 수 없다.

RTCP 메시지는 많은 패킷들로 이루어진다. 포맷은 RTP 데이터 패킷과 비슷하

다. 멀티캐스트 섹션에서 RTCP 패킷은 RTP 패킷과 동일하게 주기적으로 멀티

캐스트 된다. 따라서 실제 데이터가 없어도 멤버섹션과 연결이 지속되고 있음을

알려주게 된다. 다음은 RTCP의 주요 기능이다.

데이터의 질을 고려하면서 어플리케이션에 정보를 제공하는 기능을 한다. 각

RTCP 패킷은 전송자, 수신자 보고를 갖는다. 전송된 패킷, 손실된 패킷 등의 통

계를 가지고 있다.

RTCP, RTP 소스의 트랜스포트 계층의 구별자를 전송한다. CNAME이라고 하

는 이 구별자는 RTP 섹션에 참여하는 사용자를 추적한다. 사용자는 RTP 섹션

에 관련된 집합에 참여하는 참여자에게 여러 개의 데이터를 연결시킨다. 수신자

는 RTP섹션 내의 참여자의 다중 데이터(오디오, 비디오)를 연관되도록 한다.

트래픽*이 네트워크 자원을 과도하게 사용하지 못하게 하고 RTP의 확장성을

보장한다. 제어 트래픽은 전체 섹션 트래픽의 5%를 넘지 않도록 한다. 참여자들

의 함수를 이용하여 RTCP 패킷이 전송되는 속도를 조절하여 이런 트래픽 한계

를 넘어 설 수 있다. 각 참여자는 모두에게 컨트롤 패킷을 전송하기 때문에 각 참

여자는 전체 참여자의 수를 추적할 수 있고, 이 멤버들을 이용하여 RTCP 패킷

을 전송하는 속도를 계산하는데 사용한다.

선택 기능으로 섹션의 모든 참여자에게 제어 정보를 전송하는데 RTCP를 사용

할 수 있다. 예를 들면 사용자 화면상에서 참여자를 구별하기 위해 개인 이름을

전송할 수 있다. 이 기능은 참여자가 비정상적으로 가입 탈퇴하는 섹션에서 유용

하게 사용될 수 있다. 이런 기능 때문에 RTCP는 적어도 4개의 섹션(서비스

QoS 감시, 혼잡제어, 미디어와 소스 구별, 섹션 크기간의 동기화)과 관련된 작업

을 지원하는데 사용된다. RTCP에서 최근에 오디오 또는 비디오 데이터를 전송

한 어플리케이션은 모든 섹션 멤버에게 멀티캐스트되는 송신자 보고를 발생시킨

다. 이 보고는 패킷의 갯수와 전송된 바이트를 포함하기 때문에 수신자는 실제

데이터 속도를 측정할 수 있다.

네트워크 관리자는 RTCP 패킷 내의 정보를 이용하여 멀티캐스트 분배에 있어

서 네트워크 성능을 평가하는데 사용할 수 있다. 또한 RTCP패킷이 모든 참여자

에게 전송되므로 사용자는 문제점이 어디서 발생되는지 판단할 수 있게 해준다.

흐름제어와 혼잡제어는 RTCP 전송자와 수신자 보고에 의해 이루어진다.

RTP와 RTCP는 스트림의 흐름을 제어한다. 다중 데이터 스트림을 동기화 하는

것은 모든 스트림에서 발생하는 지연을 충분히 보상해 줄 수 있는 재생 버퍼나

관련 스트림 간의 관련 도착 시간에 대한 피드백을 제공하는 RTCP같은 관리 스

트림을 이용하여 어플리케이션 계층에서 수행되어야 한다.

36 37

Page 15: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

MMS(Microsoft Media Server) 프로토콜은 윈도우 미디어 게시 지점에서 유니

캐스트로 제공되는 컨텐츠에 접근하는데 사용되는 프로토콜이다. MMS는 윈도

우 미디어 유니캐스트 서비스에 연결하는 기본 방식이기 때문에 최종 사용자가

하이퍼링크를 통해 컨텐츠에 액세스하지 않고 윈도우 미디어 플레이어에 URL

을 입력하여 컨텐츠에 접근하려고 할 때는 반드시 MMS 프로토콜을 사용하고

해당 스트림에 대한 참조가 있어야 한다.

MMS 프로토콜에는 Play나 Stop같은 클라이언트 요청을 처리할 수 있는 제어

매커니즘과, 클라이언트가 인식할 수 있는 형태로 미디어 패킷이 도착하도록 하

는 데이터 배달 매커니즘이 있다. 제어 요청은 항상 TCP로 전달되고 데이터 패

킷은 TCP나 UDP로 전송된다. MMS 프로토콜을 사용하여 URL에 연결할 때는

프로토콜 롤오버라는 과정을 통해 최상의 연결을 찾는다. 프로토콜 롤오버는 윈

도우 미디어 서버가 MMSU(UDP 데이터 전송 방식을 채용한 MMS 프로토콜)

프로토콜을 사용하여 클라이언트를 서버에 연결하려고 할 때 시작하는데,

MMSU 연결이 실패할 때 서버가 MMST(TCP 데이터 전송 방식을 채용한

MMS 프로토콜)를 사용해 보는 것을 말한다.

윈도우 미디어 플레이어에서 게시 지점에 연결하려면 컨텐츠를 유니캐스트 할

수 있는 URL을 지정해야 한다. 컨텐츠가 홈 게시 지점을 통해 주문형으로 게시

될 경우 이 URL은 서버 이름과 .asf 파일 이름으로 구성된다. 브로드캐스트 유

니캐스트로 게시할 라이브 컨텐츠가 있을 때에 URL은 서버 이름과 게시 지점의

별칭 이름으로 구성된다.

MMSU(Microsoft Media Server protocol/UDP)는 MMS 프로토콜의 서브프

로토콜이다. MMSU는 UDP 프로토콜을 사용하여 스트리밍할 파일을 명시적으

로 요청하는데 사용된다. URL에 MMSU를 지정하면 TCP나 HTTP 등 다른 데

이터 프로토콜로 프로토콜 롤오버 현상이 발생하지 않는다.

MMST(Microsoft Media Server protocol/TCP)도 MMS 프로토콜의 서브프

로토콜이다. MMST는 TCP 프로토콜을 사용하여 스트리밍할 파일을 명시적으

로 요청하는데 사용된다. URL에 MMST를 지정하면 UDP나 HTTP 등 다른 데

이터 프로토콜로 프로토콜 롤오버 현상이 발생하지 않는다.

윈도우 미디어 서버가 컨텐츠를 클라이언트에게 스트리밍할 때

HTTP(Hypertext Transfer Protocol)를 사용하도록 구성할 수 있다. 대부분의

방화벽이 HTTP는 통과시키기 때문에 HTTP 스트리밍을 사용하면 장애물인 방

화벽을 넘는데 도움이 된다. 기본값으로 윈도우 미디어 서비스에서는 HTTP 스트

리밍이 활성화되어 있지 않다. 윈도우 미디어 유니캐스트 서비스나 윈도우 미디어

스테이션 서비스에서 HTTP를 활성화하기 전에 먼저 이것이 초래할 결과에 대해

고려해 보아야 한다. 원하는 윈도우 미디어 구성 요소 서비스에서 HTTP 스트리

밍을 사용하려면 먼저 해당 HTTP 스트리밍이 활성화되어 있는지 확인해야 한다.

MSDB(Media Stream Broadcast Distribution) 프로토콜은 윈도우 미디어 인

코더와 윈도우 미디어 서버 구성 요소간에 스트림을 배포하고 서버간에 스트림

을 전송하는데 사용되는 프로토콜이다. MSBD는 스트리밍 미디어와 함께 사용

하도록 최적화된 연결 지향적인 프로토콜이다. MSBD는 클라이언트/서버 연결

성과 ASF 컨텐츠의 품질을 테스트하는 데 유용하지만 클라이언트가 ASF 컨텐

츠를 받는 주된 프로토콜로 사용하기는 어렵다. 윈도우 미디어 인코더는 최대

15개의 MSBD 클라이언트를 지원할 수 있다. 따라서 윈도우 미디어 서버없이도

최대 15명까지 윈도우 미디어 인코더를 이용하여 서비스 할 수 있다. 윈도우 미

디어 서버는 최대 5개의 MSBD 클라이언트를 지원할 수 있다. 그러나 윈도우

미디어 서버는 네트워크의 부하가 크기 때문에 일반적으로 MSBD 프로토콜을

사용해서 서비스하지 않는다.

H.323 규격은 LAN 환경에서의 멀티미디어 통신을 위한 터미널, 장비, 그리고

서비스를 규정하고 있는데 이것이 서비스의 품질을 보장하지는 않는다. H.323

터미널과 장비를 화상전화를 포함하여 실시간 음성, 데이터, 비디오를 전달할 수

있다. H.323 표준은 지점간 회의와 다지점간 회의뿐만 아니라 독립형 장비와 내

장형 컴퓨터 기술을 포함한 폭넓은 범위에 적용되고 있다. 이것은 지점간 회의와

다지점간 회의를 위한 호출 제어, 멀티미디어 운영, 그리고 접속 문제의 해결에

집중하고 있다. H.323은 네트워크간의 화상회의를 가능토록 하는 광범위한 통

신 표준들의 일부분이다. H.322X로 알려진 이러한 표준들은 ISDN을 위한

H.323과 PSTN 통신을 위한 H.324를 포함하고 있다.

T.120 표준은 일련의 통신 프로토콜과 응용프로그램 프로토콜, 그리고 실시간

멀티포인트 데이터 통신을 위해 지원하는 서비스들을 포함하고 있다. 이러한 멀

티포인트 기능들은 데스크탑 데이터 컨퍼런싱, 멀티유저 응용프로그램, 그리고

38 39

Page 16: 를들 - mm.sookmyung.ac.krmm.sookmyung.ac.kr/~yiyoon/Lecture/IBA/eBook/Part2/Ch1/1-1.pdf · 매체로멀티미디어정보를전달하는것을의미한다. ... 결형프로토콜에서는통신

어가 그것을 어떻게 전달받을지 모른다면 거기에는 통신을 위한 더 많은 지점들

이 있을 수가 없다. 그래서 표준들은 하나의 소프트웨어 응용프로그램에 의해서

전달되고 다른 것에 의해서 수신되는 방법을 만들기 위해 매우 중요하다.

인터넷방송 소프트웨어 응용프로그램들이 서로 작동할 있도록 하기 위하여 해

야할 많은 일들이 있다. 이러한 소프트웨어 응용프로그램들은 지금도 발전되고

있다.

ITU(International Telecommunication Union Standards)는 각 나라의 정부

와 개인 부문들이 세계의 원격통신 네트워크와 서비스를 통합 조정해 나가는 국

제적 조직이다. 수많은 산업들이 빠른 속도로 수직/수평 통합을 해 나가고 있는

상황에서 전화통신과 인터넷 산업에서 ITU의 역할은 점차 중요해 지고 있다.

ITU는 오디오/비디오 압축과 통신표준인 H.320 Suite로 화상회의 산업을 위해

중요한 표준화 임무를 수행했다. H.320 표준은 서로 다른 벤더의 제품들간에 화

상회의가 가능할 수 있도록 설계되었다. 그것은 특별히 부분적인 T1라인, 56개

의 전화교환선, 그리고 ISDN과 같은 회선 교환 매체 네트워크를 이용한 회의를

표준화한 H.323이 있다.

W3C는 웹의 발전을 위한 공통 프로토콜을 개발하기 위하여 1994년 설립된 국

제 산업 컨소시엄이다. 인터넷방송을 위하여 오늘날 W3C에서 진행중인 가장 중

요한 프로젝트는 SMIL과 XML에 관한 연구이다.

41

멀티플레이어 게임을 포함한 공동 응용프로그램의 전반적인 새로운 영역을 구성

하는 블록을 구축하는 데 있어 무척 중요하다.

XML(Extensible Markup Language)은 웹페이지를 구축하기 위해 사용되는

HTML(Hyper Text Markup Language)과 같이 고정된 포맷이 아니기 때문에

확장이 가능하다. 일반적인 마크업 랭귀지는 HTML과 같은 문서형식을 제작하

기 위하여 어떠한 방법으로 정보를 표현할 것인가를 사전에 정의하고 있다.

XML은 이러한 형식을 뛰어넘어 자신만의 맞춤형 마크업 언어를 정의할 수 있도

록 하고 있다.

W3C(World Wide Web Consortium)는 SMIL을 제안하였다. SMIL은 오디

오, 이미지, 텍스트, 그리고 스트리밍 오디오/비디오와 같이 서로 다른 형식의 미

디어 객체들을 쉽게 혼합할 수 있도록 디자인되었다. 코딩은 웹페이지에서 요소

들을 기술하기 위한 방법으로 단순한 태그를 가지고 있는 형태이다. SMIL은 제

안된 언어일 뿐이고 그 자체로는 미디어 포맷이 아니다. 스트리밍 미디어가 가지

고 있는 공통된 문제는 비디오에 오디오를 정확히 동기화 하는 것이다. 긴 비디

오 파일은 오디오와 비디오의 시간오차가 생기는 시간편류 문제를 가지고 있다.

SMIL과 RTSP는 시간편류 문제해결에 초점을 맞추고 있다.

IETF는 인터넷 아키텍처의 진보와 인터넷의 부드러운 작동에 관심을 가지는 네

트워크 디자이너, 오퍼레이터, 벤더, 그리고 시장 조사자들의 국제적 공동체이다.

라우팅, 트랜스포트, 보안과 관련된 수많은 임무들과 함께 IETF는 프로토콜 표

준을 제정하는 임무를 맡고 있다. 프로토콜은 각각의 하드웨어나 소프트웨어 구

성 요소가 특별한 기능면에서 서로 상호작용하는 방법을 정의한다. 인터넷방송

소프트웨어 응용프로그램 모두는 프로그래밍 인터페이스를 통하여 TCP/IP 프로

토콜로 라우터, 스위치, 그리고 운영체제와 같은 통신망 접속 장비들이 서로 상호

통신 할 수 있도록 하는 전달 메커니즘이다. 소프트웨어 응용프로그램들은 두 지

점간에 정보를 전송하는 운송수단이다. 즉 전달 종류의 소프트웨어가 한쪽 끝단

에 있는 운송수단 내부에 어떠한 정보를 입력하고 반대편 끝단에 있는 소프트웨

40