유지보수 Maintenance 

: SW개발 단계 중 가장 많은 노력과 비용이 투입되는 단계

: 유지보수를 용이하게 하려면 시험,수정 용이성/ 이해성/ 이식성등이 고려되어야 함

- 종류

> Corrective 수정적 : 잠재적 오류를 찾아서 수정

> Adaptive 적응적 : 환경의 변화를 기존sw에 반영하기 위함

> Perfective 완전적 : 새기능 추가, 성능개선을 위함

> Preventive 예방적 : 오류발생에 대비하여 유지보수, SW재공학 관점에서의 유지보수 유형

 

 SW 재공학 

: 기존 SW를 새로운 요구에 맞도록 기능을 수정/보완/추가하여 성능을 향상 시킴

= 예방적 유지보수

> 목적 : 시스템의 이해성 향상, 재사용성 개선

 

SW 재사용

> 이점 : 개발시간과 비용 단축, 실패위험 감소, 품질/생산성 향상

> 단점 : 표준화 부족, 새로운 개발방법론 도입 어렵 

 

 암호화 알고리즘 

암호화 = Cryptography

> 양방향

대칭키
(공개키 = 암호키)
> 스트림 암호 : 주기긴 난수열 발생 
LFSR, SEAL
> 블록암호 : 긴 평문 암호화, 고정길이 블록암호화 반복
DES, AES, SEED
비대칭키
(암호화- 공개키, 복호화- 개인키)
DH, ECC, RSA(속도↓, 파일크기↑, 소수활용)

> 일방향 (=단방향)

해시함수 변경감지 MDC 키 사용X, 감지코드로 메시지 무결성 보장
MD4, M5, SHA
메시지 인증 MAC 키 사용, 메시지 인증코드 무결성과 사용자 인증보장
HMAC, NMAC

> 데이터 암호화 (네트워크영역)

IPsec IP패킷 무결성, 데이터 무결성/기밀성 보장, Tunnel모드와 전송모드로 운영
ESP- 발신지 인증, HA- 발신지 호스트 인증
SSL/ TLS 전송-응용계층사이 클라이언트와 서버 간의 웹 데이터 암호화 역할
전송시 데이터 무결성 보장
S-HTTP  

+) Salt : 공격을 막기위해 동일 패스워드들이 다른 암호값으로 저장되도록 추가되는 값

 해싱 

: 검색/접근속도 빠름, 삽입/삭제 빈도가 높은 작업에 유리

: 해싱테이블(기억공간)에 할당 -> 해시함수 이용 -> 테이블내 홈주소 계산 후 기억장소 저장/ 검색작업 수행

> Overflow 발생시 개방주소법, 폐쇄주소법, 재해싱 

> 홈 주소 동일시 충돌Collision 발생 > 충돌이 발생한 레코드 집합: Synonym

> 충돌시 선형개방 주소법 사용 (충돌시 다음 버킷들을 차례대로 검색하여 최초의 빈 버킷에 저장함)

 해싱탐색  (키-주소 변환법)

: 키 값으로부터 레코드가 저장되어 있는 주소를 직접계산하여 산출된 주소로 바로 접근하는 방법

 해싱함수 

> 제곱법 : (레코드 키 값 K)^2 후 중간부분을 홈주소로 사용

> 숫자분석법 : K를 이루는 숫자의 분포를 분석하여 고른자리를 필요만큼 택하여 홈주소로 사용

> 제산법 : K를 해시표의 크키보다 크고 가장작은 소수로 나눈 나머지를 홈주소로 사용

> 폴딩법 : K를 여러부분으로 나누고, 각 부분의 값을 더하거나 XOR연산을 통해 나온 결과를 홈주소로 사용

 

 모듈 

: 독립된 1개의 SW,HD단위, 재사용/ 통합/ 단독 컴파일 가능

독립성 유지보수 용이성 ,응집도 (모듈내부 요소사이의 연관도) 

 
모듈크기, 결합도 (외부모듈과 연관도)

 - 응집도           (우논시 절교 순기응)

