TCP/IP(Transmission Control Protocol / Internet Protocol)란 무엇인가?
TCP/IP는 오늘날 인터넷과 거의 모든 네트워크 통신의 기반을 이루는 핵심 프로토콜 스택입니다.
TCP/IP는 두 가지 주요 프로토콜인 '전송 제어 프로토콜(TCP)과 인터넷 프로토콜(IP)로 구성되어 있으며,
이를 통해 컴퓨터 간의 데이터 전송이 가능합니다.
이 시스템은 하드웨어나 운영체제와 관계 없이 서로 다른 네트워크 기기들이 원활하게 통신할 수 있도록 해줍니다.
TCP/IP의 기본 개념
프로토콜이란?
프로토콜은 컴퓨터들이 서로 통신하기 위해 따르는 규칙과 절차의 집합입니다.
TCP/IP는 이러한 규칙들을 정의하여, 데이터를 전송하고 수신하는 과정에서 발생할 수 있는 문제들을 해결합니다.
TCP / IP 구조
TCP/IP는 네 개의 계층으로 구성된 프로토콜 스택입니다.
각각의 계층은 특정한 기능을 담당하며, 상위 계층이 하위 계층의 기능을 이용하는 방식으로 동작합니다.
네트워크 인터페이스 계층(Network Interface Layer)
네트워크 인터페이스 계층은 데이터를 실제로 네트워크를 통해 전송하는 역할을 담당합니다.
이 계층에서는 컴퓨터에서 생성된 디지털 데이터(ex. 01010101)를 물리적 신호(ex. 전기 신호, 무선 신호)로 변환하여 네트워크로 전송합니다. 이 작업은 주로 네트워크 어댑터(이더넷 카드, 무선랜 카드 등)을 통해 수행됩니다.
주요 프로토콜 및 장비 : 이더넷(Ethernet),Wi-Fi, 네트워크 스위치 및 모뎀
네트워크 인터페이스 게층은 단순히 내 컴퓨터와 네트워크를 연결하는 케이블만이 아니라, 네트워크 내에서 데이터의 물리적 이동을 담당하는 모든 장비와 프로토콜을 포함합니다.
집에서 사용하는 인터넷 모뎀이나 회사에서 사용하는 스위치 같은 장비도 모두 이 계층에 속합니다.
인터넷 계층(IP 계층)(Internet Layer)
인터넷 계층은 데이터를 목적지까지 효율적으로 전달하기 위해 네트워크 간의 라우팅을 담당합니다.
이 계층은 데이터 패킷을 전송하고, 패킷이 올바른 목적지에 도착하도록 하는 중요한 역할을 합니다.
주요 프로토콜
* IP(Internet Protocol) : 패킷의 목적지 주소를 지정하고, 이를 기반으로 라우팅을 수행합니다.
* ICMP(Internet Control Message Protocol) : 네트워크 진단 및 오류 보고에 사용됩니다.
예를 들어, 'ping'명령어가 ICMP를 사용합니다.
* ARP/RARP (Address Resolution Protocol / Reverse ARP) : IP 주소를 MAC 주소로 변환하는 데 사용됩니다.
이 계층에서 중요한 장비는 라우터입니다. 라우터는 네트워크와 네트워크를 연결하고, 패킷을 올바른 경로로 안내하여 최종 목적지에 도달할 수 있도록 합니다. 이를 통해 인터넷에서 데이터가 전 세계를 거쳐 안전하게 전달됩니다.
전송 계층(Transport Layer)
전송 계층은 데이터의 신뢰성 있는 전송을 보장하고, 데이터가 올바른 애플리케이션에 전달되도록 관리합니다.
이 계층은 양단간(end-to-end) 통신을 담당하며, 데이터가 손실되거나 중복되지 않도록 합니다.
주요 프로토콜
* TCP(Transmission Control Prootocol) : 연결 지향 프로토콜로, 데이터의 정확한 전송을 보장합니다. 데이터의 흐름 제어, 오류 검사 및 재전송 기능을 제공합니다.
* UDP(User Datagram Protocol) : 비연결형 프로토콜로, 데이터 전송의 속도를 중시합니다. 신뢰성 보장이 필요하지 않은 애플리케이션에서 사용됩니다.
전송 계층은 또한 포트(Port)라는 논리적 주소를 사용하여 여러 애플리케이션 간의 데이터를 구분합니다.
예를 들어, 웹 브라우저가 사용하는 HTTP는 포트 80을, 이메일 전송에 사용되는 SMTP는 포트 25를 사용합니다. 이를 통해 한 컴퓨터에서 여러 애플리케이션이 동시에 네트워크를 사용할 수 있게 됩니다.
응용 계층(Application Layer)
응용 계층은 사용자가 직접적으로 상호작용하는 계층으로, 다양한 네트워크 응용 프로그램이 이 계층에서 동작합니다.
이 계층의 프로토콜은 실제 네트워크 서비스와 응용 프로그램이 데이터를 주고 받는 방식을 정의합니다.
주요 프로토콜
* HTTP(Hypertext Transfer Protocol) : 웹 브라우저와 웹 서버 간의 데이터 전송에 사용됩니다.
* SMTP(Simple Mail Transfer Protocol) : 이메일 전송에 사용됩니다.
* FTP (File Transfer Protocol) : 파일 전송에 사용됩니다.
응용 계층은 사용자가 자주 접하는 웹 브라우저, 이메일 클라이언트, 파일 전송 도구와 같은 프로그램이 속하는 계층입니다.
이러한 프로그램들은 각자의 프로토콜을 사용하여 네트워크와 상호작용하며, 사용자가 필요한 서비스를 제공받을 수 있게 합니다.
TCP/IP의 주요 특징
1. 하드웨어 독립성
TCP/IP는 특정 하드웨어에 의존하지 않고 작동합니다. 이는 다양한 네트워크 기술과 장비가 TCP/IP를 통해 통신할 수 있음을 의미합니다. 즉, 서로 다른 제조사의 장비나 다른 네트워크 기술을 사용하는 장비간에도 문제가 없이 데이터를 주고받을 수 있습니다.
2. 확장성 및 유연성
TCP/IP는 전 세계의 다양한 네트워크를 연결할 수 있는 확장성과 유연성을 가지고 있습니다.
이를 통해 학회, 대학, 정부 기관, 기업 등이 하나의 거대한 네트워크로 연결될 수 있습니다.
3. 네트워크 서비스
TCP/IP는 파일 전송(FTP), 원격 로그인(SSH), 이메일 전송(SMTP) 등 다양한 네트워크 서비스를 제공합니다.
이를 통해 사용자는 원격 시스템에 접근하거나 다른 사용자와 통신할 수 있습니다.
4. 신뢰성 있는 전송
TCP는 데이터의 전송이 성공적으로 이루어지도록 보장합니다. 데이터가 손상되거나 유실되면, TCP는 이를 감지하고 해당 데이터를 재전송하여 수신자가 정확한 데이터를 받을 수 있도록 합니다.
오늘도 팀장님께서 공부해봤으면 좋겠다고 하신 TCP/IP 통신에 대해 정리 및 공부를 해봤습니다.
정리하면서 OSI 7계층 모델과의 비교도 하면 좋을 것 같아, TCP/IP모델과 OSI 모델의 비교도 나중에 한번 공부해봐야겠네요 :)
즐거운 개발공부 되세요 :>
출처
https://www.wisewiredbooks.com/csbooks/ch3-network-internet/tcp-ip-intro.html
https://www.ibm.com/docs/ko/aix/7.1?topic=management-transmission-control-protocolinternet-protocol
'Network' 카테고리의 다른 글
Network | TCP 세션의 SYN, ACK 패킷 추적 → 소켓, HTTP통신 (0) | 2024.08.06 |
---|---|
Network | Domain, DNS서버란? (0) | 2024.08.06 |
Network | 서브넷(Subnet)이란? (0) | 2024.07.31 |
Network | Public IP와 Private IP란? (0) | 2024.07.08 |
Network | IPv4와 IPv6란? (0) | 2024.07.08 |