👀 인터넷 프로토콜 구조

  • 컴퓨터 상호간의 데이터 전달을 위한 통신구조로 현재 인터넷에서 사용하는 통신구조
  • TCP/IP(Transmission Control Protocol/Internet Protocol라는 프로토콜을 사용하는데 이것은 인터넷과 연결된 컴퓨터들을 공용어라 할 수 있다.
  • OSI 참조모델과 다르게 5계층으로 구성되어 있다.

1. 하드웨어 계층

  • OSI 참조모델과 마찬가지로 물리적으로 연결하는 케이블 등 데이터 통신에 관련된 하드웨어로 구성되어 있다.

2. 네트워크 인터페이스 계층

  • 네트워크 액세스 또는 데이터링크 계층이라고도 한다.
  • 프레임(Frame)을 네트워크 전송매체로 전달하는 것과 네트워크 전송매체에서 프레임을 받아들이는 과정 담당
  • TCP/IP는 네트워크 접근 방법, 프레임 포맷, 매체에 대해 독립적으로 동작하도록 설계
  • TCP/IP는 서로 다른 네트워크 형태를 연결하는데 사용 가능
    • 네트워크 형태로는 이더넷(Ethernet), 토큰버스(Token Bus), 토큰링(Token Ring)과 같은 LAN 기술
    • X.25, 프레임 릴레이(Frame Relay)와 같은 WAN 기술을 포함
  • 네트워크 인터페이스 계층은 OSI 모델에서 데이터 링크 계층에 해당

3. 인터넷 계층

  • OSI 모델의 네트워크 계층에 해당하며 어드레싱(addressing - IP 주소를 만드는 것), 패키징(packaging - 데이터 전송 단위를 만드는 것), 라우팅(routing - 목적지까지 전송할 수 있도록 라우터에서 중개) 기능을 제공
  • 핵심 프로토콜은 IP, ARP, ICMP, IGMP 등을 포함
    • IP(Internet Protocol) : IP 주소, 패킷의 라우팅을 책임지는 프로토콜
    • ARP(Address Resolution Protocol) : 인터넷 계층의 IP 주소를 네트워크 인터페이스 계층의 주소(MAC 주소 또는 물리적 하드웨어 주소)로 변환
    • ICMP(Internet Control Message Protocol) : IP 패킷의 전달에 따른 오류나 상태를 리포트하고 진단하는 기능
    • IGMP(Internet Group Management Protocol) : IP 멀티캐스트(multicast) 그룹의 관리

4. 트랜스포트 계층

  • 두 호스트 간에 단대단(End-to-End) 통신을 제공
  • 핵심 프로토콜은 TCPUDP(User Datagram Protocol)
  • TCP
    • 1 대 1 연결 지향(전송 전 송-수신자간 논리적 연결을 먼저 함)
    • 신뢰성 있는 통신 서비스 제공
    • TCP 연결 설정과 보낸 패킷의 확인, 순서화, 전달 중 손상된 패킷을 복구하는 기능 제공
  • UDP
    • 1 대 1, 1 대 다의 비연결 지향
    • 신뢰할 수 없는 통신 서비스 제공
    • 주로 전달해야 할 데이터의 크기가 작을 때나, TCP 연결 확립에 의한 부하를 피하려고 할 때 혹은 상위 프로토콜이 신뢰할 수 있는 전달을 책임지는 경우에 사용
    • 예) DNS: 전달해야 할 데이터가 상대적으로 적어서 빠른 응답을 위해 UDP 사용

5. 응용 계층

  • 사용자와 가장 밀접한 관계를 가지고 있는 계층
  • 여러 가지 응용 계층 프로토콜이 존재하며 지속적으로 새로운 프로토콜 개발
  • 가장 많이 알려진 응용 계층 프로토콜로는
    • HTTP(HyperText transfer Protocol) : WWW의 Web 페이지 파일을 전송하는데 사용
    • FTP(File transfer Protocol) : 상호 파일 전송을 위해 사용
    • SMTP(Simple Mail transfer Protocol) : 메일 메시지와 그에 추가된 첨부 파일을 전송하기 위해 사용
  • TCP/IP 네트워크를 관리하거나 지원하는 응용 계층 프로토콜
    • DNS(Domain Name System) : 호스트 이름(예 : www.naver.com)을 숫자로 된 IP 주소로 변환하기 위해 사용
    • RIP(Routing Information Protocol) : IP 네트워크상에서 라우팅 정보를 교환하기 위해 라우터가 사용하는 프로토콜. 이를 이용해 최상의 라우팅 테이블을 유지하고 이 라우팅 테이블을 통해 가장 적합한 곳으로 패킷을 전송한다.
    • SNMP(Simple Network Management Protocol) : 네트워크 관리 콘솔과 네트워크 장비(라우터, 브리지, 지능형 허브)간에 네트워크 관리 정보를 수집, 교환하기 위해 사용. 네트워크 장비를 원격으로 관리할 수 있다.

인터넷 프로토콜 구현 환경

  • 시스템 공간(계층 1 ~ 4) : 운영 체제에서 동작(자동으로 설치됨)
  • 사용자 공간(계층 5) : 사용자 프로그램으로 동작

프로토콜 캡슐화(Encapsulation)

  • 인터넷 프로토콜도 OSI 참조모델의 캡슐화 개념을 동일하게 사용한다.
  • 그래서 하위 계층으로 내려보내서 물리 계층에 도착하면 상대편에게 보내고 상대편은 물리 계층부터 상위 계층으로 올라가서 사용자에게 최종적으로 메시지를 보여주는 형태와 똑같이 동작한다.

🔸 수신측

  • 응용 계층의 메시지(Message)는 트랜스포트 계층으로 전달되고, 트랜스포트 계층은 전달 받은 데이터 앞에 자신의 헤더를 추가한 후 세그먼트(Segment)를 만들어 네트워크 계층으로 전달
  • 네트워크 계층은 전달 받은 데이터 앞에 자신의 헤더를 추가한 후 데이터그램(Datagram = Packet)을 만들어 링크 계층으로 전달
  • 링크 계층은 전달 받은 데이터에 자신의 헤더를 추가하여 프레임(Frame)을 만든다.
  • 마지막으로 프레임은 물리 계층에 해당하는 전송매체를 통해 상대방에게 전송

🔸 송신측

  • 물리 계층에서 데이터를 수신하여 상위 계층으로 전달하는 과정 반복
  • 각 계층은 자신의 데이터 단위가 도착하게 되면 프로토콜 동작 수행

  • 그래서 인터넷 프로토콜 또한 상위 계층은 하위 계층의 서비스 사용자(Service user)이고, 하위 계층은 서비스 제공자(Service provider)이다.


출처