(낮음)

1. 우연적 : 서로 어떠한 연관관계가 없는 기능요소로 구성, 다른 상위모듈에 의해 호출되어 서로 다른기능 수행

2. 논리적 : 논리적으로 유사한 기능수행 but, 서로 관계는 밀접하지 않음

3. 시간적 : 특정시간에 실행되는 기능을 모아 작성

4. 절차적 : 반드시 특정 순서대로 수행

5. 교환적 : 요소들이 동일한 입출력 자료로 서로 다른기능을 수행

6. 순차적 : 한 요소의 출력data가 다음요소의 입력data로 사용

7. 기능적 : 모든 요소들이 단일 기능을 수행

(높음)

 - 결합도           (자스제외 공내)

(낮음)

1. 자료data (파라미터 통해 공유하는 경우)

2. 스탬프 (데이터구조 공유, 서로 다른 일부만 사용)

3. 제어 (다른 모듈로 정보를 넘기고 다른 모듈의 흐름을 제어하는 경우)

4. 외부

5. 공통(두 모듈이 같은 전역변수를 공유하는 경우)

6. 내용 

(높음)

 모듈화  : 기능단위 모듈로 분해하여 설계구현 기법,  Subroutine/function 등으로 표현
  : 지능적 관리에 도움, 복잡도 해결, 유지보수/ 수정 용이

 단위모듈 

: 한가지 동작(단위기능)을 모듈로 구현, 독립적 컴파일, 다른모듈에 호출,삽입가능

: 사용자나 다른모듈로부터 값을 전달받아 시작되는 작은 프로그램

> 구성요소 : 처리문, 명령문, 데이터구조

> 구현순서 : 단위기능 명세작성→ 입출력 구현기능→ 알고리즘 구현기능 (CLI와 GUI연동고려)

 공통모듈 

: 추상화, 성능향상, 공통 컴포넌트(자주 사용하는 기능) 구현기법, 재사용성/ 유지보수성↑

> 재사용 범위 :  컴포넌트, 객체, Application, Function

> 명세작성 기법 : 명확성/ 완전성/ 추적성/ 정확성(필요성을 알 수 있도록)/ 일관성(공통기능간 상호충돌되지 않도록)

   > 컴포넌트 명세서 :  컴포넌트 개요, 내부클래스 동작,인터페이스 통해 외부와 통신하는 명세 정의

   > 인터페이스 명세서 : 인터페이스 클래스의 세부조건/ 기능 정의

> Fan-in : 모듈을 제어하는 모듈의 수 (상위모듈 수) 

> Fan-out : 모듈에 의해 제어되는 모듈의 수 (하위모듈 수)

 

 효과적 모듈 설계방안 

: 결합도는 낮게 응집도는 높게 (독립성과 재사용성 향상)

: 복잡도와 중복성 낮게 (일관성 유지)

: 단일 입,출구/ 기능과 구조 이해하기 쉬운 크기로 분해

 

 GOF 디자인 패턴

: 생성패턴 5개/ 구조패턴 7개/ 행위패턴 11개로 구성, 서브시스템 컴포넌트와 그 관계를 설계

  PS.팩토리빌더 생성패턴    (암기방법)

 구조=F BAD comPosite 패턴   (암기방법)

 행위 mand MOV.st 패턴   (암기방법)


 모델링 

: 개발팀이 응용문제를 이해하는데에, 여러 분야 엔지니어들이 공통된 개념을 공유하는데 도움

> 사용하는 다이어그램 : UML, DataFlow(DFD), E-R 다이어그램

 DFD 

: 프로세스 위주의 모델링

> 구성요소 : Process , Data Flow ━>, Data Store , 단말

+ 다중값 속성

 UML 

: 의사소통을 위해 표준화한 모델링 언어, 시스템의 산출물을 규정/시각화/문서화하는 언어

: 단순화, 대규모 로드맵이나 개발을 위한 시스템 구축의 기본을 마련, 직관성↑

