[정보처리기사 필기] 기출문제 - 651 ~ 700. 오답노트

651. 매체 접근 제어 (MAC, Media Access Control)

  • 데이터 충돌을 방지하려고 LAN에 연결된 모든 장치는 정의된 규칙에 따라 전송 매체에 접근
  • 매체 접근 제어의 방법
    • CSMA/CD
      • 유선 네트워크에서 사용
      • 데이터를 송신하기 전에 반송파 여부를 감지하여, 다른 컴퓨터나 스테이션에서 데이터 송신 중임을 판단하여 데이터를 전송하지 않는 방식
      • 각 호스트가 전송 매체에 경쟁적으로 데이터를 전송하는 방식
      • 전송된 데이터는 전송되는 동안 다른 호스트의 데이터와 충돌할 수 있음
        • 충돌 발생시 지속해서 재전송을 시도
        • 재시도할 때마다 Back-off하는 시간이 매번 2배씩 증가
        • 16번 충돌이 계속 발생 시, 전송을 중지하고 에러 발생을 보고
      • 토큰 제어 방식에 비해 구현이 비교적 간단
    • 토큰제어 방식
      • 유선 네트워크에서 사용
      • 접속된 노드 사이를 패킷이 순차적으로 순환하는 동안 전송 주도권을 토큰을 얻은 노드가 전송하고 전송이 완료되면 토큰을 반납하는 방식
      • 충돌 현상은 발생하지 않지만, 자신에게 토큰이 올 때까지 기다려야 함 (시간 소요)
      • 대표적인 토큰 제어 방식 : 토큰링 방식, 토큰버스 방식

655. 교착상태 해결 방안

  • 예방 (Prevention)
    • 상호 배제 조건, 점유와 대기 조건, 비선점 조건 및 환형 대기 조건의 부정
  • 회피 (Avoidance)
    • Banker's Algorithm (은행가 알고리즘), Wait-die, wound-wait 알고리즘
  • 발견 (Detection)
    • 시스템의 상태를 감시 알고리즘을 통해 교착상태 검사
    • 자원할당 그래프, Wait for Graph
  • 회복 (Recovery)
    • Deadlock이 없어질 때까지 프로세스를 순차적으로 Kill하여 제거
    • 프로세스 종료비용 최소화 : 우선순위, 진행비용, 복귀비용 등
    • 자원의 우선순위 할당 : 희생자 선택, 복귀, 기아상태

656. CIDR 표기 및 FLSM (Fixed-Length Subnet Masking) 사례, IP 주소

  • CIDR (Classless Inter Domain Routing)
    • 도메인간의 라우팅에 사용되는인터넷 주소를 원래의 IP 주소 클래스 체계를 쓰는 것보다 더욱 융통성 있도록 할당하고 지정하는 방식 (Supernetting, Subnetting)
    • 예시 : 192. 168.1.0/24
      • 서브넷 마스크 : 255.255.255.0
      • 8비트 크기의 앞쪽 3개 필드를 합치면 24개 비트가 되고 이를 CIDR로 표시하면 "/24"를 붙여서 표시 
        • /24의 의미는 현재의 IP에서 앞의 24비트는 Net ID로 사용하고 뒤의 8비트는 Host ID로 사용중임을 의미
    • 문제 풀이 : 203.241.132.82/28
      • XXX.XXX.XXX.XX/NN : / 기호 뒤의 NN을 확인해야 함
      • NN이 28이므로 /24에서 4개의 비트를 Net ID로 더 가져왔다는 의미 (Net ID 개수가 28개)
      • 28개일 때의 서브넷 마스크는 255.255.255.240
        • 240 : 마지막 8개 비트에서 Nedt ID로 할당한 4개를 1로 세팅한 후 10진수로 표현
  • IP
    • IP 주소 체계
      • 인터넷에 연결된 모든 컴퓨터를 네트워크상에 구별하는 고유의 논리적인 주소체계
      • IP version 4는 8bit 크기의 필드 네개를 모아서 구성한 32bit(4bytes) 논리 주소로 구성
    • IP 주소의 구조

      • 클래스 타입
        • IP주소를 효율적으로 배정
        • A,B,C,D,E 클래스
        • D : 멀티캐스트, E : 예비용
        • D 클래스는 NetID와 HostID가 없음
      • 네트워크 주소 (Net ID)
        • 전체 네트워크를 좀 더 작은 네트워크로 분할하여 각 호스트가 속한 네트워크를 대표
        • 8bit, 16bit, 24bit
      • 호스트 주소 (Host ID)
        • 네트워크 주소로 표현하는 네트워크 내부에서 각 호스트의 주소를 표현하는 역할
        • 전체 32bit에서 네트워크 주소를 제외한 나머지에 해당
    • 서브네팅과 슈퍼네팅 : IP의 효율적 사용을 위해 수행
      • 서브네팅 (Subnetting) : 네트워크의 효율적 사용을 위하여 네트워크를 여러 개의 서브넷으로 분리하는 기법
      • 슈퍼네팅 (Supernetting) : 네트워크에서 수용 가능한 호스트를 확장하기 위하여 여러 개의 서브넷을 합치는 기법
      • FLSM (Fixed-Length Subnet Masking) : 네트워크 주소를 효율적으로 사용하기 위하여 서브넷 마스크를 동일 크기로 나누는 기법
      • VLSM (Variable-Length Subnet Mask) : 서브네팅 이후에도 IP 주소가 낭비되는 것을 추가로 방지하기 위해서 서브넷 마스크의 길이를 가변적으로 조정하는 기법

