인터넷 네트워크
Updated:
IP(인터넷 프로토콜)
- 인터넷 프로토콜 역할
- 지정한 IP 주소(IP Address)에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
IP 패킷 정보는 출발지 IP, 목적 IP, 전송 데이터 등이 포함되어 있다. 이는 다음과 같이 클라이언트와 서버가 통신할 수 있다.
IP 프로토콜은 다음과 같은 한계가 존재한다.
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성
- 중간에 패킷이 사라지거나, 패킷이 순서대로 안오는 경우가 존재
- 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상인 경우
TCP, UDP
인터넷 프로토콜 스택의 4계층은 다음과 같다.
TCP
예를 들어, 메시지를 전송하는 과정은 다음과 같다.
- IP 패킷 정보: 출발 IP, 목적지 IP 등
- TCP/IP 패킷 정보: 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보, 전송 데이터 등
TCP(Transmission Control Protocol, 전송 제어 프로토콜)의 특징은 다음과 같다.
- 연결지향 - TCP 3 way handshake(가상 연결)
- 데이터 전달 보증
- 순서 보장
위 특징을 가지고 있어 TCP는 신뢰할 수 있는 프로토콜이기 때문에 현재 대부분이 TCP를 사용한다.
UDP
UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)의 특징은 다음과 같다.
- 기능이 거의 없음
- 연결 지항 X, 데이터 전달 보증 X, 순서 보장 X
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다.
즉, UDP는 IP와 거의 같지만 PORT와 체크섬 정도만 추가된다. 그래서 애플리케이션에서 추가 작업이 필요하다.
PORT
PORT는 0 ~ 65535 까지 할당이 가능하다. 0 ~ 1023은 잘 알려진 포트로 사용하지 않는 것이 좋다.
- FTP: 20, 21
- TELNET: 23
- HTTP: 80
- HTTPS: 443
DNS
IP는 기억하기 어렵고, 변경될 수 있다. 이런 이유 때문에 DNS(Domain Name System)를 사용한다. 이는 도메인 명을 IP주소로 변환해준다.
댓글남기기