데이터 전송의 기초

형진·2022년 4월 24일
0

네트워크

목록 보기
7/10

데이터 전송 방식

컴퓨터 네트워크 효과

자원 공유

  • 컴퓨터 하드웨어, 소프트웨어 등 모든 종류의 물리적, 논리적 자원을 공유
  • 자원 활용의 극대화
  • 자원공유 목표
    • 모든 프로그램과 통신장치, 특히 데이터를 이용하는 사용자나 물리적인 장소에 관계없이 네트워크에 있는 모든 사람이 자원을 사용하는 것

병렬 처리에 의한 성능 향상

  • 하나의 공유 시스템 버스에 다수의 메인 프로세서를 장착
  • I/O 장치의 처리 속도를 향상시키기 위해 I/O 전용 프로세서를 설치
  • 다수의 연산장치나 프로세서, 기억장치를 상호 결합하여, 고속성·신뢰성 및 확장성의 향상을 꾀하는 것을 주목적으로 한 처리방식
  • 병렬처리 트랜드
    • 범용 컴퓨터의 고속화가, 논리 구성 방식이나 하드웨어 기술(디바이스 기술이나 실장기술)의 개선에서는 점점 곤란해지고, 병렬처리에 의한 고속화 가속
  • 고속처리를 필요로 하는 응용분야
    유체역학, 원자물리학, 일기예보, 구조해석, 자원탐사, VLSI회로 시뮬레이션 등의 과학기술 계산분야, 화상처리·도형처리·신호처리 등의 실시간 처리나 인간기계 대화, 처리분야, 패턴 인식, 자연언어 이해, 추론이라고 하는 인공지능 응용분야 등
  • 1980년대에는 VLSI 시대를 맞고, 또 인공지능 등의 다양한 응용이 보급됨에 따라, 파이프 라인 제어방식 이외의 병렬처리 시스템의 개발연구·상용화가 진행
  • 병렬처리 방식 구분
    • 분류 방법으로 명령(instruction, I)류와 데이터(data, D)류가 단일(single, S)인가 복수(multiple, M)인가에 따라 컴퓨터의 방식을 크게 4개의 형태로 분류
  • SISD
    • 한 개의 처리 장치(프로세서)에서, 단일의 데이터에 대한 처리를 하나의 명령으로 실행시키는 방식
      단일 명령-단일 데이터 처리(SISD)는 순차적 제어 방식이며 노이만형 컴퓨터 방식
  • SIMD
    • 하나의 명령어로 여러 개의 값을 동시에 계산하는 방식
    • 응용분야
      • 벡터 프로세서에서 많이 사용되는 방식으로, 비디오 게임 콘솔이나 그래픽 카드와 같은 멀티미디어 분야에 자주 사용
      • CPU에서는 인텔의 MMX, 스트리밍 SIMD 확장(SSE)과 AMD(미국 직접회로 제조회사)의 3D 등의 기술에서 이를 적용
  • MISD
    • 동일한 데이터를 다수의 명령에 의해 동시에 각기 다른 처리를 하는 병렬 처리 방식
    • 명령과 데이터의 흐름에 착안하여 분류한 컴퓨터 제어 방식으로 -파이프라인(pipeline) 제어 방식의 컴퓨터가 이에 속함
  • MIMD: Multiple Instruction, Multiple Data
    • 전산에서 병렬화의 한 기법
    • MIMD를 사용하는 기계는 비동기적이면서 독립적으로 동작하는 여러 개의 프로세서를 가짐
    • 장점
      • 언제든지 각각의 다른 프로세서들은 각기 다른 데이터를 이용하는 여러 명령어들이 실행할 수 있음

중복 저장으로 신뢰성 향상

  • 중복 저장되므로 데이터 복구가 용이함
  • 신뢰성의 향상 정도만큼 시스템 성능은 저하됨

전송과 교환

  • 교환(Switching)
    • 라우터에서 데이터를 어느 방향으로 전달할지를 선택하는 기능
  • 전송(Transmission)
    • 일대일(1:1)로 직접 연결된 두 시스템간의 신뢰성 있는 데이터 전송을 보장
  • 전송과 교환 예: 호스트 a에서 호스트 d로 데이터를 전달
  1. 호스트 a와 호스트 c 간의 직접 연결에 의한 전송
  2. 호스트 c에서의 올바른 경로 선택을 의미하는 교환
  3. 호스트 c와 호스트 d 간의 직접 연결에 의한 전송
  • 전송 방식의 종류
    • 지리적 분포에 따른 분류 방식
      • LANLocal Area Network(근거리 통신망)
      • MANMetropolitan Area Network(도시규모의 통신망)
      • WANWide Area Network(원거리 통신망) 등
    • 데이터 전송 .교환 기술의 분류 방식
      • 점대점(Point-to-Point) 방식
      • 브로드캐스팅(Broadcasting) 방식

