TCP/IP 프로토콜 스택

문딤·2022년 9월 2일
0
post-custom-banner

개요

TCP/IP 프로토콜 스택이란?

네트워크, 즉 인터넷으로 이루어지는 모든 통신은 정보를 담은 '패킷'을 교환을 통해 이루어진다.

이 패킷은 노트북이나 라우터와 같은 물리적인 장치에서 또 다른 장치로 이동하는데, 공기 중에 떠다닐 수 있는 전기 신호로 변환되기 때문에 가능한 일이다.

장치끼리 통신할 때 사용하기로 한 표준 '프로토콜' (규약) 이라는 것이 존재한다.

인터넷이 21세기만큼 보편화 되어 있지 않던 1900년대에는 규약이 따로 없었던 때도 있었지만, 갈수록 전달되는 payload (내용) 이 커짐으로써 정보 통신의 단위와 단계를 치밀하게 설계하여 효율성 증진의 필요성이 커졌다.

이에 따라 등장한 것이 네트워킹 과정을 표준화한 TCP/IP 프로토콜 스택 이다.

TCP & IP , 프로토콜 스택

TCP(Transmission Control Protocol):

  • Transport Layer 간의 통신을 가능하게 해주는 규약

IP(Internet Protocol):

  • Network Layer 간의 통신을 가능하게 해주는 규약

둘 다 별도 계층에서 동작하는 프로토콜이다. 하지만 거의 함께 사용한다고 한다.

💨 이 둘을 합쳐 'TCP/IP 프로토콜 스택'이라 한다.

데이터 송수신의 과정을 네 개의 영역으로 계층화했다.

LINK계층

LINK계층은 물리적인 영역의 표준화에 결과이다. 이는 가장 기본이 되는 영역으로 LAN,WAN,MAN과 같은 네트워크 표준과 관련된 프로토콜을 정의하는 영역이다.
두 호스트가 인터넷을 통해 데이터를 주고받기 위해 물리적인 연결이 존재해야 하는데 이부분에 대한 표준을 LINK계층에서 담당한다.(2 - 데이터 링크 계층)

IP계층

LINK계층으로 물리적인 연결이 형성되었으므로, 데이터를 보낼 준비가 된 것이다.
하지만 이때의 문제점이 있는데 바로 데이터 전송을 경로를 설정해야 하는 것이다.
목적지로 데이터를 전송하기 위해서 거치는 경로를 결정하는게 바로 IP계층이고, 이떄 사용하는 프로토콜이 IP이다.
IP자체는 비 연결지향적이며 신뢰할 수 없는 프로토콜인데 데이터를 전송할 때마다 거쳐야 할 경로를 설정해 주지만, 경로는 일정치 않고, 혹시 데이터 전송 도중 경로상 문제가 발생하면 다른 경로를 선택해 주는데, 이과정에서 데이터가 손실되거나 오류가 발생하는 등의 문제가 발생한다고 해서 이를 해결해주지 않는다.
즉 오류발생에 대한 대비가 되어있지 않은 프로토콜이다.

TCP/UDP 계층

호스트 대 호스트의 데이터 송수신 방식을 약속한 것이 TCP/UDP이며, TCP는 확인절차를 걸쳐서 신뢰성이 없는 IP에 신뢰성을 부여한 프로토콜이다.
데이터 전송을 위한 경로를 IP에서 설정해줬으므로, 데이터를 전송할 일만 남았다. TCP/UDP는 IP계층에서 알려준 정보를 바탕으로 데이터의 실제 송수신을 담당한다.
IP는 오로지 하나의 패킷전송만을 염두해 두고 만들어졌기 때문에 패킷 A가 먼저 보내졌어도 패킷B가 먼저 도착할 수도 있는 것이다.
하지만 TCP프로토콜이 추가 된다면 데이터를 송수신할때 받았는지 확인절차를 거치기 때문에 신뢰성이 증가함.

APPLICATION 계층

소켓을 이용해 무엇인가를 만드는 과정에서 프로그램의 성격에 따라 클라이언트와 서버간의 데이터 송수신에 대한 약속들을 APPLICATION프로토콜이라고 한다.

참고

https://haeunyah.tistory.com/85

profile
풀스택개발자가 될래요
post-custom-banner

0개의 댓글