📌 네트워크 기초 활용
네트워크(Network)란?
- 여러 장치들이 서로 데이터를 주고 받기 위해 연결된 시스템
<근거리 통신망(Local Area Network)>
- 장치들이 케이블을 통해 물리적으로 연결된 형태
- 안정적이고 빠르지만 이동성에 제한
<무선랜 통신망(WLAN, Wireless LAN)>
- 장치들이 무선 신호로 연결
- 간섭이나 신호 강도에 따라 성능이 달라질 수 있음
IEEE 802.11
- 무선 네트워크(Wi-Fi) 통신을 위한 표준을 정의하는 규격
802.11e
- IEEE 802.11 워킹 그룹의 중 QoS 강화를 위해 MAC 기능 지원을 채택한 것
MAC(Media Access Control)
- 네트워크에서 여러 장치가 동일한 통신 매체를 공유할 때 데이터 충돌을 막고 효율적으로 통신하게끔 조정함
- 충돌을 탐지하는 CSMA/CD 방식과 충돌을 회피하는 CSMA/CA 방식이 있음
- CSMA / CD (Carrier Sense Multiple Access with Collision Detection)
- CSMA / CA (CSMA with Collison Avoidance)
OSI(Open System Interconnection) 7계층
- 네트워크 통신을 여러 계층으로 나눠 설명하는 참조 모델
- 각 계층은 특정 기능을 담당하며, 상위 계층은 하위 계층의 서비스를 사용해 통신을 처리

