* 아래 내용은은 상당부분 ChatGPT를 참고하여 작성되었으므로 틀린 내용이 있을 수 있음에 유의해주십시오.
TCP/IP: TCP/IP는 인터넷 프로토콜 스위트의 핵심 프로토콜로, 네트워크 계층에서 데이터를 전송하고 관리하는 역할을 한다. TCP(Transmission Control Protocol)와 IP(Internet Protocol)의 두 가지 주요 프로토콜로 구성된다.
인터넷 프로토콜 스위트(영어: Internet Protocol Suite)는 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 통신규약(프로토콜)의 모음이다. 인터넷 프로토콜 슈트 중 TCP와 IP가 가장 많이 쓰이기 때문에 TCP/IP 프로토콜 슈트라고도 불린다.인터넷 프로토콜 스위트는 1960년대 말 방위고등연구계획국(DARPA)이 수행한 연구개발의 결과로 탄생하였다. (출처 : 위키피디아)
TCP (Transmission Control Protocol):
- TCP는 패킷 전송 기술의 일종으로, 데이터의 신뢰성과 순서를 보장하는 역할을 합니다.
- 연결 지향형 프로토콜이다. 데이터를 작은 세그먼트로 나누어 전송하고, 수신자가 올바르게 데이터를 받았는지 확인한다.
- 신뢰성 있는 전송을 보장하기 위해 흐름 제어, 오류 검출 및 수정, 세그먼트 재전송 기능을 포함한다.
- 3-way handshake 과정을 통해 연결을 설정한다. 이는 SYN, SYN-ACK, ACK 패킷의 교환으로 이루어진다.
- 각 세그먼트에는 시퀀스 번호와 확인 응답 번호가 포함되어 있어 데이터가 올바른 순서로 전송되고 수신되었는지 확인할 수 있다.
- 흐름 제어를 위해 윈도우 크기(window size)를 사용하며, 혼잡 제어를 통해 네트워크 혼잡을 완화한다.
IP (Internet Protocol):
- 비연결 지향형 프로토콜이다. 데이터그램(datagram)이라 불리는 패킷을 전송하며, 각 패킷은 독립적으로 처리된다.
- 주로 IP 주소를 사용하여 출발지와 목적지 간의 경로를 결정하고 데이터 패킷을 전달한다.
- IPv4와 IPv6 두 가지 버전이 있으며, IPv4는 32비트 주소 체계를, IPv6는 128비트 주소 체계를 사용한다.
- 라우팅 테이블과 프로토콜을 통해 네트워크 간의 최적 경로를 결정한다. 대표적인 라우팅 프로토콜로 OSPF, BGP 등이 있다.
예시로 보는 TCP/IP 통신 과정
- 데이터 생성
- 사용자 A가 컴퓨터에서 이메일을 작성하고 전송 버튼을 누른다.
- TCP: 데이터 분할
- 이메일 내용이 TCP에 의해 작은 세그먼트로 분할된다.
- IP: 주소 지정
- 각 세그먼트에 사용자 B의 IP 주소(목적지)와 사용자 A의 IP 주소(출발지)가 추가된다.
- 데이터 전송
- 세그먼트들은 네트워크를 통해 사용자 B의 컴퓨터로 전송된다.
- 각 세그먼트는 최적의 경로를 통해 독립적으로 전송될 수 있다.
- TCP: 데이터 재조립 및 확인
- 사용자 B의 컴퓨터에서 TCP가 세그먼트를 원래의 순서대로 재조립한다.
- 누락된 세그먼트가 있으면 사용자 A에게 재전송을 요청한다.
- 데이터 도착
- 이메일이 완전한 형태로 사용자 B의 이메일 클라이언트에 도착한다.
+-----------------+ +-----------------+
| 사용자 A의 컴퓨터| | 사용자 B의 컴퓨터 |
| (데이터 생성) | | (데이터 도착) |
+-----------------+ +-----------------+
| |
| +-----------+ |
| | TCP | |
| | (데이터 분할)| |
| +-----------+ |
| | |
| +-----------+ |
| | IP | |
| | (주소 지정)| |
| +-----------+ |
| | |
| 네트워크 전송 |
| (라우터, 스위치 등) |
| | |
| +-----------+ |
| | IP | |
| | (주소 확인)| |
| +-----------+ |
| | |
| +-----------+ |
| | TCP | |
| |(데이터 재조립)| |
| +-----------+ |
| |
+-----------------+ +-----------------+
| 사용자 A의 컴퓨터| | 사용자 B의 컴퓨터 |
| (데이터 생성) | | (데이터 도착) |
+-----------------+ +-----------------+
TCP/IP의 등장 배경
TCP/IP는 1960년대 후반과 1970년대 초반에 미국 국방부의 고등연구계획국(ARPA, Advanced Research Projects Agency) 프로젝트의 일환으로 개발되었습니다. 당시의 주요 목표는 서로 다른 네트워크 간의 데이터 통신을 가능하게 하는 것이었습니다. 초기 컴퓨터 네트워크는 서로 다른 프로토콜을 사용하여 상호 운용이 불가능했습니다. 이를 해결하기 위해 네트워크 간의 호환성을 보장하는 표준 프로토콜의 필요성이 대두되었습니다.
TCP/IP의 개발 및 주요 인물
- 래리 로버츠 (Larry Roberts):
- ARPANET 프로젝트의 주요 책임자로, 초기 패킷 교환 네트워크의 개발을 이끌었습니다.
- 네트워크의 상호 연결성을 보장하기 위해 TCP/IP의 필요성을 인식했습니다.
- 로렌스 로버츠 (Lawrence Roberts):
- ARPA의 IPTO (Information Processing Techniques Office) 디렉터로, ARPANET의 개발을 주도했습니다.
- 로버트 칸 (Robert Kahn):
- ARPANET 프로젝트의 리더 중 한 명으로, TCP/IP 프로토콜의 개발에 중요한 역할을 했습니다.
- 1972년, ARPANET 프로젝트에 참여하여 네트워크 간의 데이터 전송 문제를 해결하는 방법을 모색했습니다.
- 빈트 서프 (Vint Cerf):
- 1973년, 로버트 칸과 함께 TCP/IP 프로토콜을 설계하였습니다.
- TCP/IP의 아키텍처와 프로토콜 스택을 설계하는 데 중추적인 역할을 했습니다.
TCP/IP의 주요 역사적 사건
- ARPANET:
- 1969년, ARPANET이 구축되었습니다. 이는 최초의 패킷 교환 네트워크로, 서로 다른 호스트 간의 데이터 전송을 가능하게 했습니다.
- 초기 ARPANET은 NCP(Network Control Protocol)를 사용했습니다.
- TCP/IP의 설계:
- 1973년, 로버트 칸과 빈트 서프가 TCP/IP 프로토콜의 설계를 시작했습니다.
- 초기 설계는 하나의 통합된 프로토콜로 시작되었으나, 이후 TCP와 IP로 분리되었습니다.
- RFC 675:
- 1974년, TCP 프로토콜의 최초 사양인 RFC 675가 발표되었습니다. 이는 TCP/IP 프로토콜의 기초를 제공하였습니다.
- TCP/IP의 분리:
- 1978년, TCP와 IP가 두 개의 별도 프로토콜로 분리되었습니다. TCP는 데이터 전송의 신뢰성을 보장하고, IP는 패킷의 주소 지정과 라우팅을 담당합니다.
- ARPANET에서 TCP/IP 도입:
- 1983년 1월 1일, ARPANET이 공식적으로 NCP에서 TCP/IP로 전환되었습니다. 이는 TCP/IP가 표준 인터넷 프로토콜로 채택된 중요한 사건이었습니다.
TCP/IP가 널리 받아들여진 이유
- 상호 운용성:
- TCP/IP는 서로 다른 하드웨어와 소프트웨어 간의 호환성을 보장하여, 다양한 네트워크 환경에서 사용할 수 있습니다.
- 신뢰성:
- TCP는 데이터 전송의 신뢰성을 보장하여, 데이터가 손실되지 않고 올바른 순서로 전달되도록 합니다.
- 유연성:
- TCP/IP는 다양한 네트워크 크기와 유형에 유연하게 적용될 수 있습니다. 작은 로컬 네트워크에서부터 대규모 글로벌 네트워크까지 지원합니다.
- 확장성:
- IP 주소 체계와 라우팅 프로토콜을 통해 대규모 네트워크로 확장할 수 있는 능력을 제공합니다.
- 오픈 표준:
- TCP/IP는 오픈 표준으로 개발되어, 누구나 구현하고 사용할 수 있습니다. 이는 기술의 확산과 채택을 촉진하였습니다.
TCP/IP의 역사적 발전
- 1980년대:
- TCP/IP가 ARPANET의 표준 프로토콜로 채택되면서, 다른 네트워크에서도 채택되기 시작했습니다.
- 대학, 연구기관, 정부 기관에서 TCP/IP를 사용하여 네트워크를 구축하였습니다.
- 1990년대:
- 월드 와이드 웹(WWW)의 등장과 함께 인터넷 사용이 급증하면서 TCP/IP의 중요성이 더욱 부각되었습니다.
- 상업적 인터넷 서비스 제공업체(ISP)가 등장하면서 TCP/IP가 대중화되었습니다.
- 2000년대 이후:
- IPv6가 개발되어 IP 주소 부족 문제를 해결하고, TCP/IP의 확장성을 더욱 강화했습니다.
- IoT(사물 인터넷), 클라우드 컴퓨팅, 모바일 인터넷 등 다양한 분야에서 TCP/IP가 표준 프로토콜로 사용되고 있습니다.
'IT지식' 카테고리의 다른 글
오라클과 아마존의 역사 (0) | 2024.07.08 |
---|---|
데이터 통신 기술의 원리와 역사, 미래 (0) | 2024.07.08 |
인터넷의 역사와 원리 (0) | 2024.07.08 |
게이트웨이란? Gateway (0) | 2024.07.07 |
네트워크란, 데이터 통신의 역사와 원리 (작성중) (0) | 2024.07.07 |
댓글