정보처리기사

[정보처리기사 요약 11-8] 라우팅 프로토콜(RIP/OSPF/BGP) 및 트래픽 제어 완벽 정리

Hong's_Computer 2026. 3. 4. 13:40
반응형
본문에 오류가 있을 수 있음을 감안하고 봐주시길 바랍니다.
# 문제 풀이 중 오답노트 하면서 나온 내용을 정리한 것

 

경로 제어(Routing): 송·수신 측 간의 전송 경로 중에서 최적의 패킷 교환 경로를 결정하는 기능이다. 경로 제어표(Routing Table)를 참조해서 이루어지며 라우터(Router)에 의해 수행된다.

  • 경로 제어 요소: 성능 기준, 경로의 결정 시간과 장소, 정보 발생지, 경로 정보의 갱신 시간

 

경로 제어 프로토콜(Routing Protocol)

  • IGP(Interior Gateway Protocol): 하나의 자율 시스템(Autonomous System, 하나의 도메인에 속하는 라우터들의 집합) 내부의 라우팅에 사용되는 프로토콜이다.
    • RIP(Routing Information Protocol): 거리 벡터(Distance Vector) 라우팅 프로토콜이다. 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용한다. 최대 홉 카운트(Hop Count, 데이터가 목적지까지 전달되는 과정에서 거치는 라우터의 수)를 15로 제한하므로, 16 이상인 경우는 도달할 수 없는 네트워크로 간주하여 에러를 발생시킨다. 라우터의 수를 기준으로 가장 적은 라우터를 거쳐가는 경로를 최적 경로로 선택한다. 라우팅 정보는 30초마다 네트워크 내의 모든 라우터에 알리며 180초 이내에 새로운 라우팅 정보가 수신되지 않으면 해당 경로를 이상 상태로 간주한다.
    • OSPF(Open Shortest Path First): RIP의 단점을 해결하여 대규모 네트워크에서 많이 사용되는 링크 상태(Link State) 라우팅 프로토콜이다. 인터넷망에서 최단 경로를 선정할 수 있도록 라우팅 정보에 노드 간의 거리 정보, 링크 상태 정보를 실시간으로 반영한다. 최단 경로 탐색에 다익스트라(Dijkstra) 알고리즘을 사용한다. 라우팅 정보에 변화가 생길 시 변화된 정보만 네트워크 내의 모든 라우터에 알리며 에어리어(Area) 개념을 도입하여 계층적인 라우팅을 지원하므로 효율적인 관리가 가능하다. 멀티캐스팅을 지원한다.
  • EGP(Exterior Gateway Protocol): 자율 시스템(AS) 간의 라우팅 프로토콜로 게이트웨이 간의 라우팅에 사용되는 구형 프로토콜이다.
  • BGP(Border Gateway Protocol): 자율 시스템(AS) 간의 라우팅 프로토콜로 EGP의 단점을 보완하기 위해 만들어진 경로 벡터(Path Vector) 라우팅 프로토콜이다. 현재 전 세계 인터넷망을 연결하는 핵심 라우팅 프로토콜로 사용된다. 초기에 BGP 라우터들이 연결될 때에는 전체 라우팅 테이블(Routing Table)을 교환하고 이후에는 변화된 정보만을 교환한다.

 

트래픽 제어(Traffic Control): 네트워크의 보호, 성능 유지, 네트워크 자원의 효율적인 이용을 위해 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능이다.

  • 흐름 제어(Flow Control): 네트워크 내의 원활한 흐름을 위해 송·수신 측(End-to-End) 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능이다. 수신 측의 데이터 처리 속도가 송신 측보다 느릴 때 버퍼오버플로우를 막기 위해 사용한다.
    • 정지-대기(Stop-and-Wait): 수신 측의 긍정 확인 응답(ACK)을 받은 후에 다음 패킷을 전송하는 방식, 한 번에 하나의 패킷만을 전송할 수 있어 효율성이 낮다.
    • 슬라이딩 윈도우(Sliding Window): 수신 통지를 이용하여 송신 데이터의 양을 조절하는 방식, 송신 측은 수신 측으로부터 확인 응답(ACK) 없이도 연속해서 보낼 수 있는 패킷의 최대치를 미리 약속받는데 이 최대치가 윈도우 크기(Window Size)를 의미한다. 윈도우 크기는 수신 측의 버퍼 여유 용량 상황에 따라 동적으로 변하며 정상적으로 송신되면 윈도우가 미끄러지듯 이동(Slide)하여 다음 패킷들을 전송한다.
  • 혼잡(폭주) 제어(Congestion Control): 네트워크 망 내의 전체 패킷 수를 조절하여 네트워크 라우터의 오버플로(Overflow) 및 통신 마비를 방지하는 기능이다.
    • 느린 시작(Slow Start): 전송 초기에는 혼잡 윈도우의 크기를 1 MSS(Maximum Segment Size)로 시작하여 ACK를 받을 때마다 2, 4, 8... 과 같이 지수적(Exponential)으로 2배씩 증가시키는 방식이다. 초기에는 느리지만 갈수록 전송량이 빠르게 증가한다.
    • 혼잡 회피(Congestion Avoidance): 느린 시작의 지수적 증가가 특정 임계값(Threshold)에 도달하면 네트워크가 혼잡해질 수 있다고 간주하고 회피를 위해 윈도우의 크기를 1씩 선형적으로(Linear) 증가시켜 혼잡을 예방하는 방식이다.
    • 빠른 재전송(Fast Retransmit): 타임아웃이 발생하기 전이라도 수신 측으로부터 동일한 패킷에 대한 중복된 ACK(3 Duplicate ACK)를 받으면 즉시 패킷을 재전송하여 혼잡을 제어한다.

 

 

