본문 바로가기

학교수업

(8)
산업보안관리 - N/W 개요 프로토콜 - 데이터 통신에 있어서 신뢰성 있고 효율적이고 안전하게 정보를 주고받기 위해 정보의 송 / 수신자 측 또는 N/W내에서 사전에 약속된 규약 - 송 / 수신자간 연결, 통신회선 접속, 오류제어, 동기화 등에 이용되고 있음 - 프로토콜은 무엇을, 어떻게, 언제 통신할 것인지 규정함 - 프로토콜 주요 구성 요소 1. 구문(무엇을) : 데이터 구조나 형식을 의미, 데이터가 표현되는 순서 2. 의미(어떻게) : 비트의 영역별 의미, 어떤 동작을 할 것인가 결정 3. 타이밍(언제) : 데이터를 언제 얼마나 빠른 속도로 전송할 것인가 결정 OSI 모델 - N/W 통신을 체계적으로 다루고 있는 ISO 표준에서 1970년대 OSI 모델을 처음 소개함 - OSI 7계층 모델과 TCP/IP 4(5)계층 모델 그림..
시스템 프로그래밍 - XSI 세마포어(P,V operation) - 시스템에서 생성된 세마포어는 semop나 semtimedop 함수를 이용해 P,V 오퍼레이션 가능 - P오퍼레이션 : 세마포어 감소 - V오퍼레이션 : 세마포어 증가 - P,V 오퍼레이션은 +-1이 아닌 +-n까지 가능 int semop(int semid, struct sembuf *sops, unsigned nsops); // (IPC_ID, 세마포어 작동 버퍼 구조체 주소, 버퍼 구조체 개수) int timedop(int semid, struct semmbuf *sops, unsigned nsops, struct timespec *timeout); - semop의 struct sembuf 구조체 struct sembuf{ unsigned short sem_num; // 세마포어 세트 내 개별 세마..
시스템 프로그래밍 - 랩핑함수의 제작 - 라이브러리용 랩핑 함수 sysv_semget은 토큰이나 키값, 세마포어 개수, 초기화할 semval 초기값, 접근모드 입력시 세마포어의 IPC 값 반환함 - 만약 세마포어가 생성되지 않으면 생성하고 초기화 - IPC ID가 이미 존재시 errno == EEXIST를 내고 기존의 세마포어 IPC ID를 알려줌(ID를 초기화하지는 않는다.) 세마포어 생성 라이브러리 함수 int sysv_semget(char *tok, key_t sem_fixkey, int n_sem, int sem_value, int user_mode) { intsem_id, i; union semun semun; unsigned short int *arr_semval = NULL; key_tsem_key; /* if tok is no..
시스템 프로그래밍 - XSI 세마포어의 시스템 설정 - semctl서 IPC_INFO 명령은 세마포어의 시스템 설정을 seminfo 구조체로 읽어옴 seminfo 구조체 struct seminfo{ int semmap; int semmni; int semmns; int semmnu; int semmsl; int semopm; int semume; int semusz; int semvmx; int semaem; } 리눅스의 XSI 세마포어 커널 파라미터 semmap 세마포어 정보를 저장하는 엔트리 맵 개수 semmni 시스템에서 최대로 만들 수 있는 세마포어 최대 세트 개수 semmns 시스템 내에 만들 수 있는 세마포어 최대 개수 semmnu 시스템에서 만들 수 있는 undo구조체 최대 개수 semmsl 한개 세마포어 세트내에 만들 수 있는 세마포어 개수..
시스템 프로그래밍 - semget, semctl semget - 세마포어의 생성이나 기존의 생성된 세마포어의 IPC ID를 얻을 때 사용 - 구조 int semget(key_t key, int nsems, int semflg); - 설명 1. key_t key = 시스템에서 세마포어를 식별하는 키 번호(IPC_KEY) 2. int nsems = 세마포어 집합 내 세마포어 개수, 접근 제한하려는 세마포어 자원의 수 3. int semflg = 동작 옵션(IPC_CREATE, IPC_EXCL)결정 ※ IPC_CREATE : key를 이용하여 새로운 공유메모리 공간 할당 IPC_EXCL : IPC_CREATE와 함께 사용, IPC_CREATE와 함께사용해 만약 공유메모리 공간이 존재하지 않으면 새로 만들어주지만 공유메모리 공간을 사용중이라면 error를 리..
시스템 프로그래밍(기말고사) - 세마포어 세마포어 - 다익스트라(Dijkstra)가 고안한 상호배제의 개념으로 출발 - 하나의 동기화 및 락 메커니즘의 구현한 도구를 가리키는 의미 - 리눅스에서 제공하는 일반적인 락 메커니즘 종류 카운팅 세마포어 ㅇ 복수개의 자원 카운팅이 가능한 세마포어 ㅇ -3 = 3개의 프로세스 대기 이진 세마포어 ㅇ 1개의 자원 가운팅이 가능한 세마포어 ㅇ 0과 1로 이로만 표현 ㅇ 1 = 임계영역 진입 가능, 0 = 임계영역 진입 불가 뮤텍스 ㅇ독점적인 획득을 가능하게 하는 특수형태의 락 ㅇ 소유권이 있는 프로세스, Rock을 건 프로세스만 해제 가능 스핀락 ㅇ 문맥교환을 막기 위해 사용되는 매우 빠른 특수한 형태의 락 (문맥교환 : CPU가 필요한 다른 프로세스에게 프로세스를 사용할 수 있도록 해주는 상태, 이전 프로..
보안관리 - 네트워크 보안(실습) GNS3 실습 - 준비과정 1. https://www.gns3.com/에 들어가 GNS3를 설치(나 같은 경우에는 학교에서 제공한 GNS 2.1.17버전 사용) GNS3 | The software that empowers network professionals www.gns3.com 2. 다운로드가 완료되면 설치를 실행하는데 다음과 같이 Run only legacy IOS on my computer를 선택한다. 3. hosting binding을 127.0.0.1로 설정 4. next를 누르고 Add on IOS router using a real IOS image(supported by Dynamips)를 선택 후 5. 이미지 파일을 구해온 다음 Idle-PC finder에서 구해온 이미지 파일 선택(..
보안관리 - 네트워크 보안(이론) 라우팅 - 패킷을 전송하기 위해 송신측에서 목적지까지의 경로를 정하고 정해진 경로를 따라 패킷을 전달하는 일련의 과정 - 네트워크 계층 주소(IP주소) 참조 - 라우팅 알고리즘 : 라우팅 테이블 설정 1. 정적 라우팅 알고리즘 : 관리자가 라우팅 테이블을 직접 설정 2. 동적 라우팅 알고리즘 : 네트워크 환경 변화에 따라 능동적으로 재구성 AS(Autonomous System) - 하나의 관리 도메인에 속해 있는 라우터들의 집합 - IGP(Interior Gateway Protocol) 1. AS 내에서 라우팅 정보 교환 2. RIP, OSPF가 IGP에 속한다. - EGP 1. AS간 라우팅 정보 교환 2. BGP가 EGP에 속함 라우팅 알고리즘 종류 1. 거리벡터 라우팅(DV, Distance-Vec..