※ IP
: 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소
- IPv4
- 8비트씩 4부분, 총 32비트
- 네트워크 부분의 길이에 따라 A 클래스에서 E 클래스까지 총 5단계로 구성
- IPv6
- 16비트씩 8부분, 총 128비트
- 각 부분을 16진수로 표현하고, 콜론으로 구분
- 유니캐스트 (Unicast) : 1대1 통신
- 멀티캐스트 (Multicast) : 1대다 통신
- 애니캐스트 (Anicast) : 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신
※ 서브넷팅
: 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것
※ 도메인 네임
: 숫자로 된 IP 주소를 사람이 이해하기 쉬운 문자 형태로 표현한 것, 이러한 시스템을 DNS(Domain Name System)라고 함
※ OSI 참조 모델
: ISO(국제 표준화기구)에서 제안한 통신 규약(Protocol)이다.
물리 계층 [Physical Layer]
: 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의
데이터 링크 계층 [Data Link Layer]
: 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료 담당
네트워크 계층 [Network Layer]
: 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 함
전송 계층 [Transport Layer]
: 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템(End-to-End) 간에 투명한 데이터 전송을 가능하게 함
세션 계층 [Session Layer]
: 송/수신 측 간의 관련성을 유지하고 대화 제어를 담당
표현 계층 [Presentation Layer]
: 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층으로, 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색 등의 기능 수행
응용 계층 [Application Layer]
: 사용자(응용 프로그램)가 OSI 환경에 접근할 수 있도록 서비스 제공
※ 네트워크 관련 장비
라우터 [Router]
: LAN과 LAN 연결 기능(브리지 기능) + 데이터 전송의 최적 경로를 선택하는 기능
리피터 [Repeater]
: 감쇠하는 디지털 신호 출력 전압을 높여 전송하는 장치
허브 [Hub]
: 한 사무실이나 가까운 거리의 컴퓨터들을 연결하는 장치, 리피터 역할 포함
브리지 [Bridge]
: LAN과 LAN을 연결하거나 컴퓨터 그룹을 연결하는 장치로, n(n-1)/2개의 회선 수
게이트웨이 [Gateway]
: OSI 전 계층의 프로토콜 구조가 다른 네트워크를 연결하는 장치
※ 프로토콜 [Protocol]
: 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약
→ 심리학자 톰 마릴은 컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 도착하지 않았을 경우 메시지를 재전송하는 일련의 방법을 '기술적 은어'를 뜻하는 프로토콜이라는 용어로 정의하였다.
※ 프로토콜의 기본 요소
- 구문(Syntax) : 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정
- 의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정함
- 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정'
※ 패킷 교환 방식
: 메시지를 일정한 길이의 패킷으로 잘라서 전송하는 방식으로 가산 회선 방식과 데이터그램 방식이 있다.
[가상 회선 방식]
- 논리적인 가상 통신 회선을 미리 설정
- 모든 패킷은 같은 경로로 발생 순서대로 전송된다. 즉, 패킷의 송/수신 순서가 같다.
- 연결형 통신, 논리적 고정이 특징
[데이터그램 방식]
- 비연결형 방식으로 각각의 패킷들을 순서에 상관없이 독립적으로 운반하는 방식
- 패킷마다 전송 경로가 다르므로, 패킷의 목적지의 완전한 주소를 가져야 한다.
- 순서에 상관 없이 여러 경로를 통해 도착한 패킷들은 수신 측에서 순서 재정리
- 비연결형 방식이 특징
※ TCP/IP
: 서로 다른 기종의 컴퓨터들이 데이터를 주고 받을 수 있도록 하는 표준 프토로콜
[TCP : Transmission Control Protocol]
- OSI 7계층의 전송 계층에 해당
- 가상 회선 방식을 기반으로 하는 양방향 연결 서비스
- 제어 관련된 기능 제공
[IP : Internet Protocol]
- OSI 7계층의 네트워크 계층에 해당
- 데이터그램 방식을 기반으로 하는 비연결형 서비스 제공
- 패킷 분해/조립, 주소 지정, 경로 선택 기능 제공
※ UDP [User Datagram Protocol]
: 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스를 제공하는 프로토콜
- TCP에 비해 상대적으로 단순한 헤더 구조를 가지므로, 전송 속도가 빠르다
- 실시간 전송에 유리하며, 속도가 중요시되는 네트워크에서 사용된다
※ ICMP [Internet Control Message Protocol]
: IP와 조합하여 통신중에 발생하는 제어 메시지를 관리하는 역할
- 8byte로 구성
※ 네트워크 관련 신기술
메시 네트워크[Mesh Network]
: 대규모 디바이스의 네트워크 생성
피코넷 [Piconet]
: 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
애드 훅 네트워크 [Ad-hoc Network]
: 모바일 호스트(Mobile Host)만을 이용하여 구성한 네트워크
파장 분할 다중화 [WDM : Wavelength Division Multiplexing]
: 파장이 서로 다른 복수의 신호를 보냄
소프트웨어 정의 데이터센터 [SDDC : Software Defined Datacenter]
: 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터를 의미 (인력 개입이 없음)
개방형 링크드 데이터 [LOD : Linked Open Data]
: 누구나 사용할 수 있도록 웹상에 공개된 연계 데이터, 웹상에 존재하는 데이터를 개별 URI로 식별하고, 각 URI에 링크 정보를 부여함으로써 상호 연결된 웹을 지향하는 모델
IoT [Internet of Things]
: 실세계와 가상 세계의 다양한 사물들을 인터넷으로 서로 연결하여 서비스를 제공하는 기술
클라우드 컴퓨팅 [Cloud Computing]
: 각종 컴퓨터 자원을 중앙 컴퓨터에 두고 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 가상화된 환경
USN [Ubiquitous Sensor Network]
: 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크, 필요한 모든 것에 RFID 태그를 부착하고, 환경 정보까지 탐지하여 이를 네트워크에 연결하여 정보 관리
※ 네트워크 구축
성형 [Star, 중앙 집중형]
: 중앙에 컴퓨터 중심으로 구축되는 네트워크
링형 [Ring]
: Point-to-Point 방식의 구성 형태
버스형 [Bus]
: 한 개의 통신 회선에 여러 대의 단말장치가 연결되어 있는 형태
계층형 [Tree]
: 중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 통신 회선으로 연결시키고, 이웃하는 단말장치는 일정 지역 내에 설치된 중간 단말장치로부터 다시 연결시키는 형태
망형 [Mesh]
: 모든 지점의 컴퓨터와 단말장치를 서로 연결한 형태 n(n-1)/2개의 회선 수
※ NAT [Network Address Translation]
: 한 개의 정식 IP 주소에 대량의 가상 사설 IP주소를 할당 및 연결하는 기능
※ 경로 제어
: 송/수신 측 간의 전송 경로 중에서 최적 패킷 교환 경로를 결정하는 기능, 경로 제어표(Routing Table)를 참조해서 이루어지며, 라우터에 의해 수행
ex) IGP(RIP, OSPF), EGP, BGP
※ IGP [Interior Gateway Protocol]
: 하나의 자율 시스템(AS) 내의 라우팅에 사용되는 프로토콜
[RIP : Routing Information Protocol]
: 거리 벡터 라우팅 프로토콜이라고도 불리며, 최단 경로 탐색에 Bellman-Ford 알고리즘 사용
[OSPF : Open Shortest Path First Protocol]
: RIP의 단점을 보완하여 대규모 네트워크에서 많이 사용, 최단 경로 탐색에 Dijkstra 알고리즘 사용
※ EGP / BGP
[EGP : Exterior Gateway Protocol]
: 자율 시스템(AS) 간의 라우팅, 즉 게이트웨이 간의 라우팅에 사용되는 프로토콜
[BGP : Border Gateway Protocol]
: 자율 시스템(AS) 간의 라우팅 프로토콜로, EGP 단점 보완
초기에 BGP 라우터들이 연결될 때에는 전체 경로 제어표(라우팅 테이블)를 교환하고, 이후에는 변화된 정보만을 교환
※ 흐름 제어 [Flow Control]
: 송/수신 측 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능
[정지 대기 : Stop-and-Wait]
: 수신 측의 확인 신호(ACK)를 받은 후 다음 패킷 전송하며 한 번에 하나의 패킷만 전송
[슬라이딩 윈도우 : Sliding Window]
: 확인 신호(ACK)의 양을 조절하는 방식이며, 미리 정해진 패킷 수 만큼 연속적으로 전송하는 방식이라 효율이 좋음
※ SW 관련 신기술
블록체인 [Blockchain]
: P2P 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자의 디지털 장비에 분산 저장하는 기술
매시업 [Mashup]
: 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술
서비스 지향 아키텍처 [SOA : Service Oriented Architecture]
: 기업의 소프트웨어 인프라인 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보기술 아키텍처
디지털 트윈 [Digital Twin]
: 현식 속의 사물을 소프트웨어로 가상화한 모델
그레이웨어 [Grayware]
: 사용자 입장에서 유용 또는 악의적일 수 있는 것들
서비스형 소프트웨어 [SaaS : Software as a Service]
: 소프트웨어의 여러 기능 중에서 사용자가 필요로 하는 서비스만을 이용할 수 있도록 한 소프트웨어
시멘틱 웹 [Semantic Web]
: 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹 의미
리치 인터넷 애플리케이션[RIA : Rich Internet Application]
: 플래시 애니메이션 기술과 웹 서버 애플리케이션 기술을 통합하여 기존 HTML 보다 역동적이고 인터랙티브한 웹 페이지를 제공하는 신개념의 플레시 웹 페이지 제작 기술
※ RAID
RAID 0
: 스트라이핑이라고 불린다.
RAID 1
: 미러링이라고 불린다.
RAID 2 ~ 4
: 하나의 디스크에 오류 정정 부호를 비트(RAID 2) / 바이트 (RAID 3) / 워드(RAID 4) 단위로 저장하고, 나머지 디스크는 RAID 0과 같이 활용하여 안정성을 높인 모드
RAID 5
: 오류 정정 부호를 블록 단위로 여러 디스크에 분산 저장한 방식
RAID 6
: RAID 5와 원리는 같으나 오류 정정 부호 2개를 저장
※ DB 관련 신기술
하둡 [Hadoop]
: 분산 컴퓨팅 플랫폼으로 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크이다.
맵리듀스 [MapReduce]
: 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 모델로 흩어져있는 데이터를 연관성 있는 데이터 분류로 묶는 Map 작업을 수행한 후 중복 데이터를 제거하고 원하는 데이터를 추출하는 Reduce 작업 수행
데이터 마이딩 [Data Mining]
: 대량의 데이터를 분석하여 데이터를 내재된 변수 사이의 상호관계를 규명하여 일정한 패턴을 찾아내는 기법
타조 [Tajo]
: 하둡 기반의 분산 데이터 웨어하우스 프로젝트
OLAP [Online Analytical Processing]
: 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식
브로드 데이터 [Broad Data]
: 이전에 사용하지 않거나 알지 못했던 새로운 데이터나 기존 데이터에 새로운 가치가 더해진 데이터
※ REDO / UNDO
REDO
: 트랜잭션의 시작과 완료에 대한 기록이 있는 트랜잭션들의 작업을 재작업
UNDO
: 트랜잭션의 시작에 대한 기록은 있지만 완료 기록은 없는 트랜잭션들이 작업한 변경 내용들을 모두 취소
※ 갱신 방법
- 연기 갱신 방법 : 트랜잭션이 성공적으로 완료될 때까지 데이터베이스에 대한 실질적인 갱신을 연기하는 방법
- 즉각 갱신 방법 : 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 방법, Redo(재시도), Undo(취소) 모두 사용 가능
※ 병행 제어
: 동시에 실행되는 트랜잭션 간의 상호 작용을 제어
ex) Locking, 타임 스탬프 순서, 최적 병행수행, 다중 버전 기법
※ 로킹 (Locking)
: 액세스하기 전에 Lock(잠금)을 요청해서 Lock이 허락되어야만 그 로킹 단위를 액세스할 수 있도록 하는 기법
로킹단위란, 병행제어에서 한꺼번에 로킹할 수 있는 객체의 크기를 의미
※ 타임 스탬프 순서
: 시간표(Time Stamp)를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법
※ 교착 상태 [Deadlock]
: 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
조건 | 설명 |
상호 배제 [Mutual Exclusion] | 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함 |
점유와 대기 [Hold and Wait] | 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함 |
비선점 [Non-preemption] | 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함 |
환형 대기 [Circular Wait] | 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당되 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함 |
※ 교착 상태 해결 방법
해결 방법 | 설명 |
예방 기법 [Prevention] | - 교착 상태가 발생하지 않도록 사전에 시스템 제어 - 교착 상태 발생의 네 가지 조건 중에서 어느 하나를 제거함으로써 수행 |
회피 기법 [Avoidance] | - 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해나가는 방법 - Banker's Algorithm이 사용됨 |
발견 기법 [Detection] | - 시스템에 교착 상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 것 |
회복 기법 [Recovery] | - 교착상태를 일으킨 프로세스를 종료하거나 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 호복하는 것 |
'CS > CS' 카테고리의 다른 글
[5, 6장] 인터페이스 구현 / 화면 설계 (0) | 2023.07.16 |
---|---|
[12장] 제품 소프트웨어 패키징 (0) | 2023.07.16 |
[11장] 응용 SW 기초 기술 활용 (1) (0) | 2023.07.16 |
[9장] 소프트웨어 개발 보안 구축 (0) | 2023.07.16 |
[7장] 애플리케이션 테스트 관리 (0) | 2023.07.16 |