프로토콜(Protocol)
  - 둘 이상의 컴퓨터 사이에 데이터 전송을 할 수 있도록 미리 전보의 송수신측에서 정해둔 통신 규칙
  - 정보통신을 위해 통신을 원활하게 수행할 수 있도록 해주는 통신규칙, 통신 규약을 말한다.
  - 정확하고 효율적인 정보전송을 위해 일련의 절차나 규범의 집합

프로토콜의 기본요소
  - 구문(Syntax)
     : 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규칙
  - 의미(Semantic)
     : 전송제어와 오류관리를 위한 제어정보를 포함
  - 타이밍(Timing)
     : 기기 간의 통신 속도, 메시지 순서 제어등을 규정(동기를 맞추는걸 의미)

프로토콜의 기능
  - 동기제어(Synchronization Control
  - 분리와 재결합
  - 흐름제어(Flow Control)
  - 순서제어(Sequencing)
  - 주소 지정(Addressing)
  - 요약화(캡슐화, Encapsulation)
  - 에러 제어(Error Control)
  - 경로 제어(Routing)
  - 다중화(Multiplexing)

 * 캡슐화(Encapsulation) : 실제 전송되는 데이터에 여러 제어 정보를 붙여 포장하는 것(감추는 것)

프로토콜의 전송 방식
  1. 문자방식 : 전송 제어 문자를 사용하여 프레임의 시작과 끝을 나타내는 방식        - BSC
  2. 바이트 방식 : 프레임의 헤더에 프레임의 제어 정보를 삽입하여 전송하는 방식     - BSC
  3. 비트방식 : 특정한 플래그를 정보 메시지의 처음과 끝에 포함시켜 전송하는 방식  -  BDSL/SDLC

계층화된 프로토콜의 장점
  - 모듈화에 의한 전체 설계가 쉬움(한번에 처리하기엔 너무 복잡하기 때문)
  - 다른 기종간의 호환성 유지가 쉬움
  - 한 계층을 수정할 때 다른 계층에 영향을 주지 않음

경로 설정(Routing)
  - 데이터 패킷을 출발지에서 목적지까지 이용 가능한 전송로를 찾아 볼 후 가장 효율적인 전송로를 선택하는 것
  - 경로설정에 필요한 장치를 라우터라 한다.

 * 라우터(Router)
    : LAN을 연결해 정보를 주고 받을 때 패킷에 담긴 수신처의 주소를 읽고 가장 적절한 통신 통로를 찾아서 전송하는 장치.

 * 브리지(Bridge, 브릿지)
    : 두개의 LAN을 서로 연결해 주는 통신망 연결장치이다.

 * 라우터와 브리지의 차이
    : 브리지는 프로토콜 변환이 되지 않기 때문에 서로 다른 기종의 네트워크 연결은 할 수 없는 반면
      라우터는 프로토콜 변환이 가능하기 때문에 어떠한 네트워크든 연결할 수 있다


경로 설정 프로토콜(라우팅 프로토콜)
  : IGP, RIP, EGP, BGP


경로 설정 알고리즘
  1. 범람 경로 제어(Flooding)
  2. 고정 경로 제어(Static Routing)
  3. 적응 경로 제어(Adaptive Routing)
  4. 임의 경로 제어(Random Routing)

패킷 교환망의 특징
  - 정보를 패킷 단위로 전송
  - 다중 전송이 가능
  - 회선 이용효율의 극대화
  - 전송량과 전송속도가 달라도 보냄(변환이 가능하기 때문)
  - 장애발생시 대체 경로 선택이 가능(여러 라우터로 연결되어 있기 때문)
  - 표준화된 프로토콜 적용
  - 대량의 데이터를 전송 시에는 전송 지연시간이 생길 수도있다는 단점이 있다.

패킷 교환망의 기능
  - 순서 제어 : 패킷들이 무작위로 날라오면 순서에 맞게 제어
  - 경로선택 : 어디로 어떻게 보낼 것인지
  - 트래픽 제어(Traffic Control) : 전송되는 트래픽들이 한쪽으로만 몰리지 않게
  - 에러제어(Error Control)
  - 패킷 다중화 : 다중의 상대 터미널과 통신을 수행하도록 하는 기능
  - 논리 채널 : 송수신측 단말기 사이에 가상 회선을 성정하는 기능

  * X.75 : 패킷교환망과 패킷교환망 사이의 접속 규격

  * PAD(Packet Assembler Disassembler)
     : 단말기들간에 접속이 가능하도록 패킷을 분해, 조립하는 장치

회선 교환 방식(Circuit Switching)
  - 음성 전화망과 같이 메시지가 전송되기 전에 발생지에서 목적지까지 물리적 통신 회선 연결이 선행되어야 하고
     이 물리적 연결이 정보 전송이 종료될 때 까지 계쏙 유지되는 교환방식
  - 쉽게말해 전화를 걸어 서로 연결되면 데이터 전송이 완료 될때까지 다른 간섭을 받지 않는 의미와 같음

회선 교환 방식의 특징
  - 전보량이 많을 때와 파일 전송 등의 긴 연속적인 메시지 전송에 적합
  - 고정 대역폭을 사용하고 각 전문은 동일한 물리적 경로에 따름
  - 일단 통신경로가 설정되면 데이터의 형태, 부로, 전송제어 절차 등에 의한 제약을 받지 않음
  - 일대일 정보통신에 좋음

회선 교환 방식 통신 과정
  - 호(Call) 설정 → 데이터 전송 → 호(Call)해제



메시지 교환 방식(Message Switching)
  - 하나의 메시지 단위로 축척(저장) 후 전달(store-and-forward) 방식에 의해 데이터를 교환하는 방식
  - 메시지 축척 후 교환 방식

메시지 교환 방식의 특징
  - 수신측이 준비 안 된 경우에도 지연 후 전송이 가능(따라서 응답시간이 느리다)
  - 각 메시지마다 전송 경로가 다르고 수신 주소를 붙여서 전송
  - 전송 지연 시간이 가장 길다(저장 해 놓았다가 받을 수 있을때까지 기다렸다가 보내기 때문)
  - 응답시간이 느려서 대화형 데이터 전송에는 부적합



패킷교환 방식(Packet Switching)
  : 메시지를 일정한 길이의 패킷으로 잘라서 전송하는 방식(인터넷)

  * 패킷(Packet)
    : 일정한 데이터를 보내기 위해 정해진 크기의 비트 수로 나눈 다음 정해진 형식에 맞추어 만들어진 데이터 블록

패킷교환 방식의 특징
  - 패킷을 일시 저장(주기억장치에 저장)했다 수신처에 따라 적당한 경로를 선택해서 전송(Store-and-Forward)
  - 모든 사용자간에 빠른 응답 시간을 제공
  - 가상 회선 방식과 데이터그램 방식이 있음

  1. 가상 회선 방식
    - 송수신국 사이에 논리적 연결이 설정됨
    - 통신과정 : 호(Call) 설정 → 데이터(패킷) 전송 → 호(Call) 해제
    - 별도의 호 설정 과정이 있다는 것이 회선 교환 방식과의 공통점임
    - 패킷의 발생 순서대로 전송

  2. 데이터그램 방식
    - 데이터의 전송 시에 일정 크기의 데이터 단위로 쪼개어 특정 경로의 설정 없이 전송되는 방식
    - 수신 측에서 도착한 패킷들의 순서를 재정리해야 함
    - 쉽게말해 데이터를 쪼개어 전송하고 순서 없이 수신 후 재정리 하는 방식을 말한다.

네트워크 구조
  : 컴퓨터, 단말, 통신회선망의 기능 배분을 최적화하여 컴퓨터 통신망의 효율적인 구축을 도모하기 위해
    기본 구조 또는 그에 관한 기술

네트워크의 논리적 구성요소
  1. 사용자 프로세스(User Process)
      : 정보처리나 통신을 하는 장치를 모델화
  2. 노드(Node)
      : 원격처리장치 혹은 교환기를 모델화
  3. 링크(Link)
      : 일반적으로 통신회선, 즉 전기신호를 운반하는 매체를 모델화


네트워크의 구성 형태

  1. Mesh형(망형)=Fully conected
     - 보통 공중 데이터통신 네트워크에서 주로 사용되며, 통신 회선의 총 경로가 다른 네트워크에 비교하여 가장 길다
     - node의 연결성이 높고 많은 단말기로부터 많은 양의 통신을 필요로 하는 경우에 유리하다
     - 좋지만 비용이 많이 든다
     - 모든 노드를 망형으로 연결하는 경우

             필요한 회선 = n(n-1) / 2 


  2. Star형(성형, 중앙 집중형)
     - 중앙에 서버 컴퓨터가 모든 클라이언트를 관리하는 방식
     - 중앙 컴퓨터가 고장나면 모든 클라이언트가 마비가 되는 단점이 있다.

  3. Ring형(루프형)
     - 데이터는 한쪽 방향으로만 흐르고 병목현상이 드문다
     - 양쪽 방향으로 접근이 가능하여 통신 회선 장애에 대한 융통성이 있다
     - 한노드(nod)가 절단되어도 우회로를 구성하여 통신이 가능하다
     - 컴퓨터를 한대 추가하기 위해서 선을 끈어야 하는 단점이 있다
  
  4. Bus형
     - 한 개의 통신 회선에 여러 대의 단말 장치가 연결
     - 단말 장치가 고장 나더라도 통신망 전체에 영향을 주지 않으므로 신뢰성이 높음

  5. Tree형(계층형, 분산형)
     - 분산 처리 시스템을 구성하는 방식
     - 실제 사용하는 허브의 사용 방식

회선 구성방식

  1. 포인트 투 포인트(점 대 점, Point-to-Point)방식
     - 중앙 컴퓨터와 단말기를 독립적으로 연결하는 방식
     - 중앙 컴퓨터와 단말기 간 언제든지 데이터 전송이 가능
     - 전용 회선 또는 교환 회선에 이용
     - 망 연결 형태 중 성형(Star)으로 구성 시 사용

  2. 멀티 드롭(멀티 포인터, Multi-Drop)방식
     - 다중화기와 다중화 기법이 필요
     - 여러대의 단말기들을 하나의 통신 회선에 연결하는 방식
     - 전용 회선을 사용
     - 망 연결 형태 중 버스형으로 구성 시 사용

  * 멀티 드롭 선로에 연결 할 수 있는 단말기의 수를 결정하는 요인
    - 선로의 속도
    - 단말기에 의해 생기는 교통량
    - 하트웨어 소프트웨어의 처리 능력

  3. 다중화 방식(Line Multiplexing)
     - 여러 대의 단말기들을 다중화 장치를 이용하여 중앙 컴퓨터와 연결하는 방식
     - 통신회선의 고장 시 고장지점 이후의 터미널은 모두 운영 불능에 빠지는 단점이 있음


회선 제어 방식

  1. 경쟁(Contention)방식
     - 다중화 기법이 개발되기 전 방식으로 서로 경쟁하는 방식으로 먼저 한쪽이 송신권을 갖는 방식
     - 회선 제어 방식 중 가장 간단한 형태
     - Point-to-Point회선으로 접속되어 있어 관계가 대등한 단말에 많이 시용
     - 대표적인 시스템으로 ALOHA가 있음

  2. 폴링과 셀렉션(Polling & Selection)방식
    ① 폴링(Polling)
       - 데이터 통신에게 컴퓨터가 단말기에게 전송할 데이터의 유무를 묻는 방식
       - 쉽게말해 서버가 제어권을 가지고 각 단말기에 보낼 파일의 유무를 묻고 송신권을 주는 방식
    ② 셀렉션(Selection)
       - 멀티 포인트 방식에 있어서 중앙컴퓨터가 주변의 터미널로 데이터를 전송하고자 하는 경우
          수신측 터미널의 상태를 확인하는 절차
       - 쉽게말해 서버가 제어권을 가지고 각 단말기에 파일을 받을 준비가 됬는지 묻고 데이터를 보내는 방식

교환회선(Switched Line)
  1. 교환기에 의해서 연결되는 방식
  2. 전용 회선에 비해 전송 속도가 느림
  3. 전용할 데이터 양이 적고, 회선 사용 시간이 짧을 때 효율적
  4. 교환기를 거쳐서 전송하는 방식

전용 회선(Leased Line)
  1. 회선이 단말기 상호 간에 항상 고정되어 있는 회선방식
  2. 전송 속도가 빠르고 전송 에러가 적음
  3. 전송할 데이터 양이 많고, 회선 사용 시간이 길 때 효율적
  4. 직통회선(Point-to-Point)방식과 분기 회선(Multi-Point 혹은 Multi-Drop)방식이 있음
  5. 직접 연결되어 직통으로 전송하는 방식

선점형 기법
  - 프로세스가 CPU를 사용중이어도 우선순위가 높은 프로세스가 생기면
     CPU를 강제로 빼앗아 사용 가능하게 하는 스케줄링 기법
  - 우선순위가 높은 프로세스를 빠르게 처리
  - 주로 빠른 응답 시간을 요구하는 대화식 시분할 시스템에 사용

SRT(Shortest Remaining Time)
  - SJF를 선점형으로 변경한 기법
  - 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여
     짧은 프로세스에게 CPU를 할당하는 기법

RR(Round Robin)
  - 시분할 시스템을 위해 고안
  - FIFO기법을 선점형태로 변형
  - 할당되는 시간(CPU할당시간)이 클 경우 FIFO기법과 같아짐
  - 할당 시간이 작을경우 오버헤드, 문맥교환 발생
    * 그이유는 할당 시간이 작을 경우 CPU에 계속 들어갔다 나왔다를 반복하기 때문이다
    * RR에서 Time slice(시간분배)를 길게 줄 경우 FIFO와 같아진다.

MLQ(=MQ; Multi-Level Queue) - 다단계 큐
  : 큐를 상중하 3개를 만들어서 중요 큐부터 처리하는 기법
    상은 시스템, 중은 대화형, 하는 일괄처리 프로세스를 처리

MFQ(Multi-level Feedback Queue) - 다단계 피드백 큐
  - 단계별로 일정 시간을 분배하여 상위에서 한번돌고 처리되지 않은 레지스터는
     중위로 중위는 하위로 하위는 계속 도는 형식의 기법
  - 상, 중은 FIFO방식으로 처리되고 하는 RR방식으로 처리 된다.

 FCFS(First Come First Service)
  - 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법
  - 먼저 도착한 것이 먼저 처리되는 FIFO방식
  - 대화식 시스템에 부적합

SJF(Shortest Job First)
  - 실행시간이 가장 짧은 프로세스 부터 CPU할당
  - 가장 적은 평균 대기시간을 제공하는 최적의 알고리즘
   * 하지만 실행시간이 긴 프로세스는 할당 순위가 밀려 무한연기 상태 발생

HRN(Hightest Response-ratio Next)
  - SJF기법을 보완하기 위해 대기시간과 서비스 시간을 이용하는 기법

우선순위 = (대기시간+서비스시간) / 서비스시간

   * 대기시간이 길면 우선순위도 높아진다
   * Aging 기법 : 대기시간을 고려한 기법(무한연기 방지)

기한부(Deadline)
  - 시간을 부여하고 시간이 지나면 프로세스가 소멸

우선순위(Priority)
  - 우선순위를 프로세스의 종류나 특성에 따라 다르게 부여

프로세스 스케줄링(Scheduling)
  - 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에 할당하는 작업
  - 프로세스가 실행되기 위해  CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업
   * 하나의 프로세스를 준비(Ready)상태에서 실행(Run)상태로 전이시킴

비선점형 스케줄링
  - FCFS(First Come First Service)=FIFO
  - SJF(Shortest Job First)
  - HRN(Hightest Response-ratio Next)
  - 기한부(Deadline)
  - 우선순위(Priority)

선점형 스케줄링
  - SRT(Shortest Remaining Time)
  - RR(Round Robine)
  - MLQ(Multi-Level Queue, 다단계 큐)
  - MFQ(Multi-level Feedback Queue, 다단계 피드백 큐)

프로세스 스케줄링의 목적
  1. 처리율 증가
  2. CPU이용률 증가
  3. 오버헤드 최소화
  4. 응답시간 최소화
  5. 반환시간 최소화
  6. 대기시간 최소화

+ Recent posts