네트워크_스케줄링


1. FIFO (First In First Out) Scheduling

정의:
FIFO는 가장 먼저 도착한 패킷을 가장 먼저 전송하는 방식으로, 단일 큐에서 순차적으로 처리된다.

동작 원리:

  • 큐에 먼저 들어온 패킷이 먼저 나감
  • 패킷 간 우선순위는 없음

특징:

  • 구조가 간단하고 구현이 용이
  • 긴 패킷이 먼저 들어오면 작은 패킷도 기다려야 하므로 지연 발생 가능
  • 실시간 응용에 부적합

2. Priority Scheduling

정의:
패킷마다 **우선순위(priority)**를 부여하고, 우선순위가 높은 큐부터 먼저 처리하는 방식이다.

동작 원리:

  • 큐가 여러 개 존재하며, 우선순위가 높은 큐부터 순차적으로 스캔
  • 높은 우선순위 큐가 비어있을 때만 그 다음 큐 처리

특징:

  • 긴급 데이터(예: 음성, 제어 트래픽)에 적합
  • 낮은 우선순위 트래픽은 기아(starvation) 상태가 될 수 있음

3. Round Robin (RR) Scheduling

정의:
각 큐를 하나씩 순서대로 돌아가며 처리하는 방식으로, 모든 흐름에 공평한 기회를 제공한다.

동작 원리:

  • 큐들을 순서대로 하나씩 돌며 한 패킷씩 전송
  • 모든 큐가 고르게 처리됨

특징:

  • 공정성 보장, 구현이 비교적 간단
  • 패킷 크기가 다르면 비공평 가능 (작은 패킷이 유리)
  • 무게 없이 단순히 순환함

4. Weighted Fair Queuing (WFQ)

정의:
각 흐름(또는 큐)에 **가중치(weight)**를 부여하여, 비례적으로 자원을 할당하는 고급 스케줄링 기법이다.

동작 원리:

  • 가상 종료 시간 계산을 통해 공정하고 가중치 기반으로 전송 순서 결정
  • 높은 가중치를 가진 큐는 더 많은 대역폭을 가져감

특징:

  • 공정성과 QoS 모두 보장 가능
  • 패킷 크기와 우선순위를 동시에 고려 가능
  • 계산 복잡도 높음 (하드웨어 자원 필요)

방식 처리 기준 장점 단점
FIFO 도착 순서 간단함 지연 및 공정성 부족
Priority 우선순위 긴급 패킷 우선 낮은 우선순위 기아 발생
Round Robin 순환 처리 공정성 있음 패킷 크기 고려 X
WFQ 가중치 기반 QoS 및 공정성 구현 복잡

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