데이터 통신

hyuko·2022년 10월 27일
0

네트워크 모델

계층적 모듈 구조

  • 모듈화
    • 크고 복잡한 시스템을 기능별로 여러 개의 작고 단순한 모듈로 독립화
    • 모듈 사이의 적절한 인터페이스가 필요
    • 예) C 프로그래밍 언어의 함수 개념


  • 계층 구조
    • 상위 모듈이 하위 모듈에게 서비스를 요청
    • 하위 모듈은 서비스를 실행하고 그 결과를 상위 모듈에 통보

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


    프로토콜 설계 시 고려 사항


  • 주소 표현, 오류 제어, 흐름 제어, 데이터 전달 방식
  • 주소 표현
    • 주소의 역할: 서로를 구분
    • 주소의 활용도를 높이기 위하여 구조적 정보를 포함
      • 전화번호: 국가 코드 - 지역 코드 - 번호
      • 주민번호: yymmdd-abcdefg
    • 1:다 통신을 지원
      • 브로드캐스팅: 모든 호스트에 데이터 전달
      • 멀티캐스팅: 특정 호스트에게 데이터 전달

  • 오류 제어
    • 데이터 변형 오류: 데이터가 깨져서 수신자에게 도착
    • 데이터 분실 오류: 데이터가 수신자에게 도착하지 못함

  • 흐름제어
    • 수신자의 처리 능력에 비해 너무 빨리 데이터를 전송하지 못하도록 제어
    • 수신 버퍼가 부족하면 수신자는 데이터를 분실 처리함

  • 데이터 전달 방식
    • 단방향: 데이터를 한쪽 방향으로만 전송
    • 전이중: 데이터를 양쪽에서 동시에 전송
    • 반이중: 양방향으로 전송할 수 있지만, 특정 시점에서는 한쪽 방향으로만 전송


서비스 프리미티브

  • 프리미티브의 종류
    • 연결형 서비스: 데이터 전송 전에 미리 연결을 설정하는 방식
      • CONNECT: 연결 설정
      • DATA: 데이터 전송
      • DISCONNECT: 연결 해제
    • 비연결형 서비스: DATA

  • 기능
    • Request: 클라이언트가 서버에 서비스 요구
    • Indication: 서버가 서비스 요구가 도착했음을 통지
    • Response: 서버가 클라이언트에 서비스 응답
    • Confirm: 클라이언트에 응답이 도착했음을 통지

  • 프리미티브의 동작원리
    • CONNECT.Request, DATA.Request, DISCONNECT.Request
    • CONNECT.Indication, DATA.Indication, DISCONNECT.Indication


    OSI 참조모델

    OSI 7 계층 모델


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

  • 헤더 정보
    • 송신 호스트: 데이터가 상위 계층에서 하위 계층으로 갈수록 헤더 추가
    • 수신 호스트: 데이터가 하위 계층에서 상위 계층으로 갈수록 헤더 제거

    계층별 기능

  • 물리 계층
    • 데이터 전송 속도, 클록 동기화 방법, 물리적 연결 형태등

  • 데이터 링크 계층
    • 물리 계층의 물리적 전송 오류 문제를 해결
    • 프레임: 전송 데이터의 명칭

  • 네트워크 계층
    • 데이터의 전송 경로를 결정
    • 호스트 구분을 위한 주소 개념 필요(예: IP주소)
    • 패킷: 전송 데이터의 명칭
    • 혼잡 제어: 데이터 전송 경로의 선택에 따라 네트워크 혼잡에 영향을 미침

  • 전송 계층
    • 송수신 프로세스 사이의 단대단 통신 기능을 지원
    • 프로세스 구분을 위한 주소 개념 필요(포트번호)

  • 세션 계층
    • 송수신자 사이에 상위적 연결 개념인 세션을 지원

  • 표현 계층
    • 데이터의 의미와 표현 방법을 처리
    • 암호화/압축 기능도 처리

  • 응용 계층
    • 대표적인 인터넷 서비스: FTP, Telnet, 전자메일

TCP/IP 모델

TCP/IP 구현 환경

  • 시스템 공간(계층1~4): 운영체제에서 동작
  • 사용자 공간(계층5~7): 사용자 프로그램으로 동작

    프로토콜

  • TCP/UDP: 사용자 데이터를 전송하는 전송 계층 프로토콜
    • IP: 사용자 데이터를 전송하는 네트워크 계층 프로토콜
    • ARP와 RARP
    • ARP: IP 주소를 MAC 주소로 변환
    • RARP: MAC 주소를 IP 주소로 변환
  • ICMP
    • 오류 메세지를 전송하는 프로토콜
    • IP 프로토콜에 캡슐화되어 전송됨
 
profile
백엔드 개발자 준비중

0개의 댓글