Socket_2
Socket_2: DNS 서버 시뮬레이터 프로그램 설명 이 프로그램은 도메인 이름과 IP 주소 간의 매핑 정보를 처리하는 간단 DNS(Domain Name System) 서버 시뮬레이터이다. 실제 DNS 서버처럼, 클라이언트는 도메인 이름을 서버에 요청하고, 서버는 그에 해당하는 IP 주소를 반환한다. 또한 클라이언트가 새로운 도메인-IP 매핑 정보를 등록할 수도 있으며, 이 정보는 서버의
Socket_2: DNS 서버 시뮬레이터 프로그램 설명 이 프로그램은 도메인 이름과 IP 주소 간의 매핑 정보를 처리하는 간단 DNS(Domain Name System) 서버 시뮬레이터이다. 실제 DNS 서버처럼, 클라이언트는 도메인 이름을 서버에 요청하고, 서버는 그에 해당하는 IP 주소를 반환한다. 또한 클라이언트가 새로운 도메인-IP 매핑 정보를 등록할 수도 있으며, 이 정보는 서버의
Socket_1: 문자열을 아스키코드로 변환하는 소켓 프로그래밍 프로그램 설명 이 프로그램은 TCP 소켓을 이용하여 클라이언트가 전송한 문자열을 서버가 받아, 해당 문자열을 아스키코드 리스트로 변환한 뒤, 다시 클라이언트에게 전송하는 방식으로 작동한다. 양방향 통신은 문자열 기반이며, 서버는 수신한 문자열을 각 문자마다 ord()를 통해 아스키 코드로 바꾼다. * 통신 방식: TCP * 인코딩 방식:
[SDN] 1. 정의 SDN은 네트워크 장비(라우터, 스위치 등)의 제어(Control Plane)를 장비 자체에서 분리하여, 중앙 집중화된 컨트롤러(Controller)에서 관리하고, 네트워크 장비는 단순히 데이터 전달(Data Plane)만 수행하게 하는 구조입니다. 2. 특징 * 제어와 데이터의 분리: 기존 장비는 제어 + 데이터 처리를 동시에 했지만, SDN은 이 둘을 분리함.
Mobility란? Mobility(이동성)은 네트워크에서 기기가 네트워크 위치(IP 주소 등)가 바뀌더라도 지속적으로 연결을 유지할 수 있는 능력을 말합니다. Mobility를 처리하는 두 가지 접근 방식 1. Routing이 Mobility를 처리하게 한다 (Network-based mobility) * 개념: 이동하는 호스트의 현재 위치를 네트워크가 추적하고, 그에 따라 패킷 경로를 동적으로 수정함 * 예시: Mobile IP * 홈
CSMA/CD (Carrier Sense Multiple Access with Collision Detection) [정의] CSMA/CD는 유선 LAN(예: 이더넷)에서 사용하는 매체 접근 제어 방식으로, 송신자가 채널 상태를 확인하고 전송 도중 충돌이 발생하면 이를 감지하고 중단한 뒤 재전송하는 방식이다. [동작 원리] 1. 송신자는 채널이 비어 있는지 감지한다. 2. 채널이 비면 데이터를 전송한다. 3.
[ARP (Address Resolution Protocol)] 정의: ARP는 IP 주소(논리 주소)를 해당 장치의 MAC 주소(물리 주소)로 변환해 주는 프로토콜입니다. 즉, 네트워크 상의 통신을 위해 IP → MAC 주소로 매핑하는 역할을 합니다. 동작 원리: 1. 송신자가 대상 IP 주소를 알고 있지만 MAC 주소는 모를 때, ARP 요청 브로드캐스트를 전송합니다. 2.
[AS: Autonomous System)] 1. 정의 자율 시스템(Autonomous System)이란, 하나의 통일된 라우팅 정책에 따라 운영되는 네트워크들의 집합을 의미한다. 즉, 인터넷 상에서 하나의 독립된 라우팅 도메인을 구성하며, 외부와 경로 정보를 교환할 수 있는 단위이다. 2. 특징 * 각 AS는 고유 번호(AS 번호)를 가짐 → IANA에 의해 관리되며, AS number (ASN)
MAC (Multiple Access Control) 프로토콜의 정의 MAC 프로토콜은 여러 노드가 하나의 공유 채널을 사용할 때, 누가 언제 데이터를 전송할지를 결정해주는 분산 알고리즘입니다. 이는 무선 LAN, 케이블 이더넷, 위성 통신 등에서 공통적으로 사용됩니다. MAC 프로토콜이 필요한 이유 공유 채널에서는 여러 노드가 동시에 데이터를 전송하려 할 수 있기 때문에 충돌(collision)이
[ROUTING] [정의] 1. Routing Protocol이란 네트워크 내의 여러 라우터들이 서로 정보를 교환하며, 데이터가 최적의 경로를 따라 전달될 수 있도록 경로를 결정하는 알고리즘 및 규칙들의 집합이다. 특징 * 분산적 동작: 각 라우터는 자신이 아는 정보(이웃 라우터 정보, 네트워크 topology 등)를 바탕으로 경로를 계산함. * 동적 갱신: 네트워크 상황(링크 실패, 비용
[IP Fragmentation (조각화)] 정의: IP Fragmentation은 IP 패킷의 크기가 네트워크의 MTU보다 클 경우, 해당 패킷을 **여러 개의 작은 조각(fragment)**으로 나누어 전송하는 과정이다. 동작 원리: * 송신 측 또는 중간 라우터에서 MTU보다 큰 패킷을 조각화 * 각 조각에는 식별자(ID), offset 값, MF(More Fragment) 플래그 등이 포함됨 * 조각들은 별도의 IP
1. FIFO (First In First Out) Scheduling 정의: FIFO는 가장 먼저 도착한 패킷을 가장 먼저 전송하는 방식으로, 단일 큐에서 순차적으로 처리된다. 동작 원리: * 큐에 먼저 들어온 패킷이 먼저 나감 * 패킷 간 우선순위는 없음 특징: * 구조가 간단하고 구현이 용이 * 긴 패킷이 먼저 들어오면 작은 패킷도 기다려야 하므로 지연 발생 가능 * 실시간
[Router architecture] [정의] Router architecture란, 라우터 내부에서 패킷을 수신, 처리, 전달하기 위해 구성된 구조를 의미하며, 이는 크게 데이터 평면(Data Plane)과 제어 평면(Control Plane)으로 나뉜다. [구성 요소] 1. 입력 포트 (Input Port) * 수신된 패킷을 저장하고, 헤더 검사 및 포워딩 결정을 위해 준비 * 라우팅 룩업을 위해 헤더를 추출
com_ne_cl
데이터 평면 (Data Plane) 정의: 데이터 평면은 실제 사용자 데이터를 전달하는 기능을 수행하는 네트워크 계층의 부분이다. 즉, 패킷이 한 라우터에서 다른 라우터로 전달될 때, 이 경로를 따라 실제로 **전달되는 트래픽(데이터)**을 처리하는 영역이다. 동작 원리: * 수신한 패킷의 목적지 주소를 확인하고, * 라우팅 테이블(FIB, Forwarding Information Base)을 기반으로, * 해당
com_ne_cl
* Application architectures * 클라이언트-서버(client-server) 구조 * 피어-투-피어(peer-to-peer, P2P) 구조 컴퓨터 네트워크에서 데이터를 주고받는 방식에 따라 나뉘는 대표적인 두 가지 아키텍처 1. 기본 개념 구분 클라이언트-서버 (Client-Server) 피어-투-피어 (Peer-to-Peer, P2P) 구조 중앙 서버가 클라이언트에 서비스를 제공 모든 노드가 동등하며 직접 통신 역할 서버: 제공자, 클라이언트: 요청자 각 노드가 클라이언트이자 서버 역할
com_ne_cl
FTP (File Transfer Protocol) 핵심 정리 1. FTP란? * 파일 전송 프로토콜: 인터넷(WWW) 상에서 클라이언트와 서버가 파일을 주고받기 위한 통신 규약 * 응용 계층 프로토콜: TCP/IP 5계층 구조 중 응용 계층(Application Layer)에 위치 * 목적: 네트워크에 연결된 컴퓨터 간 데이터 교환을 원활히 하기 위해 개발 2. FTP 구조 * FTP는
com_ne_cl
1. 네트워크 코어: 패킷 교환 (Packet Switching) * 인터넷의 중심부에서는 데이터를 패킷(packet) 단위로 나눠서 전달함. * 각 패킷은 독립적으로 경로를 따라 전달되며, 최종 목적지에서 재조립됨. * 효율적인 자원 공유가 가능하고, 회선 설정이 필요 없어 유연함. 2. 패킷 교환의 특징 저장 후 전달 (Store-and-Forward) * 각 라우터는 전체 패킷을 받은 후 다음 라우터로 전송함.
com_ne_cl
1. 호스트: 패킷 전송 지연 (Transmission Delay) * 전송 지연 (Transmission Delay)란? → 호스트가 패킷을 전송할 때, 그 패킷의 전체 비트를 전송하는 데 걸리는 시간 1. 응용 메시지 수신 2. 길이 L비트의 패킷이라는 작은 단위로 자름 3. 전송률R 로 접속 네트워크에 패킷 전송 2. 물리 매체 (Physical Media) 물리 매체는 데이터를
com_ne_cl
용어 정리 1. 디지털과 아날로그 신호 * 디지털 신호: 이산적인 값(0과 1)으로 표현. 컴퓨터나 디지털 기기에서 사용. * 아날로그 신호: 연속적인 값으로 표현. 2. Bit, Byte, KB, MB, GB, TB, PB, EB, ZB * 데이터의 크기를 나타내는 단위. * 1 Byte = 8 bits 3. 다음 단위는 Yottabyte (YB): 1,208,925,819,
com_ne_cl
서버(Server)와 라우터(Router)의 차이 항목 서버 라우터 위치 네트워크의 끝 (종단) 네트워크 중간 역할 데이터를 제공하거나 받는 주체 데이터를 중계하고 전달 애플리케이션 실행 예 (웹서버, 이메일서버 등) 아니오 종단 시스템 여부 예 아니오
com_ne_cl
1. Web Application 개발 언어 조사 웹 애플리케이션을 만들 때 주로 사용하는 언어들 * HTML / HTML5 HTML (HyperText Markup Language): 웹 페이지의 구조를 설계하는 마크업 언어 HTML5: HTML의 최신 버전으로, 비디오/오디오 재생, 캔버스(그래픽), 로컬 저장소 등 다양한 기능을 지원함 * CSS CSS (Cascading Style Sheets): HTML 요소의 디자인(색, 글꼴,
study_record
📁 원격 저장소에서 프로젝트 가져오기 git clone <gitea-저장소-주소> cd <프로젝트_폴더명> * git clone: 원격 저장소(gitea, GitHub 등)의 코드를 내 컴퓨터로 복사 * 주의: git clone은 처음 한 번만! * 이후엔 폴더 이동만 하면 됨 → cd <프로젝트명> 🌿 브랜치 관련 명령어 🌿 브랜치 관련 명령어 🔍 브랜치 확인 git
study_record
git clone <gitea-저장소-주소> : 원격 저장소(gitea, github 등)에 있는 프로젝트를 내 컴퓨터로 복사하는 명령어. =>이건 처음 한번만 하면됨. 컴을 껐다 켜도 남아있기 때문에 cd 폴더명 명령어만 적어주면 이동 가능함. cd project명 # 복제된 폴더명에 맞게 수정 git branch: git에 있는 브랜치를 확인. <브랜치 변경을 원할때>