Secure OS(보안 운영체제): 기존의 운영체제(OS)에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널(하드웨어와 응용 프로그램 사이의 인터페이스 역할을 수행)을 이식하여 외부의 침입으로부터 시스템 자원을 안전하게 보호하는 운영체제를 의미한다. 보안 커널은 TCB(Trusted Computing Base, 신뢰 컴퓨팅 기반)를 기반으로 참조 모니터(Reference Monitor)의 개념을 구현하고 집행한다.

  • 보호 방법 구현의 분류: 암호적 분리, 논리적 분리, 시간적 분리, 물리적 분리
  • Secure OS의 주요 보안 기능: 식별 및 인증, 임의적/강제적 접근통제(DAC/MAC), 객체 재사용 보호, 완벽한 조정(Complete Mediation), 신뢰 경로, 감사 및 감사기록 축소 등

참조 모니터(Reference Monitor): 보호 대상 객체에 대한 주체(사용자 등)의 접근통제를 수행하는 추상 머신(개념)이며 이것을 실제로 시스템에 구현한 것이 '보안 커널'이다. 보안 커널 데이터베이스(SKDB)를 참조하여 객체에 대한 접근 허가 여부를 결정한다.

  • 참조 모니터와 보안 커널의 3대 특징:
    1. 격리성(Tamper-proof): 외부의 변경으로부터 자체적으로 보호되어야 한다.
    2. 완전성(Always Invoked): 모든 접근은 반드시 참조 모니터를 거쳐야 하며 우회할 수 없다.
    3. 검증가능성(Verifiable): 올바르게 동작하는지 테스트하고 검증할 수 있어야 한다.

ISMS(Information Security Management System, 정보보호 관리체계): 정보 자산을 안전하게 보호하기 위한 일련의 보호 절차와 대책이다. 조직의 환경에 맞는 정보보호 정책을 수립하고 위험(Risk)을 식별하여 이에 상시 대응하는 여러 보안 대책을 통합적으로 관리하는 체계이다.

  • 공공기관 및 민간 기업을 대상으로 한국인터넷진흥원(KISA)에서 이를 평가하고 인증하는 사업을 운영 중이다.
  • 현재 국내에서는 기존의 ISMS와 개인정보보호 관리체계(PIMS)를 통합한 ISMS-P (정보보호 및 개인정보보호 관리체계) 제도를 시행하여 통합적인 보안 인증을 수행하고 있다.

 

휴리스틱 알고리즘(Heuristic Algorithm, 경험적 탐색 알고리즘): 시간이나 컴퓨팅 자원이 불충분하여 완벽한 최적해(Optimal Solution)를 구하기 어려울 때, 경험적 규칙이나 직관을 활용하여 현실적으로 만족할 만한 수준의 근사해(Approximate Solution)를빠르고 효율적으로 찾아내는 기법이다.(대표 예: 힐 클라이밍, A 알고리즘, 그리디 탐색 등)

 

알고리즘(Algorithm): 주어진 작업을 수행하는 컴퓨터 명령어를 순서대로 나열한 것

 

