인터넷 프로토콜 스택의 4계층
애플리케이션 계층 - HTTP,FTP
전송 계층 - TCP, UDP
인터넷 계층 - IP
네트워크 인터페이스 계층
TCP 특징 전송 제어 프로토콜(Transmission Control Protocol)
• 연결지향 - TCP 3 way handshake (가상 연결)
• 데이터 전달 보증 (클라이언트->데이터보냈음 -> 서버 / 서버->데이터받았음 ->클라이언트)
• 순서 보장
(패킷1, 패킷2, 패킷3 으로 클라->서버 전송 / 서버 패킷1 , 패킷3, 패킷2 를 받으면 패킷 2부터 다시보내라 클라한테 전송)
• 신뢰할 수 있는 프로토콜
• 현재는 대부분 TCP 사용
TCP 소켓으로 클라이언트와서버가 연결되는 과정을 3 way hand shake 라고함
1) 클라이언트는 서버에 접속요청(sync)을 하고 클라이언트는 sync_sent 상태가 됨
2) 서버는 요청수락(sync+ack)하고 서버는 sync_received 상태가 됨
3) 클라이언트는 서버에 수락확인(ack)을 보내고 서버는 established 상태가됨
TCP소켓 연결을 종료하는 과정을 4 way hand shake 라고함
1) 클라이언트가 서버에 연결을 종료 (fin)플래그를 전송, 클아이언트는 종료신호를 기다리는 상태 fin_wait1
2) 서버는 일단 확인(ack) 했다는 메시지를 보내고 자신의 통신이 끝날때 까지 기다리게함. 서버는 close wait 상태 클라이언트는 종료신호를 기다리겠다는 fin_wait2 상태 전환
3) 서버가 통신이 끝나면 이제 종료해도된다는 (fin) 플래그를 클라이언트에 전달. 서버는 last_ack 상태로 전환, 클라이언트는 time_wait 상태 전환
4) 클라이언트는 연결종료를 확인했다는 응답(ack) 플래그를 보냄. 서버 상태 closed
UDP 특징 사용자 데이터그램 프로토콜(User Datagram Protocol)
• 하얀 도화지에 비유(기능이 거의 없음)
• 연결지향 X - TCP 3 way handshake X
• 데이터 전달 보증 X
• 순서 보장 X
• 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
• 정리
• IP와 거의 같다. +PORT +체크섬 정도만 추가
• 애플리케이션에서 추가 작업 필요
'프로그래밍 > HTTP' 카테고리의 다른 글
URI와 웹 브라우저 요청 흐름 (0) | 2023.10.11 |
---|---|
PORT,DNS (0) | 2023.10.10 |
인터넷 네트워크 (0) | 2023.10.10 |