점대점 방식 및 브로드캐스팅

  • 점대점 방식
    • 호스트가 중개 호스트와 일대일로 연결
    • 원거리에 있는 시스템 사이의 통신 방식
    • WAN 환경에서 주로 사용
    • 교환 호스트가 송수신 호스트의 중간에 위치
  • 종류 : 스타형, 링형, 완전형, 불규칙형

  • 장/단점
    • 연결 개수가 많아지면 성능은 유리하나 비용이 많이 소요, 연결 개수가 적어지면 전송 매체를 많이 공유해 네트워크 혼잡도 증가
    • 가장 단순한 방법이지만 두 장치는 채널의 전체 용량을 사용하여 송수신할 수 있음
    • 스타Star형
      • 하나의 중개 호스트 주위로 여러 호스트를 일대일로 연결하는 형태
      • 중앙 호스트의 신뢰성과 성능이 네트워크에 영향 줌
    • 트리Tree형
      • 중앙에 있는 스타 구조 주변에 위치한 호스트들을 중심으로 새로운 스타 구조가 확장되는 형
      • 장단점
        • 중개 과정이 간단하나 중앙 호스트에 문제발생시 전체 네트워크의 동작에 영향을 줌
    • 링Ring형
      • 호스트의 연결이 순환 고리 구조
      • 모든 호스트가 데이터 전송과 교환 기능을 동시에 수행
      • 토큰Token
        • 호스트 사이의 데이터 송신 시점을 제어하는 기능
        • 데이터의 전송 권한을 의미하는 토큰을 확보
        • 데이터 전송이 완료되면 토큰을 다시 링 네트워크에 돌려줌
      • 단점
        • 한 호스트가 고장 나면 전체 네트워크가 동작하지 않을 수 있음
      • 완전형
        • 모든 호스트가 다른 모든 호스트와 일대일로 직접 연결하는 방식
        • 단점 : 전송 매체가 증가하면 비용 측면이 비효율적임
      • 불규칙형
        • 연결 구조를 특정 패턴으로 분류할 수 없는 방식
        • 일반 네트워크
  • 브로드캐스팅 방식
    • 네트워크에 연결된 모든 호스트에 데이터가 전송
    • 별도의 교환 기능이 불필요
    • LAN처럼 지리적으로 가까운 호스트 사이의 통신에서 주로 사용
    • 특정 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전달
    • LAN 환경에서 사용(교환 호스트 불필요)
    • 종류 : 버스형, 링형
    • 버스Bus형
      • 전송 데이터를 모든 호스트에서 수신할 수 있음
      • 충돌(Collision)
        • 둘 이상의 호스트에서 데이터를 동시에 전송할 때 충돌 발생
      • 충돌 해결 방법
        • 호스트의 전송 권한을 제한함
        • 사전에 전송 권한을 확보하는 방법
        • 시간대를 다르게 지정하는 방법
        • 토큰으로 전송 권한을 순환적으로 이용하는 방법
      • 충돌 허용
        • 둘 이상의 호스트가 데이터를 동시에 전송할 수 있도록 허용, 충돌 발생 시에 해결 과정 필요
        • 예 : 이더넷Ethernet
      • 링Ring형
        • 호스트를 순환 구조로 연결
        • 송신 호스트가 전송한 데이터는 링을 한 바퀴 순환한 후 송신 호스트에 되돌아옴
        • 중간의 호스트 중에서 수신 호스트로 지정된 호스트만 데이터를 내부에 저장
        • 데이터를 전송하기 위해서는 토큰 확보가 필수
  • 멀티포인트 통신
    • 유니캐스팅Unicasting 방식
      • 두 호스트 사이의 데이터 전송 (텔넷, FTP, 웹 검색)
      • 규범: 미확정
      • 메시지의 수신 주소를 1개만 지정하는 1:1 통신 형태. 반면, 네트워크 내의 모든 주소에 동일 메시지를 보내는 것을 "브로드캐스트", 지정한 복수의 수신 주소에 동일 메세지를 보내는 것을 "멀티캐스트“ 즉, 다수의 수신 호스트 전송
      • IP 주소의 클래스 A, 클래스 B 및 클래스 C는 유니캐스트 주소임
      • 수신 호스트 하나에만 데이터 전송 유니캐스팅Unicastin
    • 멀티포인트Multipoint
      • 일대다(1:n)
      • 다대다(n:n) 형식(화상 회의, 원격 교육, 인터넷 채팅)
      • 하나의 송신 호스트를 기준으로
        • 수신 호스트 하나와 연결 : 유니포인트Unipoint
        • 다수의 수신 호스트와 연결 : 멀티포인트Multipoint
      • 멀티포인트 유니캐스팅MultipointUnicasting
        • 일대다 통신을 위해 멀티포인트 유니캐스팅 방식을 사용

