TCP/IP와 계층구조

업데이트:


TCP/IP

TCP/IP란 컴퓨터와 컴퓨터간 네트워크에서 원할한 통신을 가능하도록 하기 위한 프로토콜(통신규약)이다.

TCP(Transmission Control Protocol)

개념

  • 네트워크에서 데이터 전달을 관리하는 규칙이다.
  • 데이터를 전송할 때 패킷 단위로 나누어 보내고, 수신지에서 이를 다시 조립하여 원래 데이터로 만드는 규칙이다.
  • TCP는 패킷을 조립하고, 손실된 패킷을 확인하고, 재전송하도록 요청하는 기능을 한다.

데이터를 패킷 단위로 나누어 보내는 이유?

  • 하나의 데이터를 통채로 전송하면 라우터 이동간에 데이터가 손실될 경우가 있다.
  • 이 경우에는 데이터 손실이 일어나도, 수신지에서는 확인할 방법이 없다.
  • 패킷 단위로 데이터를 나누어 보내면 패킷마다 전체 패킷수를 입력하여 전송하기 때문에 수신지에서 패킷 유실을 확인 할 수 있다.

IP(Internet Protocol)

개념

  • 네트워크 상에서 데이터 전송을 위해 컴퓨터의 위치를 나타내는 규약이다.
  • 기존에 사용하던 방식인 IPv4 - 32bit에서 주소공간에 대한 우려로 IPv6 - 128bit가 등장했다.

TCP/IP 4계층

개념

  • OSI(Open Systems Interconnections) 7계층은 시스템들의 연결을 위한 모델이다. TCP/IP 4계층은 이를 웹 서비스에 맞게 단순화한 모델이다.

    TCP:IP 4 layer

응용 계층(Application Layer)

  • 응용프로그램들이 네트워크서비스, 메일서비스, 웹서비스 등을 할 수 있도록 표준적인 인터페이스를 제공한다.
  • 네트워크를 사용하는 응용프로그램으로 이루어진다.
  • TCP/IP 기반의 응용 프로그램을 구분할 때 사용한다.
  • 프로토콜 : HTTP, FTP, Telnet, DNS

전송 계층(Transport Layer)

  • 시스템을 연결하고 데이터를 전송하는 역할을 한다.
  • 시스템의 논리주소와 포트를 가지고 있어서 상위 계층의 프로세스를 연결해서 통신한다.
  • 정확한 패킷 전송이 보장이 필요할 때는 TCP를 사용하고, 패킷의 정확성보다는 빠른 속도의 전송이 필요한 멀티미디어 통신에서는 UDP를 사용한다.
  • 통신 노드 간의 연결을 제어하고, 자료의 송수신을 담당한다.
  • 프로토콜 : TCP, UDP

인터넷 계층(Internet Layer)

  • 데이터를 정의하고 데이터의 경로를 라우팅한다.
  • 전송 계층으로 부터 받은 데이터에 IP패킷 헤더를 붙여 IP패킷을 만들고 이를 전송한다.
  • 통신 노드 간의 IP 패킷을 전송 및 라우팅 기능을 담당한다.
  • 프로토콜 : IP, ARP, RARP

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

  • OS의 네트워크 카드와 디바이스 드라이버 등과 같이 하드웨어적인 요소와 관련되 는 모든 것을 지원하는 계층이다.
  • CSMA/CD, MAC, LAN, 패킷망 등에 전송에 사용된다.
  • 프로토콜 : Ehternet(이더넷), Token Ring, PPP

데이터 통신 과정

  1. 클라이언트가 특정 URL로 요청한다.
  2. DNS에서 IP주소를 받아와 Application Layer에서 HTTP 메세지를 작성한다.
  3. Tranpoot Layer에서 HTTP 메세지를 패킷으로 나눈다.
  4. Internet Layer에서 IP주소를 이용하여 전송 위치를 확인한다.
  5. 네트워크를 통해서 패킷을 전송한다.
  6. 서버에서 정상적으로 패킷을 수신했다면, 같은 방식으로 클라이언트에게 응답한다.

References

댓글남기기