본문 바로가기

security/공부 하는 것들

TCP/IP 프로토콜 아키텍처

출처 : http://www.microsoft.com/korea/technet/deploy/tcpintro4.mspx


TCP/IP에 대한 소개

TCP/IP 프로토콜 아키텍처

TCP/IP 프로토콜은 DARPA 모델(TCP/IP를 개발한 미 정보 조직의 이름을 딴)로 알려진 네 계층의 개념적인 모델에 맵핑 되어 있습니다. DARPA 모델의 네 계층은 애플리케이션(Application), 트랜스포트(transport), 인터넷(Internet), 네트워크(Network) 인터페이스입니다. DARPA 모델의 각 계층은 OSI(Open Systems Interconnection) 7계층 모델의 하나, 혹은 하나 이상의 계층과 일치합니다.

그림 1은 TCP/IP 프로토콜 계층 구조를 보여줍니다.

Image File: tcpin01
그림 1   TCP/IP 프로토콜 계층 구조.

네트워크 인터페이스 계층

네트워크 인터페이스 계층 (네트워크 억세스 계층으로 불리기도 합니다.)은 TCP/IP 패킷(packet)을 네트워크 매체로 전달하는 것과 네트워크 매체에서 TCP/IP 패킷을 받아들이는 과정을 담당합니다. TCP/IP는 네트워크 접근 방법, 프레임 포맷, 매체에 대해 독립적으로 동작하도록 설계되어 있습니다. 이러한 이유로, TCP/IP는 서로 다른 네트워크 형태를 연결하는데 사용되어 질 수 있습니다. 여러 네트워크 형태로는 이더넷(Ethernet), 토큰링(Token Ring)과 같은 LAN기술과 X.25, 프레임 릴레이(Frame Relay )와 같은 WAN기술을 포함합니다. 특정 네트워크 기술을 개발하는 독립 회사들은 ATM(Asynchronous transfer Mode)과 같은 새로운 기술을 TCP/IP에 적용하고 있습니다.

네트워크 인터페이스 계층은 OSI 모델에서 데이터 링크 계층과 물리적 계층(Physical layer)에 해당합니다. 인터넷 계층은 데이터 링크 계층에 존재할 수 있는 순서화(sequencing), 확인(acknowledgement) 서비스의 이점을 채택하지 않았다는 사실에 주의하기 바랍니다. 네트워크 인터페이스 계층은 신뢰할 수 없는 것으로 가정합니다. 세션 확립과 순서화, 패킷 확인 등의 신뢰할 수 있는 통신은 트랜스포트 계층의 책임입니다.

인터넷 계층

인터넷 계층은 어드레싱(addressing), 패키징(packaging), 라우팅(routing) 기능을 제공합니다. 인터넷 계층의 핵심 프로토콜은 IP, ARP, ICMP, IGMP 등입니다.

  • IP(Internet Protocol)은 IP 어드레싱과 패킷의 분해, 재조합을 책임지는 프로토콜입니다.
  • ARP(Address Resolution Protocol)은 인터넷 계층 주소를 네트워크 인터페이스 계층의 주소(하드웨어 주소와 같은)로 변환하는 역할을 담당합니다.
  • ICMP(Internet Control Message Protocol)은 IP 패킷의 전달에 따른 오류나 상태를 리포트하고 진단하는 기능을 제공합니다.
  • IGMP(Internet Group Management Protocol)은 IP 멀티캐스트(multicast) 그룹의 관리를 책임집니다.

인터넷 계층은 OSI 모델의 네트워크 계층에 해당합니다.

트랜스포트 계층

트랜스포트 계층은 (Host-to-Host 트랜스포트 계층이라고도 하는데) 애플리케이션 계층에 세션과 데이터그램(Datagram) 통신 서비스를 제공합니다. 트랜스포트 계층의 핵심 프로토콜은 TCP와 UDP(User Datagram Protocol)입니다.

  • TCP는 1대1의 연결 지향, 신뢰할 수 있는 통신 서비스를 제공합니다. TCP는 TCP 연결 확립과 보내진 패킷의 확인, 순서화, 전달 중 손상된 패킷을 복구하는 책임을 집니다.
  • UDP는 1대1, 1대다의 비연결 지향, 신뢰할 수 없는 통신 서비스를 제공합니다. UDP는 주로 전달해야 할 데이터의 크기(하나의 패킷으로 보낼 수 있는 데이터와 같은 경우)가 작을 때나, TCP 연결 확립에 의한 부하를 피하려고 할 때, 혹은 상위 프로토콜이 신뢰할 수 있는 전달을 책임지는 경우에 사용됩니다.

트랜스포트 계층은 OSI 모델의 트랜스포트 계층전체와 세션 계층의 일부에 해당합니다.

애플리케이션 계층

애플리케이션 계층은 다른 계층의 서비스에 접근할 수 있게 하는 애플리케이션을 제공하고 애플리케이션들이 데이터를 교환하기 위해 사용하는 프로토콜을 정의합니다. 여러 가지 애플리케이션 계층 프로토콜이 존재하며 지속적으로 새로운 프로토콜이 개발되고 있습니다.

가장 많이 알려진 애플리케이션 계층 프로토콜에는 다음과 같은 것들이 있습니다.

  • HTTP(HyperText transfer Protocol)은 WWW의 Web 페이지 파일을 전송하는데 사용됩니다.
  • FTP(File transfer Protocol)은 상호 파일 전송을 위해 사용됩니다.
  • SMTP(Simple Mail transfer Protocol)은 메일 메시지와 그에 추가된 첨부 파일을 전송하기 위해 사용됩니다.
  • Telnet(terminal emulation protocol)은 네트워크 호스트에 원격 접속하기 위해 사용됩니다.

또한, 다음과 같은 애플리케이션 계층 프로토콜이 TCP/IP 네트워크를 사용하거나 관리하는 것을 도와줍니다.

  • DNS(Domain Name System) 은 호스트 이름을 IP 주소로 변환하기 위해 사용됩니다.
  • RIP(Routing Information Protocol) 은 IP 네트워크상에서 라우팅 정보를 교환하기 위해 라우터가 사용하는 프로토콜입니다.
  • SNMP(Simple Network Management Protocol) 은 네트워크 관리 콘솔과 네트워크 장비(라우터, 브리지, 지능형 허브)간에 네트워크 관리 정보를 수집, 교환하기 위해 사용됩니다.

TCP/IP 애플리케이션을 위한 애플리케이션 계층 인터페이스의 예로 Windows Sockets과 NetBIOS를 들 수 있습니다. Windows Sockets은 Microsoft Windows 운영체제하에서 표준적인 API(application-programming interface)를 제공합니다. NetBIOS는 세션, 데이터그램, 주소 변환과 같은 프로토콜 서비스에 접근하기 위한 산업 표준 인터페이스입니다. Windows Socket과 NetBIOS에 대한 자세한 정보는 이 문서의 후반부에서 제공됩니다.


'security > 공부 하는 것들' 카테고리의 다른 글

메일 서버 원리 / 스팸 메일의 차단  (0) 2013.08.17