657. C언어의 연산자 우선순위

  • 괄호, 대괄호 → 부정, 증감 산술 연산자 → 곱셈, 나눗셈 산술 연산자 → 덧셈, 뺄셈 산술 연산자 → 시프트 연산자 → 관계 연산자 → 논리 연산자 → 삼항 연산자 → 대입 연산자
우선순위 연산자 연산 내용
1 ( ) , [ ] 괄호, 대괄호
2 !, ~, ++, -- 부정, 증감 산술 연산자
3 *, /, % 곱셈, 나눗셈 산술 연산자
4 +, - 덧셈, 뺄셈 산술 연산자
5 ≪, ≫ 시프트 연산자
6 <. <=. >, >= 관계 연산자
7 &, ^, |, &&, || 논리 연산자
8 ?, : 삼항 연산자
9 =, +=, -=, *=, /= 대입 연산자

660. 메모리 관리 정책

  • 반입 정책 (Fetch)
    • 요구반입 : 실행 중 프로그램이 타 프로그램 및 데이터 참조 요구 시 적재
    • 예상반입 : 실행 중 프로그램에 참조될 프로그램 및 데이터 예상 적재
  • 배치 정책 (Placement)
    • 최초 적합 (First Fit) : 프로그램, 데이터가 들어갈 수 있는 빈 영역의 첫 번째 분할 영역에 배치
    • 최적 적합 (Best Fit) : 프로그램, 데이터가 들어갈 수 있는 빈 영역 중 단편화를 가장 적게 남기는 분할 영역에 배치
    • 최악 적합 (Worst Fit) : 프로그램, 데이터가 들어갈 수 있는 빈 영역 중 가장 큰 영역에 배치
  • 교체 정책 (Replacement)
    • OPT
      • 추후 가장 오랫동안 사용하지 않을 페이지 교체
      • 호출 순서 및 참조상황 사전 예측 필요
    • FIFO
      • 적재시간 기억, 오래된 페이지 교체
      • 이해성, 프로그래밍 간단, Belady's 이상 현상 발생
    • LRU
      • 최근 가장 오랫동안 미사용 페이지 교체
      • 계수기, 스택 사용
    • LFU
      • 사용페이지 빈도수가 가장 적은 페이지 교체
      • 프로그램 실행 초기 많이 사용된 페이지 유리
    • NUR
      • 최근에 사용하지 않은 페이지 교체
      • 참조 비트, 변형비트 2개의 비트 사
  • 할당 정책 

