본문 바로가기
강의 정리

TCP/IP (Transmission Control Protocol/Internet Protocol)

by iOS 개린이 2022. 9. 29.

-이전 시간에 OSI 7 Layer에 관해서 공부해보았는데, 현재 우리가 사용하고 있는 네트워크 모델은 OSI 모델이 아닌 TCP/IP 모델이라고 한다. (OSI 모델은 단지 네트워크를 묘사해주기 위한 모델)

-예전에는 우편을 활용해서 메시지를 주고 받았다. 우편 서비스를 이용하기 위해서 정해진 규칙에 맞게 봉투에 이름과 주소를 기재해야 했다. 이와 같이 인터넷상에도 데이터를 주고 받기 위해 정해진 규칙을 따라야 하고, 우리가 주로 이용하는 규칙이 TCP/IP 모델인 것이다.

 

TCP/IP

-TCP는 전송 제어 프로토콜(Transmission Control Protocol)의 약자로 다른 기기로 데이터를 전송하는 것을 담당한다. (TCP는 IP위에서 동작하는 프로토콜)

IP는 인터넷 프로토콜(Internet Protocol)의 약자로 해당 IP 주소로 데이터의 조각을 최적의 효율로 보내는 역할을 담당한다. 

이렇게 각각 담당하는 작업이 있다. IP가 패킷 전달 여부를 보증하지 않고, 패킷을 받는 순서가 달라질 수 있는데, 여기서 TCP가 IP 위에서 동작하면서 데이터의 전달을 보증하고, 보내는 순서대로 받을 수 있도록 해준다. 

즉, IP는 가장 효율적인 경로로 데이터를 보내는 일을 하고, TCP는 그 데이터의 전달이나 순서를 관리하는 작업을 한다.

 

-인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 프로토콜의 집합을 말한다.

-컴퓨터가 서로 통신하는 경우, 특정 규칙이나 프로토콜을 사용하여 순서대로 데이터를 전송 및 수신할 수 있는데 가장 일상적으로 사용하는 프로토콜 세트 중 하나가 TCP/IP이다.

 

 

TCP/IP 계층

-Applicaion, Transport, Internet 그리고 Network Access 계층 총 4개의 계층을 가지고 있다. 

-이 계층들은 규칙이나 프로토콜이 적용되는 특정한 조건을 의미하고, 이런 시스템을 통해 다양한 기기와 앱에서 효율적으로 통신할 수 있다.

 

Applicaion Layer

-특정 서비스를 제공하기 위해 앱끼리 정보를 주고 받을 수 있다. 예로 브라우저와 웹서버가 HTTP 요청, 응답을 통해 통신하는 것을 들 수 있다. (HTTP, FTP 등과 같은 프로토콜이 사용된다.)

-OSI 모델에서 말한 것과 같이 사용자와 바로 연결되어 있는 계층으로 사용자가 네트워크에 접근할 수 있도록 하는 인터페이스 역할을 한다. (사용자에게 보이는 유일한 계층)

-전자 메일, 파일 전송 등의 응용 서비스를 네트워크에 연결해주는 역할을 한다.

 

Transport Layer

-송신된 데이터를 수신 측 애플리케이션에 정확하게 전달하는 역할이다. (TCP, UDP 등의 프로토콜이 속한 계층)

-네트워크 통신을 하는 앱은 포트 번호를 사용하게 되는데 전송 계층에서 이 포트 번호를 사용해서 앱을 찾아주는 역할을 한다.

 

-전송 계층에서는 TCP를 사용할 것인지 UDP를 사용할 것인지 먼저 정해야 한다.

 

TCP : 두 네트워크 사이에 연결을 형성하고, 효율적인 작업을 위해 데이터를 작은 패킷으로 나누어서 데이터를 전송한다.(연결형 서비스)

전송한 데이터에 손실이 있는 지 확인하고, 데이터의 전송 순서도 보장하여 UDP에 비해 신뢰적이지만 속도가 느리다.

 

UDP : 데이터를 전송하고 나면, 그에 대한 책임을 지지 않아서 TCP에 비해 속도는 빠르지만 신뢰도가 낮고, 연속적이어서 스트리밍 같은 서비스에서 많이 사용된다.

TCP보다 단순하고, 신뢰도가 낮고, 전송 순서를 보장하지 못하고, 오류 검출 그리고 흐름 제어 등의 기능을 제공하지 않아서 패킷을 빠르게 전송하는 응용 계층에서 이용되고 있다.(비 연결형 서비스)

 

Internet Layer

-OSI 7 계층의 네트워크 계층에 해당하는 계층이다.

-수신 측 까지 데이터를 전달하기 위해 사용된다.(IP, ARP, ICMP 등의 프로토콜이 사용된다.)

-송신과 수신측 모두 IP주소를 가지고 있는데, 이 IP주소를 바탕으로 올바른 목적지로 찾아 갈 수 있도록 해준다.

ARP : 네트워크 계층 주소와 링크 계층 주소 사이의 변환을 담당하는 프로토콜

ICMP : 인터넷 통신 서비스 환경에서 오류에 대한 알림과 관련된 메시지를 전달하는 프로토콜

 

Network Access Layer

-OSI 7 계층의 물리계층과 데이터 링크 계층에 해당하는 계층이다.

-네트워크에 직접 연결된 기기 간 전송을 도와주는 역할이다. (Ethernet, PPP 등의 프로토콜이 사용된다.)

-물리적 주소인 MAC 주소를 사용한다.

-원하는 기기의 MAC 주소를 확인하고, 이더넷 케이블 및 와이파이를 통한 데이터 전송을 관리하는 등의 작업을 담당한다.

 

 

 

 

참고:

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

03. 개알못을 위한 TCP/IP의 개념 (brunch.co.kr)

[Network] TCP / IP란 무엇인가? (tistory.com)

TCP/IP 쉽게 이해하기 (tistory.com)

[10분 테코톡] 🔮 수리의 TCP/IP - YouTube

 

'강의 정리' 카테고리의 다른 글

앱으로 문제 해결하는 순서와 방법(강의 정리)  (0) 2023.05.27
HTTP에 관하여  (0) 2023.03.30
그런 REST API로 괜찮은가  (1) 2023.03.19
IOS 개발자 로드맵 정리  (0) 2022.10.03
OSI 7 Layer  (0) 2022.09.29