2. 컴퓨터 네트워크의 모델

윤주원·2023년 7월 11일
0

컴퓨터 네트워크

목록 보기
2/15
post-thumbnail

네트워크 모델

계층 구조의 개념

  • 일반적으로 복잡하고 큰 시스템의 기능은 특정 단위의 모듈로 나누어 설계한다.

  • 모듈화

  1. 복잡한 시스템을 기능별로 모듈화하면 시스템 구조가
    단순해진다.
  2. 프로그래밍에서는 함수의 개념을 사용하여 전체 프로
    그램을 모듈화 한다.

장점 : 컴퓨터에 하드디스크가 고장났다고 새로 사지는 않는다

  • 계층 구조
    : 특정 모듈이 다른 모듈에 서비스를 제공하는 형식의 계층 구조
    : 네트워크에서도 독립적인 고유 기능을 수행하는 모듈들이 상/하위의 계층 구조로 연결되어서 동작한다.
    ex) 운전자와 자동차
    : 운전자(상위계층)가 브레이크(인터페이스)를 통해서
    자동차(하위계층)에 서비스 요청

장점
1. 복잡하고 큰 시스템을 기능별로 작게 구분함으로써, 전체 시스템을 이해하기 쉽고, 시스템을 설계 및 구현하기에도 용이하다.
2. 모듈간의 표준 인터페이스가 단순하면 모듈의 독립성을 향상시킬 수 있으며, 시스템 구조를 단순화 시킬 수 있다.
3. 대칭 구조에서는 동일 계층 사이의 프로토콜을 단순화 시킬 수 있음
4. 특정 모듈의 외부 인터페이스가 변하지 않으면, 내부 기능의 변화가 전체 시스템의 동작에 영향을 미치지 않음


프로토콜 설계 시 고려사항

  • 네트워크 호스트의 주소 표현 방법, 데이터 전송과정에서의 오류 제어, 통신 양단 사이의 전송 속도를 제어하는 흐름 제어

주소 표현

호스트를 유일하게 구분하는 용도로 사용

  • 주소 표현
    : 여러 호스트가 연결된 환경에서 특정 호스트끼리 통신하려면,
    : 상대방을 구분할 수 있는 방법이 필요하며, 이를 구분하기 위해 이름을 부여하는 것을 주소 체계라고 한다.

  • 주소의 활용도를 높이기 위해서 구조적 정보를 포함
    : 전화번호 – 국가코드(82) – 지역번호(042) – 번호
    : 주민등록번호 – 생년월일 및 성별

  • 1:다 통신을 지원하기 위한 주소도 존재한다.
    : 네트워크 전체 호스트에 전달하는 브로드캐스팅 (재난안전문자)
    : 특정 사용자를 그룹으로 묶어서 전달하는 멀티캐스팅 (온라인강의)


오류 제어

전송 과정에서 데이터 분실, 변형 등의 오류에 대한 데이터
복구

  1. 전송 오류에는 데이터가 깨져서 도착하는 데이터 변형
  2. 데이터가 도착하지 못하는 데이터 분실
  • 오류 제어는 이러한 전송 오류를 바로 잡는 통신 프로토콜의 가장 기본적인 기능

흐름 제어

수신자가 빠르게 도착하는 데이터를 처리하지 못하는 문제
를 해결

  • 또 다른 데이터 분실 이유
    : 물리적인 오류가 없는데도 데이터를 분실하는 경우가 송/수신 호스트사이의 데이터 처리 속도로 인해 발생할 수 있다.
    : 수신자는 1초에 1개의 데이터를 처리할 수 있는데, 송신자가 1초에 2개의 데이터를 보낸 다면?
    : 수신자의 버퍼까지 가득 차버리면?

  • 송신 호스트의 전송 속도를 조절하는 흐름 제어가 필요하다.

데이터 전달 방식

  • 데이터 전달 방식
    – 단 방향 (Simplex) : 데이터를 한쪽 방향으로만 전송 가능
    – 반 이중 (Half-Duplex) : 데이터를 양방향으로 전송할 수 있지만, 한 시점에서 한쪽으로만 전송 가능
    ex) 군대 무전기
    – 전 이중 (Full Duplex) : 데이터를 양쪽에서 동시 전송 가능