661. 소프트웨어의 특성

  • 비가시성 : 구조가 외부에 노출되지 않고 코드에 내재되어 있음 - 무형
  • 복잡성 : 정형적 구조가 없이 복잡하고 비규칙적, 비정규적임
  • 비마모성 : 소프트웨어는 외부의 환경에 의해서 마모되는 것이 아니라, 품질이 나빠지는 것
  • 복제성 : 소프트웨어는 간단하고 쉬운 방법으로 복제 가능
  • 변경성 : 필요에 따라 항상 수정이 가능한 진화성 (evolution)
  • 순응성 : 요구 및 환경의 변화에 적응하는 유연성
  • 무형성 : 실체적 형체가 없는 무형성 때문에 FP 등으로 유형화하고자 함

662. 소프트웨어의 위험 요인

  • 연쇄 작용 : 한 반응이 일어나면 여러 반응이 가지를 쳐서 일어나는 현상
  • 확실성 : 의심의 여지가 없는 상태 또는 오류로부터 완전한 보증을 가지고 있는 상태
  • 예측 : 미리 짐작하는 것
  • 불확실성 : 위험이 발생할 수도 있고 발생하지 않을수도 있음
  • 손실 : 위험이 실제로 발생하면 반드시 손실이나 원하지 않은 결과 발생

666. 소프트웨어의 재공학 (역공학)

  • 역공학 (Reverse Enginnering)의 개념
    • 물리적 수준의 소프트웨어 정보를 논리적인 소프트웨어 정보로 추출하는 프로세스
    • 역공학을 통해서 얻을 수 있는 정보 : 분석 정보, 설계 정보, 아키텍처, 프로그램과 데이터의 구조 정보
  • 역공학의 장점
    • 재문서화를 통해 현존하는 시스템의 지식 재획득
    • 현존 시스템의 데이터와 논리에 효율적인 분석을 통하여 유지보수를 신속히 수행
    • 현존하는 시스템의 정보를 Repository에 펼칠 수 있음
    • 시스템 개발과 유지보수 자동화
    • 현존 시스템 설계 재사용
    • 구현 독립적인 논리적 레벨에서 작업
  • 역공학의 종류
    • 논리 역공학
      • 원시코드로부터 정보를 뽑아내 물리적이고 논리적인 설계 정보를 획득하는 Repository를 정의
    • 자료 역공학
      • 물리적인 데이터 서술로부터 개념적, 논리적인 정보 추출, 기존 파일 시스템에서 데이터베이스의 전이 또는 기존 데이터베이스에서 신규 데이터베이스로 전이 수행

668. 소프트웨어 생명주기 모형 - Spiral Model

  • 나선형 모델 : 폭포수와 프로토타입 모델 장점에 위험분석을 추가한 모델
  • 장점
    • 점증적인 개발로 실패할 위험이 감소하고 테스트가 용이
    • 고객 피드백을 개선할 수 있음
  • 단점 : 관리가 복잡

672. 비용 예측을 위한 기능 점수 방법 (FP)

  • 기능점수(FP) 법
    • 기능 점수를 구한 후 이를 이용해 비용을 산정하는 방식
    • 1979년 알란 알브레히트가 소개
    • 1986년 국제 기능 사용자 그룹의 발족으로 활성화
    • ISO/IEC 14143으로 소프트웨어 크기에 대한 국제 표준이 됨
    • 소프트웨어 개발, 유지 관리 및 운영을 위한 비용과 자원 소요를 산정하는데 활용
    • 기능 점수의 기준이 되는 소프트웨어 기능의 구분 : 데이터 기능, 트랜잭션 기능
  • 기능점수 산정 기법
    • 기능 점수 유형
      • 데이터 기능
        • 내부 논리 파일 (ILF) : 사용자가 식별 가능한 논리적으로 연관된 데이터 그룹이나 제어 정보로 애플리케이션 경계 내에서 유지관리 됨
        • 외부 연계 파일 (EIF) : 사용자가 식별 가능한 논리적으로 연관된 데이터 그룹이나 제어 정보로 애플리케이션에 의해 참조
      • 트랜잭션 기능
        • 외부 입력 (EI) : 애플리케이션 경계 밖으로부터 들어온 데이터나 제어 정보를 처리하는 단위 프로세스
        • 외부 출력 (EO) : 애플리케이션 경계 밖으로 데이터나 제어 정보를 내보내는 단위 프로세스 (수학식 계산)
        • 외부 조회 (EQ) : 애플리케이션 경계 밖으로 데이터나 제어 정보를 내보내는 단위 프로세스

