IP
주소에 데이터 전달Packet
(패킷)이라는 통신 단위로 데이터 전달IP
를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상인 경우에 구분하기 어려운 문제가 있음HTTP
, FTP
TCP
, UDP
IP
LAN
SOCKET
라이브러리를 통해서 OS
계층에 메시지 전달TCP
정보를 포함함(바깥에 감싸는 구조)IP
와 관련된 데이터를 포함함LAN
카드를 통해서 나갈 때 Ethernet frame
까지 포함해서 내보냄IP 패킷
: Source IP, Destination IP, 기타, ...TCP Segment
: Source PORT, Destination PORT, 전송 제어, 순서, 검증 정보, ...TCP 3 way handshake
(가상 연결)TCP
를 사용함
SYN
(접속 요청) >SYN + ACK
(요청 수락) >ACK
> 데이터 전송
1, 3, 2
순서대로 전송이 되면 패킷 2부터 다시 전송하도록 요청하기 때문에 패킷의 순서가 보장됨단점
TCP
3 way hankshake가 아님장점
정리
IP
와 거의 같고, PORT
와 checkSum
(검증용)이 추가된 정도임PORT
(Source Port, Destination Port)를 이용해서 같은 IP
내에서 프로세스 구분이 가능함Source IP/PORT
와 Destination IP/PORT
정보를 포함하여 전송함0 ~ 65535
까지 Port 번호 할당 가능0 ~ 1023
: 잘 알려진 포트
- 20 :
FTP
(data)- 21 :
FTP
(control - 연결 시 인증과 컨트롤을 위한 포트)- 22 :
SSH
(ssh scp, sftp)
- 23 :TELNET
(인터넷을 통해 원격지의 호스트 컴퓨터에 접속 시 사용)- 25 :
SMTP
(이메일 전송 시 사용)- 53 :
DNS
- 80 :
HTTP
(웹 페이지 전송)- 443 :
HTTPS
(SSL 위의 HTTP(암호화 전송))
IP
는 기억하기 어렵고 변경될 가능성이 있음IP
주소보다 domain
명을 사용하는 것이 편리함DNS
는 도메인 명 사용 시 이를 IP 주소로 변환해줌domain name
: google.com > IP
: 200.200.200.2강의 출처 : 인프런 : 모든 개발자를 위한 HTTP 웹 기본 지식