[정보처리기사 필기] 기출문제 - 601 ~ 650. 오답노트

601. TCP / IP 계층과 프로토콜

602. IPv4 vs IPv6

  • IPv6
    • IPv4의 주소 부족 문제를 해결하기 위해 개발
    • 16비트씩 8부분, 총 128비트로 구성
    • 각 부분을 16진수로 표현하고 콜론(:)으로 구분되어 있음
    • 인증 및 보안 기능을 확장헤더에서 기본으로 제공
구분 IPv4 IPv6
주소길이 32비트 128비트
표시방법 8비트씩 4부분으로 나눈 십진수 16비트씩 8부분으로 나뉜 16진수
주소개수 약 43억개 약 31조개
주소할당 A, B, C, D 등 클래스 단위, 비순차적 할당 네트워크 규모 및 단말기 수에 따른 순차적 할당
품질제어 품질보장 곤란 품질보장 용이
헤더크기 고정 가변
QoS Best Effort 방식 등급별, 서비스블 패킷 구분 / 보장
보안기능 IPSec 프로토콜 별도 설치 확장 기능에서 기본 제공
Plug&Play 지원 안함 지원
모바일IP 곤란 용이
웹캐스팅 곤란 용이
전송방식 Multi, Uni, Broadcast Multi, Uni, Anycast

603. 무선 LAN

  • LAN 등의 물리적 케이블 없이 무선주파수 등을 이용
  • 노드 간 데이터 송수신을 지원하는 네트워킹 기술
  • IEEE 802. 11 표준화 동향
    • 802.11b : 2.4GHz ISM 대역에서 최대 11Mbps 전송속도를 지원하는 고속 PHY 개발
    • 802.11a : 5GHz ISM 대역에서 최대 54Mbps 전송속도를 지원하는 고속 PHY 개발
    • 802.11e : Qos 보증을 위한 MAC 강화
    • 802.11f : 억세스 포인트 간의 표준화된 프로토콜 개발
    • 802.11g : 2.4GHz ISM 대역에서 최대 20Mbps 이상 전송속도를 지원하는 고속 PHY 개발
    • 802.11h : 802.11a에서 동적 주파수 선택 기능 추가
    • 802.11i : 보안을 위한 MAC 강화

604. 디지털 변조 방식

  • 진폭 편이 변조 (ASK, Amplitude Shift Keying)
    • 반송파의 진폭을 2 또는 4개로 정해놓고 데이터가 1 또는 0으로 변함에 따라 미리 약속된 진폭의 반송파를 수신 측에 전송하는 방식
  • 주파수 편이 변조 (FSK, Frequency Shift Keying)
    • 반송파의 주파수를 높은 주파수와 낮은 주파수로 정해놓고 데이터가 0이면 낮은 주파수, 1이면 높은 주파수를 전송하는 방식
    • 전이중방식 (full-duplex)
  • 위상 편이 변조 (PSK, Phase Shift Keying)
    • 송신 측에서 반송파의 위상을 2, 4, 8 등분 등으로 나누어 각각 다른 위상에 0 또는 1을 할당하거나, 2나 3비트로 한꺼번에 할당하여 수신 측에 전송하는 방식
  • 펄스 부호 변조 (PCM, Pulse Code Modulation)
    • 아날로그 신호를 디지털 신호로 변환하여 전송하는 방식
    • 표본화, 양자화, 부호화하여 변조

608. HDLC

  • HDLC (High-level Data Link Control)의 의미
    • HDLC 프로토콜은 다양고속 데이터 전송에 적합
    • 비트 전송을 기본으로 하는 범용의 데이터 링크 전송을 제어
    • 컴퓨터 간을 연결하는 컴퓨터 네트워크에도 적합한 전송 제어 방식
    • ISO 3309, 4435에 기술되어 있음
    • 비트지향 프로토콜
  • HDLC의 주요 동작 모드
    • NRM (Normal Response Mode) : 정규 응답모드의 불균형 연결 설정을 요청
    • ARM (Asynchronous Response Mode) : 비동기 응답모드의 불균형 연결 설정을 요청
    • ABM (Asynchronous Balanced Mode) : 비동기 균형 모드 연결 설정을 요청
    • NBM (Normal Balanced Mode) : 정규 균형 모드 연결 설정을 요청

609. DTE, DCE, DSU, DCS

  • DTE (Data Terminal Equipment)
    • 모뎀이나 ISDN 단말기 등의 통신기기와 컴퓨터 간의 통신 기기
  • DCE (Data Circuit terminating Equipment)
    • 모뎀이나 ISDN 단말기 등의 통신기기 상호 간의 통신 기기
    • DTE와 DCE는 속도가 동일한 것도 있으나 최근에는 압축 등을 위해 DTE 속도가 높게 설정되는 경우가 많음
  • DSU (Digital Service Unit)
    • 아날로그 또는 디지털 신호를 디지털 방식의 전송로에서 이동하기 적합한 형태로 바꾸어주는 장비
  • DCS (Data Crossconnect System)
    • 망 구성 형태에 따라 선택적으로 연결할 수 있는 장비

