인터넷 프로토콜 스택의 4계층
애플리케이션 계층 - HTTP, FTP
전송 계층 - TCP, UDP
인터넷 계층 - IP
네트워크 인터페이스 계층
예를 들어보겠다.
내가 미국에 있는 친구에게 카카오톡 채팅프로그램 애플리케이션을 통해
Hello World! 라는 메시지를 보내려고 한다.
SOCKET 라이브러리를 통해 전달할 때 OS계층에다가 메시지를 넘긴다.
OS에서 Hello World라는 메시지에 TCP정보(녹색) 를 씌운다.
IP계층에서 IP와 관련된 정보를 씌어서 IP패킷을 생성한다.
그래서 모든 정보가 마지막 인터넷 프레임을 씌어서
네트워크 인터페이스를 통해 서버로 전달된다.
여기서 잠깐!
패킷이라는 말은 무엇일까?
pakage+buket의 합성어로 덩어리 ? 이런 느낌으로 이해하면 된다.
PORT와 전송제어, 순서, 검증정보를 담기 때문에
IP의 한계를 TCP가 해결해준다.
TCP의 특징
전송제어 프로토콜 (Transmission Control Protocol)
- 연결지향 - TCP 3 way handshake (가상 연결)
- 데이터 전달 보증
- 순서 보장
- 신뢰할 수 있는 프로토콜
- 현재는 대부분 TCP 사용
클라이언트도 서버도 3way handshake를 하면 서로 믿을 수 있다.
SYN을 보냈는데 서버에서 응답이 없으면
아 연결이 되지않았음을 클라이언트에서 인지하고 데이터를 전송하지 않는다.
요즘은 기술이 좋아져서 위 그림의 3번 ANK와 같이 데이터 전송을 한다고한다.
사실 위 방법은 개념적으로 논리적으로 연결이 된거다.
나를 위한 전용 랜선이 연결된게 아니다
UDP의 특징
사용자의 데이터그램 프로토콜(User Datagram Protocol)
-하얀 도화지에 비유 (기능이 거의 없음)
-연결지향 TCP 3way handshake x
-데이터 전달 보증 x
-순서 보장 x
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
-정리
- IP와 거의 같다. + PORT + 체크섬 정도만 추가
- 애플리케이션에서 추가 작업 필요
'네트워크와 CS' 카테고리의 다른 글
HTTP에서 DNS란 무엇일까? (0) | 2022.02.07 |
---|---|
HTTP에서 PORT란 무엇일까? (0) | 2022.02.07 |
IP (인터넷 프로토콜)은 무엇일까? (0) | 2022.02.07 |
인터넷 통신이란? (0) | 2022.02.07 |
매컴싸 발표 라이브러리와 프레임워크의 차이점 (0) | 2021.11.16 |