책읽기

[쉽게 배우는 데이터 통신과 컴퓨터 네트워크][Chapter-1] 네트워크의 기초 용어와 기능

pythaac 2021. 8. 3. 12:15
이 글은 "쉽게 배우는 데이터 통신과 컴퓨터 네트워크 (박기현 지음)"을 읽고 주관적으로 요약한 글입니다. 

출처 : https://www.hanbit.co.kr/store/books/look.php?p_code=B3980824801

 

1. 네트워크 관련 기초 용어

1) 네트워크 기초 용어

  • 시스템 (System)
    • 내부 규칙에 따라 능동적으로 동작하는 대상
    • 물리적인 대상뿐 아니라, 프로세스 같은 논리적 대상도 포함
  • 인터페이스 (Interface)
    • 시스템과 시스템을 연결하기 위한 표준화된 접근 방식
    • 물리적 규격 / 논리적 규격
    • 인터페이스로 연결된 시스템은 능력과 권한이 같을 수도, 서로 서비스를 주고 받는 상하 관계일 수도 있음
  • 전송 매체 (Transmission Media)
    • 시스템끼리 정해진 인터페이스를 연동해 데이터를 전달하는 물리적 전송 수단
    • 동축 케이블, 공기, 무선 신호 등
  • 프로토콜 (Protocol)
    • 상호 연동되는 시스템이 전송 매체를 통해 데이터를 교환할 때 따르는 표준화된 규칙
    • 동등한 위치의 시스템 사이 규칙
    • 인터페이스는 연동을 위한 접촉 지접(Access Point)를 의미
    • 프로토콜은 주고받는 정보의 형식과 절차적 순서를 의미
  • 네트워크 (Network)
    • 통신용 매체를 공유하는 여러 시스템이 프로토콜로 데이터를 주고받는 환경의 통칭
    • 라우터
      - 소규모 네트워크가 모여 더 큰 네트워크를 구성하기 위해 사용하는 중계 장비
  • 인터넷 (Internet)
    • 전 세계 모든 네트워크가 유기적으로 연결되어 동작하는 통합 네트워크
    • IP(Internet Protocol)에서 유리된 이름
  • 표준화 (Standardization)
    • 서로 다른 시스템의 상호 연동이 가능하도록 형식을 통일하는 것

2) 시스템 기초 용어

  • 노드 (Node)
    • 인터넷에 연결된 시스템
    • 데이터를 주고받는 모든 시스템의 통칭
  • 호스트 (Host)
    • 컴퓨팅 기능이 있는 시스템
    • 사용자가 네트워크에 접속하는 창구 역할
    • 호스트 사이에 제공되는 서비스를 기준으로 클라이언트 / 서버로 나뉨
  • 클라이언트 (Client)
    • 서비스를 이용하는 시스템
    • 호스트는 다양한 서비스를 주고받으므로, 클라이언트 / 서버 역할이 고정되지 않음 (상대적인 관점)
  • 서버 (Server)
    • 서비스를 제공하는 시스템
    • 계속 대기하다가 클라이언트의 요청이 들어올 때마다 서비스 제공

 

2. 네트워크의 기능

1) 계층 모델

  • OSI(Open System Interconnection) 7계층
    • 여러 호스트가 서로 통신하기 위해 표준화한 방식
    • 데이터 송신 요청이 아래 계층으로 순차 전달, 데이터 수신은 반대로
  • 1. 물리 계층 (Physical Layer)
    • 호스트를 전송 매체와 연결하기 위한 인터페이스
  • 2. 데이터 링크 계층 (Data Link Layer)
    • Noise와 같은 물리적 전송 오류를 감지하는 기능 제공
    • 물리적 오류로 데이터 분실 / 깨진 데이터는 재전송하는 방식으로 처리
  • 3. 네트워크 계층 (Network Layer)
    • 데이터는 여러 개의 중개 시스템(라우터)을 거쳐야함
    • 데이터가 올바른 경로를 선택할 수 있도록 지원
    • 네트워크 부하에 따른 혼잡 제어(Congestion Control) 담당
  • 4. 전송 계층 (Transport Layer)
    • 데이터를 교환하는 주체는 호스트 내부의 네트워크 프로세스
    • 송신 프로세스와 수신 프로세스간의 연결 기능 / 안전한 데이터 전송 제공
    • 운영체제의 시스템 콜 형태로 제공되며, 위 계층은 사용자 프로그램으로 작성
  • 5. 세션 계층 (Session Layer)
    • 전송 계층의 연결과 유사한 상위 논리적 연결인 세션 연결 지원
    • 사용자 간의 대화(Dialog) 개념의 연결로 사용
  • 6. 표현 계층 (Presentaiotn Layer)
    • 전송되는 데이터의 의미(Semantic)를 잃지 않도록 올바르게 표현하는 방법(Syntax)을 다룸
    • 본래 기능에 더해, 다음 2가지 중요한 기능
      1. 압축 : 멀티미디어와 같은 전송 데이터의 양을 줄임
      2. 암호화 : 데이터를 안전하게 보호하는 기능
  • 7. 응용 계층 (Application Layer)
    • 사용자를 위한 다양한 네트워크 응용 환경 지원
  • 프로토콜 / 인터페이스 / 서비스
    • 프로토콜
      - 각 계층에 상응하는 방식과 절차에 따라 상대 계층과 통신하는 과정에서 필요한 규칙
    • 인터페이스
      - 계층과 계층 사이의 규칙
    • 서비스
      - 하위 계층에서 상위 계층에 제공하는 인터페이스