610. PCM 과정

  • 아날로그 신호를 디지털 신호로 변환하여 전송하는 방식
  • 전송 과정 : 표본화 (Sampling) → 양자화 (Quantization) → 부호화 (Encoding) 로 송신하고 역으로 복호화하여 수신
    • 표본화
      • 연속적으로 변화하는 값을 일정한 시간적 간격으로 나누어 표본을 추출
      • PCM 아날로그 음성신호를 디지털화하기 위한 사전작업으로 sampling time 간격으로 나누어 추출하는 과정
    • 양자화
      • 연속적인 아날로그 값을 이산적인 디지털 값으로 바꾸는 A/D 변환
      • 표본화된 펄스의 크기를 부호화하기 위한 값으로 바꾸어주는 과정
    • 부호화
      • 각 데이터 정보 하나하나에 할당되는 2진 표현으로 바꾸는 과정

613. X.25 프로토콜

  • CCITT에서 DTE로 명명한 사용자 컴퓨터와 DCE로 명명된 통신회사 장비 사이에서 신호들을 교환함으로써 통신의 시작이나 종료를 하는 방법을 규정
  • 방송망, 이동통신망에서 많이 사용
  • 네트워크 계층은 최선의 통신 경로를 설정하는 OSI 7계층 (Layer) 중 3 계층
  • 액세스 표준
    • X.25 : 패킷 교환망에 대한 액세스 표준
    • X.21 : 회선 교환망에 대한 액세스 표준

616. 다중화의 의미

  • 전송로 하나에 데이터 신호 여러 개를 중복시켜 고속 신호 하나를 만들어 전송하는 방식
  • 다중화의 종류
    • TDM (Time Division Multiplexing)
      • 주어진 시간대역을 여러 타임 슬롯으로 분할하여 각 채널에 배당함으로써 많은 채널이 하나의 전송회선을 공유하는 방식
      • 동기/비동기 방식
    • FDM (Frequency Division Multiplexing)
      • 대역이 제한된 전송회선의 주파수 대역을 여러 개로 분할하여 각 채널에 배당함으로써 많은 채널이 하나의 전송회선을 공유하는 방식
    • CDM (Code Division Multiplexing)
      • 여러 신호에 각기 다른 코드 시퀀스를 부여한 후 하나의 채널로 다중화하여 전송하는 방식
      • spread spectrum의 원리에 기초를 둔 방식
      • FDM + TDM의 혼합 방식
    • SDM (Space Division Multiplexing)
      • 공간적으로 분리된 채널을 단위로 다중화하여 전송
      • 무선은 용량을 증대
      • 스마트 안테나 또는 위상 배열 안테나 이용 서비스 영역을 여러 개의 빔으로 커버하는 다중 빔화
    • DWDM (Dense Wavelength Division Multiplexing)
      • 광 파장을 실어 전송하여 전송용량과 채널의 수를 늘린 기술
      • 동시 전송 기술 : DFB / DBR 레이저 다이오드, 회절격자소자, 광변조, NZ-DSF

618. 프로토콜

  • 서로 다른 시스템에 있는 두 개체 간에 성공적으로 데이터를 전송하는 통신규약
  • 프로토콜의 기능
    • 단편화 (Fragmentation) 와 재합성 (Assemmbly)
      • 송신 측에서는 긴 데이터 블록을 전송이 용이하도록 같은 크기의 작은 블록으로 나누어 전송
      • 수신 측에서는 작은 데이터 블록을 재합성하여 원래의 메시지로 복원하는 기능
    • 캡슐화 (Encapsulation)
      • 비연결 데이터 전송 (데이터그램) 과 연결 위주 데이터 전송 (가상회선) 을 위한 통신로를 개설, 유지, 종결하는 기능
    • 흐름 제어 (Flow Control)
      • 데이터 양이나 통신 속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정하는 기능
    • 오류 제어 (Error Control)
      • 데이터 전송 중 발생할 수 있는 오류나 착오 등을 검출하고 정정하는 기능
    • 순서 결정 (Sequencing)
      • 연결 위주의 데이터를 전송할 때 송신 측이 보내는 데이터 단위 순서대로 수신 측에 전달하는 기능
    • 주소 설정 (Addressing)
      • 발생지, 목적지 등의 주소를 명기하여 데이터를 정확하게 전달하는 기능
    • 동기화 (Synchronization)
      • 하나의 통신로를 여러 개로 나누거나 (Upward) 회선 여러 개를 하나의 통신로로 변환 (Downward)시켜 다수의 가입자가 동시에 사용하는 기능
    • Transmission Service
      • 통신 객체를 사용하기 쉽도록 별도로 추가 서비스 (패리티 검사, 보안도, 서비스 등급, 우선순위 등)를 제공하는 기능

