참고 문헌: 쉽게 배우는 데이터 통신과 컴퓨터 네트워크
내부 규칙에 따라 능동적으로 동작하는 대상
시스템의 동작에 필요한 외부 입력이 있을 수 있으며, 내부 정보와 외부 입력의 조합에 따른 출력(시스템 실행의 결과물)이 있을 수 있다.작은 시스템이 여러 개 모여 더 큰 시스템을 구성할 수 있으므로 크기를 기준으로 시스템을 나누지 않는다.
시스템과 시스템을 연결하기 위한 표준화된 접근 방법
예. 컴퓨터 본체와 키보드를 연결하여 제대로 동작하게 하려면 키보드의 잭을 본체의 정해진 위치에 꽂아야 한다. 이렇게 하려면 상호 간의 데이터 교환을 위한 논리적인 규격뿐만 아니라, 잭의 크기와 모양 같은 물리적인 규격도 표준화되어야 한다.
인터페이스를 이용해 연결하는 시스템은 능력과 권한이 같은 경우도 있지만 서로 서비스를 주고 받는 상하 관계일 수도 있다.
물리적인 전송 수단으로 시스템끼리 정해진 인터페이스를 연동해 데이터를 전달할 때 반드시 있어야 한다
예. 사람 눈에 보이는 동축 케이블, 소리를 전파하는 공기, 무선 신호 등 다양하게 존재.
인터페이스는 시스템 간의 연동을 위한 논리적인 규격이고, 인터페이스에서 정해진 규칙은 매체를 통해 전송됨으로써 구현되고 동작된다고 볼 수 있다.
상호 연동되는 시스템이 전송 매체를 통해 데이터를 교환할 때는 표준화된 특정 규칙을 따르는데, 이 규칙을 프로토콜이라고 한다
프로토콜은 주종 관계가 아닌 동등한 위치에 있는 시스템 사이의 규칙이라는 측면이 강조되어 인터페이스와 구분된다.
통신용 매체를 공유하는 여러 시스템이 프로토콜을 사용하여 데이터를 주고받을 때, 이들을 하나의 단위로 통칭해서 네트워크라 부름
일반적인 컴퓨터 네트워크에서는 물리적인 통신 매체로 연결된 컴퓨터들이 동일한 프로토콜 을 이용해 서로 데이터를 주고받는다.
소규모 네트워크가 모여 더 큰 네트워크를 구성할 수 있는데, 네트워크끼리는 라우터Router라는 중개 장비를 사용해서 연결한다.
외형적으로 시스템과 전송 매체의 조합으로 구성됨(다수의 시스템을 전송 매체로 연결해 구성한 시스템들의 집합체)
인터넷은 전 세계의 모든 네트워크가 유기적으로 연결되어 동작하는 통합 네트워크이다.
데이터 전달 기능에 한해서는 공통으로 IP프로토콜을 사용한다.
인터넷이라는 용어는 IP의 첫 단어인 Internet에서 유래했다.
서로 다른 시스템이 상호 연동해 동작하려면 표준화라는 연동 형식의 통일이 필요하다.
예. A4 규격이라는 통일된 용지 틀이 있기 때문에, 서로 다른 회사에서 생산한 프린터와 프린트 용지를 자유롭게 사용할 수 있는것.
인터넷에 연결된 시스템을 가장 일반화한 용어.
데이터를 주고받을 수 있는 모든 시스템을 통칭하여 사용.
일반적으로 컴퓨팅 기능이 있는 시스템을 의미.
일반 사용자가 호스트 내의 응용 프로그램을 실행하므로 사용자가 네트워크에 접속하는 창구 역할을 한다.
호스트를 세분화할 때는 호스트 사이에 제공되는 서비스를 기준으로 클라이언트와 서버로 나눌 수 있다.
클라이언트는 서비스를 이용하는 시스템이고, 서버는 서비스를 제공하는 시스템이다.
호스트는 다양한 서비스를 서로 주고받기 때문에 임의의 호스트가 클라이언트나 서버로 고정되지는 않는다.
이용하는 서비스의 종류에 따라 클라이언트가 될 수도 있고, 서버가 될 수도 있다.
서버는 서비스를 주고받는 호스트들의 관계에서 임의의 서비스를 제공하는 시스템이다.
일반적으로 서버는 클라이언트보다 먼저 실행 상태가 되어 클라이언트의 요청에 대기해야 한다.
영원히 종료하지 않으면서 클라이언트의 요청이 있을 때마다 서비스를 반복해서 제공해야 한다.
네트워크를 외형상 호스트 시스템과 전송 매체로 구분하는 물리적인 구분과는 별도로, 그들이 수행하는 내부 기능을 기초로 하여 다양한 구조로 세분할 수 있다.
출처: http://wiki.hash.kr/index.php/OSI_7_%EA%B3%84%EC%B8%B5일반 사용자는 OSI 7계층 맨 위에 있는 응용 계층을 통해 데이터의 송수신을 요청하며, 이 요청은 하위 계층에 순차적으로 전달되어 맨 아래에 있는 물리 계층을 통해 상대 호스트에 전송된다.
그리고 요청이 각 계층으로 하달되는 과정에서 계층별로 자신이 담당하는 기능을 수행하여 데이터를 안전하게 전달해준다.데이터를 수신하는 호스트에서는 송신 호스트와는 반대 방향으로 처리가 이루어진다. 즉, 물리 계층으로 들어온 데이터는 순차적인 상향 전달 과정을 거쳐 응용 계층으로 올라간다. 수신 호스트에서 처리가 완료된 결과를 회신할 때는 반대 과정을 순차적으로 밟아서 송신 호스트로 돌아간다.
데이터를 송수신하는 최종 주체는 송수신 호스트 양쪽에 위치한 응용 계층이며, 하부의 계층들은 응용 계층을 지원하기 위하여 데이터 전송에 필요한 기능을 나누어 처리한다.
OSI 7계층 모델의 각 계층은 독립적인 고유 기능을 수행하며, 하위 계층이 바로 위 계층에 서비스를 제공하는 형식으로 등장한다.
물리 계층
네트워크에서 호스트들이 데이터를 전송하려면 반드시 전송 매체로 연결되어 있어야 한다.
물리 계층Physical Layer은 호스트를 전송 매체와 연결하기 위한 인터페이스 규칙과 전송 매체의 특성을 다룬다.
데이터 링크 계층
물리 계층으로 데이터를 전송하는 과정에서는 잡음Noise 등과 같은 여러 외부 요인에 의하여 물리적인 오류가 발생할 수 있다.
데이터 링크 계층Data Link Layer은 물리적 전송 오류를 감지Sense하는 기능을 제공해 송수신 호스트가 오류를 인지할 수 있도록 해준다.
대표적인 물리적인 오류로는 데이터가 도착하지 못하는 데이터 분실과 내용이 깨져서 도착하는 데이터 변형이 있다. 일반적으로 컴퓨터 네트워크에서 오류 제어Error control는 송신자가 원래의 데이터를 재전송Retranmission하는 방식으로 처리한다.
네트워크 계층
송신 호스트가 전송한 데이터가 수신 호스트까지 안전하게 도착하려면 여러 개의 중개 시스템을 거쳐야 한다.
이 과정에서 데이터가 올바른 경로를 선택할 수 있도록 지원하는 계층이 네트워크 계층이다.
중개 시스템의 기능은 일반적으로 라우터Router가 수행한다.
네트워크 부하가 증가하면 특정 지역에 혼잡이 발생할 수 있는데, 혼잡 제어Congestion Control도 데이터의 전송 경로와 관계되므로 네트워크 계층이 담당한다.
전송 계층
컴퓨터 네트워크에서 데이터를 교환하는 최종 주체는 호스트 시스템이 아니고, 호스트 내부에서 실행되는 네트워크 프로세스이다.
전송 게층은 송신 프로세스와 수신 프로세스 간의 연결 기능을 제공하기 때문에 프로세스 사이의 안전한 데이터 전송을 지원한다.
전송 계층은 데이터가 전송되는 최종적인 경로상의 양 끝단 사이의 연결이 완성되는 곳이다.
일반적으로 계층 4까지의 기능은 운영체제에서 시스템 콜 형태로 상위 계층에 제공하며, 계층 5~7의 기능은 사용자 프로그램으로 작성된다.
세션 계층
세션 계층은 전송 계층에서 제공하는 연결의 개념과 유사한 세션 연결을 지원하지만, 이보다는 더 상위의 논리적 연결이다.
즉, 응용 환경에서 사용자 간의 대화Dialog 개념의 연결로 사용되기 때문에 전송 계층의 연결과 구분된다.
표현 계층
표현 계층은 전송되는 데이터의 의미를 잃지 않도록 올바르게 표현하는 방법을 다룬다.
즉, 정보를 교환하는 시스템이 표준화된 방법으로 데이터를 인식할 수 있게 해준다.
또한, 데이터의 표현이라는 본래의 기능에 더해, 현재의 표현 계층은 압축과 암호화라는 기능도 중요하게 다루고 있다. 동영상과 같은 대용량의 멀티미디어 데이터를 압축하면 전송 데이터의 양을 줄일 수 있다. 암호화는 외부의 침입자로부터 데이터를 안전하게 보호하는 기능인데, 인터넷을 통한 개인 정보의 유통과 상거래가 증가하면서 중요성이 커지고 있다.
응용 계층
응용 계층은 사용자를 위한 다양한 네트워크 응용 환경을 지원한다.
그 기능은 특정 분야에 한정되지 않고 매우 광범위하다.