11-2장. 응용 SW 기초 기술 활용 2
- 11-2장. 응용 SW 기초 기술 활용 2
- IP 주소 (A)
- IPv6의 주소 체계 (B)
- 서브네팅 (A)
- 도메인 네임(Domain Name) (C)
- OSI 참조 모델 (A)
- 네트워크 관련 장비 (B)
- 프로토콜(Protocol) (A)
- 프로토콜의 기본 요소 (A)
- 패킷 교환 방식(Packet Switching) (A)
- TCP/IP(Transmission Control Protocol/Internet Protocol) (B)
- UDP(User Datagram Protocol) (B)
- IP vs UDP (추가)
- L2TP (A)
- ICMP(Internet Control Message Protocol) (A)
- ARP(Address Resolution Protocol) / RARP(Reverse Address Resolution Protocol) (A)
- NAT(Network Address Translation, 네트워크 주소 변환) (A)
- 경로 제어(Routing) (C)
- IGP(Interior Gateway Protocol, 내부 게이트웨이 프로토콜) (A)
- EGP / BDP (A)
- 흐름 제어(Flow Control) (B)
- RAID(Redundant Array of Independent Disk) (A)
- Secure (B)
- DB 관련 신기술 (A)
- 회복(Recovery) (B)
- REDO / UNDO (A)
- 즉각 갱신 기법(Immediate Update) (A)
- 병행 제어(Concurrency Control) (C)
- 로킹(Locking) (A)
- 타임 스탬프 순서(Time Stamp Ordering) (B)
- 로킹 단위 (B)
- 교착 상태(Dead Lock) (B)
IP 주소 (A)
IP 주소(Internet Protocol Address) 는 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소이다.
- IPv4(Internet Protocol version 4)
- 8비트씩 4부분, 총 32비트
- A클래스에서 E클래스까지 총 5단계
- A Class : 국가나 대형 통신망에 사용, 0~127
- B Class : 중대형 통신망에 사용, 128~191
- C Class : 소규모 통신망, 192~223
- D Class : 멀티캐스트용, 224~239
- E Class : 실험적 주소
- IPv6(Internet Protocol version 6)
- IPv4의 주소 부족 문제를 해결하기 위해 개발
- 16비트씩 8부분, 총 128비트
- IPv4에 비해 자료 전송 속도가 빠름
- 인증성, 기밀성, 데이터 무결성 지원으로 보안 문제 해결
- 주소의 확장성, 융통성, 연동성이 좋음
- 실시간 흐름 제어로 향상된 멀티미디어 기능 지원
- 패킷 크기 확장 가능 -> 크기에 제한이 없음
- 기본 헤더 뒤에 확장 헤더를 더함 -> 더욱 다양한 정보 저장 가능 -> 네트워크 기능 확장 용이
- IPv4와의 호환성이 뛰어남
IPv6의 주소 체계 (B)
- 유니캐스트(Unicast) : 단일 송신자와 단일 수신자 간의 통신(1 대 1 통신에 사용)
- 멀티캐스트(Multicast) : 단일 송신자와 다중 수신자 간의 통신(1 대 다 통신에 사용)
- 애니캐스트(Anycast) : 단일 송신자와 가장 가까이에 있는 단일 수신자 간의 통신(1 대 1 통신에 사용)
서브네팅 (A)
할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것
Subnet Mask : 4바이트의 IP 주소 중 네트워크 주소와 호스트 주소를 구분하기 위한 비트, 이를 변경해 네트워크 주소를 여러 개로 분할하여 사용, 각 클래스마다 다르게 사용됨
예제
192.168.1.0/24 네트워크를 FLSM 방식을 이용, 3개의 서브넷으로 나누시오
(*Subnet-Zero : 서브넷 부분이 모두 0인 주소도 IP 주소로 사용할 수 있도록 한다)192.168.1.0/24 네트워크의 서브넷 마스크는 1의 개수가 24개(C Class)
11111111 | 11111111 | 11111111 | 00000000
(255.255.255.0)서브넷 마스크를 서브넷으로 나눌 때, 서브넷 마스크가 0인 부분(마지막 8비트)를 이용함
3개의 서브넷으로 나누는 것이므로 8비트중 3을 표현하는데 필요한 2비트를 제외하고 나머지 6비트를 호스트로 구성함11111111 | 11111111 | 11111111 | 11 : 000000 (네트워크 ID : 호스트 ID)
(255.255.255.192)호스트 ID가 6비트이고, FLSM(Fixed Length Subnet Mask, 고정 크기로 주소할당)이므로 3개의 네트워크에 64개(2^6)씩 고정 크기로 할당함
- 네트워크 ID , 호스트 수 , IP 주소 범위 (네트워크 별로 첫 번째 주소가 네트워크 주소, 마지막 주소가 브로드 캐스트 주소)
1(00), 64, 192.168.1.0(00000000) ~ 63(00111111)
2(01), 64, 192.168.1.64(01000000) ~ 127(01111111)
3(10), 64, 192.168.1.128(10000000) ~ 191(10111111)
- 네트워크 ID , 호스트 수 , IP 주소 범위 (네트워크 별로 첫 번째 주소가 네트워크 주소, 마지막 주소가 브로드 캐스트 주소)
도메인 네임(Domain Name) (C)
숫자로 된 IP 주소를 사람이 이해하기 쉬운 문자 형태로 표현
- 문자로 된 도메인 네임을 컴퓨터가 이해할 수 있는 IP 주소로 변환하는 역할을 하는 시스템을 DNS(Domain Name System)이라고 한다.
OSI 참조 모델 (A)
다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약(Protocol)
물리 계층(Pysical Layer)
- 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의
데이터 링크 계층(Data Link Layer)
- 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료를 담당한다.
네트워크 계층(Network Layer, 망 계층)
- 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 한다.
전송 계층(Transport Layer)
- 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템(End - to - End) 간에 투명한 데이터 전송을 가능하게 한다.
세션 계층(Session Layer)
- 송/수신 측 간의 관련성을 유지하고 대화 제어를 담당한다.
표현 계층(Presentation Layer)
- 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층으로, 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색 등의 기능을 제공한다.
응용 계층(Application Layer)
- 사용자(응용 프로그램)가 OSI 환경에 접근할 수 있도록 서비스를 제공한다.
네트워크 관련 장비 (B)
- 라우터(Router)
- LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택하는 기능이 추가된 장치이다.
- 게이트웨이(Gateway)
- OSI 전 계층의 프로토콜 구조가 다른 네트워크를 연결하는 장치이다.
- LAN에서 다른 네트워크와 데이터를 주고받는 출입구 역할을 한다.
프로토콜(Protocol) (A)
데이터 교환을 원활하게 수행할 수 있도록 표준화시켜놓은 통신 규약
프로토콜의 기본 요소 (A)
- 구문(Syntax) : 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정
- 의미(Segmantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
- 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정함
패킷 교환 방식(Packet Switching) (A)
메시지를 일정한 길이의 패킷으로 잘라서 전송하는 방식
- 가상 회선 방식
- 단말기 상호 간에 논리적인 가상 통신 회선을 미리 설정하여 송신지와 수신지 사이의 연결을 확립한 후에 설정된 경로를 따라 패킷들을 발생 순서대로 운반
- 정보 전송 전에 제어 패킷에 의해 경로가 설정
- 패킷의 송/수신 순서가 같다.
- 데이터그램 방식
- 연결 경로를 설정하지 않고 인접한 노드들의 트래픽(전송량) 상황을 감안하여 각각의 패킷들을 순서에 상관없이 독립적으로 운반
- 패킷마다 전송 경로가 다르므로, 패킷은 목적지의 완전한 주소를 가져야 한다.
- 순서에 상관없이 여러 경로를 통해 도착한 패킷들은 수신 측에서 순서를 재정리한다.
TCP/IP(Transmission Control Protocol/Internet Protocol) (B)
인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜이다.
- TCP(Transmission Control Protocol)
- OSI 7계층의 전송 계층
- 가상 회선 방식을 기반으로 하는 양방향 연결 서비스를 제공한다.
- 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능을 제공한다.
- IP(Internet Protocol)
- OSI 7계층의 네트워크 계층
- 데이터그램 방식을 기반으로 하는 비연결형 서비스
- 패킷의 분해/조립, 주소 지정, 경로 선택 기능을 제공한다.
UDP(User Datagram Protocol) (B)
데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스를 제공하는 프로토콜이다.
- TCP에 비해 단순한 헤더 구조를 가지므로 오버 헤드가 적고, 흐름 제어나 순서 제어가 없어 전송 속도가 빠르다.
- 실시간 전송에 유리하며, 신뢰성보다는 속도가 중요시되는 네트워크에서 사용된다.
IP vs UDP (추가)
- 연결 지향성: UDP는 비연결형이고, IP도 비연결형입니다.
- 신뢰성:
- 둘 다 기본적으로 신뢰성을 제공하지 않지만,
- UDP는 애플리케이션 계층에서 추가 기능을 구현 가능
- IP는 상위 계층 프로토콜에 의존
- IP와 TCP를 함께 사용
- 신뢰성, 연결 지향성, 데이터 전송의 정확성을 제공하여 웹 브라우징, 파일 전송 등 신뢰성을 요구하는 애플리케이션에 적합
- IP와 UDP를 함께 사용
- 낮은 오버헤드와 빠른 전송 속도를 제공하여 실시간 스트리밍, 온라인 게임 등 실시간 성능이 중요한 애플리케이션에 적합
- IP와 TCP를 함께 사용
- 둘 다 기본적으로 신뢰성을 제공하지 않지만,
- 용도:
- UDP : 빠른 데이터 전송이 필요한 실시간 애플리케이션에 적합
- IP : 네트워크 주소 지정 및 라우팅의 기본 프로토콜
L2TP (A)
PPTP와 L2F의 기술적 장점들을 결합하여 만들어진 터널링 프로토콜
- 데이터 링크 계층에서 구현
- 자체적으로 암호화 및 인증 기능을 제공하지 않아 다른 보안 프로토콜과 함께 사용
ICMP(Internet Control Message Protocol) (A)
IP와 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역할
ARP(Address Resolution Protocol) / RARP(Reverse Address Resolution Protocol) (A)
- ARP
- 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(Mac Address)로 변환하는 기능을 하는 프로토콜
- RARP (=역순 주소 결정 프로토콜)
- ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능을 수행하는 프로토콜
NAT(Network Address Translation, 네트워크 주소 변환) (A)
한 개의 정식 IP 주소에 대량의 가상 사설 IP 주소를 할당 및 연결하는 기능
경로 제어(Routing) (C)
송/수신 측 간의 전송 경로 중에서 최적의 패킷 교환 경로를 결정하는 기능
IGP(Interior Gateway Protocol, 내부 게이트웨이 프로토콜) (A)
하나의 자율 시스템(AS) 내의 라우팅에 사용되는 프로토콜
- RIP(Routing Information Protocol)
- 거리 벡터 라우팅 프로토콜
- 최단 경로 탐색에 벨만 포드 알고리즘 사용
- 소규모 동종의 네트워크(자율 시스템, AS) 내에 효율적
- OSPF(Open Shortest Path First protocol)
- RIP의 단점을 해결
- 대규모 네트워크에서 사용
- 최단 경로 탐색에 다익스트라 알고리즘 사용
자율 시스템(AS)
자율 시스템(Autonomous System, AS)은 인터넷에서 라우팅과 네트워크 관리를 위해 사용되는 논리적 그룹
하나의 네트워크 또는 여러 네트워크가 모여서 형성된 집합으로, 단일한 라우팅 정책을 사용하여 외부 네트워크와 통신하는 시스템
EGP / BGP (A)
- EGP(Exterior Gateway Protocol)
- 자율 시스템(AS) 간의 라우팅, 즉 게이트웨이 간의 라우팅에 사용되는 프로토콜
- BGP(Border Gateway Protocol)
- 자율 시스템(AS) 간의 라우팅 프로토콜
- 초기에 연결될 때 전체 경로 제어표(라우팅 테이블)를 교환하고, 이후에는 변화된 정보만 교환
흐름 제어(Flow Control) (B)
송/수신 측 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능
- 정지-대기(Stop-and-Wait)
- 수신 측의 확인 신호(ACK)를 받은 후에 다음 패킷을 전송하는 방식
- 한 번에 하나의 패킷만을 전송
RAID(Redundant Array of Independent Disk) (A)
2개 이상의 하드디스크로 디스크 배열을 구성하고, 파일을 구성하는 데이터 블록들을 서로 다른 디스크에 분산 저장하거나 다중화하는 저장 기술로, 레벨(Level)로 구분
- RAID 0
- 스트라이핑
- 디스크를 병렬로 연결하여, 디스크의 개수만큼 용량과 속도가 배로 증가한다.
- 하나의 디스크만 손상되어도 전체 데이터가 파손된다.
- RAID 1
- 미러링
- 같은 데이터를 다른 디스크에 동일하게 복사하는 방식
- RAID 2~4
- 하나의 디스크에 오류 정정 부호를 비트 단위로 저장하고, 나머지 디스크는 RAID 0과 같이 활용하여 안정성을 높인 모드
- 하나의 디스크가 손상되어도 정상 가동이 가능하며 최소 3개의 디스크가 필요
- RAID 5
- 오류 정정 부호를 블록 단위로 여러 디스크에 분산 저장
- 하나의 디스크가 손상되어도 정상 가동이 가능하며 최소 3개의 디스크가 필요
- RAID 6
- RAID 5와 원리는 같으나 오류 정정 부호 2개를 저장
- 두 개의 디스크가 손상되어도 정상 가동이 가능하며 최소 4개의 디스크가 필요
Secure (B)
보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제
DB 관련 신기술 (A)
- 하둡
- 분산 컴퓨팅 플랫폼
- 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리
- 맵리듀스
- 대용량 데이터를 분산 처리
- Map : 흩어져 있는 데이터를 연관성 있는 데이터 분류로 묶는다
- Reduce : 중복 데이터를 제거하고 원하는 데이터를 추출
- 데이터 마이닝
- 대량의 데이터를 분석하여 데이터에 내재된 변수 사이의 상호관계를 규명하여 일정한 패턴을 찾아냄
회복(Recovery) (B)
트랜잭션들을 수행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업
REDO / UNDO (A)
- REDO
- 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작(start)과 완료(commit)에 대한 기록이 있는 트랜잭션들의 작업을 재작업한다. 즉, 로그를 이용하여 해당 데이터 항목에 대해 이전 값을 이후 값으로 변경하는 연산
- UNDO
- 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작(start)에 대한 기록은 있지만 완료(commit) 기록이 없는 트랜잭션들이 작업한 변경 내용들을 모두 취소한다. 즉 로그를 이용하여 해당 데이터 항목에 대해 이후 값을 이전 값으로 변경하는 연산
즉각 갱신 기법(Immediate Update) (A)
트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 방법
병행 제어(Concurrency Control) (C)
다중 프로그램의 이점을 활용하여 동시에 여러 개의 트랜잭션을 병행 수행할 때, 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제어하는 것
종류 : 로킹(Locking), 타임 스탬프 순서 등
로킹(Locking) (A)
액세스하기 전에 Lock(잠금)을 요청해서 Lock이 허락되어야만 그 로킹 단위를 액세스할 수 있도록 하는 기법
타임 스탬프 순서(Time Stamp Ordering) (B)
시간표(Time Stamp)를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행
로킹 단위 (B)
한꺼번에 로킹할 수 있는 객체의 크기
- 로킹 단위가 크면 로크 수가 작아 관리하기 쉽지만 병행성 수준이 낮아진다.
- 로킹 단위가 작으면 로크 수가 많아 관리하기 복잡해 오버헤드가 증가하지만 병행성 수준이 높아진다.
교착 상태(Dead Lock) (B)
둘 이상의 프로세스가 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
교착 상태 발생의 필요 충분 조건
이 네 가지 조건 중 하나라도 충족되지 않으면 교착 상태가 발생하지 않는다.
- 상호 배제(Mutual Exclusion) : 한 번에 한 개의 프로세스만이 공유 자원을 사용
- 점유와 대기(Hold and Wait) : 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있다.
- 비선점(Non-preemption) : 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 뺏을 수 없다.
- 환형 대기(Circular Wait) : 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어, 프로세스가 자신의 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구한다.
교착 상태의 해결 방법
교착 상태를 막으려면 위 4가지의 필요 충분 조건 중 한 가지를 제거하면 된다.
- 예방 기법(Prevention) : 교착 상태가 발생하지 않도록 사전에 시스템을 제어하는 방법으로, 교착상태 발생의 네 가지 조건 중에서 어느 하나를 제거(부정)함으로써 수행된다.
- 회피 기법(Avoidance) : 교착 상태가 발생할 가능성을 배제하지 않고 교착 상태가 발생하면 적절히 피해나가는 방법, 주로 은행원 알고리즘이 사용된다.
- 발견 기법(Detection) : 시스템에 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견하는 방법
- 회복 기법(Recovery) : 교착 상태를 일으킨 프로세스를 종료하거나 교착 상태의 프로세스에 할당된 자원을 선정하여 프로세스나 자원을 회복하는 것
'자격증 > 정처기 - 실기' 카테고리의 다른 글
4-1장. 서버 프로그램 구현 1 (0) | 2024.07.30 |
---|---|
2-2장. 데이터 입,출력 구현 2 (0) | 2024.07.30 |
2-1장. 데이터 입,출력 구현 (0) | 2024.07.30 |
11-1장. 응용 SW 기초 기술 활용 1 (2) | 2024.07.24 |
10장.프로그래밍 언어 활용 (1) | 2024.07.24 |