Learn/'24_Fall_(EE542) Internet&Cloud Computin

(LAB 01) Network with VyOS, and simple Socket Program

QBBong 2025. 1. 9. 06:00
728x90

Lab 01: Summary

 

과제 개요

 

Lab 01에서는 컴퓨터 네트워크와 Linux 환경을 중심으로 다양한 실습을 수행하여 클라우드 네트워킹 및 소켓 프로그래밍의 기본을 이해하는 것을 목표로 한다. 학생들은 단계별 과제를 통해 Linux 설치, 네트워크 구성, VyOS 설정, 그리고 소켓 프로그래밍까지 다룬다.


주요 단계

 

1. Linux 설치

  • VirtualBox를 사용한 Linux 설치:

   Virtual Machine(VM)에 Linux 설치.

   최소 512MB 메모리와 1~2개의 프로세서를 구성.

   가상 메모리 크기를 12GB 이상으로 설정.

   필수 패키지 설치:

     gcc, g++, net-tools, vim, openssh-server, traceroute 등.

 

2. 컴퓨터 네트워크 구성

   Quagga를 이용한 라우터 설정:

     네트워크 인터페이스 설정.

     OSPF(Open Shortest Path First) 라우팅 프로토콜 구성.

     Quagga 설정 파일 (zebra.conf, ospfd.conf) 작성 및 서비스 활성화.

   기본 네트워크 구성:

     2개의 Linux 노드와 1개의 Quagga 라우터로 구성된 네트워크 시뮬레이션.

     pingtraceroute 명령을 사용하여 네트워크 연결 확인.

 

3. VyOS 라우터로 Quagga 대체

   VyOS 설치 및 구성:

     VyOS를 VirtualBox에 설치하고 DHCP 및 정적 IP 주소 설정.

     VyOS의 CLI 명령어를 사용하여 네트워크 및 라우팅 설정.

 

4. 소켓 프로그래밍

   Client-Server 모델 구현:

     Server:

       socket(), bind(), listen(), accept() 등을 사용하여 TCP 소켓 서버 구성.

       클라이언트의 메시지를 수신하고 응답을 반환.

     Client:

       socket(), connect() 등을 사용하여 서버와 통신.

       서버에 메시지를 보내고 응답을 출력.

   UDP 소켓:

     TCP 대신 sendto()recvfrom() 함수로 구성된 UDP 통신 예제.


핵심 학습 내용

1. Linux와 네트워크 기본

VirtualBox를 활용한 가상화 환경에서 Linux 사용법 숙달.

Linux 네트워크 도구와 라우팅 설정 이해.

2. 라우터 구성 및 VyOS 활용

Quagga와 VyOS의 차이점 이해.

정적 IP와 DHCP의 활용 사례 학습.

3. 소켓 프로그래밍 기초

TCP와 UDP의 차이점 학습.

클라이언트-서버 모델에서 소켓의 사용법 익히기.

4. 네트워크 프로토콜 이해

OSPF 라우팅 프로토콜과 라우터의 역할 이해.

네트워크 시뮬레이션을 통한 실질적 네트워크 동작 파악.

728x90
반응형