1980년대 초에 ISO는 업체들이 네트워크를 구현할 때 참조로 할 네트워크 모델의 필요성을 인식하고 1984년 OSI 참조 모델을 발표하게 되었다.
OSI참조 모델은 응용 프로그램의 정보가 네트워크 매체를 통해 다른 컴퓨터의 응용 프로그램에 어떻게 전달되는가를 설명한다.
통신 기능은 일련의 계층 집단으로 분할되며, 각 계층은 다른 시스템과 통신하려는 데에 필요한 관련된 기능을 수행한다. 각 계층은 그 기능들의 세부 내용을 은폐하고 보다 원시적인 기능을 수행하기 위하여 바로 아래에 있는 계층에 의존한다.
<OSI 7 Layer 개념도>
1 계층 : 물리 층(Physical Layer)
물리 층은 시스템간에 물리적 링크를 작동시키거나 유지하며 전기, 기계, 절차 그리고 기능적 측면의 문제들을 정의한다.
2 계층 : 데이터 링크 층(데이터-link Layer)
데이터 링크 층은 물리적 링크를 통한 신뢰성 있는 데이터 전송을 제공한다. 이 계층은 물리적 어드레싱, 네트워크 토폴로지, 회선 사용 규칙, 오류 검출, 프레임 전달 그리고 흐름 제어 등에 관계한다.
3 계층 : 네트워크 층(Network Layer)
네트워크 층은 다른 장소에 위치한 두 시스템간에 연결성과 경로 선택을 제공한다. 라우팅 프로토콜이 서로 연결된 네트워크를 통한 최적 경로를 선택하며 네트워크 층의 프로토콜은 선택된 경로를 따라 정보를 보낸다.
4 계층 : 트랜스포트 층(Transport Layer)
애플리케이션, 프리젠테이션, 그리고 세션 층이 애플리케이션에 관련되어 있다면 하위의 네 계층은 데이터 전송에 관련되어 있다. 트랜스포트 층은 데이터 전송 서비스를 제공하는 층이다. 즉 인터네트워크 상에서 얼마나 신뢰성 있는 데이터 전송이 이루어지는가 등의 문제에 트랜스포트 층이 관련되어 있다. 신뢰성 있는 서비스를 제공하기 위해 트랜스포트 층은 가상 회로의 구축, 유지 및 종료, 전송 오류 검출 및 복구 그리고 정보 흐름 제어의 절차를 제공한다.
5 계층 : 세션 층(Session Layer)
세션 층은 애플리케이션간에 세션을 구축하고 관리하며 종료시키는 역할을 하는 층이다. 세션 층은 프리젠테이션 층 사이의 대화를 동기 시키며 데이터 교환을 관리한다.
6 계층 : 프리젠테이션 층(Presentation Layer)
프리젠테이션 층은 한 시스템의 애플리케이션에서 보낸 정보를 다른 시스템의 애플리케이션 층이 읽을 수 있도록 하는 층이다.
7 계층 : 애플리케이션 층(Application Layer)
애플리케이션 층은 OSI 모델에서 유저와 가장 가까운 층이다. 이 계층은 OSI의 다른 어떤 계층에도 서비스를 제공하지 않는다는 점에서 다른 계층과 다르다. 이 계층에는 스프레드 쉬트, 워드 프로세싱 등이 속한다.
http://www.tibs.co.kr/network/3/osi7.htm
● 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와 같은 프로토콜이지 응용프로그램이 아니다.
<출처>http://honhon20.tistory.com/95
프로토콜
http://metalpooh.egloos.com/2710266
OSI 7 Layer
- 표준화 이유?
표준화가 되어 있지 않다면, 하나의 네트워그 관련 프로그램을 개발하기 위해
프로그램 개발자는 인터페이스에서 부터 프로토콜 처리,
네트워크 카드 제어까지 네트워크에서 발생하는 모든 제반 사항들을
프로그램에 포함 시켜야만 한다.
이와 같은 불편함과 비효율성을 해결하기 위한 방법으로 표준화/모듈화가 필요
즉, 응용프로그램의 사용자 인터페이스 단계부터 네트워크카드에서의
신호처리까지의 모든 과정을 기능별 단계로 나누고 각각의 기능별 단계가
위쪽 단계와 아래쪽 단계로 원할하게 데이터와 신호를 전달하고 처리할 수
있게 각각의 단계를 표준화 모듈화 시키는 것이다.
- ISO (International Standardization Organization: 국제 표준화 기구)에서
OSI (Open System Interconnection) 7계층 모델이란 표준 방식 제안
- OSI 7 Layer
7계층 - Application - 사용자 인터페이스 / 응용 프로그램
6계층 - Presentation - 데이터 포맷 / 암호화
5계층 - Session - 연결 유지
4계층 - Transport - 패킷 생성 / 패킷 오류 관리
3계층 - Network - 논리적 주소 관리 / 경로 설정
2계층 - Data Link - 물리적 주소 관리
1계층 - Physical - 네트워크의 물리적 구조(케이블, 신호방식)
각각의 계층은 데이터를 전송하느냐 수신하느냐에 따라서 데이터를 아래쪽으로
전달하는지 위쪽으로 전달하는지의 전달 경로가 결정
각각의 계층은 자신의 계층에서의 역할에 따른 작업에 의해서 데이터에 변형을
가하게 되고, 어떤 작업이 일어났는가에 대한 정보를 추가하여 데이터를
전달하게 된다.
각각의 계층에서 자신의 역할에 따라 추가한 정보를 헤더(Header)라고 한다.
- 7계층, Application Layer
사용자 인터페이스의 역할을 담당하고 있는 계층이다.
즉, 사용자들이 이용하는 네트워크 응용 프로그램이라고 생각하면 된다.
메일을 보낼려면 메일 프로그램, 인터넷 검색을 하려면 웹 브라우저를
사용하듯, 이와 같이 사용자 입장에서 네트워크를 이용할수 있게
해주는 역할을 담당한다.
FTP, Telnet, SMTP, DNS, DHCP
- 6계층, Presentation Layer
네트워크로 보내질 데이터의 형식(Format)을 결정
보낸 쪽과 받는 쪽이 정확한 데이터 형식을 사용할 수 있도록 해주는 역할
문자 데이터 형식: ASCII, EBCDIC, 유니코드 등..
멀티미디어 데이터 형식: GIF, JPEG, MIDI, MPEG 등..
또한 네트워크로 전송될 데이터를 암호화하고 해독하는 역할도 담당한다.
웹 브라우저나 메일 프로그램을 사용하여 웹 페이지나 메일의 내용을 확인할
경우 영어로된 웹 페이지는 영어로 보여주고, 한글로된 웹페이지는
한글로 자동으로 보여주는 기능이 Presentation 계층의 역할이다.
웹 브라우저나 메일 프로그램에서 내용을 확인할 때 알 수 없는 문자가
나타난다면 Presentation 계층의 역할에 문제가 발생한 것이다.
송신 컴퓨터 --------------------------> 수신 컴퓨터
데이터 형식: 한글/영어 --------------------------> 한글/영어 문자 표시
데이터 형식: MP3 --------------------------> MP3 음악 재생
데이터 형식: GIF/JPEG --------------------------> GIF/JPEG 그래픽 표시
데이터 형식: 암호화 --------------------------> 암호해독
- 5계층, Session Layer
네트워크 상에서 컴퓨터들이 서로 통신을 할 경우에 양쪽 컴퓨터 간에 최초에
연결이 되도록 하고 통신 중에 연결이 끊어지지 않도록 상호간에
연결상태를 유지시켜주는 역할
특정 목적지 컴퓨터로 파일을 전송하는 경우, 목적지 컴퓨터가 네트워크
상에 존재하는지 아닌지도 확인하지도 않고 바로 파일을 보내는 것이 아니라
목적지 컴퓨터와 파일을 보낼테니 받을 준비가 되었는가를 협의해야 한다.
특정 사이트에 접속할 경우에 해당 사이트에 최초에 연결을 시도하면서
해당 사이트들이 사용자의 접속을 제한 하지는 않는지 등을 파악하고
필요한 경우에 접속을 위한 협의 과정을 거쳐야 한다.
- 4계층, Transport Layer
사용자가 보낸 데이터가 목적지에 정확하게 도착하도록 관리하는 역할이다.
효율적인 데이터 전송을 위해서 데이터를 전송하기에 적당한 크기의
패킷(Packet)으로 나누어 주는 역할을 한다.
10MByte의 파일을 상대방에게 전송하는 경우에 전송 도중 오류가 발생한다면
10MByte의 파일을 다시 전송해야만 한다.
이런 경우에 10MByte의 파일을 한번에 다 전송하지 않고 1MByte의 크기의
단위로 나누어 전송을 한다면 전송 도중에 오류가 발생하여도
오류가 발생한 해당 부분만 다시 재전송을 하면 되므로 효율적으로
네트워크를 사용할 수 있게 된다.
수신측 컴퓨터의 경우에는 수신된 각각의 패킷들을 원래의 파일로 다시
재결합하는 역학을 한다.
각각의 패킷은 수신측 컴퓨터의 Transport 계층에서 다시 원래의 파일로
재결합 되기 위해서 패킷의 헤더에 패킷 번호 정보를 가지고 있다.
웹 브라우저를 사용하여 그림이 있는 웹 페이지를 검색하는 경우에, 원본 그림
파일의 마지막 패킷까지 제대로 전송받지 못한 경우에는 그림의 위쪽 부분은
표시가 되는데 아래쪽 부분이 나타나지 않는 현상이 나타날 수 있다.
또한 그림의 아래부분이 위에 나타나고 위쪽 부분이 아래에 나타날 경우에는
패킷을 다 전송 받기는 하였지만 순서대로 재결합을 하지 못했을 경우이다.
Transport 계층의 역할을 담당하는 Protocol --> TCP, UDP
- 3계층, Network Layer
논리적인 주소를 담당하고 패킷의 전달 경로를 결정하는 역할
논리적인 주소 --> IP주소, IPX주소, 컴퓨터 이름
Transport 계층에서 만들어진 패킷을 전달 받아 목적지 컴퓨터의 논리적인
주소를 네트워크 계층의 헤더에 추가하는 역할을 한다.
Network 계층 역할을 담당하는 장비 --> Router(라우터)
Network 계층 역할을 담당하는 Protocol --> IP, IPX, ARP
- 2계층, Data Link Layer
네트워크 카드의 물리적인 주소를 관리한다.
네트워크 상에서 각각의 컴퓨터들을 구분하기 위해서 논리적인 주소인
컴퓨터 이름, IP주소를 사용한다.
하지만 최종적으로 데이터가 목적지 컴퓨터로 전달 되기 위해서는 네트워크
카드의 물리적인 주소인 MAC(Media Access Control)주소가 반듯이 필요하다.
Network 계층에서 전달 받은 데이터를 케이블에 흘려 보낼 데이터 형태인
프레임(Frame)으로 만든다.
프레임은 물리적 네트워크 구성이 Ethernet 인지 Token Ring 인지에 따라서
그 크기와 내용이 결정된다.
프레임의 목적지 주소로 물리적 주소를 사용한다.
프레임의 목적지 주소는 발신지 컴퓨터와 목적지 컴퓨터가 동일한 네트워크
세그먼트 상에 존재할 경우에는 목적지 컴퓨터의 MAC주소로 지정,
발신지 컴퓨터와 목적지 컴퓨터가 동일한 네트워크 세그먼트 상에 존재하지
않는 경우에는 해당 세그먼트에 존재하는 리우터의 MAC주소로 지정하여
아래 계층인 물리 계층으로 전달한다.
수신쪽에서는 하위 계층인 물리 계층으로부터 전달 받은 프레임의 목적지
MAC주소가 자신의 MAC주소와 일치하는 경우 해당 프레임의 헤더를 제거한
패킷을 위쪽 계층인 Network 계층으로 전달한다.
Network 계층 역할을 담담하는 장비 --> 브릿지, Layer2 Switch
Network 계층 역할을 담당하는 Protocol --> SLIP, PPP
- 1계층, Physical Layer
네트워크 통신을 위한 물리적인 표준을 정의
물리적인 표준 --> 네트워크 카드들이 사용하는 케이블 종류,
데이터 송수신 속도, 신호의 전기 전압
Physical 계층 역할을 담당하는 장비 --> 허브, 리피터
TCP/IP
- OSI 7 계층이 발표되기 이전 개발된 프로토콜
1960년대 말 미국의 DARPA(미국방성 고등연구소)에서 국방성의 컴퓨터들을
네트워크로 통합하기 위한 연구로 시작하였고, 1980년대에 들어서
현재 우리가 알고 있는 것과 같은 TCP/IP의 모습으로 나타나게 되었다.
이때 사용된 계층화 모델은 7단계가 아닌 4단계 모델을 사용하였고
이를 DOD(Department Of Defense: 미국방성) 4계층 이라고 한다.
DOD 4계층의 역할은 OSI 7 계층의 역할을 단계별로 묶은 형식이다.
- TCP/IP는 누구나 기능 향상이나 새로운 기술을 추가하도록 제안 할수 있는
공개 프로토콜로 개발이 되었고, 현재까지도 계속 발전하고 있다.
- TCP/IP는 하나의 프로토콜 이름을 지칭하는 것이 아니라 네트워크 통신을
위한 OSI 7계층의 각각의 역할을 담당하는 여러가지 프로토콜을 총칭하는
대표 이름으로, 가장 중심이 되는 프로토콜이 TCP와 IP 이므로 TCP/IP로
부르게된 것이다.
- TCP/IP는 OSI 7 Layer의 구조를 4개의 계층으로 구분하고, OSI 7 Layer의
각 계층이 하는 일은 TCP/IP에서도 동일하게 적용된다.
- Application Layer
OSI 7 계층의 Application, Presentation, Session 계층의 역할을 담당하는
프로토콜로 FTP, Telnet, SMTP, DNS, DHCP등이 있다.
- Transport Layer
OSI 7 계층의 Transport 계층의 역할을 담당하는 프로토콜로
TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)가 있다.
- Internet Layer
OSI 7 계층의 Network 계층의 역할을 담당하는 프로토콜로
IP(Internet Protocol), ARP(Address Resolution Protocol),
ICMP(Internet Control Message Protocol)등이 있다.
- Network Access Layer
OSI 7 계층의 Data Link, Physical 계층의 역할을 담당
<출처>
http://smstudent.egloos.com/2586818
'old drawer > Network' 카테고리의 다른 글
[Network] IP 주소, 컴퓨터 네트워크의 전화번호 (0) | 2012.06.13 |
---|---|
[Network] 게이크웨이(Gateway), 네트워크의 첫 관문 (0) | 2012.06.13 |
[Network] ping, 네트워크 상태를 점검하는 가장 간단한 명령어 (0) | 2012.06.13 |
[Network] ipv4 VS ipv6 (0) | 2011.06.07 |