[네트워크] TCP,UDP

함민혁·2023년 7월 17일
0

cs면접준비

목록 보기
16/43

인테넛 프로토콜 스택 4계층

인터넷 프로토콜 스위트라고도 불리며 인터넷을 구성하는 기본적인 프로토콜의 집합
인터넷 프로토콜 스위트는 TCP/IP 프로토콜 스택이라고도 불림. 이 규칙들은 데이터를 보낼 때 어떤 방식으로 보낼지, 어떤 경로로 보낼지, 데이터의 조각을 어떻게 조립할지 등을 정의
TCP는 신뢰성 있는 데이터 전송을 담당하고, IP는 데이터의 경로를 설정하고 전달함. 이외에도 ICMP, UDP,ARP 등 다른 규칙들도 있음

전송 과정

소켓 라이브러리를 통해서 os 계층에 'hello world' 라는 메세지를 넘김
그러면 os계층에서 TCP가 'hello world'라는 메세지에 TCP 정보를 씌움
그 다음 밑에 한칸 더 내러서 그 겉에 또 IP를 씌움 => IP패킷 생성됨
마지막 네트워크 인터페이스를 통해서 나갈 때 이더넷 프레임이라는 걸 최종적으로 씌워서 나감
(이더넷 프레임 : 물리적인 정보들이 포함되어있음)

IP패킷 안에 TCP 정보가 들어가있음

출발지 포트, 목적지 포트, 전송 제어, 순서, 검증 정보 등등이 포함되어있음 -> IP만 사용했을때의 문제 해결

TCP란

전송 제어 프로토콜(transmission control protocol)
1. 연결지향 : 상대방과 내가 연결이 되어있나 확인하고 보냄
2. 데이터 전달 보증 : 상대방이 받았는지 안받았는지 확인 가능
3. 순서 보장 : 최적화 방법에 따라 다를 수 있지만, 기본적으로 잘못된 순서로 서버에 패킷이 전달되면 서버는 패킷을 어디서부터 다시 보내야하는지 명시해줌

TCP를 거치게 되면 이 정보들이 추가됨 ( 출발지 포트, 목적지 포트, 전송 제어, 순서 ,검증 정보)

by TCP 3-Way Handshake

UDP란

TCP란 다르게 데이터를 패킷으로 나누고 반대편에서 재조립하는 과정을 거치지 않음

수신 측에서 제대로 받던 안받던 그냥 데이터를 보내가만 함.
데이터 전달 보증 x, 순서 보장 x

정리를 해보면 IP와 거의 동일하지만 PORT와 체크섬 정보가 들어있음

포트의 역할 : 내 컴퓨터에서 게임도하고, 노래도 듣고 있으면 내 IP로 여러 패킷이 막 올텐데 이 패킷들을 구분해줌

UDP를 왜 쓸까 그럼

빨라서

최근 HTTP3 스펙의 등장과 함께 UDP가 각광을 받고 있음
90퍼센트가 TCP이지만 시대가 바뀌면서 UDP가 뜨고있음
웹브라우저에서 http 통신을 할 때 UDP를 씀으로써 최적화...

profile
Born to be FE developer 🧑🏻‍💻

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

정보가 많아서 도움이 많이 됐습니다.

답글 달기