soowanlog

TCP/IP 본문

네트워크/규약

TCP/IP

개발자솬
네트워크/규약

TCP/IP

개발자솬 2024. 3. 6. 14:17
728x90
반응형
  • Internet Protocol Suite란?

Internet Protocol Suite는 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(Protocol)의 모음입니다.

Internet Protocol Suite 중 TCP와 IP가 가장 많이 쓰이기 때문에 TCP/IP Protocol Suite 로도 불립니다.

 

  • TCP/IP란?

TCP/IP는 패킷 통신 방식의 인터넷 프로토콜인 IP와 전송 조절 프로토콜인 TCP로 이루어져 있습니다. IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있습니다. TCP는 IP 위에서 동작하는 프로토콜로 데이터의 전달을 보증하고 보낸 순서대로 받게 해 줍니다. HTTP, SMTP 등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP위에서 동작하기 때문에 묶어서 TCP/IP로 부르기도 합니다.

 

이렇듯 TCP/IP는 하나의 프로토콜이 아닌 TCP와 IP를 합쳐서 부르는 말입니다. 즉, TCP/IP를 말한다는 것은 송신자가 수신자에게 IP 주소를 사용하여 데이터를 전달하고 그 데이터의 전달에 대한 보증을 이야기하는 것입니다.

 

  • TCP의 작동

TCP를 사용하는 송신자와 수신자는 데이터를 전송하기 전 먼저 서로 통신이 가능한 지 의사를 묻고 한 번에 얼마나 받을 수 있는지 등의 정보를 확인합니다. 이는 신뢰성 있는 통신을 하기 위함입니다.

 

TCP는 TCP Header 내의 'SYN', 'SYN/ACK', 'ACK' Flag를 사용하여 통신을 시도합니다. 이를 '3-way handshake'라고 부릅니다.

※ 3-way handshake


- 송신자가 수신자에게 'SYN'을 날려 통신이 가능한지 확인합니다. 이때 Port가 열려 있어야 함
- 수신자가 송신자로부터 'SYN'을 받고 'SYN/ACK'를 송신자에게 날려 통신할 준비가 되었음을 알림
- 송신자가 수신자의 'SYN/ACK'를 받고 'ACK'를 날려 전송을 시작함을 알림 

 

 TCP로 이루어지는 모든 통신은 반드시 '3-way handshake'를 통해 시작합니다.

 

  • TCP의 특징

- 흐름 제어 :

송신자는 자신이 한 번에 얼마나 보낼 수 있는지, 수신자는 자신이 데이터를 어디까지 받았는지 끊임없이 확인하고 TCP Header 내의 'Window size'를 사용해 한번에 받고 보낼 수 있는 데이터의 양을 정합니다.

이는 수신자가 '3-way handshake' 때 정합니다.

그리고 수신자는 지금까지  받은 데이터 양을 확인하여 송신자에게 보내는데 이를 'Acknowledgment Number'라고 합니다.

만약 수신자가 300번째 데이터를 받았으면 'Acknowledgment Number'에 1을 추가하여 301을 보냅니다.

그리고 이 데이터의 순서 번호를 표기한 것이 바로 'Sequence Number'입니다.

 

- 혼잡 제어 :

데이터가 지나가는 네트워크망의 혼잡을 제어하는 다양한 방법 중 'Slow Start'는 송신자가 연결 초기에 데이터 송출량을 낮게 잡고 보내면서 수신자의 수신을 확인하며 데이터 송출량을 조금씩 늘리는 방법입니다.

이 과정을 통해 현재 네트워크망에서 가장 적합한 테이터 송출량을 확인할 수 있게 됩니다.

이것이 'Slow Start'입니다.

참    고    자    료

- TCP/IP란 무엇이며 어떤 원리로 작동하나요? | NordVPN

 

- TCP/IP 쉽게 이해하기 | 네트워크 엔지니어 환영

 

728x90
반응형

'네트워크 > 규약' 카테고리의 다른 글

HTTP  (0) 2024.03.19
UDP  (0) 2024.03.06
ICMP  (0) 2024.03.06