twocowsong

[모든 개발자를 위한 HTTP 웹 기본 지식 - 3] 본문

IT/HTTP

[모든 개발자를 위한 HTTP 웹 기본 지식 - 3]

WsCode 2022. 1. 22. 16:04

TCP


1. 친구에게 Hello, world! 메세지를 보냈다.
2. 소켓 라이브러리를 통해 메세지가 어플리케이션에서 출발한다.
3. OS에서 메세지에다가 TCP 패킷을 추가한다.
4. 메세지에다가 IP 관련 정보를 추가한다.
5. 네트워크를 통해서 나갈때 Ethernet Frame 정보를 추가한다. (인터넷 맥주소 등등.. 포함)

위처럼 내용대로 완성된 패킷은 아래와 같다.

IP 정보로 인해 출발지에서 목적지까지 패킷이 전송되며 TCP 정보로 인해 IP 문제였던 순서, 검증이 해결이된다. 그리고 전송데이터(hello, world!)가 전송된다.

그러면 TCP에는 어떠한 특징이 있을까?

TCP (Transmission Control Protocol) 특징
TCP : 전송제어 프로토콜
1. 연결지향 - TCP 3 way handshake (가상연결)
목적지랑 연결여부를 확인후 데이터를 전송한다. (IP에 비연결성문제 해결)
2. 데이터 전달 보증 , 순서 보장 (IP에 비신뢰성문제 해결)

TCP는 신뢰 할 수 있으며 , 현재는 대부분 TCP를 사용한다.


TCP 특징중 3 way handshake 이며 클라이언트와 서버가 연결을 확인 후 데이터를 전송 하는 방식이다.


IP 프로토콜의 문제점을 위와 같은 방식으로 해결하고있다.