DX하'세영'✨
8주차: 네트워크 기초, 데이터베이스 이해 본문
네트워크 기초
“인터넷은 어떻게 동작하는 걸까?”
우리가 웹사이트에 접속하고, 메시지를 주고받고, 영상을 보는 이 모든 과정에는 보이지 않는 네트워크의 흐름이 있습니다.
이번 글에서는 네트워크의 핵심 구조인 계층 모델을 바탕으로,
데이터가 컴퓨터에서 컴퓨터로 어떻게 전달되는지 하나씩 살펴보려고 해요.
네트워크 통신은 왜 계층으로 나눴을까?
현대 네트워크는 OSI 7계층 모델과 TCP/IP 4계층 모델이라는 체계를 기준으로 설계되어 있어요.
각 계층은 서로 다른 역할을 담당하며, 복잡한 통신을 단계별로 나누어 처리합니다.
이번 글에서는 TCP/IP 기준으로 5계층 (물리 ~ 응용) + 심화 개념까지 정리해볼게요!
물리 계층 (Physical Layer)
📡 데이터가 실제로 이동하는 통로
- 전기 신호, 광신호 등으로 비트 단위(0과 1) 데이터를 전송
- 케이블, 허브, 리피터 등의 장비가 여기에 속함
- 우리가 흔히 아는 랜선, 와이파이도 이 계층에서 역할을 해요
예: "비트가 실제 전선이나 무선 전파를 통해 전달되는 계층"
데이터 링크 계층 (Data Link Layer)
🔗 직접 연결된 두 장비 간의 안정적 전송을 보장
- 물리 계층 위에서 에러 검출 및 재전송, 프레임 단위 전송 담당
- MAC 주소 기반 통신 (랜카드에 붙어 있는 고유 주소)
- 스위치, 브리지 등의 장비가 이 계층에서 작동
예: "같은 네트워크 안에서 옆 컴퓨터와 안정적으로 데이터 주고받기"
네트워크 계층 (Network Layer)
멀리 떨어진 컴퓨터와 통신할 수 있게 경로를 안내
- IP 주소 기반으로 경로 설정(라우팅)
- 라우터 장비가 중심 역할
- 우리가 아는 IP주소(192.168.x.x)는 이 계층의 핵심!
예: "목적지까지 데이터를 어떻게 보낼지 결정하는 내비게이션 같은 계층"
전송 계층 (Transport Layer)
데이터를 쪼개고, 순서대로 정확하게 전달
- 대표적인 프로토콜: TCP(신뢰성 보장), UDP(속도 우선)
- 포트 번호(예: 80, 443)를 통해 앱 간 통신 구분
- 데이터 흐름 제어, 오류 복구 등도 담당
예: "편지 봉투에 순번 붙여서 정확히 배달하는 우체부 역할"
응용 계층 (Application Layer)
사용자와 가장 가까운 계층
- 우리가 사용하는 웹, 메신저, 이메일 등의 서비스가 여기에 해당
- HTTP, SMTP, FTP, DNS 등 다양한 애플리케이션 프로토콜이 존재
예: "크롬 브라우저나 카카오톡이 사용하는 실제 네트워크 인터페이스"
데이터베이스 이해
개발자라면 반드시 이해해야 하는 핵심 개념, 바로 데이터베이스(Database)!
이번 수업에서는 데이터베이스의 기본 개념부터 관계형 데이터 모델, 그리고 무결성 제약 조건까지 살펴봤습니다.
하나하나 정리해볼게요
데이터베이스 시스템이란?
데이터베이스(Database): 체계적으로 정리된 데이터의 집합
DBMS (Database Management System): 이 데이터를 저장, 조회, 수정, 삭제할 수 있게 도와주는 소프트웨어
예를 들어,
- 네이버 블로그 글 목록
- 쿠팡의 상품 정보
- 은행의 고객 계좌 내역
이 모든 것이 데이터베이스에 저장되어 있고, 우리는 DBMS를 통해 필요한 데이터를 찾아보고 관리하는 거예요.
대표적인 DBMS로는
📌 Oracle, MySQL, PostgreSQL, SQL Server, SQLite 등이 있습니다.
관계형 데이터 모델 (Relational Data Model)
현대 대부분의 DBMS는 관계형(Relational) 모델을 사용해요.
여기서 말하는 ‘관계’는 우리가 알고 있는 'relationship(인간관계)'가 아니라,
테이블(표) 간의 연결 관계를 의미합니다.
- 하나의 테이블 = 하나의 엔터티(개체)
- 각 테이블은 **행(row)과 열(column)**로 구성됨
- 행 = 하나의 데이터 / 열 = 속성 (예: 이름, 이메일, 전화번호)
무결성 제약 조건 (Integrity Constraints)
데이터베이스는 단순히 데이터를 저장하는 공간이 아니에요.
‘데이터의 정확성과 신뢰성’을 유지하기 위한 규칙들이 꼭 필요합니다.
이걸 바로 무결성 제약 조건이라고 해요!
주요 제약 조건 예시:
- 기본키 제약조건 (PRIMARY KEY)
: 각 행(row)을 고유하게 식별하는 열(중복 불가, NULL 불가)
→ 예: 주민번호, ID, 사번 등 - 외래키 제약조건 (FOREIGN KEY)
: 다른 테이블의 기본키를 참조하는 열
→ 관계형 데이터 모델에서 테이블 간 연결할 때 사용 - NOT NULL
: 반드시 값이 있어야 함 - UNIQUE
: 중복 허용 안 됨 (기본키와는 다르게 NULL은 허용됨) - CHECK
: 값의 범위를 제한 (예: 나이는 0보다 커야 함)
이런 제약 조건들이 있어야 데이터가 신뢰성 있게 유지되고,
잘못된 입력이나 오류를 방지할 수 있어요.
'KT AIVLE SCHOOL' 카테고리의 다른 글
11 ~ 12 주차: 클라우드의 이해와 실습 (1) | 2025.08.26 |
---|---|
9 ~ 10 주차: 온프라미스 아키텍처, 3차 미프 (1) | 2025.08.26 |
7주차: 에이블데이 & IT 인프라 시작 (6) | 2025.07.29 |
6주차: 2차 미니프로젝트 (0) | 2025.06.24 |
5주차: 생성형 AI의 이해와 활용 (0) | 2025.06.24 |