TISTORY 바로가기
Candle
BLOG main image

Are you passionate? You lead.!

전체 (132)
네트워크 (13)
네트워크+ -ComTia- (11)
Unix(Solaris) (1)
리눅스(Redhat, Fedora) (6)
재테크 (13)
★ITnews★ (14)
대회, 컨퍼런스 등.. (7)
자격증(Net,Server등) (6)
잡동사니 (32)
나만의 콘서트 (0)
My Story (19)
책을 말하다. (9)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
'OSI 7 layer'에 해당되는 글 2건
2008. 3. 26. 13:15
 ● OSI 7 Layer


 OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 그 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문에 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽다. 그리고 만약 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다.

 예를 들면 게임방에서 스타를 하는데 베틀넷이 끊어진다면, 관리자는 우선 모든 PC가 그런 것인지 한 PC만 그런 것이지 확인을 한다. 만약 모든 PC가 베틀넷이 안된다면 아마도 인터넷 접속에 문제가 있다고 보면 된다. 즉, 라우터의 문제(3계층)이거나 광랜을 제공하는 회사의 회선 문제(1계층)인지를 알 수 있다. 만약 한 PC만 이상이 있다면 소프트웨어를 확인하여 소프트웨어에 이상이있다면 7번째 계층인 어플리케이션 계층(Application Layer)에 이상이 있는 것이고, 컴퓨터에 이상이 없고, 스위치에 이상이 있으면 2번째 계층인 데이터링크 계층(Data-Link Layer)에 이상이 있는 것이 된다. 아무튼 OSI 7계층은 네트워크를 공부하는데 있어서 아주 중요한 이론이며, 꼭 알고 있어야하는 부분이다. 이제 각 7단계의 특징을 알아보겠다.

 OSI 7계층은 위에서 말했듯이 총 7단계로 나눠져 있다. 각 계층의 명칭을 알아보면 다음 그림과 같다.

