위키 백과에서 아래처럼 설명하고 있다.
TCP/IP는 패킷 통신 방식의 인터넷 프로토콜인 IP (인터넷 프로토콜)와 전송 조절 프로토콜인 TCP (전송 제어 프로토콜)로 이루어져 있다. IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다.(unreliable datagram service) TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다. HTTP, FTP, SMTP 등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP 위에서 동작하기 때문에, 묶어서 TCP/IP로 부르기도 한다.
하나씩 풀어서 이해를 하자.
1️⃣ 전화를 한다고 생각해보자.
전화를 할 때에는 양쪽이 모두 연결되어야 전화가 가능하다.
A-B가 연결되면 하나의 회선은 그 둘만 사용이 가능하다 = 서킷 통신
처음부터 둘이 1:1연결이 되거나 교환소를 거쳐서 연결이 되기도 한다.
A-B가 통화중인데 C가 B랑 전화하고 싶다고 한다면? A가 끊을때까지 기다려야 한다.
😃 어디선가 본 냉전시대의 미국의 예시가 재미있었다.
2️⃣ 위와 같은 서킷 통신은 1:1인데 전쟁을 하고 있던 미국은 통신망이 붕괴될 경우, 아무 연락조차 취할 수 없는 상황이 된다. 서킷 통신이 이런 회선단절에 매우 치명적이게 된다.
분명 긴급한 상황에서의 통신 방법은 아님이 분명하다.
🧐 그럼 뭐가 좋은 방법일까?
3️⃣ A-B사이에 여러개의 망을 둔 다고 생각해보자.
A-B가 연결되는데 예전에는 교환소 1개가 역할을 했지만 교환소를 여러개로 늘려서
하나의 교환소가 망가지면 다른데로 연결하면 되는거 아닌가..?
물론 가능 하지만 망가질때마다 가능한 교환소를 찾아서 다시 연결해야 한다..🙀
😇 여기서부터 새로운 발상이 나온다.
4️⃣ 다중망 자체가 약점이 있기에 한번에 모든 내용을 한번에 보내지 않고 내용을 잘게 쪼개서 보내는 방법이다. 잘게 잘라진 조각들이 각각의 목적지로 이동한다. 목적지를 향하여 가능한 크고 빠른 길로 가되 그 길이 복잡하다면 돌아가더라도 우회도로를 찾아가도록.
5️⃣ 그럼 A-B가 통신 할 때, A -> a,b,c,d,e -> B 이렇게 보내는데
a,b,c,d,e는 각각 목적지로 빠른길을 찾아 간다. 물론 순서 보장이 되지 않고 전송 보장이 되지 않는다. (대충 감이 오는가?😌)
🔎 그럼 어찌 해야할까? 목적지에서 받아서 순서를 맞추고 안 온 데이터들이 있으면 그것만 요청하는 것이다.
🆗 이렇게되면 가장 처음 문제였던 하나의 회선을 누가 쓰고 있다면 통화를 못하는 경우 와 같은 상황도 해결이 된다.
지속적으로 회선을 점유하고 있지 않기에 여러 사람이 회선을 같이 쓸 수 있다.
가는 길만 공유하는 것이다.
이게 바로 패킷 통신⚡️이다.
오늘의 인터넷 통신은 위에서 본 패킷 통신을 기본으로 하고 있다.
TCP/IP는 이러한 패킷 통신을 하기 위한 인터넷 규약이다.
IP는 데이터 조각을 최대한 빨리 목적지에 보내려 한다. 조각이 순서가 맞든 아니든 다 제대로 갔든 아니든 일단 보내는 데 집중한다.
TCP는 IP보다 느리지만 꼼꼼하게 검사한다. 도착한 조각들을 줄 세워서 누락된 조각을 요청한다.
두 방식을 조합하여 통신하기 위함이 TCP/IP이다.
🆙 다시 위키 백과 설명을 보자.
TCP/IP는 패킷 통신 방식의 인터넷 프로토콜인 IP (인터넷 프로토콜)와 전송 조절 프로토콜인 TCP (전송 제어 프로토콜)로 이루어져 있다.
패킷 통신 방식은 위에서 이야기 하였다. 그러한 방식으로 통신할 때 필요한 규약 = IP
IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다.(unreliable datagram service)
TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다.
IP와 TCP의 역할도 위에서 설명하였다.
HTTP, FTP, SMTP 등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP 위에서 동작하기 때문에, 묶어서 TCP/IP로 부르기도 한다.
전반적인 이해를 마쳤으면 자세하게 보자.
192.168.9.255
와 같이 3개의 마침표로 나누어진다.위에서 주구장창 설명했듯 TCP/IP는 결국 IP기반에 TCP가 사용된 것이다.
TCP가 데이터 추적을, IP가 데이터 배달을 한다.
HTTP, SMTP
등의 프로토콜을 가진다.Email(STMP), HTTP, HTTPS, FTP, TELNET 등 우리에게 익숙한 인터넷 서비스가 대부분 TCP/IP 기반이다.