: SW시스템/ 업무 모델링 (시스템 상호작용, 업무흐름, 시스템 구조, 컴포넌트 관계등을 표시)

: 사물/ 관계/ 다이어그램으로 구성됨

 > 사물 

: 모델을 구성하는 기본요소, 다이어그램 안에서 관계가 형성될 수 있는 대상들

 - 구조사물 : 시스템의 개념적/ 물리적 요소를 표현

 - 행동사물 : 시간/공간에 따른 요소들의 행위를 표현

 - 그룹사물 : 요소들을 그룹으로 묶어서 표현

 - 주해사물 : 부가적인 설명이나 제약조건등을 표현

 > 관계 

일반화
Generalization
실체화
Relization
연관
Association
의존
Dependency
집합관계
Aggregation
구성(포함)
Composition
사물 -------▷기능 ━>
or

----------> ◇ 

- 일반화 : 하나의 사물이 다른사물에 비해 일반적인지 구체적인지 표현

- 실체화 : 오퍼레이션을 수행하도록 지정하는 의미적 관계

          : 사물이 할 수 있거나 해야하는 행위나 인터페이스로 서로를 그룹화 할 수 있는 관계

- 연관 : 2개이상의 사물이 서로 관련되어 있는 관계

- 의존 : 필요에 의해 짧은시간만 연관을 유지하는 관계, 명세 변경시 영향줌, 오퍼레이션의 매개변수로 사용

- 집합 : 하나의 사물이 다른 사물에 포함되어 있는 관계

- 포함 : 집합관계의 특수한 형태로 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계

- 연산 Operation : 클래스의 동작 

 > 다이어그램 종류 

 구조다이어 Compo클래스 대패삼겹    (암기방법)

 행위다이어 Ase CommUse    (암기방법)


 E-R 다이어그램 

: 시스템안에 있는 모든 역할을 표현하여 뷰를 하나로 단일화 함

 > 표기법 

**

개체와 속성 연결 : 직선 

 >객체관계 모델

: 개념적 데이터 모델(논리적표현), 데이터 요소 간의 개체 간 관계가 기본요소임, DBMS 고려X, E-R다이어그램으로 표현

 

 Capability Maturity Model (CMM모델) 

1. 초기단계 (initial)

2. 관리단계 (Repeatable)

3. 정의단계 (Define)

4. 관리단계 (Managed)

5. 최적단계 (Optimizing)

 개체란? 

: 하나의 정보단위로 속성attribute가 모여 하나의 정보단위를 이룬 것

: 개체들 사이의 연관성 = 관계

 

 객체란? 

: 실세계에 존재하거나 생각할 수 있는 것, 식별가능한 이름, 상호연관성에 의한 관계가 형성됨

: 데이터와 데이터를 처리하는 함수를 캡슐화한 하나의 모듈, 반응가능한 메시지(행위)의 집합

   →속성, 상태(조건), 변수, 상수 자료구조  →객체상태 참조, 수단: 메소드, 서비스, 동작, 연산

: 클래스Class의 인스턴스Instance

 

 인스턴스란? 

: 객체를 실체화 한 것, 클래스에 속한 각 객체

 

 클래스란? 

: 공통된 속성attribute과 변수, 메서드, 연산을 갖는 객체들의 집합, 데이터를 추상화하는 단위

: 객체를 생성하기 위한 설계도/ 틀

 

 객체지향 

: 개체entity를 객체로 조립하여 작성할 수 있는 기법, 비절차적 언어

: 재사용/ 확장/ 유지보수가 용이함, 단계적/계층적표현으로 복잡한구조

> 구성 : 객체, 인스턴스, 클래스

> 설계원칙

> 설계절차 : 문제정의→ 요구 명세화→ 객체 연산자 정의→ 객체 인터페이스 결정→ 객체 구현

 

 객체지향 기법 

: 객체-속성/ 클래스-멤버 / 전체-부분(집단화) 으로 나누어 분석

            집단화  : 부분과 전체, 부분과 부분의 관계로 설명되는 연관성 

