각각을 간단하게 살펴보면 다음과 같다.

 

✔ 7층 : Application Layer

 

여러 가지 서비스를 제공한다. 사용자로부터 정보를 입력받아 아래층으로 전달하고 아래층에서 보내주는 정보를 사용자에게 전달한다. 어플리케이션층은 사용자에게 서비스를 제공하고 사용자가 제공한 정보나 명령을 하위층으로 전달하는 역할을 수행한다.  우리가 잘 알고 있는 telnet, FTP, SMTP, POP, SNMP, WWW 그리고 '마이크로소프트 네트웍'과 '노벨 네트웍'등이 이 서비스에 해당된다.

 

✔ 6층 : Presentation Layer

 

사용자가 주는 정보는 통신에 적당한 형태로 변환하고 세션 층에서 전달한 정보는 사용자에 맞게 변환한다. 즉, 프리젠테이션층은 세션층에서 넘겨준 데이터를 어플리케이션이 이해할 수 있는 형태로 바꾸고 반대로 어플리케이션이 넘겨준 데이터를 세션층이 다룰 수 있는 데이터로 바꾸어 전달하는 일을 담당한다.  대표적인 것이 인코딩(디코딩)과 암호화이다.

 

✔ 5층 : Session Layer

 

정보가 흐르는 통로를 만들거나 폐쇄한다. 암호를 확인하거나 속도 조절도 행한다. 다시말해,세션층은 어플리케이션이 네트웍 에러의 영향을 가능한 적게 받도록 하는 것이 주목적이다.  대부분의 네트웍 어플리케이션에서 정보는 대량으로, 지속적으로 전달되어야 한다. 

 

그러나 그 전송 중간에 에러가 발생하는 경우 전송을 멈추고 끊어진 곳부터 재전송을 요구해야 한다.  이런 일까지 모두 어플리케이션이 다 담당한다면 대단히 부담스러운 작업이 될 것이다.  세션층은 이러한 전송실패의 영향을 최소화하기 위해 만들어 졌다.

 

세션층의 또 다른 임무는 이 기종간의 통신환경에서 데이터의 호환성을 보장하는 것이다. 사용자들이 C언어 같은 고급 언어로 프로그램을 짜서 소스를 배포한 다음 각각 다른 기종에서 컴파일 한다면 기계에 따라 정수형이 16비트, 32비트로 다르게 표현되는 경우도 있다. 이런 경우를 대비해서 세션층에서는 서로 다른 길이를 갖는 데이터들을 적절하게 변환하는 기능을 가진다.

 

✔ 4층 : Transport Layer

 

정보의 전달을 관리 감독한다.  네트워크 층에서 온 정보를 세션 층의 어느 어플리케이션에 보낼 것인가를 판독하고 네트워크 층으로 나가는 경우는 경로를 선택한다.

 

✔ 3층 : Network Layer

 

정보가 전달될 상대의 주소를 찾고 나에게 온 정보의 주소를 확인하여 내 것이면 트랜스포트 층으로 전달한다.

 

✔ 2층 : Data Link Layer

 

네트워크층에서 확인한 주소의 상대와 물리적 연결을 위한 통로를 열고 유지한다. 에러를 검출하고 수정한다.

 

✔ 1층 : Physical Layer

 

데이터를 비트 단위로 쪼개어 전기적 신호로 변환한다.

 

위의 7계층이 이해가 않되는 경우는 그냥 어플리케이션층, 프로토콜층, 물리층으로 이해하면 편하다. 실제로 랜 카드에는 1,2층이 탑재되어 있고 프로토콜에는 3,4층이, 웹브라우져 등에는 5,6,7층이 탑재되어 있다.

 

네트워크를 다루는 프로그램은 컴퓨터의 자원을 다루는 것인데 컴퓨터의 자원은 기본적으로 OS가 다룬다. 과거에는 DOS를 띄운 상태에서 네트워크 프로그램이 램 상주로 뜨기도 하였으나 현재는 OS자체가 네트워크를 담당하게 되었고 OS의 기능 중 특별히 네트워크를 강조할 때 NOS(Network OS)라고 한다. 현재 시장을 3분하고 있는 NOS로는 UNIX, NetWare, Windows 등이 있다.

 