연결형 / 비연결형 서비스

: 프로토콜은 계층 구조로 이루어져 있고, 하위 계층이 상위 계층에 서비스를 제공하는 방식으로 동작하며, 프리미티브 형태로 구현된다.
: 계층 구조 프로토콜에서 하위 계층이 상위 계층에 서비스를 제공하는 서비스의 종류에는 연결형과 비연결형이 있다

연결형 서비스
연결 설정 단계 / 데이터 전송 단계 / 연결 해제 단계 의 3단계로 서비스를 제공한다.
ex) 전화통화 서비스

비연결형 서비스
연결 설정 및 해제 단계없이 데이터를 전송한다. 전송할 데이터가 있으면 바로 목적지 호스트로 전송한다.
ex) 문자메시지 서비스


서비스 프리미티브

프리미티브는 하위 계층을 사용하는 방법을 정형화 한 것


: 클라이언트에서 서버로 전달되는 요청은 Request와 Indication이 되고,
: 서버에서 클라이언트로 전달되는 응답은 Response와 Confirm이 된다

  • 서비스 프리미티브 동작 원리


OSI 참조 모델

  • 컴퓨터 네트워크에서는 계층 구조로 모듈화된 프로토콜 스택을 사용하며, ISO가 확립한 OSI 7 계층 모델은 개방된 데이터 통신 환경에 적합한 계층 구현모델의 표준이다.
    : 연결된 두 호스트는 각각 7개의 계층으로 구성된 모듈을 따라 데이터 송수신이 가능하다.
    : 데이터가 하위 계층으로 내려갈 때는 각 계층의 프로토콜에서 정의한 헤더 정보가 추가되며, 데이터가 상위 계층으로 올라갈 때는 순차적으로 헤더 정보를 제거하고 해석한다.

  • 용어 정리

– 계층 n프로토콜 : 계층 n 모듈끼리 사용하는 통신 규칙
– 동료 프로세스 : 동일 계층에 위치한 통신 양단 프로세스
– 인터페이스 : 상/하위 계층 사이의 접속 방법
– 서비스 : 상위 계층이 하위 계층을 사용하는 방법

중개 기능

  • 라우팅 : 경로 배정 기능
  • 중개 노드 : 라우터
  • 라우터는 자신에게 도착한 데이터의 헤더 정보를 해석해서 적절한 경로로 전달하며, 헤더 정보를 수정하는 작업을 진행한다.

계층별 기능


TCP/IP 모델

  • 컴퓨터의 네트워크 구현 모델에서는 전송 계층까지의 기능을 시스템 공간인 운영체제 내부에 구현한다.
    : 즉, TCP/IP를 사용하려면, 사용자 공간에서 네트워크 응용 기능을 지원하는 프로그램을 작성해야한다.

시스템 공간 (1~4 계층)

  • 연결형 서비스 (TCP)와 비연결형 서비스 (UDP)는 시스템 운영체제인 커널 내부에 구현되어 있음
  • 소켓 인터페이스라는 전송 계층의 프리미티브를 이용한다.
  • 네트워크 계층은 IP로 구현, 전송 패킷의 올바른 경로 선택 기능을 제공

사용자 공간 (5~7 계층)

  • 프로그래밍 환경에서 전송 계층의 기능을 제공하는 소켓 시스템 콜을 이용
  • 프로그램에서 소켓을 사용할 때는 소켓마다 부여되는 고유 주소인 포트 번호를 관리해야한다.

프로토콜 : TCP, UDP, IP 프로토콜을 이용하지만, 이들의 동작을 도와주기 위한 프로토콜이 추가적으로 필요하다.

  • ARP와 RARP
    ARP : IP주소를 MAC주소로 변환
    RARP : MAC주소를 IP주소로 변환
  • ICMP
    오류 메시지를 전송하는 프로토콜 (Ping도 ICMP 프로토콜을 이용)
    IP 프로토콜에 캡슐화 되어 전송된다.
profile
안녕하세요

0개의 댓글