네트워크_Routing/라우팅

[ROUTING]

[정의]

  1. Routing Protocol이란 네트워크 내의 여러 라우터들이 서로 정보를 교환하며, 데이터가 최적의 경로를 따라 전달될 수 있도록 경로를 결정하는 알고리즘 및 규칙들의 집합이다.

특징

  • 분산적 동작: 각 라우터는 자신이 아는 정보(이웃 라우터 정보, 네트워크 topology 등)를 바탕으로 경로를 계산함.
  • 동적 갱신: 네트워크 상황(링크 실패, 비용 변화 등)에 따라 경로를 실시간으로 재계산함.
  • 목표는 최적 경로: "좋은 경로"란 일반적으로 지연이 적고, 대역폭이 크며, 신뢰성이 높은 경로를 말한다.

1. Static Routing (정적 라우팅)

[정의]

  1. 관리자가 라우터에 수동으로 경로를 직접 설정하는 방식. 네트워크 구조가 고정되어 있거나, 간단한 환경에서 주로 사용된다.

특징

  1. 사람이 직접 라우팅 테이블을 설정함
  2. 자동 업데이트 없음
  3. 단순 구조

동작 원리

  1. 운영자가 다음 목적지에 도달하기 위한 경로를 직접 지정하여 라우팅 테이블에 입력 → 라우터는 지정된 경로로만 패킷 전달

2. Dynamic Routing (동적 라우팅)

[정의]

  1. 라우터들끼리 서로 정보를 교환하며, 자동으로 최적의 경로를 계산하고 갱신하는 방식. 복잡하고 유동적인 네트워크에서 사용된다.

특징

  1. 라우터 간 자동 정보 교환
  2. 트래픽 변화나 장애 발생 시 경로 자동 변경
  3. 라우팅 프로토콜 사용 (예: RIP, OSPF, BGP)

동작 원리

  1. 라우터는 주기적으로 이웃 라우터들과 정보를 교환하여 네트워크 상태를 파악하고, 라우팅 알고리즘을 통해 최적 경로를 계산 → 라우팅 테이블 자동 갱신

[정의]

  1. 모든 라우터가 네트워크 전체 토폴로지를 알고 있으며, 각 링크의 상태(예: 비용, 지연 등)를 기반으로 자신이 직접 최단 경로를 계산하는 방식이다.

[대표 프로토콜]

  1. OSPF (Open Shortest Path First)

[동작 원리]

  1. 각 라우터가 인접 라우터와의 링크 상태를 측정
  2. 링크 상태 정보를 모든 라우터에게 flooding으로 전달
  3. 모든 라우터가 동일한 전체 네트워크 맵을 소유
  4. 각 라우터는 Dijkstra 알고리즘을 통해 최단 경로 트리 계산

[특징]

  1. Global knowledge: 전체 네트워크를 기반으로 계산
  2. 경로 계산 정확도 높음
  3. 수렴 빠름
  4. 자원 사용 높음 (메모리, CPU, 대역폭)

Distance-Vector Algorithm (거리 벡터 알고리즘, Decentralized View)

[정의]

  1. 각 라우터는 목적지까지의 거리 정보를 이웃 라우터로부터 주기적으로 받아, 자신의 라우팅 테이블을 갱신하는 방식이다. 전체 구조는 알지 못하며, 이웃의 정보를 바탕으로 간접적으로 학습한다.

[대표 프로토콜]

  1. RIP (Routing Information Protocol)
  2. BGP (기본적으로 path-vector지만 distance vector 유사)

[동작 원리]

  1. 라우터는 목적지까지의 거리(=metric)를 저장
  2. 이 정보를 주기적으로 인접 라우터에 전달
  3. 받은 거리 정보를 바탕으로 Bellman-Ford 알고리즘으로 갱신
  4. 모든 라우터가 정보를 교환하면서 점차 최적 경로로 수렴

[특징]

  1. Decentralized: 각 라우터는 이웃의 정보만 알고 있음
  2. 구현 간단
  3. 자원 소모 적음
  4. 수렴 속도 느림, 루프 발생 가능성 있음 (→ split horizon, hold-down 등 해결 기법 필요)

Read more

Socket_1

Socket_1: 문자열을 아스키코드로 변환하는 소켓 프로그래밍 프로그램 설명 이 프로그램은 TCP 소켓을 이용하여 클라이언트가 전송한 문자열을 서버가 받아, 해당 문자열을 아스키코드 리스트로 변환한 뒤, 다시 클라이언트에게 전송하는 방식으로 작동한다. 양방향 통신은 문자열 기반이며, 서버는 수신한 문자열을 각 문자마다 ord()를 통해 아스키 코드로 바꾼다. * 통신 방식: TCP * 인코딩 방식:

By Youn

네트워크_Mobility

Mobility란? Mobility(이동성)은 네트워크에서 기기가 네트워크 위치(IP 주소 등)가 바뀌더라도 지속적으로 연결을 유지할 수 있는 능력을 말합니다. Mobility를 처리하는 두 가지 접근 방식 1. Routing이 Mobility를 처리하게 한다 (Network-based mobility) * 개념: 이동하는 호스트의 현재 위치를 네트워크가 추적하고, 그에 따라 패킷 경로를 동적으로 수정함 * 예시: Mobile IP * 홈

By Youn