[네트워크 network] TCP/IP 4계층 이란?

resilient

·

2021. 7. 13. 22:57

728x90
반응형

저번 게시물에서는 OSI 7 계층별 특징에 대해서 알아보았습니다.

이번 시간에는 한 번쯤은 들어봤던 TCP/IP 에 대해서 알아보고, TCP/IP 4 계층에 대해서 공부해보려고 합니다.

 

 

0. TCP/IP가 뭘까?

우리는 저번 시간에 OSI 7 계층에 대해서 알아봤습니다.( OSI 7 계층에 대한 정리는 아래 게시물을 참고해주세요!)

 

[네트워크 network] OSI7계층 이란?

0 . 이번 시간에는 네트워크를 공부한다면 당연히 알고 있어야 할 OSI 7 계층에 대해서 정리해보려고 합니다. 먼저 OSI 7 계층이 왜 만들어졌는지 간단하게 알아볼까요? 1980년대 컴퓨터가 널리 보급

resilient-923.tistory.com

 

OSI 7계층을 공부할 때, TCP, IP를 들어본 것 같은데요,,,, 맞습니다! TCP는 4 계층 전송 계층의 프로토콜이었고, IP는 3 계층 네트워크 계층의 프로토콜 종류였죠. 그럼 많은 프로토콜 중에서 왜 TCP, IP만 일컫는 단어가 생겼을까요? 

 

그 이유는 바로 현재 인터넷 통신 세계에서 가장 많이, 표준으로 사용되고 있는 네트워크 프로토콜이기 때문입니다.

 

현재 인터넷을 이용해서 통신하는 많은 프로그램들이 TCP와 IP기반으로 이루어졌기 때문에 인터넷 프로토콜을 대표하는 용어로 사용 중인 것이죠. 그럼 둘이 같은 거냐? 비슷한 거냐?라고 생각할 수도 있는데요, 전혀 아닙니다.

계층이 구분되어 있고 각 계층마다 하는 역할과 책임지고 있는 임무가 다르기 때문에 묶어서 부르는 것 뿐이지 역할에는 많은 차이가 있습니다.

 

1. 그럼 먼저 TCP 란 무엇일까요?

 

TCP 는 서버와 클라이언트 간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜입니다.

데이터는 네트워크를 통해 통신하는 과정에서 손실되거나 순서가 뒤바뀔 가능성이 매우 크죠. 때문에 TCP라는 프로토콜을 이용해서 데이터 유실이나, 손실을 찾아내고 손실된 데이터는 프로토콜에 맞게 재조합해서 완성된 데이터를 넘깁니다.

데이터를 주고받을 때 TCP는 데이터를 가져와서 패킷으로 컴파일 한 후, 다음 계층에서 전달받을 수 있도록 패킷을 사용할 수 있는 데이터로 바꿔줍니다. 

 

정리해보면, TCP는 전달받은 패킷을 재조합 하고, 손실되거나 유실된 패킷은 재전송을 요청해서 완벽한 패킷만 넘겨주도록 제어하고 노력하는 녀석이죠.

( 패킷은 데이터를 일정한 크기로 잘라놓은 단위로, 인터넷에서 정보를 전달하는 단위로 사용합니다.)

 

TCP의 다른 큰 특징으로는 데이터를 양방향으로 운반할 수 있다는 점인데요, 하나의 네트워크 선로에서 데이터가 동시에 양쪽 방향으로 전송될 수 있음을 의미합니다. 어떻게 운반할까요? 네트워크 선로를 어떻게 열까요? 이 부분은 이후 TCP, 3 & 4 way handshake 게시물에서 따로 정리해보도록 하겠습니다.

 

2. 그렇다면 이번에는 IP에 대해서 알아보겠습니다.

 

IP는 Internet Protocol의 줄임말로, 인터넷에서 컴퓨터의 주소를 정확하게 찾아서 데이터를 전송하기 위해 지켜야 하는 프로토콜입니다.

OSI7계층에서도 언급했었지만, 전 세계 수십억대의 컴퓨터와 통신을 하기 위해서는 데이터를 수신받을 논리적인 주소가 있어야 하는데요, 이 주소가 바로 IP 주소입니다. IP는 4개의 숫자 덩어리로 구성되고 숫자 크기에 따라 IPV4, IPV6로 나눌 수 있는데요, 이 부분은 나중에 따로 정리해보도록 할게요.

 

 

3. 그럼 이제 TCP/IP 4 계층에 대해서 알아볼까요?

 

먼저 OSI 7 계층과의 차이점에 대해서 알아보고 넘어가겠습니다.

 

 

 

OSI에서는 7 계층으로 이루어진 반면, TCP/IP 모델은 4 계층으로 구분합니다.

 

TCP/IP 모델은 상위 5,6,7 총 3개 계층을 하나의 애플리케이션 계층으로 묶고 1,2층 즉 물리 계층과 데이터링크 계층을 하나의 네트워크 계층으로 구분했습니다.