621. JAVA의 전위, 후위 증감 연산자

  • 전위 / 후위 증감 연산자
    • ++a : 변수를 증가시킨 후 코드 실행
    • a++ : 코드를 실행한 후 변수 증가
    • --a : 변수를 감소시킨 후 코드 실행
    • a-- : 코드를 실행한 후 변수 감소
  • 문제풀이
    • int a = 3; : 정수형 변수 a를 생성하고 3으로 초기화
    • System.out.print(a); : a를 출력 = 3
    • System.out.print(--a); : a를 1 감소 후 출력 = 2
    • System.out.print(a++); : a를 출력한 다음 a에 1 증가 = 2
    • System.out.print(a--); : a를 출력한 다음 a를 1 감소 = 3

622. JAVA의 논리 연산자

  • 논리연산자
    • && (AND) : a&&b → a와 b가 모두 참일 경우에만 참, 이외 경우엔 거짓
    • || (OR) : a||b → a 또는 b 중 하나라도 참일 경우 참, a와 b 모두 거짓일 경우에만 거짓
    • ! (NOT) : !a → a가 참일 경우 거짓, a가 거짓일 경우 참
  • 문제풀이
    • int a = 1, b = 2; : 정수형 변수 a와 b를 생성하고 a는 1, b는 2로 초기화
    • System.out.printIn(a>b && b%2==0); : a>b는 false, b%2==0는 true이므로 AND 연산 결과 : false
    • System.out.printIn(a==1 || b/2==0); : a==1 는 true, b/2==0 는 false이므로 OR 연산 결과 : true
    • System.out.print(!(a+b==3 && a<b)); : a+b==3는 true, a<b는 true이므로, AND 연산결과 : true이므로 NOT 연산 결과는 false

624. C언어의 제어문

  • 문제 풀이
    • 소스코드 호출 순서
      int a = 0, b = 10, I; int형 변수 a, b, i를 선언하고 a는 0, b는 10으로 초기화
      for(i=1; i<=10; i++)
      {
         a+=I;
         b++;
         if(a>b)
            break;
      }
      i가 1부터 10까지 1씩 증가하면서 아래 문장을 실행
      <실행 내용>
      a += I; : a를 i만큼 증가
      b++; : b를 1만큼 증가
      if(a>b)
         break; : a가 b보다 클 경우 반복문을 종료하고 빠져 나옴
      printf("a=%d", a); a의 값을 출력
    • for문 반복 횟수에 따른 a와 b 값 변화
      • 1회 반복(i = 1) → a = 1, b = 11
      • 2회 반복(i = 2) → a = 3, b = 12
      • 3회 반복(i = 3) → a = 6, b = 13
      • 4회 반복(i = 4) → a = 10, b = 14
      • 5회 반복(i = 5) → a = 15, b = 15
      • 6회 반복(i = 6) → a = 21, b = 16
      • 6회 반복 도중 a가 b보다 커져 break문이 실행되므로 반복문이 종료되어 a의 값은 21

625. Python의 for문

  • 파이썬 for문 사용법
    • 파이썬에서 for문은 (for 변수명 in 반복 범위) 의 형태로 작동
    • 이때 반복 범위를 range 함수를 이용하여 range (시작 값, 종료 값, 증감 값)의 형태로 지정할 수 있음 : 종료값의 경우 그 직전 횟수까지만 반복이 실행
    • 시작값 생략 시 0부터 시작
      • 예시
        range(10) → 0~9
        range(1,10) → 1~9
        range(1,10,2) → 1,3,5,7,9
  • 문제풀이
    • 문제에서 제시한 범위가 range(1,9,2)이므로 i가 1,3,5,7일 때마다 total을 i만큼 증가시킴
    • total = 1+3+5+7 = 16

626. Python의 list

  • 파이썬 리스트와 관련된 함수들
    • 리스트명.append(값) : 리스트의 맨 뒤에 항목을 추가
    • 리스트명.insert(인덱스,값) : 리스트의 원하는 인덱스에 항목을 추가
    • 리스트명.reverse() : 리스트의 순서를 반대로 뒤집음
    • del 리스트명[인덱스] : 리스트에서 해당 인덱스의 항목을 삭제
  • 문제 풀이
list1 = [1, 2, 3] 1,2,3의 항목을 가진 리스트 list1 생성 [1, 2, 3]
list1.append(4) list1의 맨 뒤에 4라는 항목 추가 [1, 2, 3, 4]
list1.reverse() list1의 순서를 뒤집음 [4, 3, 2, 1]
del list1[1] list1의 인덱스 1에 해당하는 값을 삭제 : 인덱스는 0부터 시작하므로 2번째 값을 삭제 [4, 2, 1]
print(list1) list1을 출력 [4, 2, 1]