1. 물리 계층(Physical Layer)
- 실제 데이터를 전송하기 위해 사용되는 전기적 신호 등 물리적인 부분을 정의하는 계층
- 허브(Hub), 리피터(Repeater) 등의 장비 활용
2. 데이터 링크 계층(Data Link Layer)
- 링크의 설정과 유지, 종료를 담당하며 노드 간의 오류 제어와 흐름 제어 기능을 수행하는 계층
- 대표적인 프로토콜은 HDLC, PPP, LLC, ATM 등이 있음
- 스위치(Switch), 브릿지(Bridge) 등의 장비 활용
자동반복 요청 방식(ARQ, Automatic Repeat Request)
- 데이터를 전송할 때 수신자 측에서 오류가 감지되면 송신자 측에 데이터 재전송을 요구하는 방식
- Stop-And-Wait ARQ, Go-Back-N ARQ, Selective Repeat ARQ 방식이 있음
3. 네트워크 계층(Network Layer)
- 패킷을 발신지로부터 최종 목적지까지 전달하는 역할을 수행하는 계층
- 패킷에 발신지와 목적지의 논리 주소를 정의하고, 네트워크 간 연결을 담당
- 대표적인 프로토콜은 IP, ARP, RARP, ICMP, 라우팅 프로토콜 등이 있음
네트워크 계층의 프로토콜
- IP : 패킷의 주소 지정과 라우팅을 담당
- ARP : IP 주소를 물리적 MAC 주소로 변환
- RARP : MAC 주소를 IP 주소로 변환
- ICMP : IP의 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송
- 라우팅 프로토콜 : 패킷 전송 경로를 결정
4. 전송 계층(Transport Layer)
- 종단 간 신뢰성 있고 효율적인 데이터를 전송하기 위해 오류 검출과 복구, 흐름 제어를 수행하는 계층
- 대표적인 프로토콜은 TCP, UDP
5. 세션 계층(Session Layer)
- 통신 세션을 설정, 유지, 종료하는 역할
- 통신 중 연결이 끊기지 않도록 관리
6. 표현 계층(Presentation Layer)
- 데이터 형식 변환을 담당하는 계층
- 서로 다른 시스템 간 데이터가 동일하게 해석되도록 압축과 암호화 등의 기능을 수행
- 대표적인 프로토콜은 JPEG, MPEG 등
7. 응용 계층(Application Layer)
- 사용자와 가장 가까운 계층으로, 사용자와 직접 상호작용하는 프로그램들이 위치
- 웹 브라우저, 이메일 클라이언트 등
- 대표적인 프로토콜은 HTTP, FTP, SSH, SMTP 등
SSH(Secure Shell)
- 네트워크 상에서 안전하게 원격 서버에 접속하고 명령을 실행할 수 있는 프로토콜
- 22번 포트를 사용해 통신하며 전송되는 데이터는 암호화됨
- 키를 통한 인증은 클라이언트 공개키를 서버에 등록해야 함
📌 IP
IP(Internet Protocol)란?
- 네트워크 상에서 데이터 패킷을 목적지로 전송하기 위한 규칙과 방법을 정의
- 네트워크 계층(3계층)에서 주소 지정, 패킷 분할 및 병합 기능을 담당
데이터 패킷이 뭐냐구요?
쉽게 말해, 그냥 네트워크 상에서 주고 받는 "데이터 덩어리"입니다.
IP의 특징
- Best Effort 원칙에 따른 전송 기능을 제공
- (Best Effort : IP는 최선을 다해 데이터를 전달하지만, 전달을 100% 보장하지는 못한다는 의미)
- 에러 제어와 흐름 제어가 없음
- 송신된 데이터가 송신된 순서와 다르게 목적지에 도착할 수 있음
- 비연결형 서비스를 제공
- 패킷을 분할, 병합하는 기능을 수행하기도 함
IP 헤더(header)
- 네트워크에서 데이터 패킷을 전달하기 위해 필요한 정보를 담고 있는 부분
- 데이터 패킷의 시작 부분에 IP 헤더가 붙어 있어 목적지까지 정확히 전달되도록 함
- 출발지와 목적지 주소, 패킷의 길이, 데이터 처리 방법 등이 포함됨
- IP 프로토콜에서는 데이터가 아닌 헤더에 대해서만 체크섬(Checksum) 기능을 제공
📌 IPv4
IPv4란?
- 가장 널리 사용되는 IP version으로, 32비트 주소 체계를 사용
- 2^32개의 고유한 IP 주소를 생성할 수 있으며 약 43억 개의 주소를 제공
IPv4 주소
- 32비트를 8비트씩 4개의 부분으로 나누어 3자리의 십진수로 표현
- 각 부분은 0부터 255까지의 값을 가질 수 있음 (ex. 192.168.0.1)
IPv4 클래스
- IPv4 주소는 네트워크를 효율적으로 관리하기 위해 여러 클래스로 구분
- 각 클래스는 주소의 용도에 따라 다르며 클래스에 따라 네트워크와 호스트 주소의 길이가 달라짐
- 클래스 A - 대규모 네트워크 용(대형 기업 등)
- 클래스 B - 중간 규모 네트워크
- 클래스 C - 소규모 네트워크(가정 집)
- 클래스 D - 멀티 캐스트 용도 네트워크
- 클래스 E - 실험 및 연구 목적 네트워크
📌 서브넷 마스크(Subnet Mask)와 서브네팅(Subnetting)
서브넷 마스크(Subnet Mask)란?
- 네트워크 부분과 호스트(개별 장치) 부분을 나누는 데 사용하며 IP 주소와 같은 형식을 가짐
- ex) 255.255.255.0은 IP 주소의 첫 24비트가 네트워크 부분, 나머지 8비트가 호스트 부분이라는 것을 의미
서브네팅(Subnetting)이란?
- 기존의 네트워크를 여러 개의 작은 네트워크(서브넷)으로 나누는 과정
- 동일한 크기로 나뉘는 FLSM과 가변적 크기로 나뉘는 VLSM으로 구분
서브네팅을 통해 보안을 강화하고 IP 주소를 더 효율적으로 사용할 수 있습니다!
📌 서브넷 주소 & 브로드캐스트(Broadcast) 주소
서브넷 주소
- 특정 서브넷을 식별하기 위해 사용되는 ip 주소
- 호스트가 아닌 네트워크 자체를 지칭하며 호스트와는 구분
- 해당 서브넷의 첫 주소를 사용
브로드캐스트(Broadcast) 주소
- 특정 서브넷 내의 모든 호스트에게 동시 전송되는 메세지를 보내는 데 사용하는 ip 주소
- 해당 서브넷의 마지막 주소를 사용