네트워크 통신에 중요한 3 계층, 4 계층을 중심으로 재구성된 현재의 인터넷에서 컴퓨터들이 통신을 할 때 쓰이는 프로토콜의 모음이라고 할 수 있습니다.

 

이제 TCP/IP 4 계층의 각 계층 별 특징을 알아보겠습니다.

 

4계층 응용계층 (Application Layer)

  • OSI 7 Layer에서 세션 계층 , 프레젠테이션 계층, 애플리케이션 계층에 해당합니다. (5, 6, 7 계층)
  • 응용프로그램들이 데이터를 처음 받고, 다른 계층의 서비스에 접근할 수 있게 하는 애플리케이션을 제공합니다.
  • TCP/UDP 기반의 응용 프로그램을 구분할 때 사용합니다.
  • 프로토콜에는 HTTP, SSH 등이 있습니다.

 

 

3 계층 전송 계층 (Transport Layer)

  • OSI 7 Layer에서 전송계층에 해당합니다.
  • 통신 노드 간의 연결을 제어하고 신뢰성 있는 전송 기능을 제공합니다.
  • 정확한 패킷의 전송을 보장하는 TCP와 정확한 전송을 보장하지 않는 UDP 프로토콜을 이용합니다. 정확한 전송보다 빠른 속도의 전송이 필요한 멀티미디어 통신에서는 TCP 보다 UDP가 좋은 선택일 수 있죠.
  • 프로토콜에는 TCP, UDP 등이 있습니다.

 

 

2 계층 인터넷 계층 (Internet Layer)

  • OSI 7 Layer의 네트워크 계층에 해당합니다.
  • 인터넷 계층의 주요 기능은 상위 전송계층으로부터 받은 데이터에 IP 패킷 헤더를 붙여 IP 패킷을 만들고 이를 전송하는 역할을 합니다. 또한 통신 노드 간의 IP 패킷을 전송하는 기능 및 라우팅 기능을 담당합니다.
  • 프로토콜에는 IP, ARP, RARP 등이 있습니다.

 

 

1 계층 네트워크 액세스 계층 (Network Access Layer)

  • OSI 7 Layer에서 물리계층과 데이터링크 계층에 해당합니다.
  • TCP/IP 패킷을 네트워크로 전달, 또는 반대로 네트워크에서 TCP/IP를 받아오는 역할을 합니다. 논리적 주소인 IP가 아니라 물리적 주소인 MAC 주소를 사용하고, 패킷을 프레임으로 변환시켜 최정 적으로 데이터 전송을 하게 되죠.
  • 수신 측 컴퓨터의 경우 네트워크 액세스 계층 속 데이터 링크 계층에서 추가된 헤더를 제거하여 상위 계층인 네트워크 계층으로 전달합니다.
  • 사용하는 대표적인 장비로는 LAN 관련 장비, 프로토콜에는 Ehternet(이더넷), Token Ring, PPP 등이 있습니다.

 

4. 자 이제 그럼 각 계층을 통과하는 데이터 송신이 어떻게 이루어지는지 흐름을 정리해보겠습니다.

 

 

첫 번째, 먼저 응용 계층에서 요청 데이터가 만들어집니다.

두 번째, 전송 계층에서 신뢰할 수 있는 통신을 구현하기 위해 header를 위에서 받은 데이터에 붙입니다. header가 붙은 데이터를 세그먼트라고 하는 것이죠.

세 번째, 네트워크 계층에서는 다른 네트워크와 통신할 수 하는 header를 위에서 받은 세그먼트에 붙입니다. 이렇게 만들어진 데이터를 패킷이라고 하죠.

네 번째, 데이터 링크와 물리계층 즉, TCP/IP 계층에서의 네트워크 액세스 계층에서는 물리적인 통신 채널을 열기 위해서 위에서 받은 패킷에 헤더와 와 트레일러를 붙입니다. 트레일러는 데이터를 전달할 때 데이터 끝 부분에 붙이는 정보로, 에러 검출에 사용되죠. 이렇게 만들어진 데이터를 프레임이라고 합니다.

마지막, 이렇게 만들어진 프레임을 물리계층에서 비트로 구성된 전기 신호로 변환해서 데이터를 수신하는 컴퓨터에 전송하게 되는 것이죠.

 

아래는 데이터 수신 과정인데 데이터 송신 과정의 역순이라고 생각하면 됩니다. 헤더를 차례차례 제거하면서 데이터를 전달하는 과정을 거치게 됩니다.

 

 

 

5. 정리

 

이번 시간에는 현재 많이 사용하는 TCP/IP에 대해서 알아봤습니다.

정리를 하면서 TCP, 3 & 4 way handshake, TCP와 UDP의 차이에 대해서 궁금증이 생겨서 한 번 자세하게 공부를 해보려고 합니다.

읽어주셔서 감사합니다!

 

반응형