673. CASE (Computer Aided Software Engineering)

  • 컴퓨터 지원 시스템 공학
  • 시스템 개발 방법론들의 자동화를 지원하는 소프트웨어 도구를 제공해 개발자의 반복적인 작업량을 줄이도록 하는 것
  • 문서의 생성과 개발 팀 간의 협업을 도움
  • 작업된 내용을 손쉽게 공유

674. 유지보수의 유형

  • 수정적 유지보수 (Corrective Maintenance)
    • 발견된 오류나 잠재겅니 오류의 원인을 찾아 문제 해결
    • 사례 : 하자 유지 보수, 처리 오류, 수행 오류, 구현 오류
  • 완전적 유지보수 (Perfective Maintenance)
    • 새로운 기능을 추가하여 개선
    • 사례 : 신규 비지니스 프로세스 발생, 수행력 향상
  • 예방적 유지보수 (Preventive Maintenance)
    • 유지보수성, 신뢰성 향상 위한 구조 변경
    • 사례 : 노후화된 SW의 refactoring
  • 적응적 유지보수 (Adaptive Maintenance)
    • 새로운 자료나 운영체제, 하드웨어 환경으로 이식
    • 사례 : SW 환경 변경으로 porting, HW, SW 변화

677. SW 규모 산정 기법

  • 기능 점수 유형
    • 데이터 기능
      • 내부 논리 파일 (ILF) : 사용자가 식별 가능한 논리적으로 연관된 데이터 그룹이나 제어 정보로 애플리케이션 경계 내에서 유지관리 됨
      • 외부 연계 파일 (EIF) : 사용자가 식별 가능한 논리적으로 연관된 데이터 그룹이나 제어 정보로 애플리케이션에 의해 참조
    • 트랜잭션 기능
      • 외부 입력 (EI) : 애플리케이션 경계 밖으로부터 들어온 데이터나 제어 정보를 처리하는 단위 프로세스
      • 외부 출력 (EO) : 애플리케이션 경계 밖으로 데이터나 제어 정보를 내보내는 단위 프로세스 (수학식 계산)
      • 외부 조회 (EQ) : 애플리케이션 경계 밖으로 데이터나 제어 정보를 내보내는 단위 프로세스
  • 데이터 복잡도 평가 요소
    • 데이터 요소 유형 (DET) : 사용자가 인식 가능하고 중복되지 않는 유일한 데이터 필드 또는 속성
    • 레코드 요소 유형 (RET) : 내부 논리 파일이나 외부 참조 파일에서 사용자가 식별 가능한 데이터 요소의 서브 그룹 (필수 서브 그룹, 선택 서브 그룹)
  • 트랜잭션 복잡도 평가 요소
    • 데이터 요소 유형 (DET) : 사용자가 인식 가능하고 중복되지 않는 유일한 데이터 필드 또는 속성
    • 참조 파일 유형 (FTR) : 트랜잭션 기능에 의해 읽혀지거나 유지 관리되는 내부 논리파일 또는 트랜잭션 기능에 의해 읽혀지기만 하는 외부 참조 파일 단위 프로세스에서 사용되는 내부 논리파일 또는 외부 연계 파일을 의미

680. 나선형 모델의 개발 순서

  • 계획 (Planning)  → 위험분석 (Risk Analysis) → 개발 (Engineering) → 고객평가 (Customer Evaluation)

683. 소프트웨어 개발 방법론의 사용 목적

  • 프로젝트 위험 최소화
  • 납기일 준수
  • 품질 향상
  • 생산성 향상

