IP(인터넷 프로토콜)
지정한 IP 주소(IP Address)에 데이터 전달
패킷(Packet)이라는 통신 단위로 데이터 전달
IP 패킷 정보
출발지 ip
목적지 ip
전송 데이터
IP 프로토콜의 한계
비연결성
패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
비신뢰성
중간에 패킷이 사라지면 어떻게 될 것인가?
패킷이 순서대로 오지 않으면 어떻게 될 것인가?
프로그램 구분
같은 IP를 사용하는 서버에서 통신하는 어플리케이션이 둘 이상이면 어떻게 구분할 것인가?
위의 문제로 인해 TCP
UDP
가 존재합니다
TCP, UDP
TCP의 특징
연결지향 - TCP 3 way handshake(가상연결)
데이터 전달 보증(데이터 전송이 잘 되었다고 응답이 옵니다.)
순서 보장(순서가 다를 시 순서가 다른것부터 재요청합니다.)
신뢰할 수 있는 프로토쿨
TCP 3 way handshake
SYN: 접속 요청
ACK: 요청 수락
- SYN (클라이언트 -> 서버)
- SYN + ACK (서버 -> 클라이언트)
- ACK (클라이언트 -> 서버)
- 데이터 전송 (상호연결)
** 3.ACK의 과정에서 ACK와 함께 데이터 전송이 가능합니다. **
UDP
IP와 거의 같습니다.
PORT
체크섬 (해당 메시지가 제대로 맞는지 검중해주는 데이터)
UDP
는 추가되는 기능이 거의 없습니다. 따라서 하얀 도화지라고 불립니다. 또한 위에 있는 기능들은 TCP
에 존재하는 기능입니다.
HTTP3가 나오면서 UDP
의 사용 빈도가 늘어나고 있는 추세입니다.
PORT
TCP/IP 패킷 정보
출발지 PORT
도착지 PORT
정보...
의 값들을 갖고 있기에 서로 IP로만 구분하기 힘든 것들을 PORT로 구분해서 하나의 IP로 게임, 화상통화, 웹브라우저 등을 사용할 수 있습니다.
ex) 하나의 아파트(IP)에 여라가지 동들과 호수(PORT)로 이해하시면 될 듯 합니다.
0 ~ 65535 : 할당 가능
0 ~ 1023 : 잘 알려진 포트.(역할이 이미 부여되어 있습니다. 따라서 사용하지 않는 것이 좋습니다.)\
FTP - 20, 21
TELNET - 23
HTTP - 80
HTTPS - 443
DNS
IP는 기억하기 힘듭니다.
IP는 변경될 수 있습니다.
도메인을 사서 DNS 서버에 도메인명, IP로 등록할 수 있습니다.
Result
- IP(internat Protocol): 복잡한 인터넷 망에서 메시지를 보내기 위해서 IP(ip 프로토콜이라고도 합니다.)가 존재해야합니다.
- TCP, UDP: Port, 패킷 순서 등이 추가됩니다.
- PORT: 아파트(IP)와 동호수(PORT)
- DNS: 도메인명을 IP에 등록해서 사용하는 것입니다.
'CS' 카테고리의 다른 글
[JPA] 기본 키 매핑 (0) | 2021.12.15 |
---|---|
[HTTP] URI와 웹 브라우저 요청 흐름 (0) | 2021.12.14 |
[JPA] 필드와 컬림매핑 (2) | 2021.12.10 |
[JPA] 엔티티매핑 (8) | 2021.12.09 |
[JPA] 준영속 상태 (0) | 2021.12.08 |