> 분석 방법론

Coad-Yourdon : 개체-관계모델 E-R다이어그램을 사용하여 객체의 행위를 데이터 모델링에 초점을 둔 방법
럼바우 : 데이터와 행위를 하나로 묶어 객체를 정의하여 추상화 시키는 방법
: 코드를 재사용하여 생산성 향상과 시스템 변경용이
분석활동
(객 동 기)
정보 - 객체모델링
 : 객체 다이어그램, 시스템에서 요구하는 객체 찾기, 가장중요, 객체 관계를 규정하여 표시함
상태 - 동적모델링
 : 상태다이어그램(상태도), 시간의 흐름에따라 동적인 행위를 표현함
흐름 - 기능모델링
 : 자료흐름도 DFD, 처리과정을 표현, 구조적분석
 > 구성요소 : 프로세스(○), 자료흐름(→), 저장소(-), 단말(□)
 > 기능모형설계 순서 : 입출력결정→ DFD작성→ 기능기술→ 제약사항 결정/최소화
 > 지침사항 : 프로세스 거쳐 변환시 새 이름을 부여함
 **프로세스가 출력자료 산출시 반드시 입력자료를 발생해야 함, 상위단계Process는 하위DFD의 자료흐름
Booch  : 미시적- 거시적 객체지향 방법

 

 정보은닉 

: 다른 모듈 구현에 영향받지 않게 설계, 모듈간 독립성 유지, 객체 속성/ 오퍼레이션의 일부를 감추어 외부접근 방지

: 대상 - 기본정보(IP,주소)같은 물리적 코드와 상세데이터 구조

 

 캡슐화 

: 중요 데이터를 보존/보호, 인터페이스만 밖으로 드러내며 그외 세부내용은 정보은닉 →외부모듈의 변경에 의한 영향 적음

: 외부에서 특정 메소드, 속성에 접근하지 못하도록 함 → 객체손상 방지, 재사용 용이, 오류파급 효과 적음

 

 상속 

: 자식이 부모를 선택, 부모클래스를 재사용하여 개발속도 향상됨 (하위 객체/클래스 기능 = 상위 객체/클래스 기능 + a)

: 코드중복 감소, 유지보수 용이, 객체의 다형성 구현가능

 

 다형성 

: 동일타입, 실행결과가 다양한 객체를 이용할 수 있는 성질, 자식객체들이 다른형태의 특성을 갖는 객체로 이용가능

: 객체/ 클래스는 동일한 메소드명 사용함, 객체 부품화 가능, 자식타입은 부모타입으로 자동 타입변환

 

 추상화 

: 불필요한 부분 생략, 객체 속성 중 가장 중요한것에 중점을 두어 모델화 한 것

: 완전한 시스템 구축 전, 시스템과 유사한 모델을 만들어 여러 요인들을 테스트 가능함 

 > 과정추상화(전반적 흐름파악 설계)

 > 데이터추상화(속성/용도 정의하지 않고 구조를 대표하는 표현으로 대체)

 > 제어 추상화(이벤트 발생 절차와 방법 정의하지 않고 대표하는 표현으로 대체)

 SW 생명주기(SDLC) 

요구사항 분석→ 설계→ 구현→ 테스트→ 유지보수

: 요구 분석부터 유지보수 전 공정을 체계화하는 절차 

=> Secure SLDC : 보안극복을 위함

 

 생명주기 개발표준 ISO/IEC 12207 

> 기본공정 프로세스 (획득, 공급, 개발, 운영, 유지보수)

> 조직공정 프로세스 (관리, 기반구조, 훈련, 개선)

> 지원공정 프로세스 (품질보증, 검증, 확인, 활동검토, 문제해결)

 

 개발표준 

+ SPICE = 수준 0(불완전단계) ~ 수준5(최적화단계)

 

 SW 비용산정법 

- 결정요소 : 프로젝트(복잡도, 크기, 요구신뢰도), (인적, HD, SW)자원, (개발자 능력, 기간)생산성

