IP 프로토콜
- 비연결형 서비스
- 헤더 체크섬 제공
- Best Effort 원칙에 따른 전송 기능 제공
Header Length : 4바이트 = 32비트
Packet Length : 2바이트 = 16비트 단위, 최대 크기는 2^16 - 1 비트
Time To Live : 송신 호스트가 패킷을 전송하기 전 네트워크에서 생존할 수 있는 시간을 지정한 것
Version Number : IP 프로토콜의 버전번호
IPv4
- 유니캐스트, 멀티캐스트, 브로드캐스
IPv6
- 유니캐스트, 멀티캐스팅, 애니캐스트
- 보안과 인증 확장 헤더 사용
- 애니캐스트: 하나의 호스트에서 가장 가까운 곳의 수신자에게 전달
- 128비트 주소체계
UDP 프로토콜
- 비연결형 서비스 제공
- 흐름 제어가 없어 전송 속도 빠름- 수신된 데이터의 순서 재조정 기능 X- 복구 기능 X
TCP
- 연결형 서비스
RIP 라우팅 프로토콜
최단 경로 탐색에는 벨만 포드 알고리즘 사용
hop count (거리 값) 으로 경로 선택 → 최적의 경로가 아닌 경우 多
각 라우터는 이웃 라우터로부터 수신한 정보를 이용해 라우팅 표 갱신
IGP에 해당
IGP
거리 방향 - RIP, IGRP
연결 상태 - EIGRP, OSPF
EGP - BGP
OSI 7계층
응용
- HTTP, FTP, SMTP, POP3, IMAP, Telnet 등의 프로토콜
- 소프트웨어 UI, 사용자 입출력 부분
표현
- 코드 간 번여 담당
- 인코딩 바꾸기
세션
- 세션 설정, 유지, 종료
- 전송 중단시 복구
- TCP/IP 세션을 만들고 없애는 책임
- 통신을 위한 세션 확립/유지/중단 운영체제가 해줌
전송
- 패킷 생성
- 연결 기반. 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷은 다시 전송
- TCP 프로토콜
신뢰적인 전송 보장
- UDP 프로토콜
비연결성, 신뢰성 없음, 순서화되지 않은 데이터그램 서비스
실시간 응용 및 멀티캐스팅 가능
헤더가 단순해 헤더 처리에 시간과 노력 적음
네트워크
- 라우팅: 데이터 목적지까지 전달
- 경로에 따라 패킷 전달
- 세그맨테이션, 오류제어, 흐름제어, 인터네트워킹
- IP 프로토콜
IP 주소 부여, 비연결형 데이터그램 방식
오류제어, 흐름제어 기능이 없음 -> Best Effort Service
TCP와 같은 트랜스포트 계층에 의존해 신뢰성 확보 가능
데이터 링크
- 정보 전달, 프레임 단위
- 한 노드로부터 다른 노드로 프레임을 전송하는 책임
- 브리지, 스위치
- 맥 주소
- 포인트 투 포인트, CRC 기반 오류 제어와 흐름 제어
- 이더넷, HDLC, ADCCP
물리 계층
세션 하이재킹
: 클라이언트의 세션을 가로채는 것
세션하이재킹 탐지 방법
- 비동기화 탐지: 서버와 시퀀스 넘버를 주기적으로 탐지, 비동기 상태 탐지
- Ack Storm 탐지: 급격한 ACK 비율 증가시 탐지
- 패킷의 유실 및 재전송 증가 탐지: 공격자가 중간에 끼어서 작동하므로 패킷의 유실과 서버와의 응답이 길어짐
프로세스 스케줄링
SJF (최소 작업 우선) : 기아상태의 약점 존
HRN (Highest Response Ratio Next) : SJF 보완
- (대기시간 + 실행시간) / 실행시간
RR (Round Robin) :우선순위를 두지 않고 순서대로 시간 할당
MQ : 멀티 큐, 큐 스케줄링이 필요
페이징
페이지 크기가 작은 경우
- 내부 단편화 감소
- 더 많은 페이징 사상테이블 필요
- 기억장소 이용 효율 증가
- 총 입출력 시간 늘어남
페이지 크기가 크면
- 주기억 장치 공간 절약
- 테이블이 복잡하지 않아 관리 용이
페이지 교체 기법
FIFO
LRU (Least Recently Used) : 가장 오랫동안 사용되지 않은 페이지를 교체 (변동 시 결함 발생)
OPT - Optimal : 앞으로 가장 오랫동안 사용되지 않을 페이지 교체
LFU - Least Frequently Used : 참조 횟수가 가장 작은 페이지 교체
MFU - Most Frequently used : 참조 횟수가 가장 많은 페이지 교체
NUR - Not Used Recently : 최근에 사용하지 않은 페이지 교체
운영체제
UNIX
- time sharing system을 위해 설계된 대화식 운영체제
- multi-user
- c언어로 작성됨. 이식성, 장치간 호환성 높음
- Linux, Mac, Android(리눅스 기반)
Windows
- single user
스레드
각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링 가능
커널 수준
- 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요 없어 성능 높일 수 있음
- 동시에 여러 스레드가 커널에 접근할 수 있음. 시스템 호출을 동시에 사용 가능
사용자 수준
- 커널 모드로의 전환없이 스레드 교환이 가능, 오버헤드가 줄어
모듈화
모듈의 독립성
독립성이 높을수록 품질 좋음
결합도
: 의존 정도, 낮을 수록 독립성 높음
자스제외공내
자료 : 매개변수
스탬프(검인) : 매개변수로 자료구조 넘겨줄 때
제어
외부
공통(공유) : 동일한 전역 데이터 접근
내용 : 내부 기능 및 내부 자료 참조
응집도
: 하나의 기능을 수행하는 요소들간의 연관성 척도, 높을 수록 독립성 높음
기능
순차
교환(통신)
절차
시간
논리
우연
C 언어
printf
%d 정수형
%u 주소값
&n 변수의 주소값
*pt 포인터가 가리키고 있는 주소에 저장된 값
*&pt 포인터의 주소가 가리키고 있는 주소에 저장된
Python 언어
- 튜플: 순서에 따라 저장, 불변형
java 언어
조건문 ? a : b
조건문이 참일 경우 a, 아니면 b
javascript
객체 기반
클래스 지원
프로토타입 개념 존재
'공부' 카테고리의 다른 글
정보처리기사 필기 공부하기 - [5과목] 정보시스템 구축관리 (0) | 2023.07.08 |
---|---|
정보처리기사 필기 공부하기 - [3과목] 데이터베이스 구축 (0) | 2023.07.08 |
정보처리기사 필기 공부하기 - [2과목] 소프트웨어 개발 (0) | 2023.07.08 |
정보처리기사 필기 공부하기 - [1과목] 소프트웨어 설계 (0) | 2023.07.08 |