알고리즘 설계 기법

  • 분할 정복/분할 통치(Divide and Conquer): 큰 문제를 보다 작은 문제로 분할하여 각각 해결한 후 그 결과를 모아서 원래의 문제를 해결하는 하향식(Top-down) 전략. 주로 재귀 함수를 사용하여 구현한다. # 병합 정렬(Merge Sort), 퀵 정렬(Quick Sort), 이진 탐색(Binary Search)
  • 탐욕 알고리즘(Greedy Algorithm): 완벽한(전체적인) 최적의 해결책을 구하기보다는 매 순간(각 단계)마다 가장 좋아 보이는 최선의 선택(지역적 최적해)을 하여 결과적으로 해답에 도달하는 방법. 빠른 계산이 장점, 항상 전체 최적해를 보장하지는 않는다. # 크루스칼(Kruskal), 다익스트라(Dijkstra) 최단 경로 알고리즘
  • 백트래킹(Backtracking): 깊이 우선 탐색(DFS) 알고리즘을 기반으로 모든 가능성을 트리로 구축하여 탐색하다가 어떤 노드의 유망성(Promising)이 없다고 판단되면 더 이상 깊이 들어가지 않고 이전 노드로 돌아가(가지치기, Pruning) 다른 경로를 탐색하는 기법.
  • 동적 계획법(Dynamic Programming, DP): 분할 정복과 비슷하지만 쪼개진 작은 문제들이 반복될 때 그 결괏값을 저장(메모이제이션, Memoization)해두고 다시 사용하여 계산 속도를 비약적으로 높이는 상향식(Bottom-up) 기법이다.

 

 

보안 및 네트워크 알고리즘

  • Diffie-Hellman(디피-헬만) 알고리즘: 이산대수의 복잡성을 활용하여 두 사용자가 사전에 어떠한 비밀 키 교환 없이도 공개된 통신망에서 공통의 비밀 키를 안전하게 공유(키 교환)할 수 있게 하는 알고리즘. 중간자 공격에 취약
  • Hash(해시) 알고리즘: 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값(해시값, 다이제스트)으로 변환하는 단방향(일방향) 암호화 알고리즘. 복호화가 불가능하며 주로 데이터가 변경되지 않았음을 증명하는 무결성(Integrity) 확인이나 비밀번호 저장에 사용한다.(예: SHA, MD5)
  • Digital Signature Algorithm(DSA): 미국 표준 기술 연구소(NIST)에서 표준안으로 개발한 공개키 기반 알고리즘으로 디지털 서명 기술을 제공하기 위해 이산대수의 복잡성을 활용함. 주로 사용자 인증과 부인 방지 목적으로 사용된다.
  • Spanning Tree Algorithm(STA): 브리지나 스위치로 구성된 LAN 환경에서 두 개 이상의 경로가 존재할 때 발생할 수 있는 루프(Loop, 폐회로) 현상을 방지하기 위해 논리적으로 트리를 형성하여 무한 반복되는 프레임(브로드캐스트 스톰)을 차단하는 네트워크 알고리즘

 

 

탐색 방법

  • 이진(Binary) 탐색: 반드시 데이터가 정렬(Sorted)되어 있는 상태에서 전체 파일을 두 개의 서브파일로 분리해 가면서 Key 레코드를 검색하는 방식(시간 복잡도: O(log n))
  • 피보나치(Fibonacci) 탐색: 데이터가 정렬된 상태에서 피보나치 수열에 따라 다음에 비교할 대상을 선정하여 검색하는 방식. (나눗셈 연산 없이 덧셈과 뺄셈만 사용하여 효율적임)
  • 블록(Block) 탐색: 파일을 구성하는 레코드들을 여러 개의 Block으로 분할하여 Block 단위는 순서화시키고(Index 구성) Block 내의 자료는 순서화와 관계없이 저장시켜 색인(Index)을 이용해 블록을 찾고 그 안에서 선형 탐색을 하는 방식
    • 선형 탐색(Linear Search): 정렬이 되어 있지 않은 파일에서 순차적으로 검색하는 방식으로 찾고자 하는 키(Key) 값을 첫 번째 레코드 키 값부터 차례로 비교하여 검색
  • 해싱(Hashing) 탐색: 키 값으로부터 레코드가 저장되어 있는 주소를 직접 계산하여 산출된 주소로 바로 접근하는 방법으로 키-주소 변환 방법. 검색 속도가 가장 빠르며(시간 복잡도: O(1)), 충돌(Collision) 발생 시 해결 기법이 필요함
    • 체이닝(Chaining): 충돌이 발생하면 해당 버킷에 할당된 연결 리스트(Linked List)에 데이터를 줄줄이 연결하여 저장하는 방식. (폐쇄 주소법이라고도 함)
    • 개방 주소법(Open Addressing): 충돌이 발생하면 해시 테이블 내의 다음(순차적) 빈 버킷(슬롯)을 찾아 데이터를 저장하는 방법.
    • 재해싱(Rehashing): 충돌이 발생하면 새로운 해싱 함수를 적용하여 새로운 홈 주소를 구하는 방법.
반응형