- 종류

 SW테스트 원리 

- 결함집중 : 파레토법칙 (오류의 80% 중 전체모듈의 20%내에서 발견됨)이 원인

               : 소수 특정모듈에 결함이 집중되어 추가 발생 가능성↑

- 초기집중 : 요르돈법칙이 원인, 개발 설계시부터 고려, 조기발견가능, 재유입 방지

 

+)브록스 법칙 : 프로젝트 진행 중에 새 인원 투입시 프로젝트 완성이 지연됨

 

 SW개발 프레임워크 

- 주요기능 : 예외처리, 트랜잭션처리, 메모리공유, 데이터소스 관리, 쿼리/로킹 서비스 관리

- 종류

Spring : JAVA 오픈소스의 경량형, 동적 웹사이트, 전자정부 프레임워크 기반 기술
전자정부 : 공공사업과 효과적 구축을 위한 필요기능과 아키텍처 제공, 품질/재사용성을 높이기 위함
: 공통컴포넌트 중복개발 방지
닷넷 : Windows사 개발, 실행환경제공, 가상머신CLR에서 작동, 코드실행관리

 

 SW개발 방법론 

: 개발, 유지보수 등에 필요한 수행법과 도구를 체계적으로 정리, 표준화 한 것으로 생산성과 품질이 향상 됨

 

 SW의 3P 

: People (인적자원), Process (프로젝트 수행을 위한 Framework/전체 계획,구조),  Problem (문제분석, 인식)

 SW 상위 설계 

: 아키텍쳐/ UI설계 / 인터페이스 정의

 SW 설계지침 

: 모듈기능이 예측 가능하도록, 이식성 고려, 적당한 크기 유지 

 SW 언어선정 기준 

: 적정성, 효율성, 이식성, 친밀성, 범용성

 SW영역 결정요소 

: 기능, 성눙, 제약조건, 인터페이스, 신뢰도

 SW 품질목표 

- 시스템 SW 

: OS, Web Server, WAS를 위한 서버프로그램, DBMS

: 메모리 적재, 인터럽트 관리, 기억장치 관리

- 응용 SW 

: 복잡수학 계산

 

- 실시간 SW 

: 인터럽트와 문맥교환의 표현, 태스크들 간의 통신과 동기화, 비동기적 프로세싱, 타이밍 제약의표현을 고려하여 설계

 인터럽트 

> 프로그램검사 : 0으로 나누기, Underflow/Overflow, 명령어잘못입력, 프로그램상 오류

> SVC : 의도적 호철, 복잡한 입출력처리시, Operator와 대화 필요시

> 입/출력 : 이상현상 발생시, 입/출력 data오류시

> 외부 : 시간만료, Operator가 콘솔창에 인터럽트키 입력시

 

- 개발 SW 

: 요구사항 관리도구, 설계/ 모델링도구(UML지원), 구현/ 테스트/ 형상관리/ 빌드 도구

 > 구현도구 : 이클립스, IDEA, VS, Node.js

 > 테스트 도구 : CPP/ HTTP/ N unit/ Spring Test

 형상관리 

: 가시성, 추적성(진행정도), 방해요인 최소화 보장하여 품질과 생산성↑, 개발비용↓

: 유지보수,개발 단계에 적용/ 동시개발 가능, 불필요 사용자 수정제한, 변경/제어 관리

> 대상 - 분석서, 지침서, 소스코드

> 기능 - 형상식별 : 특정절차/도구 결합, 관리계획 근거로 대상 식별 과정

          - 버전 제어 기술 :  대상에 이름/관리번호 부여하여 계층관리 함으로써 수정/추적용이 

버전등록 과정

 > 버전관리도구

* Sub Version(=SVN)

 : 개발작업은 Trunk(몸통)에서, 추가작업은 Branches(서브디렉토리)에서 수행

 : 유닉스 서버사용, 주 명령어 diff