684. 소프트웨어 개발 프레임워크

  • ISO / IEC 12207 : 체계적인 소프트웨어 획득, 공급, 개발, 운영 / 유지 보수를 위해서 소프트웨어 생명주기 공정 표준 (SDLC Process)
  • CMMI 모델 : 조직의 프로세스에 대한 가이드이자 기준, 능력과 성숙도로 조직의 프로세스를 측정하고 평가하는 모델의 통합 버전인 프로세스 개선 성숙도 모델
  • GS인증 : 소프트웨어 제품의 품질 확보를 위해 소프트웨어 산업 진흥법 및 과학 기술 정보 통신부 고시에 따라 시험 / 평가하는 소프트웨어 품질 인증 규격
  • SPICE : 소프트웨어 프로세스 평가를 위한 프레임 워크를 제공, 정보 시스템 분야에 특화된 품질 표준이자 인증 규격

685. SPICE의 단계

  • 0 : 불완전 단계 - 미구현 또는 미달성
  • 1 : 수행 단계 - 프로세스 수행 및 목적 달성
  • 2 : 관리 단계 - 프로세스 수행 계획 및 관리
  • 3 : 확립 단계 - 정의된 표준 프로세스 사용
  • 4 : 예측 단계 - 프로세스의 정량적 이해 및 통제
  • 5 : 최적화 단계 - 프로세스를 지속적으로 개선

686. SPICE의 프로세스

  • 기초 프로세스
    • 고객 - 공급 프로세스 (Customer-Supplier) : 소프트웨어를 개발하여 고객에게 전달하는 것을 지원, 소프트웨어를 정확하게 운용하고 사용하는 프로세스로 구성 - 프로세스 개수 : 10개
    • 공학 프로세스 (Engineering) : 시스템과 소프트웨어 제품의 명세화, 구현, 유지보수 프로세스로 구성 - 프로세스 개수 : 9개
  • 지원 프로세스 (Support) : 소프트웨어 생명주기에서 다른 프로세스에 의해 이용되는 프로세스로 구성 - 프로세스 개수 : 8개
  • 조직 프로세스
    • 관리 프로세스 (Management) : 소프트웨어 생명주기에서 프로젝트 관리자에 의해 사용되는 프로세스로 구성 - 프로세스 개수 : 4개
    • 조직 프로세스 (Organization) : 조직의 업무 목적을 수립하고 조직이 업무 목표를 달성하는데 도움을 주는 프로세스로 구성 - 프로세스 개수 : 9개

687. 테일러링 기법

  • 규모와 복잡도에 따른 테일러링 
    • 프로젝트 기간, 작업 범위, 참여인원
    • 규모 : 대/중/소
    • 복잡도 : 상/중/하
  • 프로젝트 구성원에 따른 테일러링
    • 구성원의 기술적 성숙도
    • 방법론에 대한 이해정도 파악 및 수준 결정
  • 팀내 방법론 지원에 따른 테일러링
    • 각 팀 별로 방법론 및 모델링 지원 인력 선정하여 개별 교육
  • 자동화에 따른 테일러링
    • 중간 산출물 자동화 도구 사용
    • 자동화는 보조적인 역할도 활용

691. ARP 프로토콜, RARP 프로토콜

  • ARP 프로토콜 : 논리적인 IP주소 → 물리적인 MAC 주소
  • RARP 프로토콜 : 물리적인 MAC 주소 → 논리적인 IP 주소

692. 전송계층

  • 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있도록 서비스를 제공하는 계층
  • 상위 계층들이 데이터 전달의 유효성이나 효율성을 보장
  • 전송계층 주요 기능
    • 서비스 지점 주소 지정
      • 전송층 헤더는 서비스 지점 주소 (포트 번호) 를 포함
    • 분할 및 재조립
      • 송신 시 세그먼트 단위로 나누고 목적지에서는 세그먼트를 재조립하여 메시지 형성
    • 연결제어
      • 비연결지향 : 각 세그먼트를 도립된 패킷으로 나누어 전송
      • 연결지향 : 패킷을 전달하기 전 먼저 목적지 시스템의 전송층과 연결 설정
    • 흐름제어
      • 단일 링크가 아닌 종단간 흐름 제어
    • 혼잡제어
      • 종단간 오류제어, 재전송을 통한 오류 정정