627. TCP 프로토콜 - 3Way-HandShake

  • TCP 프로토콜은 단말기와 단말기 간의 세션을 설정할 때, 3방향 연결설정을 통하여 신뢰성 있는 정보 전송을 제공하는 기법
  • 3Way-HandShake 절차
절차 설명 FLAG 설정
연결설정 요구 A 프로세스가 TCP 헤더의 SYN 플래그를 지정한 세그먼트를 전송 SYN
연결수락 •연결설정 요구를 받은 B프로세스가 연결을 수락하려면 긍정 응답을 해야 함
•SYN과 ACK 플래그를 지정해 연결에 대한 긍정 응답을 표시
•SYN 플래그가 지정한 세그먼트에는 전송 데이터가 포함되지 않지만 순서 번호는 1 증가
•SYN 세그먼트의 순서번호 10에 1을 더한 11번을 Acknowledgement Number 필드에 지정하여 회신
•Acknowledgement Number 값을 유효하게 하기 위해 ACK 플래그 지정
•B 프로세스의 순서 번호 50은 임의로 지정된 값
SYN, ACK
연결수락 확인 •B 프로세스가 전송한 연결 수락 세그먼트가 도착했음을 알림
•전송할 데이터가 있는 경우 바로 데이터 전송
ACK

629. TCP 혼잡제어 기법, 슬로우 스타트 기법

  • TCP 혼잡제어 (Congestion Control) 기법
    • TCP 프로토콜에서 네트워크가 혼잡하다고 판단될 때 송신률을 감속시킴
    • 혼잡제어는 수용할 수 있는 이상의 데이터 전송이 이루어질 때 발생하는 패킷 전송 지연 혹은 패킷 손실을 막는 목적으로 사용하며 대표적인 기법은 슬로우 스타트 기법
  • 슬로우 스타트 (Slow Start) 기법
    • 미리 정해진 임계값에 도달할 때가지 윈도우의 크기를 2배씩 증가시킴
    • 전송 시마다 크기를 두 배씩 증가하기 때문에 전송되는 데이터의 크기는 지수 함수적으로 증가
    • 전송되는 데이터의 크기가 임계값에 도달하면 윈도우의 크기를 반으로 줄이는 혼잡회피 (Congestion Avoidance) 단계로 넘어가는 기법

630. UDP

  • User Datagram Protocol
    • TCP / IP 프로토콜 중 트랜스포트 계층의 통신 프로토콜의 하나로 신뢰성이 낮은 프로토콜로써 완전성을 보증하지 않으나, 가상회선을 확립할 필요가 없고 유연하며 효율적 응용의 데이터 전송에 사용
    • UDP는 비연결성이고 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스를 제공하고 실시간 응용 및 멀티캐스팅이 가능
  • UDP의 주요 특징
    • 비연결성
      • 데이터그램 지향의 전송 계층용 프로토콜로 논리적인 가상회선 연결이 필요없음
    • 비신뢰성
      • 메시지가 제대로 도착했는지 확인 / 응답 없음
      • 검사합을 제외한 특별한 오류 검출 및 제어 없음
    • 순서화되지 않은 Datagram 서비스
      • 수신된 메시지의 순서를 맞추지 않음 : 순서 제어 없음
      • 흐름제어를 위한 피드백을 제공하지 않음 : 흐름 제어 없음
    • 실시간 응용 및 멀티캐스팅 가능
      • 빠른 요청과 응답이 필요한 실시간 응용에 적합
      • 여러 다수 지점에 전송 가능 (1:M)
    • 단순한 헤더
      • UDP는 TCP처럼 16bit의 포트 번호를 사용하나, 헤더는 고정 크기의 8바이트(TCP는 20바이트) 사용
      • 헤더 처리에 많은 시간과 노력이 불필요
    • 데이터 전송 단위
      • 메시지 : TCP에서의 데이터 전송단위는 세그먼트
    • 최대 데이터 크기
      • 65,507바이트 = 65,535바이트에서 UDP헤더 8바이트와 IP 헤더 20바이트 제외
구분 TCP UDP
정의 3, 4 계층의 연결지향적 통신 프로토콜 빠른 응답을 요구하는 비연결형 설정을 제공하는 프로토콜
데이터 순서 보내는 순서 유지 순서 유지하지 않음
데이터 중복 데이터 중복, 손실 없음 데이터 중복, 손실 가능
에러 제어 에러 검사 후 에러 시 재전송 에러 검사 후 에러 시 재전송 하지 않음
흐름 제어 슬라이딩 윈도우 흐름제어 없음
종류 telnet, ftp, smtp  SNMP, TFTP
장점 신뢰성 있는 경로 확립 빠른 전송
단점 전송에러 감시 부하 안전 전송 여부를 확인하지 못함

