1. IP(인터넷 프로토콜)
- 인터넷 프로토콜 역할
- 지정한 IP 주소에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달.
- IP 패킷 정보
- 출발지 IP, 목적지 IP, 기타 등등
- 전송 데이터
- 클라이언트 패킷 전달
- 인터넷에다가 클라 패킷을 인터넷에 던지면 목적지 IP(서버)에 맞는 곳으로 전달
- 서버 패킷 전달
- 목적지 IP(서버)에 제대로 도착을 했으면 다시 클라IP를 목적지로 저장해서 인터넷에 던지면 된다.
IP 프로토콜의 한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성
- 중간에 패킷이 사라지면?
- 패킷이 순서대로 안오면?
- 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
위와 같은 이유로 순수 IP 프로토콜만으로는 한계가 존재한다.
따라서, TCP, UDP와 같은 프로토콜이 탄생했다.
2. TCP, UDP
인터넷 프로토콜 스택의 4계층
- 어플리케이션 계층 - HTTP, FTP
- 전속 계층 - TCP, UDP
- 인터넷 계층 - IP
- 네트워크 인터페이스 계층 - 랜카드, 랜드라이버에서 사용되는 것

- 실제 패킷의 흐름은 다음과 같다.

TCP/ IP 패킷 정보
- 출발지 PORT, 목적지 PROT, 전송제어, 순수, 검증 정보...(포트는 아래 설명이 있다.)
- 위와 같은 정보가 TCP 세그먼트에 담긴다.
TCP 특징(전송 제어 프로토콜, Transmission Control Protocol)
-
연결지향 - TCP 3 way handshake(가상 연결)
-
데이터 전달 보증
-
순서 보장
- 1,2,3 순서로 와야되는데 1,3,2로 왔으면 2부터 다시 보내라고 한다.(최적화에 따라 다르긴 함..)
-
신뢰할 수 있는 프로토콜
-
현재는 대부분 tcp 사용
UDP 특징
-
하얀 도화지에 비유(기능이 거의 없음)
-
연결지향 - TCP 3 way handshake X
-
데이터 전달보증 X
-
순서보장 X
-
데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
-
IP와 거의 같다. PORT, 체크섬 정도만 추가 됨
체크섬: 네트워크를 통해 전달된 값이 변경되었는지를 검사하는 값으로 무결성을 제공한다.
-
애플리케이션에서 추가작업 필요
3. PORT
여기서 Port(포트)란 IP 내에서 애플리케이션 상호 구분(프로세스 구분)을 위해 사용하는 번호이다.(한 컴퓨터 내에서 게임, 음악, 메일 등 포트가 달라야 구분가능하다.)
포트 숫자는 IP 주소가 가리키는 PC에 접속할 수 있는 통로(채널)을 의미한다.
사용 가능한 숫자는 0 ~ 65535 사이의 숫자가 가능하며 미리 지정되어있는 포트도 있으니 조심히 사용하자
조심해야 할 포트들 (0 ~ 1023)
- FTP - 20, 21
- TELNET - 23
- HTTP - 80
- HTTPS - 443
4. DNS (간단하게 설명)
IP는 기억하기 어렵고 변경될 수 있다. 따라서 뭔가 외우기 쉽게 해줘야 쓰기 편하다.