* Git

 : 로컬에서 버전관리, 원격저장소나 네트워크 문제 시에도 작업가능

 : Branch 이용시 다양한 기능 테스팅 가능, 파일변화 스냅샷

 

> 분석 자동화 도구 CASE

 결함관리 

: 계획→ 기록→ 검토→ 수정→ 재확인→ 보고서 작성 (모니터링, 결함상태 추적)

 일정관리  

 빌드 자동화 도구 

: 빌드를 포함하여 테스트/ 배포를 자동화하는 도구, 지속적인 통합개발환경에서 유용하게 활용됨

** 빌드 = 소스코드 파일들을 컴파일하여 여러 모듈로 묶어 실행파일로 만드는 과정

 인터페이스 

: 두 시스템/ 장치 사이의 정보와 신호 전달시(내/외부 모둘연계) 접점, 경계면

 > 설계서 (시스템 인터페이스 현황파악에 도움)

  : 시스템 사이 교환 데이터/ 업무/ 기능의 세부 인터페이스 정보/ 인터페이스 목록과 상세데이터의 명세내역 정의

 > 구축방식 

  - EAI : 연계성/ 효율성/ 확장성 ↑

  - ESB  : 관리/보안 용이, 높은수준 품질지원가능, 연계/데이터 변환, 서비스 중심 통합지향

             : 웹 서비스 지원등 표준기반의 인터페이스 제공 솔루션, 범용적사용을 위해 결합도 약하게 유지

> 모듈 간 기능식별

  - 연계 기능식별 : 시나리오 형태로 구체화하여 식별

  - 인터페이스 기능식별 : 인테페이스 동작(외부모듈 결과와 요청에 따른)에 필요기능 식별, 실질적 필요기능 선별해서 구현 

> 기능 구현 

  : 컴포넌트 /인터페이스 명세서 확인→ 데이터 표준, 모듈내부 설계서 통해 일관된 기능구현 정의→ 정의된 기능 구현 정형화(usecase다이어그램, 프로세스 형태로)

> 예외처리

   -  데이터 통신을 이용한 방법 AJAX기술 : JSON, XML객체 주고 받음   -  인터페이스 엔티티를 이용한 방법

 사용자 인터페이스 UI 

: 결과오류 최소화, 구체적 방법 제공, 사용성 향상과 상호작용 수단/방식 제공이 목적

: 쉽게 사용가능 하도록 사용자 요구사항 반영되도록 제작

 > 입력 인터페이스 종류 : 문자방식명령어 CUI / 그래픽 환경기반 마우스 GUI / 사용자 말,행동 기반 제스쳐 NUI

 > 설계원칙 : 직관성, 유효성, 학습성, 유연성

 > 개발시스템 기능 : 사용자 입력 검증, 에러/메시지 처리, 도움/ 프롬프트 제공

 

 아키텍처 

: 품질 요구사항을 반영하여 품질 속성을 결정, 시스템 구조/행위/뷰를 정의하는 개념적 모형 (SW기본구조)

: 개발시간 단축, 품질향상, 예측가능, 유지보수 용이함

> 프레임워크 - 구성요소: 아키텍처 명세서, 이해관계자, 관심사, 관점, 뷰, 근거, 목표, 환경, 시스템

> 아키텍처 4+1 뷰 : 고객요구사항을 정리해놓은 시나리오를 4가지관점에서 바라보는 SW적인 접근법

                              : 4개의 분리된 구조로 구성되는 아키텍처의 개념 제시해 충돌/ 요구충족 여부를 증명을 위해 usecas사용

                  - 구성요소 : (논리/구현/프로세스/배포) 뷰 + usecase(사용자, 설계자, 개발자, 테스트관점) 뷰

> 패턴종류

> 품질속성 

> 아키텍처 비용평가 모델

 - SAAM : 변경용이성, 가능성에 집중과 평가가 용이

 - ATAM : 품질속성 판단과 이해 상충관계를 평가

 - CBAM : ATAM중심, 의사결정에 대한 요구평가

 - ADR : 구성요소간 응집도를 평가

 - ARID : 전체 아키텍처가 아닌 특정부분의 품질요소에 집중하여 평가

 

 가상화 기반 네트워크 