실제 ISO 7 계층을 만든 이유 중 하나는 전 세계 사람이 공용하여 쓸 수 있는 공짜의, 공개된 프로토콜을 만들기 위한 것도 있었다.  그러나 7계층이 발표된 시점에 이미 많은 프로토콜이 사용되고 있었고 특히 WAN에서는 TCP/IP가 표준으로 자리잡아 독보적인 위치를 확보하고 있었다.  그 이후, 1 계층과 2 계층에서는 Ethernet이, 3계층과 4계층에서는 TCP/IP, NetBuei, IPX등이 업계표준으로 자리잡게 되었다.

 

OSI 7계층에 따른 프로토콜(OSI 프로토콜) 교과서 같은 곳에 소개되다가 차세대 시리얼 버스 규격인 IEEE1394에 사용되고 있다.  5,6,7계층은 따로 따로 구현되기 보다 통합되어 여러 가지 '서비스'라는 이름으로 제공된다. Telnet, FTP, e-mail (SMTP, POP), News (NNTP), NetBIOS 등이 이 서비스 층에 해당된다.

 

OSI 7 계층에 대한 간단한 예제

 

미국에 있는 친구에게 편지 보내는 일을 OSI 7 Layer를 적용시켜서 설명한 것이다.

미국에 있는 친구는 억울하게도 한국어를 모르며, 편지를 보내는 나 또한 영어를 모른다.

 

Sending

 

✗ Application Layer (Layer 7) : 편지를 쓰는 것을 의미한다.

 

✗ Presentation Layer (Layer 6)

     한글로 작성한 편지를 미국 친구가 알아 볼 수 있게 영어로 번역하는 작업이다.

 

✗ Session Layer (Layer 5) : 미국 친구의 집 주소를 기입하는 일이다.

 

✗ Transport Layer (Layer 4)

     우체국에 편지를 접수시키기 위한 절차, 즉 배 또는 비행기등의 운송수단을 결정한다.

 

✗ Network Layer (Layer 3)

     우체국에 있는 여러 편지들을 같은 목적지별로 분류하는 작업이다.

 

✗ Data Link Layer (Layer 2)

     해당되는 목적지와 운송 방법에 따라 분류하며, 해당되는 목적지와 직접 연결이 되지 않는 경우 중간 경유지를 선택하여 분류하는 작업이다.

 

✗ Physical Layer (Layer 1)

     실제적으로 편지가 배, 비행기, 자동자 등의 운송순단에 의하여 운송되는 것을 의미한다.

 

Receiving

 

✗ Physical Layer (Layer 1)

     실제적으로 편지가 배, 비행기, 자동차등의 운송 수단에 의하여 운송되는 것을 의미한다.

 

✗ Data Link Layer (Layer 2)

     중간 경유지를 거친 운송물과 그렇지 않은 운송물을 분류한다.

 

✗ Network Layer (Layer 3)

     해당 주소지에 따라 각각의 편지를 각 우체국으로 분류하는 작업을 의미한다.

 

✗ Transport Layer (Layer 4)

     각 우체국에서 주소에 따라 분류하는 작업을 의미한다.

 

✗ Session Layer (Layer 5)

     우체부에 의해서 배달되는 작업을 의미한다.

 

✗ Presentation Layer (Layer 6)

     편지를 보내는 과정에서 이미 작업을 하였을 경우에는 이 과정은 필요가 없다.

     만약에 작업을 하지 않았을 경우에는 한국어로 된 편지를 영어로 번역하는 작업을 해야 한다.

 

  ✗ Application Layer (Layer 7)

     본인이 편지를 읽는다.

 

 

OSI 각 계층별 역할 (이메일 전송비유)

 

장치 A의 사용자가 네트워크를 사용하여 장치 B로 데이터를 전달하는 순서대로 OSI 각 계층의 기능을 알아보도록 하자. 장치 A의 사용자가 장치 B의 사용자에게 이메일을 보낸다고 하자. 장치 A 사용자는 이메일 프로그램을 실행하고, 보내고자 하는 메세지를 작성하고 "보내기" 버튼을 누르므로써, 네트워크 데이터가 전송되기 시작한다.


작성된 메세지는 응용 계층(Application Layer)에서 표현 계층으로 전달하게 된다.

표현 계층(Presentation Layer)으로 전달된 메세지는 공통된 표형형식으로 데이터를 변환하거나, 데이터를 암호화, 또는 데이터 압축을 수행한다. 이렇게 변환된 데이터는 세션 계층으로 전달되게 된다.

 

