본문 바로가기

Computer Science/네트워크

TCP/IP 4 Layer

TCPIP 4계층

TCP/IP 4계층

 

  • TCP/IP 모형은 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고 받는 데에 쓰이는 통신 규약(프로토콜)의 모음으로 각 계층은 담당하는 위치마다 처리 역할을 구분해 진행함으로 서로 간의 간섭을 최소화하여 사용의 편리성을 높입니다.
  • 국제 표준화 기구(ISO)에서는 상호 이질적인 네트워크 간의 연결에서 호환성의 결여를 막기 위해 OSI 7계층 모델을 개발했습니다.
  • 실제 사용되는 TCP/IP는 OSI 참조 모델을 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화된 모형입니다.
    • 네트워크 전송 시 데이터 표준을 정리한 것이 OSI 7계층, 이 이론을 실제 사용하는 인터넷 표준이 TCP/IP 4계층입니다.
  • OSI 7계층을 4-5계층으로 분류하여 적용할 수 있습니다.
  • TCP/IP 4계층 모형의 장점
    • 호환성 보장(다른 제조사 장비들끼리도 통신 가능)으로 인한 비용 절감
    • 쉬운 문제 해결(계층 별로 문제 확인 가능)
    • 하드웨어, 운영체제, 접속 매체에 관계없이 동작할 수 있는 개방성을 가집니다.
  • TCP/IP (Transmission Control Protocol / Internet Protocol)
    • IP를 기반으로 TCP가 사용되어서 TCP/IP라고 불리며, TCP가 데이터의 추적을, IP가 배달을 처리한다고 보면 됩니다.
    • 현재 수많은 프로그램들이 인터넷으로 통신하는 데 있어 가장 기반이 되는 프로토콜로 실제 대다수 프로그램은 TCP와 IP로 통신하고 있습니다.
    • ARPANET이 개발된 이후 현재의 인터넷으로 발전해나가는 과정에서 대부분의 데이터 통신이 TCP와 IP를 기반으로 이루어졌기에 인터넷 프로토콜 그 자체를 표현하는 용어이기도 했고, 다양한 프로토콜이 개발된 현 시점에도 사실상 인터넷 프로토콜을 대표하는 용어로 사용중입니다. 이를 이용해서 컴퓨터를 연결하는 체계를 이더넷(Ethernet)이라고 부릅니다.
    • TCP/IP는 2개의 계층으로 이루어진 프로그램입니다.
      • 상위 계층인 TCP는 메시지나 파일들을 좀 더 작은 패킷으로 나누어 인터넷을 통해 전송하는 일과 수신된 패킷들을 원래의 메시지로 재조립하는 일을 담당합니다.
      • 하위 계층인 IP는 각 패킷의 주소 부분을 처리하고 패킷들이 목적지에 정확히 도달할 수 있게 합니다.
      • 네트워크 상의 각 게이트웨이는 메시지를 어느 곳으로 전달해야 할지를 알기 위해 메시지의 주소를 확인합니다.
    • 한 메시지가 여러 개의 패킷으로 나뉜 경우, 각 패킷들은 서로 다른 경로를 통해 전달될 수 있으며 그것들은 최종 목적지에서 재조립됩니다.
    • TCP (Transmission Control Protocol)
    • 두 호스트가 교환하는 데이터와 승인 메시지의 형식을 정의하여, 서버와 클라이언트 간의 데이터를 신뢰성 있게 전달하기 위해 만들어진 규약입니다.
      • 컴퓨터와 컴퓨터를 이어주는 네트워크는 네트워크 선로를 통해 전달되는데, 이 선로는 광케이블일 수도, 구리선일 수도, 인공위성일 수도 있습니다. 어떤 선로인지에 따라 데이터를 전달하는 속도와 손실되는 데이터의 양이 달라지는데 이는 데이터를 전달하는 과정에서 그 순서가 의도치 않게 뒤바뀌거나 손실되어 전달될 수 있음을 뜻합니다.
      • TCP는 데이터 패킷에 일련의 번호를 부여함으로써, 데이터 손실을 찾아내서 교정하고, 순서를 재조합하여 클라이언트에게 전달할 수 있게 해줍니다.
      • TCP의 장점은 복잡해서 신뢰성이 높다는 점입니다.
    • IP (Internet Protocol)
      • 컴퓨터와 컴퓨터 간에 데이터를 전송하기 위해서, 각 컴퓨터의 주소가 필요합니다. IP는 4바이트로 이루어진 컴퓨터의 주소이며, 192.168.9.255와 같이 3개의 마침표로 나뉘어진 숫자로 표시됩니다.
      • IP는 TCP와는 달리 데이터의 재조합이나 손실 여부 확인이 불가능하며 단지 데이터를 전달하는 역할만을 담당합니다.
      • 참고로 IP 주소는 하드웨어 고유의 식별 번호인 MAC 주소와 다르게 임시적으로 다른 주체(통신사)에게 받는 주소이므로 바뀔 수 있습니다.

     

  • TCP/IP와 TCP/IP를 이용하는 상위 계층의 응용 프로그램들은 모두 "커넥션리스(Connection-less)"라고 불리는데, 이는 각 클라이언트의 요구가 이전에 했던 어떠한 요구와도 무관한 새로운 요구로 간주된다는 것을 의미한다. (일상적인 전화 통화가 통화 시간 내내 지속적으로 연결되어 있어야 하는 것과는 다르다.) 커넥션리스는 네트워크를 독점하지 않으므로, 모든 사람들이 그 경로를 끊임없이 공동으로 사용할 수 있게 한다. (사실 TCP 계층 그 자체는 어떤 한 메시지가 관계되어 있는 한 커넥션리스가 아니라는 데 유의해야 한다. TCP 접속은 어떤 한 메시지에 속하는 모든 패킷들이 수신될 때까지 계속 유지된다.) 많은 인터넷 사용자들이 TCP/IP를 이용하는 상위 계층 응용 프로토콜에 대해서는 잘 알고 있다. 이러한 상위 계층 프로토콜에는 웹 서비스에 사용되는 HTTP를 비롯하여, 멀리 떨어져 있는 원격지의 컴퓨터에 로그온할 수 있게 해주는 Telnet, 그리고 파일 전송에 사용되는 FTP와 메일 전송에 사용되는 SMTP 등이 있다. 이러한 프로토콜들은 종종 TCP/IP와 함께 패키지로 일괄 판매된다.
  • PC 사용자들은 보통 인터넷에 접속하기 위해 SLIP나 PPP 프로토콜을 사용한다. 이러한 프로토콜들은 다이얼업 전화 접속을 통해 접속 서비스 사업자의 모뎀으로 보내질 수 있도록 IP 패킷들을 캡슐화한다.
  • TCP/IP와 관련이 있는 프로토콜로는 UDP가 있는데, 이것은 특별한 목적을 위해 TCP 대신에 사용되는 것이다. 라우팅 정보를 교환하기 위해 네트워크 호스트 컴퓨터에 의해 사용되는 프로토콜에는 ICMP, IGP, EGP, 그리고 BGP 등이 있다.

 

