본문 바로가기
목차훔치기/컴퓨터 네트워킹 하향식 접근

연결지향형 트랜스포트: TCP(컴퓨터 네트워킹 하향식 접근)

by 해삼2 2024. 1. 11.
728x90
반응형
연결지향형 트랜스포트: TCP

연결지향형 트랜스포트: TCP

TCP는 Transmission Control Protocol(전송 제어 프로토콜)의 약어로, 

인터넷 프로토콜 스위트(IP 스위트)에서 가장 널리 사용되는 연결 지향형 전송 프로토콜 중 하나입니다. 

이는 OSI 모델에서 전송 계층에 해당하며, 데이터를 안정적으로 전송하기 위한 프로토콜로 사용됩니다.

 

TCP 주요 특징

 

연결 지향성 (Connection-Oriented): 

TCP는 통신을 시작하기 전에 송신자와 수신자 간에 가상의 연결을 설정합니다. 

이 연결은 데이터를 안정적으로 전송하는 데 사용되며, 통신이 완료되면 연결을 해제합니다.

신뢰성 보장: 

TCP는 신뢰성 있는 전송을 제공합니다. 

데이터 전송 중에 손실이나 오류가 발생하면, 

TCP는 이를 감지하고 손상된 데이터를 다시 요청하여 전송의 정확성을 보장합니다.

흐름 제어 (Flow Control): 

수신자와 송신자 간의 데이터 전송 속도를 조절하여 네트워크 혼잡을 방지하는 흐름 제어 기능을 제공합니다.

혼잡 제어 (Congestion Control): 

네트워크 혼잡을 방지하고 성능을 최적화하기 위한 혼잡 제어 기능을 갖추고 있습니다. 

네트워크 상황에 따라 송신자의 속도를 동적으로 조절합니다.

가상 회선 (Virtual Circuit): 

TCP 연결은 가상 회선의 개념을 사용하여 통신하는 양쪽 간의 논리적인 경로를 설정합니다. 

이 가상 회선은 연결이 유지되는 동안 계속 존재하며, 통신이 끝나면 해제됩니다.

TCP는 주로 웹 브라우징, 이메일, 파일 전송 등과 같은 응용 프로그램에서 신뢰성 있는 

데이터 전송이 필요한 경우에 사용됩니다. 

그러나 UDP(사용자 데이터그램 프로토콜)와는 달리 약간의 오버헤드가 발생할 수 있으며, 

따라서 실시간 응용 프로그램에는 적합하지 않을 수 있습니다.

 

TCP의 발달 과정

 

ARPANET과 초기 단계 (1970년대 초): 

ARPANET은 인터넷의 선구자 중 하나로, 초기에는 네트워크 간 통신을 위해

NCP(Network Control Program)라 불리는 프로토콜을 사용했습니다.

그러나 NCP는 신뢰성 있는 통신을 보장하지 못했고,

이에 대한 대안으로 나타난 것이 TCP의 선조인 네트워크 전송 프로토콜(NET/CONCEPT)이었습니다.

TCP의 등장 (1970년대 중반): 

1974년, Vinton Cerf와 Bob Kahn은 TCP의 초기 버전에 대한 개념을 소개했습니다. 

이것은 "TCP의 개념 및 요구 사항 (RFC 675)"이라는 문서로 정리되었습니다. 

이후, 계속된 연구와 개발 노력을 통해 TCP가 더욱 안정되고 강력한 프로토콜로 발전하게 되었습니다.

TCP/IP 프로토콜 스위트 (1980년대): 

TCP는 IP(Internet Protocol)와 함께 사용되면서 TCP/IP 프로토콜 스위트가 형성되었습니다. 

이는 현재의 인터넷 프로토콜 기반이 되었으며, 

안정적인 데이터 통신을 지원하고 글로벌 네트워크에서 표준으로 사용되었습니다.

인터넷 확장과 표준화 (1980년대 후반 - 1990년대): 

인터넷의 확장과 함께 TCP/IP는 급격한 증가를 보였습니다. 

표준화 노력이 계속되면서 TCP/IP는 다양한 플랫폼과 시스템에서 적용 가능한 범용 프로토콜로 

