IP (Internet Protocol) -> 인터넷 프로토콜
- 지정한 IP 주소에 데이터 전달
- 패킷(Packet)이라는 통신 단위로 데이터 전달
- 패킷의 구성 : 출발 IP 주소, 도착 IP 주소, 데이터
IP의 한계
- 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷이 전송 된다.
- 비신뢰성 : 중간에 패킷이 소실 되거나 순서대로 도착하지 않을 수 있다.
- 프로그램 구분 : 같은 IP 주소에서 사용하는 서버에서 통신하는 프로그램이 두 개 이상이라면 구분이 안 됨.
TCP (Transmission Control Protocol) -> 전송 제어 프로토콜
- 연결 지향(TCP 3 way handshake) : 연결 후 데이터 전달
- 데이터 전달 보증 : 패킷이 누락 되었을 경우 확인 가능
- 순서 보장 : 패킷의 순서대로 전달 가능
- 신뢰할 수 있는 프로토콜
- 현재는 대부분 TCP 사용
TCP 패킷 정보 : 출발지 PORT, 도착지 PORT, 전송 제어, 순서, 검증 정보..
TCP 3 way handshake -> 연결 지향
SYN : 접속 요청 ACK : 요청 수락
- Client가 Server로 SYN을 보낸다.
- Server가 Client로 SYN + ACK를 보낸다.
- Client가 Server로 ACK를 보낸다.
- 데이터 전송
※ 물리적인 연결이 아닌 가상 연결임.
UDP (User Datagram Protocol) -> 사용자 데이터그램 프로토콜
- 기능이 거의 없어서 흰 도화지에 비유 된다.
- IP에 PORT와 체크섬 정도만 추가된다.
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다.
PORT -> 같은 IP 주소 내에서 프로세스 구분
- 0 ~ 65535 : 할당 가능
- 0 ~ 1023 : 잘 알려진 포트로, 사용하지 않는 것이 좋다.
- FTP : 20, 21
- TELNET : 23
- HTTP : 80
- HTTPS : 443
DNS (Domain Name System) -> 도메인 네임 시스템
- IP 주소는 변경 될 수도 있고, 기억하기 어려움.
- 전화번호부와 같은 역할
- 도메인 명을 IP 주소로 변환
DNS Server
- 도메인 명으로 DNS 서버에 요청
- IP 주소로 DNS 서버가 응답
- 응답 받은 IP 주소로 접속
'CS > Network' 카테고리의 다른 글
[HTTP] HTTP Header에 대해서 알아보자(1) (0) | 2022.08.22 |
---|---|
[HTTP] HTTP 상태 코드 (0) | 2022.08.12 |
[Http] HTTP에 대해서 알아보자. (0) | 2022.08.10 |
[인터넷 통신] URI (0) | 2022.07.20 |