TCP/IP 계층 별 특징

  • Layer 4. 응용 계층 (Application Layer)
    • OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당합니다.
    • TCP/UDP 기반의 응용 프로그램을 구현할 때 사용합니다.
    • 사용자와 가장 가까운 계층으로 사용자가 소프트웨어 Application과 소통할 수 있게 해줍니다.
    • 응용 프로그램(Application)들이 데이터를 교환하기 위해 사용되는 프로토콜
    • 사용자 응용 프로그램 인터페이스를 담당합니다.
      • 응용 프로그램들이 네트워크 서비스, 메일 서비스, 웹 서비스 등을 할 수 있도록 표준적인 인터페이스를 제공합니다.
    • 데이터 단위 : Data / Message
    • 예시 : 파일 전송, 이메일, FTP, HTTP, SSH, Telnet, DNS, SMTP, DHCP, RIP, SNMP 등
  • Layer 3. 전송 계층 (Transport Layer)
    • OSI 7계층의 전송 계층에 해당합니다.
    • 통신 노드 간의 연결 제어 및 신뢰성 있는 데이터 송수신을 담당합니다.
    • 시스템의 논리 주소와 포트를 가지고 있어서 각 상위 계층의 프로세스를 연결해서 통신합니다.
    • 정확한 패킷의 전송을 보장하는 TCP와 정확한 전송을 보장하지 않는 UDP 프로토콜을 이용합니다.
    • 응용 계층의 세션과 데이터그램 통신 서비스를 제공합니다.
    • 세그먼트 단위의 데이터 구성
      • 실질적인 데이터 전송을 위해 데이터를 일정 크기로 나눈 것으로, 발신, 수신, 포트 주소, 오류 검출 코드가 붙게 됩니다.
    • 데이터 단위 : Segment
    • 전송 주소 : Port
    • 예시 : TCP, UDP, RTP, RTCP 등
  • Layer 2. 인터넷 계층 (Internet Layer)
    • OSI 7계층의 네트워크 계층에 해당합니다.
    • 네트워크 상 최종 목적지까지 정확하게 연결되도록 연결성을 제공합니다.
    • 인터넷 계층의 주요 기능은 상위 전송 계층으로 부터 받은 데이터에 IP 패킷 헤더를 붙여 IP 패킷을 만들고, 이를 전송하는 것입니다.
    • 단말을 구분하기 위해 논리적인 주소(Logical Address) IP를 할당합니다.
      • 출발지와 목적지의 논리적 주소가 담겨있는 IP Datagram이라는 패킷으로 데이터를 변경
      • 데이터 전송을 위한 주소 지정
    • 라우팅(Routing) 기능을 처리합니다.
      • 경로 설정
    • 최종 목적지까지 정확하게 연결되도록 연결성을 제공합니다.
    • 패킷 단위의 데이터 구성
      • 세그먼트를 목적지까지 전송하기 위해 시작 주소와 목적지의 논리적 주소를 붙인 단위
        데이터 + IP Header
    • 데이터 단위 : Packet
    • 전송 주소 : IP
    • 예시 : IP, ARP, ICMP, RARP, OSPF, IGMP 등
  • Layer 1. 네트워크 연결 계층 (Network Access Layer / Network Interface Layer)
    • OSI 7계층의 물리 계층과 데이터 링크 계층에 해당합니다.
    • OS의 네트워크 카드와 디바이스 드라이버 등과 같이 하드웨어적인 요소와 관련되는 모든 것을 지원하는 계층입니다.
    • TCP/IP 패킷을 네트워크 매체로 전달하는 것과 네트워크 매체에서 TCP/IP 패킷을 받아들이는 과정을 담당합니다.
    • 물리적으로 데이터가 네트워크를 통해 어떻게 전송되는지를 정의합니다.
      • 논리 주소(IP 주소 등)이 아닌 물리 주소(ex. MAC 주소(Media Access Control Address))를 참조해 장비 간 전송
      • MAC 주소란 컴퓨터의 하드웨어 주소
    • 기본적으로 에러 검출 / 패킷의 프레임화를 담당합니다.
    • 프레임 단위의 데이터 구성
      • 최종적으로 데이터 전송을 하기 전, 패킷 헤더에 MAC 주소와 오류 검출을 위한 부분을 첨부
    • 데이터 단위 : Frame
    • 전송 주소 : MAC
    • 예시 : MAC, LAN, 패킷망 등에 사용되는 것 (ex. Ethernet, PPP, Token Ring 등)

 

OSI 7계층 모델과 TCP/IP 4계층 모델 비교

  • TCP/IP 프로토콜은 OSI 모델보다 먼저 개발되었습니다. 그러므로 TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지는 않습니다.
  • 두 계층을 비교할 때, 세션(Session)과 표현(Presentation) 2개의 계층이 TCP/IP 프로토콜의 그룹에 없다는 것을 알 수 있습니다.
  • 두 모델 모두 계층형이라는 공통점을 가지고 있으며, TCP/IP는 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수한 반면, OSI 7계층 모델은 표준이 되긴 하지만 실제적으로 구현되는 예가 없어 신뢰성이 저하되었습니다.
  • OSI 7계층 모델은 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면에 실질적인 통신 자체는 TCP/IP 프로토콜을 사용합니다.

 

 

 

References

 

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

TCP와 UDP  (0) 2021.03.23
OSI 7 Layer  (0) 2021.03.23