정보처리기사 필기시험을 준비하며
전자문제집CBT
의 해설을 정리한 것입니다.
1. 운영체제
1) HRN스케줄링 방식의 작업 순서 구하기
우선순위 = (작업시간 + 서비스시간) / 서비스시간
우선순위를 정한 다음 숫자가 높은 것부터 순위가 부여된다.
2) 메모리 관리 기법
- Worst fit(최악 적합) : 들어갈 수 있는 영역 중 자원 낭비가 제일 심한 영역에 들어가는 방법
2. OSI-7Layer (Open Systems Interconnection)
0) OSI 7계층이란?
- OSI 참조 모델이다. (1984 국제표준화기구(ISO)가 발표)
- 모든 컴퓨팅 장치나 네트워킹 장치를 만들 때 OSI 참조 모델을 참조해서 통신 장치를 만든다. (쉽게 말해 규칙. 호환성, 유지보수 강화)
- 통신이 일어나는 과정을 크게 7단계로 분류하여 정리한 것.
- 이때 각 계층은 독립되어 있다. → 문제가 생긴 곳만 해결 가능
- 네트워크에서 트래픽의 흐름을 알 수 있다.
- 상하구조(계층)
구분 | 계층 | 계층명 | 기능 |
---|---|---|---|
상 | 7 | 응용(Message) | - 사용자에게 서비스 제공 역할. - SMTP, FTP, HTTP 등 사용자가 원하는 최종 목표에 해당 |
상 | 6 | 표현(Message) | - 데이터의 변환, 압축, 암호화를 담당 |
상 | 5 | 세션(Message) | - 통신하는 프로세스 사이의 대화 제어 및 동기화를 담당 |
하 | 4 | 전송(Segment) | - 네트워크계층에서 패킷을 종단(네트워크주소)까지 전달한다면, 전송층은 종단 내에서 최종 수신 프로세스(포트주소)로의 전달을 담당 |
하 | 3 | 네트워크(Packet) | - 송신 측에서 최종목적지(네트워크주소)까지 패킷을 전달 - 송수신 측의 논리구조 지정 및 패킷이 최종목적지에 도달하도록 경로를 배정하는 라우팅 기능 - 데이터 링크의 물리주소는 패킷이 시스템으로 이동할 때마다 변경되지만, 네트워크 주소는 목적지까지 변하지 않음 |
하 | 2 | 데이터 링크(Frame) | - 노드와 노드 사이의 데이터 전달 - 단순히 bit를 전송하는 물리층에 신뢰성을 더하기 위한 흐름제어 및 오류제어 기능 - LLC, MAC 두 개의 서브레이어로 구성 |
하 | 1 | 물리(bit) | - 물리 매체를 통해 bit 흐름을 전송 - 물리적 장치와 인터페이스가 전송을 위해 필요한 기능과 처리절차 규정 |
- 구분 → 상 : 상위층 , 하 : 하위층
- 물리계층(하드웨어), 데이터링크계층(HW+SW), 나머지(SW)
여긴 헷갈려서 특별히 번호랑 계층 맞춤
1) 물리 계층
- 전송에 필요한 장치 간 실제 접속
2) 데이터 링크 계층
- 링크의 설정과 유지 및 종료 담당
- 송수신(노드 간) 측 속도 차이 해결을 위한 흐름제어 기능 및 오류 검출과 회복을 위한 오류제어 기능
- 프레임 시작 및 끝을 구분하기 위한 동기화 기능
- 프레임 순서적 전송을 위한 순서 제어 기능
5) 세션 계층
- 송수신 측 간 관련성 유지 및 대화 제어, 체크점(동기점)을 두어 정보 수신상태 체크
7) 응용 계층
- 사용자가 OSI 환경에 접근 가능하도록 서비스 제공
3. 결합도(Coupling) 또는 의존도
- 어떤 모듈이 다른 모듈에 의존하는 정도
- 응집도(cohesion)과 대비되는 개념 (종종...)
- 결합도 높음 ———————————————-낮음
content > common > external > control > stamp > data
1) 내용 결합도 (Content)
- 하나의 모듈이 다른 모듈의 내부 동작을 수정하거나 내부 동작에 의존하는 상태
- 예) 다른 모듈의 로컬 데이터에 접근하는 경우
2) 공통 결합도 (Common || Global )
- 두 개의 모듈이 같은 글로벌 데이터를 공유하는 상태 (전역변수 등)
3) 외부 결합도 (External)
- 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 때 발생
- 기본적으로 외부 툴이나 디바이스와의 통신과 관련있다.
4) 제어 결합도 (Control)
- 하나의 모듈이 다른 모듈로 무엇을 해야하는지에 대한 정보를 넘겨줌으로써 다른 모듈의 흐름을 제어하는 경우
- 권리 전도 현상 발생
5) 스탬프 결합도 (Stamp)
- 모듈들이 데이터 구조를 공유하고, 서로 다른 일부만을 사용하는 경우
- 접근할 필요가 없는 필드만 수정되는 경우에도 (데이터의 배치가 변경되므로) 레코드(필드)를 읽는 방법을 변경해야 함
6) 자료 결합도 (Data)
- 모듈들이 파라미터 등을 통해 데이터를 공유하는 경우
- 각 데이터가 기본적인 것(elementary piece)이고, 그 데이터들이 공유되는 유일한 데이터여야 한다.
- 자료요소로만 구성. 처리값을 다시 돌려줌
7) 기타
-
메시지 결합도
- 가장 낮은 결합도
-
결합도 없음
- 모듈이 어떠한 다른 모듈과도 통신하지 않는 경우
- 모듈이 어떠한 다른 모듈과도 통신하지 않는 경우
4. 네트워크 서브네팅
1) 네트워크 주소, 브로드캐스트 주소
- subnet의 시작 주소 : 네트워크 주소
- subnet의 마지막 주소 : 브로드캐스트 주소 (서브넷의 끝부분에 연속된 0으로된 비트를 모두 1비트로 변환했을 때)
- (예시)
현재 pc의 아이피가 203.230.7.3 이고, 서브넷마스크가 255.255.255.0 이라면, 네트워크 주소 (203.230.7.0) 브로드캐스트 주소 (203.230.7.255)
즉, 사용 가능한 아이피 주소 : 203.230.7.1 ~ 203.230.7.254
2) FLSM방식으로 Subnet을 나누고, IP subnet-zero 적용
(예제) 200.1.1.0/24 네트워크를 FLSM방식을 이용하여 10개의 Subnet으로 나누고, ip subnet-zero를 적용했다. 이때 서브네팅된 네트워크 중 10번째 네트워크의 broadcast IP주소는?
1️⃣ 필요한 서브넷의 개수
2^3 < 10개 +2(네트워크, 브로드캐스트) < 2^4
(꼭 2^n 이어야 함! 2진수니까.. 밑에 네트워크 대역 생긴거 참고)
-> 16개씩 나누기!!
-> 네트워크대역의 뒤에 4개를 0으로! (또는 그냥 서브넷 시작하는 ip에서 2^4개씩 세어서 나눠준다..)
2️⃣ 서브넷마스크
200.1.1.1111 0000
→ 255.255.255.240
3️⃣ 네트워크 대역
200.1.1.0000 0000
= 200.1.1.0~15
200.1.1.0001 0000
= 200.1.1.16~31
200.1.1.0010 0000
= 200.1.1.32~47
200.1.1.0011 0000
= 200.1.1.48~63
200.1.1.0100 0000
= 200.1.1.64~79
...
200.1.1.1001 0000
= 200.1.1.144~159 ← 10번째 네트워크
...
4️⃣브로드캐스트 IP주소 : 200.1.1.159
5. UNIX
1) 명령어
ls
- 디렉토리, 파일목록 출력cat
- 파일 내용(만) 출력fork
- 새로운 프로세스 생성chmod
- 파일이나 디렉토리에 대한 접근권한 변경
6. 소프트웨어 취약점
- FTP 바운스 공격 : FTP 프로토콜 구조의 허점을 이용한 공격 <네트워크 공격>
- SQL 삽입 : SQL의 논리적 에러를 이용한 공격 <웹관련 공격>
- 버퍼 오버플로 : 메모리를 다루는 데 오류가 발생하여 잘못된 동작을 하게 하는 공격 <어플 공격>
- 디렉토리 접근 공격 : 웹 루트 디렉토리 외부에 저장된 파일 또는 디렉토리에 접근하는 공격 방법 <웹관련 공격>
7. 네트워크
1) IPv6
- 128비트 주소체계 사용. (16비트 8부분)
- v4의 주소부족 문제 해결 및 자료 전송 속도 빠름
- 보안문제 해결 → 인증성, 기밀성, 데이터 무결성 지원
- 확장성, 융퉁성, 연동성 뛰어남
- 실시간 흐름 제어로 향상된 멀티미디어 기능 지원
- 세 가지 주소 체계 : Unicast, Multicast, Anycast
2) TCP 프로토콜
- 기본 헤더 크기는 최소 20byte 최대 60byte (헤더에 Option값 포함 시 최대 40byte 추가 가능)
- 신뢰성이 있는 연결 지향형 전달 서비스이다.
- 스크림 전송 기능을 제공한다.
- 순서제어, 오류제어, 흐름제어 기능을 제공한다.
(참조)
- https://www.comcbt.com/ 해설
- https://jhnyang.tistory.com/194 - 블로그의 다른 글들도 읽어보면 좋을 듯
- https://ko.wikipedia.org/wiki/결합도