631. 프로토콜

  • 전송 계층
    • TCP (Transmission Control Protocol)
      • 전송제어 프로토콜, 네트워크의 정보전달을 통제하는 프로토콜
      • 인터넷을 이루는 핵심 프로토콜의 하나로서 IETF의 RFC793에 기술되어 있음
    • UDP (User Datagram Protocol)
      • 신뢰성이 낮은 데이터그램 프로토콜로서 완전성을 보증하지 않으나, 응용이나 네트워크 환경에서 가상회선을 굳이 확립할 필요가 없어서 유연하고 효율적인 데이터
      • 전송에 사용되는 프로토콜
    • RTP (Real-Time Transport Protocol)
      • 인터넷상에서 다수가 종단 간에 실시간으로 비디오나 오디오 패킷을 전송하기 위해 (영상회의 등) 표준화된 프로토콜
    • SCTP (Streaming Control Transmission Protocol)
      • 멀티미디어 통신을 위해 UDP와 TCP의 일부 장점을 결합하여 설계되었으며, 고도의 신뢰 전송을 제공하는 전송계층 프로토콜
  • 네트워크 계층
    • ARP (Address Resolution Protocol)
      • TCP / IP 네트워크에서 ARP 프로토콜은 IP 주소를 물리 주소 (Mac Address)로 변환 프로토콜
    • RARP (Reverse ARP)
      • 물리 주소인 MAC 주소를 IP 주소로 변환시켜주는 역주소 변환 프로토콜
    • ISPec (Internet Protocol Security Protocol)
      • 네트워크 계층에서 IP패킷 단위로 인증 및 암호화를 하는 프로토콜
    • ICMP (Internet Control Message Protocol)
      • TCP / IP에서 IP패킷을 처리할 때 발생되는 문제를 알리거나, 진단 등과 같이 IP 계층에서 필요한 기타 기능들을 수행하기 위해 사용되는 프로토콜
  • 데이터링크 계층
    • HLDC (High-Level Data-Link Control)
      • 고속 데이터 전송에 적합
      • 비트 전송을 기본으로 하는 범용의 데이터 링크 전송제어 절차
      • 컴퓨터 간을 연결하는 컴퓨터 네트워크에도 적합한 전송제어방식 
  • 물리 계층
    • X.25
      • DEF로 명명한 사용자 컴퓨터와 DCE로 명명된 통신회사 장비 사이에서 신호들을 패킷 단위로 교환함으로써 통신의 시작이나 종료를 하는 방법을 규정

632. 무선 LAN

  • LAN 등의 물리적 케이블 없이 무선주파수 등을 이용
  • 노드 간 데이터 송수신을 지원하는 네트워킹 기술
  • IEEE 802. 11 표준화 동향
    • 802.11b : 2.4GHz ISM 대역에서 최대 11Mbps 전송속도를 지원하는 고속 PHY 개발
    • 802.11a : 5GHz ISM 대역에서 최대 54Mbps 전송속도를 지원하는 고속 PHY 개발
    • 802.11e : Qos 보증을 위한 MAC 강화
    • 802.11f : 억세스 포인트 간의 표준화된 프로토콜 개발
    • 802.11g : 2.4GHz ISM 대역에서 최대 20Mbps 이상 전송속도를 지원하는 고속 PHY 개발
    • 802.11h : 802.11a에서 동적 주파수 선택 기능 추가
    • 802.11i : 보안을 위한 MAC 강화

634. NAT

  • Network Access Translation
  • 외부 네트워크에 알려진 것과 다른 IP 주소를 사용하는 내부 네트워크에서 IP 주소를 변환하는 기술
  • NAT의 구성 방식
    • Dynamic 
      • 외부 IP(M) : 내부 IP(N) 매핑
      • NAT 풀(Pool)애 있는 내부 IP 주소가 외부 IP 주소에 할당
    • Static
      • 내부와 외부 주소들은 정적(Static)으로 1:1 매핑
    • PAT (Port Address)
      • 외부 IP(M) : 내부 IP(N) 매핑
      • 내부 IP 주소가 포트를 변경해 가면서, 같은 외부 IP 주소로 변환
    • LSNAT (Load Sharing)
      • 외부 IP(1) : 내부 IP(N) 매핑
      • 한 개의 외부 IP 주소를 여러 개 내부 IP주소로 매핑