자리 잡았습니다.

TCP의 성능 향상 (1990년대 이후): 

연결 속도가 향상되면서 TCP의 성능에 대한 연구와 개선이 계속되었습니다. 

혼잡 제어 알고리즘, 빠른 재전송 및 흐름 제어와 같은 기술적인 향상으로 안정적이고 효율적인 

데이터 전송이 가능해졌습니다.

인터넷의 상용화와 글로벌화 (2000년대 이후): 

인터넷의 상용화로 인해 TCP는 현재도 많은 응용 프로그램 및 서비스에서 사용되고 있습니다. 

빠르게 변화하는 통신 환경에 대응하기 위한 연구와 개발이 계속되고 있습니다.

TCP는 인터넷의 핵심을 이루는 프로토콜 중 하나로, 

지속적인 발전과 함께 안정성과 신뢰성을 유지하며 글로벌 네트워크 통신에서 중요한 역할을 하고 있습니다.

 

TCP의 작동 원리 자세히 알기

 

연결 설정 (Three-Way Handshake)
비유: 

해성과 민성은 각각 마트에 들어가기 전에 만나기로 합니다.


실제: 

클라이언트(해성)와 서버(민성) 간에는 "Three-Way Handshake"라고 불리는 과정이 있습니다. 

클라이언트가 서버에게 연결 요청을 보내고, 서버는 수락 응답을 하며 연결이 설정됩니다.


신뢰성 있는 데이터 전송
비유:

해성이는 민성에게 보낼 쇼핑 목록을 작성하고, 민성이 목록을 받으면 누락된 항목이 없도록 확인을 합니다.


실제: 

TCP는 데이터를 세그먼트로 나누어 전송하며, 각 세그먼트에는 일련번호가 포함되어 순서가 지정됩니다.

수신자는 세그먼트를 받고, 송신자에게 수신확인을 보내어 데이터의 정확성을 확인합니다.


흐름 제어 및 혼잡 제어

비유: 

해성과 민성이 서로 다른 속도로 쇼핑하는 동안, 민성이 느려지면 해성이는 기다려야 합니다.


실제: 

TCP는 흐름 제어를 통해 수신자가 처리할 수 있는 속도로만 데이터를 전송하며, 혼잡 제어를 통해 

네트워크 혼잡을 방지하고 성능을 최적화합니다.


연결 해제

비유: 

쇼핑을 마친 해성과 민성은 계산대에서 작은 이별의 인사를 나눈 후 나가게 됩니다.


실제: 

TCP 연결이 끝나면 "Four-Way Handshake"를 통해 안전하게 연결이 해제됩니다.


TCP가 
생성된 이유
TCP는 인터넷에서 안정적이고 신뢰성 있는 통신이 필요한 경우에 사용됩니다. 

예를 들어, 파일 전송, 이메일 송수신, 웹 브라우징 등에서 데이터 손실을 최소화하고 데이터의 순서를 

보장해야 할 때 TCP가 필요합니다.

예시:
데이터 손실 최소화: 

해성이가 민성에게 온라인으로 돈을 송금한다면, 돈 송금 정보가 유실되어서는 안 됩니다. 

TCP는 데이터를 안정적으로 전송하여 이러한 신뢰성을 제공합니다.

데이터의 순서 보장: 

웹 페이지의 이미지나 파일을 전송할 때, 이미지나 파일 조각들이 순서대로 나타나야 합니다. 

TCP는 데이터의 순서를 보장하여 올바른 순서로 데이터를 조립할 수 있도록 합니다.

 

 

*바쁜 사람을 위한 정

TCP는 전송 제어 프로토콜로 인터넷에서 가장 널리 사용 되고 있는 연결 지향형 프로토콜 입니다. 주요 특징으로는 송신자와 수신자 간에 가상 연결을 설정하여 데이터를 안정적으로 전송하며 신뢰성 및 데이터 전송 속도 즉 흐름 제어도 해주는 것이 특징입니다. 주로 웹 브라우징, 이메일, 파일 전송에서 많이 사용됩니다.

 

728x90
반응형