오류 제어

  • 전송 오류의 유형

    • 오류 복구 기능
  • 수신 호스트의 응답 프레임

    • 송신 호스트에 응답 프레임을 전송 원래의 데이터 프레임을 재전송하도록 요구
    • 긍정 응답 프레임(PACK)
    • 부정 응답 프레임(NACK)
      • 송신 호스트의 재전송 기능 작동
  • 송신 호스트의 타이머 기능

    • 타임아웃(Timeout)
      • 데이터 프레임을 전송한 후에 일정 시간 이내에 수신 호스트로부터 긍정 응답 프레임 회신이 없으면 데이터 프레임을 재전송
    • 순서 번호 기능
      • 수신 호스트가 중복 프레임을 구분할 수 있도록 지원
      • 데이터 프레임 내에 프레임 구분을 위한 일련 번호 부여
    • 정상적인 전송
      • 송신 호스트가 전송한 데이터 프레임이 수신 호스트에 오류 없이 도착
        - 수신 호스트는 송신 호스트에게 긍정 응답 프레임을 회신
  • 프레임 변형 및 분실

    • 프레임 변형 오류를 인지한 수신 호스트는 송신 호스트에 부정 응답 프레임을 전송
      • 원래의 데이터 프레임을 재전송
    • 부정 응답 프레임을 사용하지 않는 프로토콜에서는 송신 호스트의 타임아웃 기능에 따라 복구 과정을 시작
    • 프레임 분실
      - 송신 호스트는 데이터 프레임을 전송한 후에 특정 시간까지 수신 호스트의 긍정 응답 프레임이 도착하지 않으면 타임아웃 기능에 따라 원래의 프레임을 스스로 재전송
  • 순서 번호 및 흐름 제어

    • 순서 번호
      • 중복 수신 문제를 해결하기 위해 데이터 프레임에게 부여되는 고유 번호
    • 순서 번호의 필요성
      - 긍정 응답 프레임이 사라지는 오류 발생 시 송신 호스트의 타임아웃 기능에 따라 재전송 과정이 진행됨 동일한 프레임 중복 수신
      [데이터 분실에 대한 재전송 과정]
  • 수신 호스트가 두 경우((a 상위그림) 긍정 응답 분실, (b아래그림) 긍정 응답 도착)를 구분할 수 있도록 데이터 프레임별로 고유의 순서 번호를 부여하는 방식이 필요함

    [PACK 응답에 대한 데이터 전송 과정]
  • 순서 번호에 의한 프레임 구분

    • 순서 번호에 근거하여 동일한 데이터 프레임이 중복 도착여부를 확인 가능
      [서로 다른 데이터 프레임이 도착]

[긍정응답 도착: 순차번호가 있는 경우]
  • 흐름 제어Flow Control
    • 수신 호스트가 감당할 수 있을 정도의 전송 속도를 유지하면서 데이터 프레임을 전송
    • 너무 빨리 전송하는 경우
      • 수신 호스트가 내부 버퍼에 보관하지 못할 수 있음
        - 이는 프레임 분실과 동일한 효과를 야기함
    • 데이터 패킷(data packet)을 전송할 때 수신 한도를 넘는 과잉 패킷의 입력으로 패킷 분실이나 록 업(lock up)이 일어나지 않도록 패킷의 흐름량을 조절
    • 예) (수신측)윈도 방식의 흐름 제어에서는 수신측의 완충의 크기에 따라 연속하여 수신되는 최대의 패킷 수를 결정함
      • 이러한 이유로는 각 수신장치는 버퍼(buffer)라 불리는 메모리 블록을 가지고 있어 들어오는 데이터를 처리 및 저장함. 만약 버퍼가 가득 차기 시작하면 수신기는 송신기에게 다시 수신할 수 있을 때까지 전송을 멈추도록 요구
    • 예) (송신측)
      • 응답을 받기 전에 송신하는 데이터 패킷 수를 그 이하로 억제하도록 제어함
  • 기본 원리
    • 수신 호스트가 송신 호스트의 전송 시점을 제어
    • 대표적인 예: 슬라이딩 윈도우 프로토콜
      [대표적인 슬라이딩 윈도우 알고리즘]

이미지출처 - 배움사이버평생교육원(신은섭교수 강의)

profile
느낀대로 적자

0개의 댓글

관련 채용 정보