반응형
IP (internet protocol)
규칙, 규약!!
- 지정한 ip 주소에 데이터전달
- 패킷이라는 통신단위로 전달
[패킷]
구성 : 출발 IP, 목적지 IP, 메세지
IP 프로토콜의 한계
- 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능상태여도 패킷 전동
- 비신뢰성 : 중간에 패킷이 사라지면?(패킷 소실), 패킷이 순서대로 안오면? (보통 1500 bytes로 나누어서 보냄)
- 프로그램 구분 : 같은 IP 를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
이러한 문제를 해결하는게 TCP 프로토콜이다.
OSI 7계층 중 4계층 전송 계층의 대표적인 프로토콜으로 TCP, UDP가 있다.
TCP (전송 제어 프로토콜)
- 패킷 정보 : 출발지 port, 목적지 port, 전송 제어, 순서, 검증정보, 전송데이터
- 연결지향 - TCP 3 way handshake
- SYN(접속요청), SYN+ACK(요청수락), ACK
- ACK와 함께 데이터 전송 가능
- 데이터 전달 보증
- 데이터를 보내면 잘 받았다고 메시지를 보냄.
- 메시지가 없으면 데이터가 전달되지 않은 것?!
- 순서 보장
- 패킷 순서를 체크해서 순서가 잘못된 것을 체크할 수 있음. 올바를 데이터를 재요청 가능함.
- 신뢰할 수 있는 프로토콜로 현재는 대부분 tcp 사용
-> 물리적으로 연결된 것이 아니라 논리적으로 연결된 것!
-> 절차와 보내는 데이터가 많아서 보내는 데이터가 크고 속도가 느리다.
-> 사용자가 거의 손댈 수 없다.
UDP (사용자 데이터그램 프로토콜)
- 기능이 거의 없다.
- 연결지향 - 3 way handshake X
- 데이터 전달 보증 X
- 순서 보장 X
- 데이터 전달 및 순서가 보장되지 않지만 단순하고 빠름
-> Ip(인터넷계층 프로토콜)과 거의 같은데, port, 체크섬 정도가 추가됨.
-> 어플리케이션에서 추가 작업이 필요하다. 최적화가 가능!
3 way handshake와 같은 절차를 줄일 수 있어 http3 에 적용되어 주목받고 있다.
PORT
한 기기에 여러 애플리케이션을 구동 중일때,
패킷을 받으면 어떤 애플리케이션에 필요한 패킷인지 구분이 필요함. 그 역할을 하는 것이 port
- ip : 목적지 서버를 찾는 것
- port : 목적지 서버에서 목적지 애플리케이션을 찾는 것(프로세스 구분)
DNS (도메인 네임 서비스)
- ip는 기억하기 어렵고, 변경이 가능한 단점이 있는데 이 문제를 해결한 개념.
반응형
'CS' 카테고리의 다른 글
Web Socket 웹소켓 (1) | 2023.12.28 |
---|---|
Http 상태코드 (1) | 2023.08.01 |
HTTP (0) | 2023.05.27 |
URI (Uniform Resource Identifier) (0) | 2023.05.27 |