636. CDN

  • 컨텐츠 제공업자(CP)의 웹 서버에 집중되어 있는 용량이 크고 사용자 요구가 잦은 컨텐츠를 통신사나 데이터센터에 설치한 CDN 서버에 미리 저장하여 최적의 경로로 사용자에게 컨텐츠를 전달하는 기술
  • CDN의 주요 기술
    • Cashing 기술
      • 자주 찾는 페이지를 컴퓨터에 복사해 저장한 후 사용자가 찾으면 저장된 정보를 전송
    • Global Server Load Balancing 
      • CDN 서비스를 제공하기 위해 인터넷 망에 분산 배치되어 있는 많은 캐시 서버 중에 이용자에게 최상의 서비스를 제공할 수 있는 캐시 서버를 선정하여 연결
    • Load Balancing 기술
      • 트래픽 분산을 통해 웹 고객에 대한 서비스 성능 향상
      • 장애가 난 서버를 제외 후 나머지 서버들에게 트래픽 할당
    • Streaming 기술
      • 대용량의 멀티미디어 데이터를 다운받지 않고 즉시 재생
    • 컨텐츠 배포
      • 각 지역에 분산되어 있는 서버에 동일한 컨텐츠를 정확히 배포
    • 동기화 기술
      • 컨텐츠 변경 시 즉각 반영하여 동일한 컨텐츠로 서비스
    • 분산 기술
      • 분산 데이터 관리 및 분산 병렬 처리 기술
      • Grid Computing, Virtualization 기술 적용

638. SCTP

  • Streaming Control Transmission Protocol
  • 멀티미디어 통신을 위해 UDP와 TCP의 일부 장점을 결합하여 설계
  • 전송경로 장애를 대비한 대체경로 확보 기능, Multi-Streaming 기능 등이 포함된 고도의 신뢰 전송을 제공하는 전송계층 프로토콜
  • SCTP의 기능
    • 멀티호밍 (Multi Homing)
      • SCTP 세션이 여러 개의 IP주소 동시 사용
      • 장애 발생 시 대체 경로 (대체 IP주소)
    • 멀티 스트리밍 (Multi Streaming)
      • 하나의 세션을 통해 다양한 종류의 응용 데이터를 보냄
      • 세션 초기화 단계에서 송신자는 자신이 전송할 스트림의 개수를 수신자에게 통보하며 전송단계에서 각 스트림 별로 독립적인 순서화 가능 제공
      • 데이터 복구 및 재전송 과정 또한 스트림ID별로 수행되며, TCP에서 문제되었던 HOL(Head-Of-Line) 블록킹 문제 해결
    • 세션 초기화
      • TCP 3-way handshake와 달리 4-way handshake 사용
      • 4-way handshake 초기화 절차는 TCP SYN 공격 방지
    • 데이터 전송
      • 데이터 패킷에 TSN (Transmission Sequence Number) 및 SSN (Stream Seq Num) 값이 부여
      • TSN은 세션에 대한 흐름제어 및 오류 복구에 사용
      • SSN은 수신 측 SCTP에서 스트림 별 순서화에 사용
    • 세션 종료
      • TCP에서는 종료 시 4단계 절차였으나, SCTP에서는 3단계 절차 사용하여 TCP의 Half-Open 문제 해결

639. RAID

  • Redundant Array of Independent Disks
  • 처리속도, 데이터 보호를 목적으로 여러 개의 물리적인 디스크를 중복성을 가진 하나의 논리적인 디스크 어레이 (Disk Array)로 변환하는 기술
  • 스트라이핑 (Stripping) 기법을 통해 데이터를 여러 조각으로 나누어 여러 디스크로 분산 저장하고 동시 접근을 통해 처리 속도 향상 기능
  • 중복 (Redundancy) 기법을 통해 디스크에 저장된 일부 데이터가 손실된 경우에도 복구할 수 있도록 데이터 중복하여 저장
  • RAID의 주요 구성 방식
    • RAID 0
      • 스트라이핑을 통해 동시접속으로 성능 향상
      • 중복이 없이 데이터를 여러 개의 디스크에 분할 저장
    • RAID 1
      • 복제(mIRRORING)를 통해 데이터 손실 대응
      • 디스크마다 동일한 디스크를 설치하여 데이터를 중복으로 저장하는 방식
    • RAID 5
      • 데이터와 패리티 (Parity) 데이터를 분산 저장하여 각 분리된 디스크에 저장
      • 패리티 데이터를 여러 디스크에 분산 저장으로 패리티 디스크의 병목현상을 해결
    • RAID 6
      • 하나의 패리티 데이터를 두 개의  Disk에 이중으로 분산 저장하는 방법
      • 두 개의 디스크에 동시에 오류가 발생하여도 정상적으로 동작
    • RAID 0+1
      • 디스크를 RAID 0으로 먼저 묶고 묶은 논리적 디스크를 다시 RAID 1로 묶음
    • RAID 1+0
      • 디스크를 RAID 1로 먼저 묶고 묶은 논리적 디스크를 다시 RAID 0으로 묶음
      • 가용성 측면에서 1+0이 0+1보다 더 우수함