> NFV

 : 범용 하드웨어(서버, 스토리지ㅡ 스위치)에 가상화 기술적용하여 네트워크 기능을 가상화 기능으로 모듈화 

 : 구성요소 -VNFS(sw 패키지), NFVI(흐름테이블을 비교해 패킷처리 제어), MANO(사이클 관리, VNF조율)

> 오버레이 네트워크

 : 구성요소 -DHT, 오버레이노드, 베이스노드, 식별자, 맵핑

> VLAN

 : Broad Cast 도메인을 구분할 수 있게 해주는 기술, 보안성↑

 : 종류 - 프로토콜/ MAC/ 네트워크 주소기반 VLAN

 

 교환망 

- 회선교환방식

: 메시지 전송 전 발생지부터 목적지까지 물리적    통신회선이 연결되어야 하는 방식 - 시분할 타임Slot
시간다중화
TDM버스
- 공간분할  

- 축적교환방식

> 패킷 종류

비패킷형 NPT 패킷형 PT 패킷 교환기 PSE 패킷 다중화 PMX
  : 분할 결합 : 경로설정 : 정보메시지로 조립 전달, 내부에 PAD(패킷 조립, 분해 장치)존재

> 패킷 기능

IP 데이터그램 구조 (경로설정X)

: Version/ Protocol/ Identificatior

 

 X.25프로토콜 

> 물리계층 : 패킷교환망 통해 DCE/DTE간 인터페이스 제공, 전기적/기계적/절차적/기능적 특성가짐, 비트 단위들 교환

> 링크계층 : HDLC 프로토콜 기반

> 패킷계층 : Sliding Window 프로토콜 사용, 다중화기능, 망 고장 시 회복 매커니즘 규정

                  : 연결 지향성을 기술한 가상회선을 지원함(회선 설정/해제)

   * 가상회선 : SVC(통신시에만 통신경로 설정/해제), PVC(통신경로 고정적으로 ) 

 

 IT스토리지 기술 

> 내장디스크형

> 직접부착형 DAS

> 스토리지 가상화 : 여러기기 용량을 물링하여 하나의 기기에 있는거처럼 보임

> 소프트웨어 정의 SDS : 가상화적용, 하나처럼 관리하고 운용, sw를 추상화, 기기 자체에서 분리하여 사용

   > NAS 네트워크연결 스토리지 :  파일을 체계화하여 상위계층에 배포가능

   > SAN 스토리지영역 네트워크 : 고속전송, 장거리연결기능 활용, 저장장치/백업장비를 단일화시킨 시스템

        > FC-SAN,  IP-SAN

 서비스공격 

nmap : 서버에 열린 포트정보를 스캐닝하여 보안취약점을 찾는 도구

    Tripwire : 크래커 침입/ 백도어생성 / 설정파일 변경시 분석하는 도구

 

 매체접근제어 MAC 

**

IEEE 802.4 = 토큰버스

IEEE 802.5 = 토큰링

IEEE 802.11 = 무선LAN

IEEE 802.15 = 블루투스

 

 

 네트워크 장비 

- LAN card : point to point, Full/ Half 듀플렉스 (신호전달 방식)

- 스위치 : Full/ Half 듀플렉스 (신호전달 방식), HW 방식으로 스위칭

   > 스위칭 방식 - stored and forwarding :데이터를 모두 받은 후 스위칭 / - cut Through :목적지 주소 확인 후 바로

                     - Fragment-free = stored and forwarding방식 + cut Through방식

   > Switch Jamming : Map Table을 가득 채워 Hub처럼 동작 (스니핑 Sniffing)

   > Hierachical 3 Layer 모델

     : Access계층 (최초 연결지점, 사용자 통신 집약 후 전송(L2 사용)) → Distribution 계층(라우터, L3 사용)

       → Core 계층 → Core 계층에서 집약 후 인터넷에 연결 (백본 스위치 사용)

 - Hub : osi 1계층 장비, Half 듀플렉스 (신호전달 방식)

 - Bridge : osi 2계층 장비, SW방식 스위칭

 데이터  통신 