📌 IPv6
IPv6란?
IP 주소 고갈 문제를 해결하기 위해 개발된 새로운 버전으로 128비트 주소 체계를 사용
IPv6의 특징
- 128비트 주소체계를 통해 2^128개의 주소를 표현할 수 있음
- IPv6는 주소 자동설정 기능을 통해 손쉬운 네트워크 환경 구성이 가능
- Plug&Play 지원으로 멀티미디어의 실시간 처리가 가능
- 확장 헤더를 사용하여 보안, 인증 등 기능 확장에 용이
- IPv4보다 보안성 강화
- 패킷 크기는 최대 65535바이트까지 가능
- 등급별, 서비스별로 패킷을 구분할 수 있어 품질 보장에 용이
IPv6 주소
- 16비트씩 8개의 블록으로 나누어 표현하고, 각 블록은 4자리의 16진수로 표현
- ex) 2001:0db8:85a3:0000:0000:8a2e:0370:7334
IPv6와 IPv4의 전송 방식 차이
IPv6의 전송 방식
- 멀티캐스트 : 멀티캐스트 그룹에 속하는 여러 호스트에게 데이터를 전송
- 유니캐스트 : 한 호스트와의 1:1 통신
- 애니캐스트 : 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 데이터 전송
IPv4의 전송 방식
- 멀티캐스트
- 유니캐스트
- 브로드캐스트 : 동일 서브네트워크 상의 모든 수신자에게 데이터를 전송
📌 라우팅 프로토콜
라우팅 프로토콜이란?
네트워크에서 데이터 패킷이 목적지까지 효율적으로 전달될 수 있도록 경로를 설정하는 알고리즘
=> RIP, OSPF, BGP 등 다양한 라우팅 프로토콜이 있으며, RIP가 대표적임
RIP(Routing Information Protocol)
- 최단경로 탐색에 벨만-포드 알고리즘을 사용하는 IGP 프로토콜(Internal Gateway Routing Protocol)
- 경로 선택 메트릭은 홉(Hop) 카운트이며 홉은 거쳐가는 라우터의 수를 의미
- 최대 홉 카운트는 15개로 제한
- 각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신
📌 TCP와 UDP
TCP(Transmission Control Protocol)란?
신뢰성 있는 전송 계층의 연결 지향 프로토콜로, 데이터 전송의 순서와 정확성을 보장
<TCP의 특징>
- 신뢰성 있는 연결 지향형 전달 서비스
- 스트림 전송 기능을 제공
- 순서 제어, 오류 제어, 흐름 제어 기능을 제공
- Stop-and-Wait는 송신자가 데이터를 전송한 후 수신자의 확인 응답을 기다리는 TCP 흐름 제어 기법
UDP(User Datagram Protocol)란?
데이터 전송의 신뢰성 보장은 없지만 속도가 빠른 전송 계층의 프로토콜
<UDP의 특징>
- 흐름 제어나 순서 제어가 없어 전송 속도가 빠름
- 비연결형 서비스를 제공
- 단순한 헤더 구조(8바이트, TCP는 20바이트)로 오버헤드가 적음
TCP와 UDP의 쓰임새
정확성이 중요할 땐 TCP!
속도가 중요할 땐 UDP!
'License > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 2과목 소프트웨어 개발 - 데이터 입출력 구현 (1) | 2024.12.03 |
---|---|
[정보처리기사] 1과목 소프트웨어 설계 - 인터페이스 설계 (1) | 2024.11.30 |
[정보처리기사] 1과목 소프트웨어 설계 - 애플리케이션 설계(객체 지향 설계) (3) | 2024.11.04 |
[정보처리기사] 1과목 소프트웨어 설계 - 애플리케이션 설계(공통 모듈 설계) (2) | 2024.11.04 |