640. Docker, HyperVisor

  • 도커
    • 하이퍼바이저 (Hypervisor) 없이 리눅스 컨테이너 (Linux Container, LXC) 기술을 바탕으로 소프트웨어의 배포를 자동화 하는 기술
    • 서버의 운영 체제는 공유하고 어플리케이션이나 프로세스는 격리하여 샌드박스 처리
  • 하이퍼바이저
    • 하나의 서버나 컴퓨터에서 자원의 효율적 사용을 목적으로 동시에 다수의 운영 체제를 구동시킬 수 있는 하드웨어나 운영 체제 사이의 얇은 소프트웨어 가상화 기술
    • 대표적인 하이퍼바이저의 종류 : VM Ware, Hiper-V, Xen, KVM 등
  • 하이퍼바이저와 도커의 비교
구분 하이퍼바이저 도커
가상화 레벨 하드웨어 가상화 OS레벨 가상화
가상화 OS 각 독립적 OS 가상화 지원 호스트 OS와 동일한 OS 가상화
하드웨어 활용도 낮음, 동작 오버헤드 큼 높음, 동작 오버헤드 낮음
기술 VMWare, KVM, Xen, Hiper-V LXC (리눅스 컨테이너, Linux Container) 기술 이용
장점 •CPU의 가상화 기능 사용
•SW 오버헤드 적음
•서로 다른 독립적 OS 사용
•적은 HW 오버헤드와 높은 성능
•플랫폼에 상관없이 실행
단점 별도의 관리 콘솔 필요 호스트 OS 환경에서만 동작 가능

641. C언어의 연산자

  • 조건연산자
    • 사용형식 : 조건식 ? 식1 : 식2
    • C언어에서는 if 문으로 조건 연산을 할 수 있지만 위의 형식으로도 조건 연산이 가능
    • 조건식이 맞으면 식1, 틀리면 식2를 실행
    • 3항 연산자 : C언어의 연산자 중 유일하게 피연산자가 3개 
  • 비트 논리연산자 : 비트 단위의 논리 계산을 할 때 쓰이는 연산자
    연산자 내용 사용 예 (A=0101 1100, B=1100 1010)
    & 논리곱 (AND) A&B → 0100 1000
    | 논리합 (AND) A|B → 1101 1110
    ~ 부정 (1의 보수) ~A → 1010 0011
    ^ 배타적 OR A^B → 1001 0110
    좌측으로 이동 A≪3 → 1110 0000
    우측으로 이동 A≫3 → 0000 1011
  • C언어의 연산자 우선순위
    • 괄호, 대괄호 → 부정, 증감 산술 연산자 → 곱셈, 나눗셈 산술 연산자 → 덧셈, 뺄셈 산술 연산자 → 시프트 연산자 → 관계 연산자 → 논리 연산자 → 삼항 연산자 → 대입 연산자
우선순위 연산자 연산 내용
1 ( ) , [ ] 괄호, 대괄호
2 !, ~, ++, -- 부정, 증감 산술 연산자
3 *, /, % 곱셈, 나눗셈 산술 연산자
4 +, - 덧셈, 뺄셈 산술 연산자
5 ≪, ≫ 시프트 연산자
6 <. <=. >, >= 관계 연산자
7 &, ^, |, &&, || 논리 연산자
8 ?, : 삼항 연산자
9 =, +=, -=, *=, /= 대입 연산자

644. 무선 LAN

  • LAN 등의 물리적 케이블 없이 무선주파수 등을 이용
  • 노드 간 데이터 송수신을 지원하는 네트워킹 기술
  • IEEE 802. 11 표준화 동향
    • 802.11b : 2.4GHz ISM 대역에서 최대 11Mbps 전송속도를 지원하는 고속 PHY 개발
    • 802.11a : 5GHz ISM 대역에서 최대 54Mbps 전송속도를 지원하는 고속 PHY 개발
    • 802.11e : Qos 보증을 위한 MAC 강화
    • 802.11f : 억세스 포인트 간의 표준화된 프로토콜 개발
    • 802.11g : 2.4GHz ISM 대역에서 최대 20Mbps 이상 전송속도를 지원하는 고속 PHY 개발
    • 802.11h : 802.11a에서 동적 주파수 선택 기능 추가
    • 802.11i : 보안을 위한 MAC 강화

645. IP 프로토콜

  • IP 프로토콜의 정의
    • ICMP, ARP, RARP : IP(3계층)의 대표적인 프로토콜
    • SNMP, DNS, DHCP, COAP : UDP(4계층)의 대표적인 프로토콜
  • IP 프로토콜의 특징
    • UDP : RFC 768 문서에 정의된 비연결 지향형 통신 프로토콜
    • TCP : 송신 포트에서 수신 포트로 바이트 스트림을 전송하는 연결 지향형 통신 프로토콜
    • ARP : IP 주소를 MAC 주소로 변환하는 프로토콜
    • RARP : MAC 주소를 IP 주소로 변환하는 프로토콜
    • ICMP : TCP / IP에서 IP 패킷을 처리할 때 발생되는 문제를 알리거나, 진단하는 프로토콜