-종류

에러검사

패리티(Parity) 검사 순환중복 검사 (CRC방식) Block Sum Check Forword Error
Correction Check
전진에러 수정
정보비트 수와 에러발생 확률↓경우  많이 사용 오류검사필드 FCS와 함께 사용 블록의 각 비트를 가로 세로로 두번 확인 후 끝에 Parity Bit 추가해 전송  

 

동기제어문자

STX 시작 CTS 수신 SYN 동기유지 ACK 긍정응답 DLE 링크해제, 투과성
       (for 투명성)
ETX 종료 TRS 송신 ENQ 응답요구 NAK 부정응답

 트래픽  제어 

: 네트워크 성능유지와 보호를 위해 패킷 흐름과 양 조절하여 버퍼 Overflow 방지함

 - 교착방지

 - 흐름제어(패킷 양, 속도 규제)

     > Stop n Wait : ACK받아서 한번에 패킷 1개씩만

     > Sliding Window : 정해진 패킷 수(= window 크기) 만큼만, 전송지연이 긴 선로에 적합

 - 혼잡제어(패킷 수 조절)

AIMD
합 증가/곱 감소
전송시 문제 없는 경우 1씩 증가 / 문제 발생시 속도 절반으로 감소, 오래걸림
Slow-Start  타임아웃까지 공백↑
Fast Retransmit
재전송 
중복된 순번 패킷 3번 받을 때 재전송 -> 혼잡 감지, window크기 줄임
Fast Recovery
빠른 회복
혼잡 시 Window 절반으로 감소, 혼잡 후에 AIMD 방식으로 동작

 

+ 순방향 오류 제어 FEC 

   >  블록코드인 것 :  해밍/ CRC / BCH 코드

   >  아닌 것 : Convolution / Turbo 코드


 다중화 전송 방식 

: 넓은 대역폭을 가진 하나의 전송링크를 통해 여러 데이터를 전송

- 파장분할 FDM : 주로 유선방송에 사용, 간섭 방지하기 위해 보호대역 둠, 사람음성/데이터를 아날로그형태로 전송

- 시간분할 TDM > 동기식 STDM : 시간슬롯 고정적 할당                 

                        > 비동기식 ATDM : 데이터있는 채널만 차례대로 시간슬롯 이용하여 전송- 코드분할 CDM

 

 변조 방식 

- 변조 (=Keying)과정 : 표본화 → 양자화 → 부호화  /  복조 과정 : 복호화 → 여과

     > 아날로그 데이터 → 아날로그 신호 :  AM (진폭 변조) / FM (주파수 변조) / PM (위상 변조)

     > 아날로그 데이터 → 디지털 신호 : PCM (펄스부호 변조)

     > 디지털 데이터 → 아날로그 신호 : ASK (진폭편이 변조) / FSK ( 주파수편이 변조) / PSK (위상편이 변조) 

PSK 종류 DPSK QPSK (대역폭효율 2bit/hz) ODPSK
위상 차 180 90 45
위상편이 2위상 편이 4위상 편이 8위상 편이

+ 직교진폭 변조QAM = ASK+PSK (진폭, 위상 변조)  : 대역폭효율 8 bit/hz, PSK보다 오류확률↓, 2차원 벡터공간에 표현가능

+ QPSK = 두 개의 BPSK를 합성한 것, 피변조파 크기 일정, I/Q채널 두개가 존재

 

<변조 시>

a위상 = 2^n = n bit

b진폭 = 2^m = m bit

a위상 b진폭 한번에 전송할 수 있는 bit = n+m bit

전송속도bps =  x baud * (n+m)

 

양자화 레벨(계단수) = 2^n (n: 양자화 비트수)

+ Recent posts