2. 네트워크의 기능

나혜수·2023년 1월 25일
0

네트워크 기초

목록 보기
2/2

네트워크는 전송 매체로 연결된 데이터를 주고받는 시스템들의 집합이다. 소규모의 네트워크들은 전송 매체로 연결되어 더 큰 네트워크로 확장할 수 있다.
호스트가 제공하는 복잡한 네트워크 기능을 연관된 그룹으로 묶어 계층 모델로 설명할 수 있다.

계층 모델

네트워크, OSI 계층같은 개념이 자리잡지 않았던 시절, 서로 다른 컴퓨터 간에 통신을 한다는 것은 상상하기 힘든 일이었다. 즉, 예를 들어 같은 브랜드의 컴퓨터끼리만 통신이 가능하고 서로 다른 브랜드의 컴퓨터 간에는 통신을 할 수 없었던 시절이 있었다. 😧

특징이 다른 여러 호스트를 연결하여 통신하려면 연결 방식을 표준화해야 한다. ISO (International Standard Organization)은 OSI 7계층 모델을 제안하여 네트워크에 연결된 시스템이 갖춰야 할 기능을 상세히 정의하고 있다.

OSI 7계층 모델에 따르면 네트워크에 연결된 호스트들은 7개 계층으로 모듈화 된 통신 기능을 갖춰야 한다. 각 계층은 독립적인 고유 기능을 수행하며, 하위 계층이 바로 위 계층에 서비스를 제공하는 형식으로 작동한다.
일반 사용자는 맨 위의 응용 계층을 통해 데이터의 송수신을 요청하며, 이 요청은 순차적으로 전달되어 맨 아래 물리 계층을 통해 상대 호스트에 전송된다.
데이터를 수신하는 호스트에서는 송신 호스트와는 반대 방향으로 처리가 이뤄진다. 즉, 물리 계층으로 들어온 데이터는 상향 전달 과정을 거쳐 응용 계층으로 올라간다.

각 계층에서 제공하는 기능에 대해 간단히 살펴보고 자세한 내용은 추후에 살펴보자.


  • Layer 1. 물리 계층
    네트워크의 호스트들이 데이터를 전송하려면 반드시 전송 매체로 연결되어 있어야 한다. 물리 계층은 호스트를 전송 매체와 연결하기 위한 인터페이스 규칙과 전송 매체의 특성을 다룬다.


  • Layer 2. 데이터 링크 계층
    물리 계층으로 데이터를 전송하는 과정에서 잡음 등의 외부 요인에 의해 물리적 오류가 발생할 수 있다. 데이터 링크 계층은 물리적 전송 오류를 감지하는 기능을 제공해 송수신 호스트가 오류를 인지할 수 있도록 한다.
    대표적 물리적 오류로는 데이터가 도착하지 못하는 데이터 분실, 내용이 깨져서 도착하는 데이터 변형 이 있다. 일반적으로 컴퓨터 네트워크에서 오류 제어는 송신자가 원래 데이터를 재전송하는 방식으로 처리한다.


  • Layer 3. 네트워크 계층
    데이터가 수신 호스트까지 안전하게 도착하려면 여러 개의 중개 시스템을 거쳐야 하는데, 이 과정에서 데이터가 올바른 경로를 선택할 수 있도록 지원하는 계층이 네트워크 계층이다. 중개 시스템 기능은 일반적으로 라우터가 수행한다.
    네트워크 부하 (load)가 증가하면 특정 지역에 혼잡이 발생할 수 있는데, 혼잡 제어도 데이터 전송 경로와 관계되므로 네트워크 계층이 담당한다.


  • Layer 4. 전송 계층
    컴퓨터 네트워크에서 데이터를 교환하는 최종 주체는 호스트 시스템이 아니라, 호스트 내부에서 실행되는 네트워크 프로세스이다. 전송 계층은 송신 프로세스와 수신 프로세스 간의 연결 기능을 제공하여 프로세스 사이 안전한 전송을 지원한다.
    일반적으로 계층 4까지의 기능은 운영체제에서 시스템 콜 형태로 상위 계층에 제공하며, 계층 5 ~ 7 기능은 사용자 프로그램으로 작성된다.

    시스템 콜
    시스템 호출 or 시스템 콜 (system call), 간단히 시스콜 (syscall)은 운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스이다.


    상위 계층
    상위 3개 계층 (세션 계층, 표현 계층, 응용 계층)은 사용자 프로그램 형태로 구현되는데, 일반적으로 세 개의 기능을 묶어 프로그램 하나로 구현한다. 예를 들어 텔넷, FTP, 전자 메일 등의 네트워크 응용 프로그램은 상위 3개 계층 기능이 함께 동작하는 단일 프로그램 형태다. 특히, 세션 계층과 표현 계층의 기능은 프로그램에 구현되지 않거나, 아주 단순화되는 경우가 많다.


  • Layer 5. 세션 계층
    전송 계층에서 제공하는 연결의 개념과 유사한 세션 연결을 지원하지만, 이보다 더 상위의 논리적 연결이다.


  • Layer 6. 표현 계층
    표현 계층은 전송되는 데이터의 의미를 잃지 않도록 올바르게 표현하는 방법을 다룬다. (syntax)
    즉, 정보 교환 시스템이 표준화된 방법으로 데이터를 인식할 수 있게 해준다. 또한 데이터 표현이라는 본래 기능에 더해 압축과 암호화 기능도 중요하게 다루고 있다. 동영상과 같은 대용량의 멀티미디어 데이터를 압축하면 전송 데이터의 양을 줄일 수 있다. 암호화는 외부 침입자로부터 데이터를 안전하게 보호하는 기능이다.


  • Layer 7. 응용 계층
    응용 계층은 사용자를 위한 다양한 네트워크 응용 환경을 지원한다.

네트워크 사용자가 통신한다는 것은 데이터를 서로 주고받는다는 것을 의미한다. 데이터를 주고 받으려면 양쪽 호스트에서 실행되는 OSI 7계층 모듈이 유기적으로 연동되어야 한다. 즉, 각 계층의 모듈이 상대 호스트의 동일 계층과 개별적으로 논리적 통신을 수행해야 한다. 각각의 계층은 정해진 방식과 절차에 따라 상대 계층과 통신하는데 이 과정에서 필요한 규칙을 프로토콜이라고 한다.

상하위의 계층 간에는 인터페이스라는 규칙이 존재하고, 하위 계층이 상위 계층에 제공하는 인터페이스를 특별히 서비스라 부른다.

상대 호스트에 물리적으로 데이터를 전송하는 것은 맨 아래의 물리 계층이다. 물리 계층 위에 위치한 계층 프로토콜들은 각자 정해진 기능을 수행하면서 논리적 통신을 한다.

profile
오늘도 신나개 🐶

0개의 댓글