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
- TDM (Time Division Multiplexing)
618. 프로토콜
- 서로 다른 시스템에 있는 두 개체 간에 성공적으로 데이터를 전송하는 통신규약
- 프로토콜의 기능
- 단편화 (Fragmentation) 와 재합성 (Assemmbly)
- 송신 측에서는 긴 데이터 블록을 전송이 용이하도록 같은 크기의 작은 블록으로 나누어 전송
- 수신 측에서는 작은 데이터 블록을 재합성하여 원래의 메시지로 복원하는 기능
- 캡슐화 (Encapsulation)
- 비연결 데이터 전송 (데이터그램) 과 연결 위주 데이터 전송 (가상회선) 을 위한 통신로를 개설, 유지, 종결하는 기능
- 흐름 제어 (Flow Control)
- 데이터 양이나 통신 속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정하는 기능
- 오류 제어 (Error Control)
- 데이터 전송 중 발생할 수 있는 오류나 착오 등을 검출하고 정정하는 기능
- 순서 결정 (Sequencing)
- 연결 위주의 데이터를 전송할 때 송신 측이 보내는 데이터 단위 순서대로 수신 측에 전달하는 기능
- 주소 설정 (Addressing)
- 발생지, 목적지 등의 주소를 명기하여 데이터를 정확하게 전달하는 기능
- 동기화 (Synchronization)
- 하나의 통신로를 여러 개로 나누거나 (Upward) 회선 여러 개를 하나의 통신로로 변환 (Downward)시켜 다수의 가입자가 동시에 사용하는 기능
- Transmission Service
- 통신 객체를 사용하기 쉽도록 별도로 추가 서비스 (패리티 검사, 보안도, 서비스 등급, 우선순위 등)를 제공하는 기능
- 단편화 (Fragmentation) 와 재합성 (Assemmbly)
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의 일부 장점을 결합하여 설계되었으며, 고도의 신뢰 전송을 제공하는 전송계층 프로토콜
- TCP (Transmission Control Protocol)
- 네트워크 계층
- 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 계층에서 필요한 기타 기능들을 수행하기 위해 사용되는 프로토콜
- ARP (Address Resolution Protocol)
- 데이터링크 계층
- HLDC (High-Level Data-Link Control)
- 고속 데이터 전송에 적합
- 비트 전송을 기본으로 하는 범용의 데이터 링크 전송제어 절차
- 컴퓨터 간을 연결하는 컴퓨터 네트워크에도 적합한 전송제어방식
- HLDC (High-Level Data-Link Control)
- 물리 계층
- X.25
- DEF로 명명한 사용자 컴퓨터와 DCE로 명명된 통신회사 장비 사이에서 신호들을 패킷 단위로 교환함으로써 통신의 시작이나 종료를 하는 방법을 규정
- X.25
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주소로 매핑
- Dynamic
636. CDN
- 컨텐츠 제공업자(CP)의 웹 서버에 집중되어 있는 용량이 크고 사용자 요구가 잦은 컨텐츠를 통신사나 데이터센터에 설치한 CDN 서버에 미리 저장하여 최적의 경로로 사용자에게 컨텐츠를 전달하는 기술
- CDN의 주요 기술
- Cashing 기술
- 자주 찾는 페이지를 컴퓨터에 복사해 저장한 후 사용자가 찾으면 저장된 정보를 전송
- Global Server Load Balancing
- CDN 서비스를 제공하기 위해 인터넷 망에 분산 배치되어 있는 많은 캐시 서버 중에 이용자에게 최상의 서비스를 제공할 수 있는 캐시 서버를 선정하여 연결
- Load Balancing 기술
- 트래픽 분산을 통해 웹 고객에 대한 서비스 성능 향상
- 장애가 난 서버를 제외 후 나머지 서버들에게 트래픽 할당
- Streaming 기술
- 대용량의 멀티미디어 데이터를 다운받지 않고 즉시 재생
- 컨텐츠 배포
- 각 지역에 분산되어 있는 서버에 동일한 컨텐츠를 정확히 배포
- 동기화 기술
- 컨텐츠 변경 시 즉각 반영하여 동일한 컨텐츠로 서비스
- 분산 기술
- 분산 데이터 관리 및 분산 병렬 처리 기술
- Grid Computing, Virtualization 기술 적용
- Cashing 기술
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 문제 해결
- 멀티호밍 (Multi Homing)
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보다 더 우수함
- RAID 0
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 영역
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 기출문제 - 651 ~ 700. 오답노트 (0) | 2025.03.18 |
---|---|
[정보처리기사 필기] 기출문제 - 551 ~ 600. 오답노트 (0) | 2025.03.17 |
[정보처리기사 실기] 정보처리기사 2020년 1회 실기문제 (0) | 2025.03.14 |
[정보처리기사 필기] 기출문제 - 501 ~ 550. 오답노트 (0) | 2025.03.13 |
[정보처리기사 필기] 기출문제 - 451 ~ 500. 오답노트 (0) | 2025.03.12 |