세션 계층(Session Layer)으로 전달된 데이터는 데이터의 동기화를 위하여 일정한 길이 마다 sync를 삽입하여 전송 계층으로 데이터를 전달하게 된다.

 

전송 계층(Transport Layer)에서는 발신지와 목적지의 주소 지정을 하고, 연결 방식을 연결(Connection), 비연결(Connectionless) 방식으로 설정하며, 흐름 제어와 오류 제어 기능을 한다. 그리고, 데이터를 전송할 수 있는 세그먼트 단위로 나누고 네트워크 계층으로 데이터를 전달하게 된다.

 

네트워크 계층(Network Layer)에서는 발신지와 목적지의 주소가 아닌 라우팅에 필요한 논리 주소를 설정하고, 패킷에 대한 라우팅을 정보를 삽입 한다.

 

데이터링크 계층(Datalink Layer)에는 우선 프레임단위로 데이터를 나눈다(데이터를 받는 쪽에서는 프레임을 모아서 재 결합을 한다). 그리고 흔이 MAC 주소(MAC Address)라고 부르는 물리적인 주소지정을 하고, 각 양 끝단의 속도 차이에 대해 원활하게 해 주기 위한 흐름 제어를 한다. 또한 데이터의 오류를 막기 위하여 CRC 방법이나 체크섬(Check Sum) 방식을 사용하여 데이터를 받는 쪽에서 데이터의 오류를 검사할 수 있도록 설정한다.

 

물리 계층(Physical Layer)에는 매체의 물리적 특성 즉, 전송 매체가 일반 케이블인지, 광 케이블인지, 매체의 길이 등의 설정을 한다. 그리고, 전송 방식과, 데이터를 회선으로 보내기 위한 전기적인 변환을 담당한다.

 

OSI 7계층 참조모델 예제 (메신저 비유)


OSI 참조 모델이 지향하는 통신 모델이 P2P의 형태입니다. P2P 통신의 과정을 전제로 둔 후, 그 과정을 역할별로 나눈 7개의 논리적인 계층으로 구성되어 있구요.. 질문이 정확하지 않아서 자세히는 답변드리지는 못하겠는데.. 말씀하신 메신져도 이 모델에 맞춰 설명될 수 있죠..

 

메신져 인터페이스에 텍스트를 입력하는 그 순간이 7계층이 되겠고, 입력된 텍스트는 컴퓨터간에 인식이 가능한 형태로 바뀌어, 전송될 때 압축이 되겠죠(6계층)..

 

이렇게 컴퓨터내에서 변환된 코드(데이터)가 상대방에게 전송되려면 상대방도 메신져에 연결이 되어야 하겠구요(5계층)

 

여기까지는 그냥 간단한데 아래부턴 조금 깁니다.

A와 B가 메신져를 할 때 A가 보낸 데이터는 자신의 네트워크 주소(MAC, IP)와 상대방의 주소(마찬가지)를 포함하고 있는데.. 이 데이터가 인터넷 상에서 B가 속해있는 LAN을 찾을 때 데이터에 있는 상대방의 IP주소를 보고서 네트워크를 찾아 그 네트워크의 라우터에 전송됩니다. 이는 라우터라 라우팅이라는 기능을 이용해 길잡이 해주는 것이죠..(3계층)

 

이 라우터까지 왔으면 그 라우터가 속한 네트워크 내에서 상대방 B의 컴퓨터를 찾아가야 하는데 이때 길잡이를 해주는게 스위치(스위칭허브)입니다. 얘는 데이터에 있는 MAC 주소를 보고서 길잡이를 해주게 되는거죠..(2계층)

 

그리고 이렇게 데이터가 전송된다는 것 자체는 도선을 타는 전류로 볼 수 있겠구요..(1계층). 헌데 이 데이터가 컴퓨터내에 들어오면 컴퓨터는 이놈이 어떤 종류의 데이터인지 구분을 해서 해당 데이터가 속하는 프로토콜 포트로 집어 넣어 메신져에서 B가 수신합니다.(4계층)

'old > Mobile' 카테고리의 다른 글

스텁(Stub)과 스켈레톤(Skeleton)  (0) 2010.05.10
Vcard 타입과 Vcalendar 타입  (0) 2010.05.10
인코딩과 디코딩  (0) 2010.05.10
Ad-Hoc 이란?  (0) 2010.05.10
MIME 개념잡기  (0) 2010.05.10
Posted by jazzlife
,