낳로그
로그인
낳로그
로그인
TCP UDP
나현
·
2022년 12월 14일
팔로우
2
http
2
HTTP 정리
목록 보기
2/4
인터넷 프로토콜 스택의 4계층
인터넷 프로토콜 스택이란 각각의 계층에서 통신에 사용되는 프로토콜의 모음이다.
인터넷 프로토콜 스택의 4계층
애플리케이션 계층 - HTTP, FTP, SMTP
전송 계층 - TCP, UDP
인터넷 계층 - IP
네트워크 인터페이스 계층 - LAN 드라이버, LAN 장비
- 애플리케이션 계층은 종단 시스템에 있어 다른 종단 시스템과 데이터를 송수신하며, 패킷을 메시지(message)라고 한다.
- 전송 계층은 전송을 위해 필요한 정보(출발지 port, 목적지 port ...)를 추가하며, 패킷을 세그먼트(segment)라고 한다.
- 인터넷 계층은 출발지와 목적지에 관련된 정보(출발지 ip, 목적지 ip ...)를 추가한다.
- 네트워크 인터페이스 계층을 통해서 연결된 기기간의 데이터 전송을 제어한다.
메시지를 생성하여 SOCKET 라이브러리를 통해 OS 계층으로 전달한다.
TCP 정보를 생성한다.
IP 패킷을 생성한다.
TCP특징
연결지향 프로토콜이며, 3 way handshake(가상연결)을 사용한다.
데이터 전달을 보증한다. -> 패킷이 누락되었는지 알 수 있다.
패킷 전송 순서를 보장한다.
신뢰할 수 있는 프로토콜이다.
현재는 대부분이 TCP를 사용한다.
- 3way handshake(가상연결)
TCP에서 장치들 사이에서 논리적인 접속을 성립하기 위해 사용된다.
3 way handshake는 물리적으로 연결이 된것이 아니라 논리적으로 연결된것이다.
정확한 전송을 위해 상대방 기기와 사전에 세션을 수립하는 과정이다.
Client > Server : SYN
Server > Client : SYN ACK
Client > Server : ACK
syn(접속요청), ack(요청수락), ack와 함께 데이터 전송 가능하다.
- 데이터 전달 보증
데이터를 전송했을때, 서버에서 데이터를 받았다고 응답을 보내줌으로써 데이터가 전달된것을 알 수 있다.
- 순서보장
클라이언트가 패킷을 1,2,3 순으로 보냈을때 서버에 도착한 패킷의 순서가 1,3,2라면 패킷을 버리고 서버에서 클라이언트에게 2번부터 다시 보내라는 메시지를 전달함.
UDP특징
기능이 거의 없다.
연결지향 프로토콜이 아니며, 3 way handshake(가상연결)을 사용하지 않는다.
데이터 전달을 보증하지 않는다.
패킷 전송 순서를 보장하지 않는다.
데이터 전달 및 순서가 보장되지 않지만 단순하고 빠르다는 장점이 있다.
기능이 IP와 거의 같으며, PORT와 CHECKSUM의 기능이 추가된 정도이다.
애플리케이션 계층에서 추가 작업이 필요하다.
해당 포스팅은 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 토대로 작성하였습니다.
강의 보러가기
나현
팔로우
이전 포스트
IP(Internet Protocol)이란?
다음 포스트
PORT
0개의 댓글
댓글 작성
관련 채용 정보