694. IP 전환방법

  • Dual Stack : IP 계층에 IPv4와 IPv6의 기능을 공용 사용 (DNS 지원 필요, 인프라구축 과다 비용) 
  • Tunneling : IPv6망 간의 IPv4를 사용한 터널링 연결
  • 주소 변환 (Gateway) : IPv4망과 IPv6망 사이 G/W(라우터)를 통해 주소 형식 변환

695. ICMP

  • ICMP 개념
    • IP 패킷 처리 시 통신 상황, 진단 결과를 통보하는 인터넷 계층 프로토콜
    • 메시지 : 오류 메시지 / 질의, 응답 메시지
  • ICMP 계층 위치
주요 프로토콜 TCP / IP 프로토콜 계층 모델 OSI 계층 모델
TELNET, FTP, SNMP, DHCP 등 Application Application
Presentation
Session
SCTP, TCP, UDP Transport Transport
IGMP ICMP
                     IP
                                  ARP
Network (IP 계층) Network
  Data Link Data Link
  Physical Physical
  • ICMP 메시지 유형
    • 오류 보고 메시지 (Error Reporting Message) : IP 패킷 전달 오류의 보고
      • ICMPv4 : 목적지 도달불가 (3), 리다이렉트(5), 시간초과 (11), 매개변수 문제 (12)
      • ICMPv6 : 목적지 도달불가 (1), 패킷길이초과(2), 시간초과 (3), 매개변수 문제 (4)
    • 정보성 메시지 (Informational Message) / 질의 메시지 (Query Message) : 네트워크 상태 조사를 위한 질의 요청 및 응답
      • ICMPv4 : 에코 요청 (8), 에코 응답 (0), 라우터 광고(9), 라우터 간청 (10) 등
      • ICMPv6 : 에코 요청 (128), 에코 응답 (129), 라우터 광고(134), 라우터 간청 (133) 등
  • ICMP 프로토콜 구성
IP 헤더
8비트 Type 8비트 Code 16비트 Checksum
가변 길이 (Type, Code에 따라 달라짐)

697. NAT

  • 하나의 공인 IP 주소를 다량의 가상 사설 IP 주소로 할당 및 매핑하는 주소 변환 기술
  • NAT의 핵심 기능
    • IP Masquerading
      • One-to-many 변환 : 1 public IP : N private IP 매핑
      • Outbound Traffic의 Source IP와 Port 대상 변환
    • Port Forwarding
      • Inbound Traffic의 Destination Port 중심 동작
      • Destination Port 정보로 내부 사설 IP (호스트) 식별
    • Load Balancing
      • Inbound Traffic의 Destination Port 중심 동작
      • 사설망 내 특정 서버로의 부하 집중 방지
      • Server Farm의 High Performance를 위해 적용

698. NAT

  • 네트워크 계층 프로토콜
  • TCP/IP의 모든 계층의 통신과정을 분석할 수 없음

700. Hierarchical 3 Layer

계층 구분 배치 장비 기능 / 역할
코어 계층 (Core Layer) 백본 스위치
  • 디스트리뷰션 계층 장치들이 연결되는 계층
  • 액세스 계층과는 반대로 포트슈는 적어도 되지만 성능은 좋은 장비를 배치해야 함
  • 최대한 빠른 서비스를 지원
디스트리뷰션 계층 (Distribution Layer) 라우터
  • 액세스 계층 장치들이 연결되는 계층
  • 브로드 캐스트 도메인을 구분하는 라우터를 배치해야 함
  • 적절한 라우팅 보안 정책
  • 보안 및 필터링 서비스 제공
액세스 계층 (Access Layer) 스위치
  • 엔드 시스템 (ES : End System)들이 네트워크에 최초로 연결되는 계층
  • 성능은 낮아도 되지만 포트 수는 유저 수만큼 있어야 함
  • 최종 사용자가 네트워크로 연결되는 지점