네트워크 기본 개념
1. 네트워크 목적 : 네트워크는 여러 장치들이 서로 연결되어 데이터를 주고받는 시스템이다.
이를 통해 파일 공유, 인터넷 접속, 이메일 등 다양한 작업을 진행한다.
2. 네트워크 장비
- Server : 서비스 제공 장치. 웹사이트 호스팅, 파일 저장, 데이터베이스 관리 등 담당
- Client : 서버에서 제공하는 서비스를 요청하는 장치. ex) 웹브라우저 통해 웹사이트에 접근하는 컴퓨터가 클라이언트
- Switch : 네트워크에서 데이터를 수신하고 목적지에 맞게 전달. 패킷을 수신 후 MAC 주소를 기반으로 적절 포트로 전송
- Router : 서로 다른 네트워크를 연결하고 패킷을 올바른 경로로 전달. ex) 집안의 인터넷 라우터는 LAN과 인터넷 WAN을 연결한다.
- Hub : 네트워크의 모든 장치에 데이터를 브로드캐스트하는 장치. 현대는 스위치로 대체됨
3. 네트워크 계층
- 물리 계층 : 실제 데이터를 전송하는 물리적 매체 ex) 케이블, 무선 주파수 등
- 데이터 링크 계층 : 네트워크의 인접 장치 간 데이터 전송 관리, 오류 검출 및 수정 기능 제공 ex) 이더넷, 무선 LAN
- 네트워크 계층 : 데이터가 출발-> 목적지까지 가는 경로 결정 ex) IP주소를 사용하여 패킷을 라우팅
- 전송 계층 : 데이터 전송의 신뢰성과 흐름 제어 주 프로토콜로 TCP&UDP가 있다.
- 응용 계층 : 사용자와 애플리케이션이 네트워크 서비스를 사용할 수 있도록 함 ex) HTTP, FTP, SMTP
4. IP주소와 서브넷
- IP 주소 : 네트워크에 연결된 각 장치에 할당되는 고유한 주소 (IPv4, IPv6)
- 서브넷 : 네트워크를 여러 작은 네트워크로 나누어 관리할 수 있게한다. 서브넷 마스크를 사용하여 IP 주소의 네트워크와 호스트를 구분
5. 네트워크 프로토콜 : 장치간 통신 규칙을 정의
- TCP : 연결 지향, 신뢰성 있는 데이터 전송
- UDP : 비연결성, 속도 중시, 신뢰성 없는 데이터 전송
- HTTP : 웹 페이지 전송 위한 프로토콜
- FTP : 파일 전송위한 프로토콜
- DNS : 도메인 이름을 IP주소로 변환
6. 데이터 전송 방식
- 패킷 : 네트워크에서 데이터 전송 시 작은 조각으로 나누어 전송. 패킷에는 데이터, 출발지, 목적지가 포함
- 브로드캐스트 : 네트워크 모든 장치에 데이터 전송
- 유니캐스트 : 특정 장치에만 데이터 전송
- 멀티캐스트 : 선택 장치만 데이터 전송
TCP와 UDP를 설명하기 전, 간단하게 설명하자면 위에서 나왔듯 TCP는 신뢰성 있는 데이터 UDP는 신뢰성 없는 데이터이다.
TCP의 경우, 수신 여부+데이터 전송 + 응답까지 확인하며
UDP의 경우, 일방적으로 빠르게 전송만하게 된다.
TCP(Transmission Control Protocol)란?
연결 지향적 프로토콜
신뢰성 보장 연결형 서비스
안정적으로 순서대로 에러 없이 교환 가능
특징
- 연결형 서비스로 가상 회선 방식 제공
3-way-handshaking 과정 통해 연결 설정하고 4-way-handshaking 과정 통해 연결을 해제 - 흐름제어 : 데이터 처리 속도를 조절하여 수신자 버퍼 오버플로우 방지
- 혼잡 제어 : 네트워크 내 패킷 수가 과도하게 증가하지 않도록 방지
- 신뢰성 보장 : UDP보다 속도가 느림
- 전이중(Full-Duplex), 점대점(Point to Point)
전이중 : 전송이 양뱡향으로 동시에 일어날 수 있음
점대점 : 각 연결이 정확히 2개의 종단점을 가짐
UDP(User Datagram Protocol)란?
비연결형 프로토콜
연결 위한 논리적인 경로가 없고 각각 패킷은 다른 경로로 전송되며 독립적인 관계를 지님
특징
- 비연결형 서비스로 데이터그램 방식 제공 : 전송 순서가 바뀔 수 있다.
- 데이터 수신여부 확인X
- 신뢰성이 낮다.
- 속도가 빠르다
- 1:1, 1:N, N:N 통신이 가능하다.
- 실시간 서비스(streaming)에 자주 사용
요약하자면 TCP는 연속성보다는 신뢰성이 중요할 때,
UDP는 빠르고 네트워크 부하가 적기에 연속성이 중요한 실시간 스트리밍 서비스에 사용
'CS 공부 > 네트워크' 카테고리의 다른 글
[네트워크] HTTP & HTTPS (1) | 2024.10.03 |
---|