사용자 삽입 이미지
                                                       <OSI 7 계층의 통신과정>


 위 그림에서 맨 아래에 있는 계층부터 1계층이 된다. 즉, (1계층 = Physical(물리)), (2계층 = Data Link(데이터링크)), (3계층 = Network(네트워크)), (4계층 = Transport(전송)), (5계층 = (Session(세션)), (6계층= Presentation(표현)), (7계층 = Application(응용))이 된다. 위 그림은 데이터가 어떤 식으로 각 단계를 거쳐 목적지로 전해진 뒤 목적지에서 어떤 식으로 데이터를 받게 되는지 보여준다. 우선 알아야 할 것은 데이터통신은 각 계층별로 이루어진다는 것이다. 처음에는 이게 무슨 말인지 이해하기 쉽지는 않겠지만 조금만 공부해보면 금방 이해하게 될 것이다. 아무튼 통신이 각 계층별로 이루어진다는 뜻을 알아보면...

 사용자가 데이터를 전송할 때 각 계층을 지날 때 마다 헤더라는 작은 크기의 프레임을 달게 된다. 마지막 계층까지 헤더프레임이 붙인 후 목적지 컴퓨터에 전송하면 목적지 컴퓨터는 각 계층별로 헤더프레임을 파악하여 자신의 것이 맞는지, 전송도중에 오류는 없었는지 등의 검사를 거친 후 이상이 없을 때 사용자에게 보여주게 된다. 이제는 각 단계에서 어떤 일을 하는지 알아보겠다. 그전에 1계층~3계층까지는 하드웨어 부분이고, 5~7계층은 소프트웨어 부분, 4계층은 그 중간 이라고 생각하면 된다.


▪ 1단계(물리계층)

 이 계층에서는 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하게 된다. 이 계층에서 사용되는 통신 단위는 비트이며 이것은 1과 0으로 나타내어지는, 즉 전기적으로 On, Off 상태라고 생각하면 된다. 이 계층에서는 단지 데이터를 전달만 할뿐 전송하려는(또는 받으려는)데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다. 단지 데이터 전기적인 신호로 변환해서 주고받는 기능만 할 뿐이다. 이 계층에 속하는 대표적인 장비는 통신 케이블, 리피터, 허브등이 있다.


▪ 2단계(데이터 링크계층)

 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다. 따라서 통신에서의 오류도 찾아주고 재전송도 하는 기능을 가지고 있는 것이다. 이 계층에서는 맥 어드레스를 가지고 통신하게 된다. 이 계층에서 전송되는 단위를 프레임이라고 하고, 대표적인 장비로는 브리지, 스위치 등이 있다.(여기서 MAC어드레스를 사용한다.)


▪ 3단계(네트워크 계층)

 네트워크로 먹고 사는 사람들이 가장 많이 다루는 계층이다. 이 계층에서 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능이다. 이 기능을 라우팅이라고 하는데 여기에 사용되는 프로토콜의 종류도 다양하고, 라우팅하는 기술도 다양하다.

 아무튼 이 계층은 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할이다. 이 계층의 대표적인 장비는 라우터 이며, 요즘은 2계층의 장비 중 스위치라는 장비에 라우팅 기능을 장착한 Layer 3 스위치도 있다.(여기서 IP주소를 사용한다.)


▪ 4계층 - 전송 계층(Transport Layer) : 통신을 활성화하기 위한 계층이다. 보통 TCP프로토콜을 이용하며, 포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다. 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져 준다. 단대단 오류제어 및 흐름제어 이 계층 까지는 물리적인 계층에 속한다.(TCP/UDP프로토콜을 사용한다.)


▪ 5계층 -세션 계층(Session Layer) : 데이터가 통신하기 위한 논리적인 연결을 말한다. 통신을 하기위한 대문이라고 보면 된다. 하지만 4계층에서도 연결을 맺고 종료할 수 있기 때문에 우리가 어느 계층에서 통신이 끊어 졌나 판단하기는 한계가 있다. 그러므로 세션 계층은 4 계층과 무관하게 응용 프로그램 관점에서 봐야 한다. 세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다.


▪ 6계층 - 표현 계층(Presentation Layer) : 데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화 한다. 전송되는 데이터의 표현 방식에 대한 설명이다. 해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분이다.


▪ 7계층 - 응용 계층(Application Layer) - 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜 많이 있다. 해당 통신 패킷들은 방금 나열한 프로토콜에 의해 모두 처리되며 우리가 사용하는 브라우저나, 메일 프로그램은 프로토콜을 보다 쉽게 사용하게 해주는 응용프로그램이다. 한마디로 모든 통신의 양 끝단은 HTTP와 같은 프로토콜이지 응용프로그램이 아니다.

2008. 3. 17. 11:47
 

2.2 OSI 7계층 모델과 그들의 목적(기능)을 확인하라.

 OSI참조 모델(7계층)-OSI Seven Layer


applocation 응용계층 -------------- 7계층

presentation 표현계층-------------- 6계층

session 세션계층------------------ 5계층

transport 전송계층----------------- 4계층

network 네트워크계층-------------- 3계층

data link 데이터링크 계층----------- 2계층

physical 물리계층----------------- 1계층

사용자 삽입 이미지
                  <OSI 7계층으로 표현한 테이터 통신 인캡슐레이션과 디인캡슐레이션의 과정>


● OSI(Open Systems Interconnection, 개방형 시스템 간 상호 접속) 7계층은 ISO 국제 표준 위원회에서 통신을 하고자 하는 컴퓨터가 지켜야할 약속을 표준으로 제정한 것으로, 통신이 이러나는 과정을 7개 단계로 나누었습니다.

이렇게 나눈 이유는 첫째, 데이터의 흐름을 파악하기가 쉽다. 즉, 맨 위의 어플리케이션 계층부터 맨 아래의 피지컬 계층까지를 나누어 놓으니까 데이터가 어떻게 날아가는지 파악이 쉽다는 말이다. 둘째, 문제 해결하기가 편하다. 네트워크상에서 통신할 때 문제가 발생하면 그 문제를 7개 계층으로 나누어 확인하면 좀 더 문제의 원인을 파악하기 쉬워져, 쉽게 해결할 수 있다.

예를 들어 인터넷이 안될 때 ping(핑)을 쏴 봄으로써 네트워크 계층 문제 인지 알 수 있다. 만약 핑이 이상 없이 잘된다면 일단 네트워크 계층까지는 이상이 없는 것이다.


● 1계층 - 물리계층(Physical Layer) : 이 계층은 맨 아래 단계이다. 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송한다. 이 계층에서 사용되는 통신 단위는 비트. 즉, 1과 0으로 나타내어진다.

대표적인 장치 : 통신케이블, 리피터, 허브 등


● 2계층 - 데이터 링크 계층(Datalink Layer) : 피지컬 계층에서 송수신된 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다.

 MAC어드레스를 보고 데이터를 전송하는 단계에서 사용되는 MAC(CSMA/CD의 동작방식을 가리킴), LLC(Logical Link Control 데이터 흐름, 오류 제어, 복원)등과 같은 것들이다. 물리적인 장비들이 데이터를 전송하는 논리적인 개념이다.

예) 물리적인 장치가 각 장치로 데이터를 보내는 것을 논리적으로 보는 것.

이 계층에서 전송되는 단위를 프레임이라고 한다.

대표적인 장치 : 브리지, 스위치 등


● 3계층 - 네트워크 계층(Network Layer) : 네트워크 장비들이 가진 IP주소와 같은 것에 대한 동작을 설명한다.

 이 계층은 네트워크에 종사하는 사람들이 가장 많이 다루는 계층이다. 여기서 가장 중요한 기능은 데이터들을 목적지까지 가장 안전하고 빠르게 전달하는 것으로, 이것을 라우팅라고 한다.

 예) 라우터가 IP를 보고 경로를 설정하는 것(라우터의 물리적인 부분이 아닌 작동에 대한 것은 3계층에 속한다.). 즉, 해당 패킷이 제 주소에 오도록 지속적으로 방향을 잡아주는 것이다.

이 계층에서 전송되는 단위를 패킷이라고 한다.

