TCP/IP

인간은 서로 소통하기 위해 '언어'라는 수단을 만들었고, 이를 발전시켜 왔다. 네트워크가 활성화되고, 이것이 확장되기 위해서는 이들 또한 '언어'라는 것이 존재해야 한다. 각각의 네트워크 기기(PC, 스마트폰 등등)가 서로 데이터를 주고받기 위해서 통신하기 위한 일종의 규약을 정하였으며, 이를 프로토콜(Protocol)이라 한다.

그리고 이러한 프로토콜들이 모인 복수의 집합체를 네트워크 아키텍쳐라고 하며, 이것이 네트워크 기기의 언어이다.

대표적인 네트워크 아키텍쳐는 TCP/IP이며, 이는 TCP와 IP라는 프로토콜로 이루어져 있다.

TCP/IP는 여러 계층적 구조로 나뉘어 있으며, 각각의 층마다 다른 프로토콜을 사용하여 통신한다.

(TCP/IP는 4개의 계층이지만, 7개의 계층을 사용하는 OSI 모델 아키텍처도 존재한다.)

 

etc-image-0
TCP/IP의 계층

4개의 계층이 모두 정상적으로 작동해야 네트워크 통신이 이루어지며, 하위 계층이 정상작동해야 상위 계층이 수행된다.

 

각각의 층마다 프로토콜이 다른 만큼 수행하는 역할도 다르다!

 

1) 네트워크 인터페이스 층(네트워크 엑세스 계층)

  • 같은 네트워크에 있는 기기에 데이터를 전송한다. (프로토콜 : 유선(이더넷), 무선 LAN(Wifi) 등등

2) 인터넷 층

  • 모든 기기가 같은 네트워크에 있진 않으므로, 다른 네트워크와 통신할 때 데이터를 전송한다.
  • 네트워크끼리 연결하는 라우터를 거쳐(라우팅) 최종적으로 목적지에 도착하는 엔드 투 엔드 통신.
  • 인터넷 층의 프로토콜은 IP이며, ICMP와 ARP는 IP 통신을 보조하는 프로토콜이다.

3) 트랜스포트 층

  • 1)과 2)를 통해 데이터를 같은 혹은 다른 네트워크로부터 받았다면 이를 적절한 목적지(애플리케이션)에 전달해야 한다. 이를 위해 TCP or UDP 프로토콜을 사용하여 데이터를 배분한다.

4) 애플리케이션 층

  • 3)을 통해 데이터가 해당 애플리케이션에 도착했다면, 잘 수행할 수 있도록 데이터를 처리하는 역할을 한다.
  • 전달받은 데이터는 0과 1의 이진수 데이터이므로, 우리가 알아볼 수 있도록 데이터를 변환시켜야 한다.(사진, 문서 등등) 이때 사용하는 대표적인 프로토콜은 HTTP(웹 브라우저), SMTP(전자메일) 등이 있다.

 

데이터 송수신은 '헤더'를 통해 이루어진다.

 

위에서 네트워크가 통신하기 위해선 4개의 계층이 동작이 수행되며(TCP/IP 기준), 각각의 계층마다 프로토콜이 다르다.

즉, 하위계층에서 상위계층으로 이동할수록 프로토콜 처리에 있어서 정보가 필요하며 이를 위해 '헤더'를 추가한다.

헤더에는 제어 정보가 담기며 각각의 헤더마다 담기는 정보는 상이하다.

각각의 프로토콜은 데이터를 다음 계층에 전송할 때 헤더를 추가하는데 이를 캡슐화라고 한다.

데이터를 받은 프로토콜은 다시 헤더를 벗겨내어 제어 정보를 처리하는데 이를 역캡슐화 혹은 비캡슐화라고 한다.

etc-image-1
데이터가 물리적 신호로 바뀌기 전에 다양한 헤더를 담게 된다.

 

클라이언트가 데이터를 보냈다면 이를 받는 서버 측에서는 데이터에 있는 헤더를 차례차례 벗겨내면서 수신한다.

각각의 헤더에 포함된 도착지 정보를 확인하며 알맞은 곳으로 넘긴다.

 

계층별로 데이터를 부르는 명칭이 다르다!

 

각 계층별로 다양한 헤더가 포함되면서 데이터의 구조 또한 변하게 된다. 이때 데이터의 명칭 또한 달라진다.

  • 애플리케이션 층 : 메시지
  • 트랜스포트 층 : 세그먼트(TCP) or 데이터 그램(UDP)
  • 인터넷 층 : 패킷(IP 패킷)
  • 네트워크 인터페이스 층 : 프레임

etc-image-2
계층 별 데이터 명칭

 

 

 

 

출처 :

http://jkkang.net/unix/netprg/chap1/net1_2.html

 

1.2 TCP/IP 프로토콜

▶ 네트웍 액세스 계층으로는 dial-up회선, LAN, X.25 패킷망, 위선통신 회선 등 모든 종류의 서브네트웍이 사용될 수 있다. ▶ CSMA/CD(Carrier Sense Multiple Access/Collision Detection) MAC 프로토콜을 사용하는

jkkang.net

https://jhkang-tech.tistory.com/20

 

[네트워크] TCP/ IP 캡슐화

[TCP/ IP 캡슐화] - 데이터 캡슐화(Data Encapsulation) : 송신 측 입장에서 데이터 생성과정 순수 사용자의 데이터가 생성되면 각각의 계층에서는 헤더(Header)를 붙이게 된다.  **헤더(Header) : 각 계층에서

jhkang-tech.tistory.com

https://better-together.tistory.com/110

 

쉽게 이해하는 네트워크 11. 인터넷의 TCP/IP 프로토콜과 패킷 교환 방식

패킷 교환 방식으로 데이터를 전송하는 인터넷 TCP/IP 모델의 핵심인 IP 프로토콜과 TCP 프로토콜은 전 세계에 존재하는 수만 가지의 LAN을 연결하여 인터넷을 구축하고 데이터를 전송하기 위한 규

better-together.tistory.com

 

'CS > 네트워크' 카테고리의 다른 글

네트워크 핵심 이론 : L2  (2) 2024.12.20
브라우저에 url을 입력했을 때 일어나는 일  (0) 2024.08.27
웹 서비스 구조 확장  (0) 2024.08.22
웹 서비스 구조  (0) 2024.08.17
네트워크(Network)란  (0) 2022.05.01