ETC/CS
[모든 개발자를 위한 Http 웹 기반기술] IP, TCP, UPD
노트코드
2022. 2. 16. 15:12
IP(인터넷 프로토콜)
- 지정한 IP 주소에 데이터 전달
- 패킷이라는 통신 단위로 데이터 전달
IP 프로토콜의 한계
- 비연결성
- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송

- 비신뢰성
- 중간에 패킷이 사라지면?
- 패킷이 순서대로 안오면?


- 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
TCP, UDP
인터넷 프로토콜 스택의 4계층
| 계층 | 예 |
| 애플리케이션 계층 | HTTP, FTP |
| 전송계층 | TCP, UDP |
| 인터넷 계층 | IP |
| 네트워크 인터페이스 계층 |


TCP특징(전송 제어 프로토콜)
- 연결지향 - TCP 3 way handshake(가상연결)
- 클라이언트가 서버쪾으로 SYN(접속 요청)로 보냄
- 서버가 클라이언트로 SYN +ACK(요청수락) 응답을 보냄
- 클라이언트가 다시 ACK 보냄 그리고 요즘은 데이터도 같이 보냄
- 데이터 전달 보증
- 데이터 전송
- 데이터 잘 받았음 응답값 보내줌
- 순서 보장
- 패킷 1, 패킷2, 패킷3, 순서로 전송
- 패킷1, 패킷3, 패킷2 순서로 도착
- 패킷2부터 다시 보내라고 클라이언트에 요청
- 패킷2부터 다시 전달해서 순서를 맞춤
- 신뢰할 수 있는 프로토콜
- 현재는 대부분 TCP 사용
UDP 특징
- 하얀 도화지에 비유(기능이 거의 없음)
- TCP3 way handshake x
- 데이터 전달 보증 x
- 순서 보장 x
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
- IP와 거의 같다.+ PORT + 체크섬 정도만 추가
- 애플리케이션에서 추가 작업 필요