본문 바로가기
컴퓨터 네트워크

컴퓨터 네트워크 5장 - OSI 참조 모델 -

by ChocoPeanut 2017. 4. 11.

컴퓨터 네트워크 5

- OSI 참조 모델 -

 

앞서 OSI 7계층 모델에 대해서 다루었다. 하지만 이번 장은 조금 더 깊게 가보려고 한다. 매우 중요한 계층들에서는 나중에 하나의 장으로 또 다루어지겠지만 지금은 앞의 장보다는 조금 더 깊게 들어간다고 보면 된다.

 

OSI 7계층 모델은 아시다시피 응용 계층에서부터 물리 계층까지 총 7개의 층으로 이루어져 있으며 데이터는 전송할 때 송신 호스트의 응용 계층에서부터 물리 계층으로 이동 후 수신 호스트로 넘어가게 되고 그 데이터는 송신 호스트와 반대로 물리 계층에서부터 올라가 응용 계층을 거친 후 호스트에게 전달된다. 이러한 데이터가 전송될 때는 물리 계층을 제외한 각 층을 거치면서 데이터에 헤더 정보를 추가하게 된다. 헤더 정보는 각 계층에서 수행하는 다양한 정보를 포함하고 있다. 오류에 대한 정보일수도 있고 주소 관련된 정보가 있을 수도 있다. 이러한 헤더 정보와 데이터가 같이 수신 호스트로 들어가면 역순으로 올라가며 헤더 정보를 제거하면서 해석한다.

 

계층 n 모듈은 상대 호스트의 계층 n 모듈과 논리적으로 통신하는데, 이들이 사용하는 규칙을 계층 n 프로토콜이라고 한다. 동일한 계층에 위치한 통신 양단은 같은 프로토콜을 사용하여 통신하므로 동료 프로세스라고 칭한다. 상하로 이웃한 계층(n 계층과 n-1계층)인터페이스를 정의하여 접근한다. 상위 계층에서 하위계층으로 요청하는 것은 서비스라고 한다.

 

중개 기능

송신 호스트에서 수신 호스트로 데이터를 전달하려면 중개 역할을 하는 중개 노드를 거쳐야한다. 중개노드는 올바르게 데이터가 전달될 수 있도록 경로를 배정하는 기능을 수행한다. 경로 설정은 네트워크 계층의 프로토콜에서 동작하므로 중개노드는 네트워크 계층까지 존재한다. 이러한 중개 노드를 라우터라고 하고 경로 배정 기능을 라우팅이라고 명명한다. 라우터는 또한 헤더 정보를 해석해서 헤더 정보를 수정하는 역할도 수행한다.

 

계층별 기능

이번에는 계층별로 세분화된 기능을 살펴보도록 하자.

 

물리계층은 전송 매체의 물리적인 인터페이스에 관한 사항을 다룬다. 전송 매체에서는 개별 정보의 비트 교환 문제를 다룬다. 7계층 중 물리 계층만이 하드웨어 시스템으로 구현된다.

 

데이터 링크 계층은 물리 계층을 통해 전송되는 데이터의 물리적 전송 오류를 해결한다. 데이터의 단위로 프레임을 이용하며 프레임 헤더에 표시되는 송수신 호스트 정보에는 LAN 카드에 내장된 송수신 호스트의 MAC 주소가 기록된다. 송수신 호스트의 전송/처리 속도 차이를 처리하는 흐름 제어의 기능도 수행한다.

 

네트워크 계층의 가장 중요한 역할은 경로 설정이다. 송신 호스트가 전송한 데이터가 어떤 경로를 통해 수신 호스트에 전달되는지를 결정하는 라우팅 문제를 처리한다. 전달 경로는 미리 정해진 길을 가는 정적인 방식과 상태에 따라 경로를 설정하는 동적인 방식으로 나뉜다. 네트워크 계층의 데이터는 패킷이라고 불리며 경로 선택을 위해 호스트 주소가 필요하다. 인터넷에서 사용하는 호스트 주소가 바로 IP 주소이다. 패킷이 지나치게 많으면 전송 속도가 떨어지게 되는 이러한 과도한 트래픽의 증가를 막기 위한 혼잡 제어의 역할을 수행한다.

 

전송계층7계층 중에서 가장 중요한 계층으로 꼽힌다. 전송 계층은 통신 양단에 있는 최종 사용자 사이의 종단 연결을 제공한다. 호스트에서 실행되는 프로세스와 프로세스 사이의 연결을 설정하여 데이터를 주고받을 수 있게 해주는 것이 전송 계층이다. 전송 계층 하위의 3계층은 전송 계층의 연결을 설정하고 지원하는 역할을 수행하고 상위의 3계층은 전송 계층의 연결을 어떻게 활용할지를 결정하는 역할을 할 정도로 전송계층은 매우 중요하다. 컴퓨터 내부에서 논리적으로 구축되는 통신 당사자인 프로세스 사이의 통신 문제를 다룬다. TCP/IP 모델에서는 운영체제 내부에 계층 4까지의 기능을 구현하고, 상위 계층의 기능은 사용자 프로그램으로 구현된다.

 

세션 계층은 전송 계층과 매우 유사한 기능을 수행한다. 하지만 조금 더 상위 계층인 만큼 사용자에게 더 가까운 기능을 수행한다. 대화 제어와, 토큰 제어, 동기 기능을 수행한다. 대화 제어는 대화 내용에 관련된 내용을 수정하는 작업을 하고 토큰 제어는 발언권에 대한 역할을 수행한다.

 

표현 계층은 데이터의 의미와 표현 방법을 처리한다. 호스트 간의 데이터를 이해할 수 있도록 변환하는 과정을 수행한다. 또한 보안과 용량 크기를 고려하는 암호화와 압축의 기능도 수행한다.

 

응용 계층은 다양하게 존재하는 응용 환경에서 공통을 필요한 기능을 수행한다. http, ftp(파일 공유 서비스), telnet(인터넷 서비스) 등 사용자에게 서비스를 해주는 모든 부분이 응용 계층의 기능이라고 할 수 있다.