2) 인터네트워킹

  • 네트워크와 네트워크의 연결
  • 두 네트워크가 연동되여 정보를 교환하려면, 데이터를 중개할 인터네트워킹 시스템이 필요함
  • 인터네트워킹 시스템은 연결하는 네트워크들에 대해 물리적 / 논리적 인터페이스를 모두 지원해야함
  • 게이트웨이 (Gateway)
    • 인터네트워킹 기능을 수행하는 시스템
    • 기능에 따른 종류
      1. 리피터 (Repeater)
        - 전송 거리가 멀어 신호가 감쇄되는 것을 보완하는 물리 계층 기능 지원
        - 물리 계층
      2. 브리지
        - 리피터에 데이터 링크 계층 기능이 추가되어 물리 계층 오류 해결 기능까지 지원
        - 물리 계층 + 데이터 링크 계층
      3. 라우터
        - 브리지에서 네트워크 계층 기능까지 추가되어 네트워크간 중개 및 빠른 데이터 전송 경로 판단 지원
        - 물리 계층 + 데이터 링크 계층 + 네트워크 계층

3) 프로토콜

  • 데이터를 교환하기 위해 사용하는 통신 규칙
  • OSI 7계층 모델은 각 계층에서 수행하는 프로토콜이 독립적이라 간주
  • 데이터 단위
    • 네트워크 프로토콜을 이용해 데이터를 교환하기 위해서는 먼저 데이터 형태를 규격화해야함
    • PDU (Protocol Data Unit)
      - 계층에 상관없이 사용할 때 통칭
APDU
Application PDU
응용 계층에서 사용
PPDU
Presentation PDU
표현 계층에서 사용
SPDU
Session PDU
세션 계층에서 사용
TPDU
Transport PDU
TCP는 세그먼트(Segment) / UDP는 데이터그램(Datagram)
전송 계층 자체 PDU를 일반적으로 데이터그램이라고도 함
NPDU
Network PDU
패킷(Packet)
DPDU
Data Link PDU
프레임(Frame)

 

3. 네트워크 주소의 표현

  • 대상을 유일하게 구별하는 구분자(Identifier)의 특징
    1. 유일성
      - 같은 구분자를 갖지 않는 유일성 보장
    2. 확장성
      - 이용자의 증가로 최대 수용 규모를 예측하여 표현할 수 있는 범위를 고려
    3. 편리성
      - 사용자가 이해하기 쉬운 기호로 된 이름과 숫자로된 주소의 매핑(Mapping) 기능
    4. 정보의 함축
      - 구분자에 응용 환경에서 필요한 다양한 정보를 포함

1) 주소와 이름

  • 시스템을 지칭하는 구분자
    • 주소 (Address)
      - 숫자 기반
    • 이름 (Name)
      - 편리성을 도모하는 기호
    • 사용자는 내부 주소를 몰라도 이름만으로 시스템에 접근
  • 여러 네트워크 주소가 존재
    • IP 프로토콜
      - 호스트 구분
      - IP 주소
    • 데이터 링크 계층
      - LAN 카드 구분
      - MAC 주소
    • TCP 계층
      - 네트워크 프로세스 구분
      - Port 주소
  • IP 주소
    • 네트워크 계층의 IP 프로토콜에서 호스트 구분을 구분하기 위해 사용하는 주소
    • 32bit로 8bit씩 네부분을 나눔
    • 국제 표준화 기구(ISO)에서 전체 주소를 관리 / 할당하여 중복 주소 사용 차단
    • 특정 규칙에 따라 인접한 숫자가 그룹으로 묶이며, 이는 패킷의 경로를 결정하는 데에 역할을 함
  • 호스트 이름
    • IP 주소는 기억하기 힘들어 문자로 된 주소 사용
    • 사용자가 문자로 된 호스트 이름을 사용하면 IP 주소로 변환이 필요
      - 일반 사용자 (호스트 이름을 사용) -> 상위 계층 (DNS로 부터 호스트 이름을 IP주소로 변경) -> 네트워크 계층 (IP 주소 사용)
    • DNS (Domain Name System)
      - 네 계층 구조 : <호스트>.<단체 이름>.<단체 종류>.<국가 도메인>
      - zebra.korea.co.kr : 대한민국(kr)의 회사(co)중 korea라는 이름에 소속된 zebra 호스트

2) 주소 정보의 관리

  • 호스트 파일
    • 호스트 이름과 IP 주소 변환을 위해, 호스트 이름과 IP 주소의 조합을 기록/관리하는 특정 파일
    • 그러나 네트워크 관리자가 관리 대상의 호스트 정보를 주기적으로 갱신해야함
  • DNS
    • 주소와 이름 정보를 자동으로 유지하고 관리하는 분산 데이터베이스 시스템
    • 네임 서버(Name Server) : 호스트 주소와 이름 정보를 유지/관리하는 특정 호스트
    • 주소 변환 작업이 필요한 클라이언트가 네임 서버에 요청해 IP 주소를 획득
    • 네트워크 집중화를 피하기 위해 여러 네임 서버에 분산하여 관리
  • 기타 주소
    • MAC 주소
      - LAN카드에 내장된 주소
      - 물리 계층이 데이터 전송시 호스트 구분에 사용
      - 네트워크 계층에서 데이터 링크 계층으로 데이터를 전송할 때는 IP 주소를 MAC 주소로 변환해야함
    • IP 주소
      - IP 패킷이 지나가는 경로의 라우팅 기준
    • 포트 주소
      - 전송 계층에서 호스트 프로세스 구분에 사용
    • 메일 주소
      - 응용 계층의 메일 시스템에서 사용자 구분에 사용