Search

'capsulation'에 해당되는 글 1건

  1. 2017.01.15 OSI 7 계층 vs TCP/IP 계층

OSI 7 계층 vs TCP/IP 계층

네트워크 보안 이야기 2017. 1. 15. 00:14 Posted by 낭만이삘삘

L3 스위치...L4스위치...L7 프로토콜... L4에서 동작해? L2야? 등 등...

네트워크 관련된 얘기를 하다보면 1~7 사이의 숫자가 많이 등장하죠. 바로 OSI 7 계층(Layer)에서 정의한 계층을 의미합니다.

이번에는 네트워크 관련된 어떠한 내용이던, 이해를 하거나 의사소통하는데 반드시 알아야 할 필수 아이템인 OSI 7계층에 대해서 (역시나) 개념만 간단히 설명하겠습니다. OSI 7계층이 이론상 표준이라고 한다면, 사실상 표준에 해당하는 TCP/IP 계층과 살짝 비교하면서 마칠께요.


개요

네트워크 통신에는 통신 끝단의 클라이언트와 서버, 중간에서 패킷들을 처리해서 전달해 주는 스위치, 브릿지, 라우터 등 많은 요소들이 있습니다. 보이지 않는 것들까지 자세히 보자면 더 많죠. 이렇게 요소들도 많지만, 하드웨어든 소프트웨어든 이를 만들어 제공하는 벤더들도 참 많죠. 그래서 의사소통이나 각 요소들간의 호환성을 목적으로 네트워크 통신에 필요한 기능들을 쪼개고 쪼개서 각 계층을 7가지로 정의하고 표준화한 것이 OSI 7계층입니다. 각 계층별 정의부터 보죠.


<출처 : 정보보안기사, 예문사>



네트워크 통신에 필요한 기능을 쪼개어 위와 같이 계층을 나누었습니다. 그 역할은 위 표를 보면되구요. 꼭 알아야 할 계층만 설명해보면,

  • 1계층 - 전기적인 신호입니다. 예를들어 유선랜 통신은 랜케이블의 전기적 신호이고, 무선랜인 경우 무선AP와 통신하는 무선주파수가 해당됩니다.

  • 2계층 : NIC(네트워크 인터페이스 카드)(유/무선)에서 1계층에 해당하는 전기신호를 bit 신호로 바꾸겠죠. 그리고 통신을 하기 위해 주변의 NIC와 통신해야하는데 이때 MAC주소라는 것이 사용됩니다. NIC의 주소이죠. 이더넷의 경우 6바이트이구요. MAC주소는 Broadcast Domain내에서만 사용됩니다. 즉 내 PC가 연결되어 있는 작은 네트워크 내에서만 사용되고 다른 네트워크에 전달되기 위해서는 상위계층인 IP주소를 이용해야합니다.

  • 3계층 : IP주소를 사용하는 계층입니다. IP주소는 네트워크 내에 PC나 서버까지 데이터를 도달할 수 있는 주소입니다. 

  • 4계층 : 포트를 사용하는 계층입니다. 3계층인 IP주소를 이용해서 해당 시스템까지 데이터가 전달되었다고 해봅시다. 그 시스템에는 데이터를 기다리는 여러 서비스가 실행되고 있을텐데, 그 시스템으로 데이터가 도달하더라도 어떤 통신프로그램에게 데이터를 전달해야할지 정해야합니다. 이 역할을 하는 것이 포트번호입니다. 즉, 내 PC로 구글검색도하고, 메신저도 써야하기 때문에 내 PC의 IP로 전달된 데이터들도 포트번호를 보고 구글검색을 하는 웹브라우저로 전달할지 메신저에게 전달할지 결정합니다.

  • 7계층 : 5~6계층은 그냥 읽어보시면 되고, 7계층은 우리가 보통 웹프로토콜(http), 메일프로토콜(smtp, pop3 등) 등 최종적으로 어플리케이션이 사용하는 데이터들을 처리한다고 보면 됩니다.

 

캡슐화
한 시스템에서 동작하는 어플리케이션이 다른 시스템에 있는 어플리케이션에게 데이터를 보내는 걸 생각해보죠. 어플리케이션이 사용하는 데이터는 7계층에 해당합니다. 원하는 메시지를 보낼때 7계층에서 시작해서 1계층까지 타고 내려가는데, 계층을 하나씩 내려갈 때 마다 상위계층으로부터 내려받은 데이터는 해당 계층의 관심대상이 아니기 때문에 캡슐로 싸버리듯 그냥 데이터라고 보고 나의 계층에서 처리할 때 필요한 정보만 헤더라는 이름으로 앞에 추가로 달고 아래 계층으로 내보냅니다. 그러면 그 아래 계층 역시, 위에서 받은 것은 그냥 난 관심없는 데이터이니 캡슐로 싸버리고 내가 필요한 정보만 헤더라는 이름으로 앞에 또 추가해서 내립니다. 이런 식으로 1계층까지 갑니다. 그리고 데이터를 최종적으로 받는 시스템은 각 계층마다 내가 필요한 정보(헤더정보)만 처리하고 나머지(캡슐화된) 데이터는 위로 올려보냅니다. 이런 식으로 7계층까지 올라가면 최종적으로 어플리케이션이 자신이 받은 데이터를 인식하게 됩니다.

<출처 : 정보보안기사, 예문사>



OSI 7계층 vs TCP/IP 계층
위에서 살펴본 OSI 7계층이 이론적 표준(De jure)라고 한다면, 사실상 표준(De facto)은 TCP/IP계층입니다. 이론적으로는 OSI 7계층이 있지만, 실제로 현업에서는 단순화한 TCP/IP계층을 더 많이 쓴다는 얘기입니다. 프로그래밍을 할 때 TCP/IP계층을 더 많이 쓰긴 하지만, 계층을 지칭할 때의 숫자는 대부분은 OSI 7계층이니 OSI 7계층의 개념도 잘 알고 있어야 합니다. TCP/IP 4계층을 간략하게 정리하면 아래와 같습니다.

  • 어플리케이션(Application) 계층 : 네트워크를 사용하는 응용프로그램. FTP, TELNET, HTTP 등
  • 전송(Transport) 계층 :  애플리케이션 계층에 세션과 데이터그램(Datagram) 통신 서비스 제공. TCP, UDP 등
  • 인터넷(Internet) 계층 : 어드레싱(addressing), 패키징(packaging), 라우팅(routing) 기능 제공. IP, ARP, ICMP, IGMP 등
  • 네트워크 연결(Network Access) 계층 :  TCP/IP 패킷(packet)을 네트워크 매체로 전달하는 것과 네트워크 매체에서 TCP/IP 패킷을 받아들이는 과정을 담당



OSI 7계층보다 훨씬 간단하죠. 둘의 계층을 비교하면 아래와 같습니다.




각 계층별로 공부할게 많으니 별도로 공부하시길 바라고, 앞으로 네트워크에서 계칭을 지칭하는 숫자들이 자주 등장하는데 각 계층의 개념과 역할을 알고 있어야 이해가 바로 올겁니다.



'네트워크 보안 이야기' 카테고리의 다른 글

네트워크 패킷 필터, netfilter - iptables  (0) 2017.01.22
가상랜 VLAN  (0) 2017.01.21
L2 스위치, L3 스위치, L4 스위치, L7 스위치  (3) 2017.01.15
IPS vs IDS  (0) 2017.01.09