대표적인 장치 : 라우터, Layer 3 스위치


● 4계층 - 전송 계층(Transport Layer) : 3계층에서부터 해당 프로그램까지의 통로. TCP/UDP프로토콜이나 동작에 대한 것이 이에 해당한다.

 예) TCP 프로토콜로 TCP 포트 80이라는 경로로 통신을 한다. 상위계층에서 이 계층에 데이터를 얹으면 해당 프로토콜이 데이터를 전송하며 데이터가 에러 없이 잘 전송되는지 확인한다. (실제 양 컴퓨터에 데이터가 도착하기 전까진 동작할 필요가 없으며, 제 목적지에 도착하면 TCP/UDP가 작동된다.)

 이 계층은 네트워크 계층에서 제공하는 서비스를 이용하여 사용자에게 신뢰성 있는 서비스를 제공한다. 이때 상위 계층인 세션 계층에게 제공되는 서비스의 연결형(TCP)과 비연결형(UDP) 두 종류가 있다. 연결형 서비스는 연결 설정/해제, 흐름 제어, 주소 표현 등의 방식이 네트워크 계층에서 제공되는 연결형 서비스와 유사한 특징을 갖으며 비연결형 서비스의 특징도 네트워크 계층에서 제공하는 것과 유사하다.

이 계층 까지는 물리적인 계층에 속한다.

대표적인 장치 : 컴퓨터.. 등


● 5계층 -세션 계층(Session Layer) : 데이터가 통신하기 위한 논리적인 연결을 말한다. 특정 응용프로그램은 이 세션을 통하여 통신을 하게 된다. 통신을 하기위한 대문이라고 보면 된다. 하지만 4계층에서도 연결을 맺고 종료할 수 있기 때문에 우리가 어느 계층에서 통신이 끊어졌나 판단하기는 한계가 있다.


● 6계층 - 표현 계층(Presentation Layer) : 전송되는 데이터의 표현 방식에 대한 설명이다. 해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분이다.


● 7계층 - 응용 계층(Application Layer) - 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜 상당히 많이 있다. 해당 통신 패킷들은 방금 나열한 프로토콜에 의해 모두 처리되며 우리가 사용하는 브라우저나, 메일 프로그램은 방금 나열한 프로토콜을 보다 쉽게 사용하게 해주는 응용프로그램일 뿐이다. 한마디로 모든 통신의 양 끝단은 HTTP와 같은 프로토콜이지 응용프로그램이 아니다.


# 1계층은 사용자가 전선이나 통신 장치의 물리적인 것을 장치별로 통일 시켜놓아 데이터가 흐를 수 있도록 물리적으로 설정하는 것이다.


 2계층은 각 장치가 데이터를 어떻게 전송하느냐에 대한 논리적인 것이다. 예로 CSMA/CD로 동작한다면 랜카드는 선로(bus)에 데이터가 있는지 없는지를 감시하고 있다가 없을 때 목적지에 해당하는 주소를 포함시켜 선로 상에 데이터를 보낸다. 만약 다른 랜카드도 선로에 데이터가 없음을 확인하고, 데이터를 동시에 보내게 되면 충돌이 발생하고, 충돌이 있으면 재전송하는 것을 말한다. 또한 들어오는 데이터가 나에게 해당하는 것인지 아닌지 계속 감시하는 것도 여기에 속한다. 2계층에서 데이터를 계속 듣다가 자신에게 해당하면 데이터를 가지고 3계층에 던져 준다. 여기서 사용되는 주소를 MAC어드레스라고 한다.


 3계층에서는 IP를 보고 그에 해당하는 다음 경로를 설정해 준다. 자신이 속해있는 네트워크에 해당하는 IP가 아니면 경로를 설정하고 다시 2계층에 던져 주고, 2계층은 선로 상에 띄우면 1계층의 물리적인 장치가 전기 신호를 전달한다. 3계층에서 자신에 해당하는 IP라면 4계층에게 던져준다.


 4계층은 이제 통신을 활성화하기 위한 계층이다. 보통 TCP프로토콜을 이용하며, 포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다. 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져 준다.


 5계층은 해당 세션이 활성화 되었는지 아닌지 판단하고 세션을 새로 만들어 주는 등 통신의 대문 역할을 한다.(포트와 비슷하지만 다른 계층이다)


 6계층에 데이터가 도착하면 해당 데이터가 무엇인지 판단한다. 또는 전송할 때 해당데이터 형식에 대한 헤더를 덧붙인다.


 7계층은 해당 프로토콜이 해당 형식에 대한 데이터를 받아서 그에 적절한 처리를 한다. 예로 HTTP는 HTML을 해석하여 보여준다거나, FTP는 해당 파일을 특정 공간에 저장해준다거나, SMTP나 POP3는 해당 메일을 가지고 있다가 사용자가 요청하면 보여주는 식이다. OSI참조 모델보다 인터넷에 적당한 모델은 TCP/IP의 4계층으로서 더욱 더 현실적으로 실제 네트워크와 연관 지을 수 있다.

prev"" #1 next