646. FIFO 알고리즘, 페이지 부재

  • FIFO 알고리즘 : 메모리에 올라온 지 가장 오래된 페이지를 교체하는 메모리 교체 알고리즘
  • 페이지 부재 (Page Fault)
    • Page Fault : 기억장치에 적재되지 않은 Page를 사용하는 현상
    • 콜드미스 : 데이터를 최초로 읽을 때 발생
    • 용량미스 : 메모리 용량이 부족해서 발생
  • 문제 풀이
    입력값 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 페이지 부재 수
    프레임 1 7     2       4     0         0   7   총 14개
    프레임 2   0     0 3     2       2 1     1   0 HIT 수
    프레임 3     1       0     3   3     2         5개

647. IPv4 vs IPv6

  • IPv6
    • IPv4의 주소 부족 문제를 해결하기 위해 개발
    • 16비트씩 8부분, 총 128비트로 구성
    • 각 부분을 16진수로 표현하고 콜론(:)으로 구분되어 있음
    • 인증 및 보안 기능을 확장헤더에서 기본으로 제공
구분 IPv4 IPv6
주소길이 32비트 128비트
표시방법 8비트씩 4부분으로 나눈 십진수 16비트씩 8부분으로 나뉜 16진수
주소개수 약 43억개 약 31조개
주소할당 A, B, C, D 등 클래스 단위, 비순차적 할당 네트워크 규모 및 단말기 수에 따른 순차적 할당
품질제어 품질보장 곤란 품질보장 용이
헤더크기 고정 가변
QoS Best Effort 방식 등급별, 서비스블 패킷 구분 / 보장
보안기능 IPSec 프로토콜 별도 설치 확장 기능에서 기본 제공
Plug&Play 지원 안함 지원
모바일IP 곤란 용이
웹캐스팅 곤란 용이
전송방식 Multi, Uni, Broadcast Multi, Uni, Anycast

648. JAVA 접근제한자

  • 정보은닉 (Information Hidden)을 위해 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통해 접근하도록 함
  • 이를 통해 유지보수와 소프트웨어 확장 시 오류를 최소화할 수 있음
  • 캡슐화된 클래스를 선언 시, 그 클래스를 구성하는 속성, 메서드에 대하여 private, public, protected 접근제한자 (접근지정자)를 선언하여 정보 은닉을 실현
  • 접근제한자의 종류
    • private : 클래스를 선언하고, 그 클래스를 구성하는 객체에 대해 외부에서는 사용이 불가하고 해당 클래스에서만 접근이 가능
    • public : 클래스를 선언하고, 그 클래스를 구성하는 객체에 대해 외부에서는 사용이 가능 
    • protected : 클래스를 선언하고, 그 클래스를 구성하는 객체에 대해 동일 패키지 내에서만 접근이 가능

649. HRN

  • Highest Response-Ratio Next
  • SJF의 약점 보완 기법으로 실행시간이 긴 프로세스를 차별하고 짧은 프로세스를 지나치게 선호하는 점을 보강한 알고리즘으로 각 프로세스의 우선순위를 서비스 시간만 아니고 서비스 대기시간도 계산하는 스케줄링 기법
  • 우선순위 = (대기시간 + 서비스 시간) / 서비스 시간
  • 문제 풀이
    • 작업 A : (5 + 20)/20 = 1.25
    • 작업 B : (30 + 20) / 20 = 2.5
    • 작업 C : (15 +45) / 45 = 1.3
    • 작업 D : (20 +2) / 2 = 11

650. 가상메모리 배치 정책

  • 프로그램의 한 블록을 주기억장치의 어디에 배치할 것인가 관리
  • 주요 배치 정책
    • 최초 적합 (First Fit) : 프로그램, 데이터가 들어갈 수 있는 빈 영역의 첫 번째 분할 영역에 배치
    • 최적 적합 (Best Fit) : 프로그램, 데이터가 들어갈 수 있는 빈 영역 중 단편화를 가장 적게 남기는 분할 영역에 배치
    • 최악 적합 (Worst Fit) : 프로그램, 데이터가 들어갈 수 있는 빈 영역 중 가장 큰 영역에 배치
  • 문제 풀이
    • 10k의 작업요구 시, 위의 표에서 NO.1 영역은 8k로 배치가 불가능
    • First Fit : 최초로 발견 가능한 적합한 크기 영역은 12k의 크기를 가진 NO.2 영역
    • Best Fit : 빈 영역 중 10k에 가장 근접한 크기 영역은 12k의 크기를 가진 NO.2 영역, NO.3 영역과 NO.5 영역은 사용 중 (IN USE)로 할당이 불가능
    • Worst Fit : 빈 영역 중 가장 큰 영역은 20k크기를 가진 NO.4 영역