본문 바로가기

IT인생_스크랩/Network

스니퍼 활용 가이드 - TCP/IP 트러블슈팅 II

출처 까비모님의 블로그 | 까비모
원문 http://blog.naver.com/kabimo/50000372040
패킷 캡쳐와 함께 엑스퍼트 기능으로 다양한 항목 분석
서브넷·라우트·글로 벌·DLC 계층 분석 … 심도있는 패킷 분석 가능


김근혜
피지피넷 스니퍼 분석 기술지원부 차장
kgsun@pgpnet.com

이 번 호에서는 패킷을 실제로 캡쳐하면서 엑스퍼트(Expert) 기능을 통해 어떠한 항목들을 분석할 수 있는지 그리고 각각 OSI 7계층에 대한 패킷 분석을 위해 알아야 할 내용들이 무엇인지 살펴본다. <편집자>

지난 호까지 설명됐던 패킷 디코딩과 엑스퍼트(Expert) 기능은 패킷 분석을 심도 있게 하고자 하는 사용자들이 필수적으로 알아야 될 기능이다. 기본적으로 TCP/IP에 대한 정보와 함께 이번 호에서는 이 TCP/IP 분석을 체계적으로 쉽게 할 수 있도록 스니퍼 엑스퍼트 시스템과 연동해 분석하는 방법을 중심으로 살펴보자.

서브넷 계층 분석
서브넷 계층(Subnet Layer)은 특별히 패킷을 분석해 문제점을 찾기보다는 캡쳐된 패킷들을 분석해 전체적인 서브넷간의 전송 상태에 대한 분석을 제공한다. 즉 캡쳐된 패킷에 대해 각 서브넷간의 트래픽 정보를 보고 싶다면 서브넷 계층을 이용하도록 하자.
또한 스니퍼에서는 기본적으로 A,B,C 클래스에 대한 분석을 제공, 더 세밀하게 구분되는 네트워크 세그먼트에 대한 분석이 필요할 때에는 추가로 입력해야 한다. TCP/IP 서브넷 마스크는 전통적으로 IP 주소의 부류에 따른 서브넷 마스크가 되도록 IP 네트워크 주소 내에서 특정 비트들로 예약돼 있다. 어떤 네트워크들은 비전통적인 서브넷 마스크를 사용할 수도 있다.
만일 엑스퍼트가 비전통적인 서브넷 마스크를 사용하는 네트워크 세그먼트에 접속돼 있다면 엑스퍼트는 가짜 네트워크 대상들과 분석 내용들을 등록할 수도 있다. 이러한 상황은 엑스퍼트가 실질적인 서브넷 마스크 주소라기보다는 주소 필드 내의 한 곳에 있는 주소 정보라고 예상하기 때문이다. 만일 네트워크에서 비전통적인 서브넷 마스크를 사용한다면 엑스퍼트가 프레임을 관찰하는 네트워크를 위한 IP 네트워크 주소와 적절한 서브넷 마스크를 추가해야 한다.


라 우트 계층 분석
라우트 계층(Route Layer)은 RIP 패킷의 경로 설정과 관련된 문제점을 분석한다. 앞서 언급했듯 엑스퍼트 UI 오브젝트 창에 있는 RIP 탭에서 정상적으로 라우터에 대한 정보를 입력하면 경로 설정과 관련된 문제점을 이 계층에서 찾을 수 있다. 현재 모든 네트워크 라우팅 프로토콜을 RIP를 거의 쓰지 않는 관계로 잘 사용되지 않는 계층이다.

글 로벌 계층 분석
글로벌 계층(Global Layer)은 캡쳐한 데이터에 대한 통합된 내용을 한눈에 볼 수 있는 계층이다. 전체적인 네트워크 트래픽에 대한 상태를 제공한다.
몇 가지 중점으로 봐야 할 Diagnosis와 Symptoms에 대해 설명하도록 하겠다.



▶ 브로드캐스트/멀티캐스트 스톰(Broadcast/Multicast Strom)
·중요도 : Minor
· 현상 : 이 메시지는 브로드캐스트나 멀티캐스트 패킷이 임계값인 초당 40개 이상 전송됐을 경우 ‘Symptoms’ 영역에 표시된다.

▶ 브로드캐스트/멀티캐스트 스톰 Diag.
·중요도 : Critical/Diag.
·현상 : 이 메시지는 브로드캐스트나 멀티캐스트 패킷이 임계값인 초당 120개 이상 전송됐을 경우 ‘Diagnosis’ 영역에 표시된다. 만약 이 메시지가 생성됐다면 브로드캐스트/멀티캐스트 스톰 증상이 이미 몇 번 발생했음을 알려준다.

▶ 랜 과부하 비율
· 중요도 : Critical/Diag.
·현상 : 이 메시지는 1분간 랜의 과부하 상태(50% 이상의 대역을 사용함)가 20%를 초과할 경우 생성된다.
·원인 : 여러 개의 큰 파일전송이 동시에 발생되는 경우, 많은 사용자들이 네트워크를 이용해 많은 양의 작업을 동시에 수행하는 경우, 한 스테이션이 어떤 작업을 반복해서 하고 있는 경우, 라우터가 최근 재부팅됐을 경우, 리피터/브릿지/라우터가 로깅되고 있는 경우 등이다.

 

대부분 이런 경우 어떤 노드들이 사용되고 있는지 조사하고, 과부하가 통상적인 동작에서 발생했는지 에러 상황에서 발생했는지를 추정해 본다. 만약 네트워크가 만성적으로 과부하 상태가 되고, 과부하로 인해 수용할 수 없을 정도의 시간 지연이 발생한다면 네트워크를 세그먼트 단위로 분리하거나 네트워크 트래픽을 줄일 수 있는 다른 방법을 고려해야 한다.



DLC 계층 분석
DLC 계층은 캡쳐한 패킷의 DLC 헤더 부분에 대한 분석 내용을 제공하는 계층으로 각 MAC 주소별 트래픽에 대한 분석 정보와 그에 대한 문제점에 대해 기술하고 있다. 스니퍼의 엑스퍼트 계층은 OSI 7계층과 비슷한 형태를 취하지만 OSI 7 계층에 있는 물리 계층(Physical Layer)에 대한 분석 정보는 제공하지 않는다. 즉, 스니퍼는 단선 체크(Physical Error)에 대한 부분은 제공하지 않는다는 말로도 표현할 수 있다. 그러나 스니퍼는 케이블 또는 포트 등 하드웨어적인 오류로 인해 발생되는 에러 프레임들을 측정했을 경우 이 DLC 계층에서 어느 쪽에 문제가 있는지를 제공한다.
먼저 스니퍼가 측정하는 DLC 헤더에 대한 부분을 보자. 스니퍼는 프리앰블(Preamble, 8바이트)을 제외한 목적지 MAC 주소(6바이트)부터 측정한다. 다음 <그림 5>는 스니퍼가 측정하는 패킷에 대한 형태다.
일반적으로 스니퍼를 이용해 모니터링 할 때와 캡쳐 할 때를 비교해보면 <그림 5>에서 보듯 패킷 캡쳐 시에는 CRC(4바이트)를 저장하지 않는다. 따라서 모니터링과 캡쳐 시의 데이터 량은 패킷수×4바이트만큼의 차이가 난다. 이더넷 프레임에는 802.3 프레임과 이더넷 v2 프레임이 있는데 현재 랜 환경에서 거의 이더넷 v2 프레임이 사용된다. 이 두 프레임의 패킷 구조 차이는 <그림 6>에 나와있다.
앞으로의 모든 패킷 분석 구조는 이더넷 V2 프레임을 기준으로 설명하겠다. DLC 헤더는 목적지 MAC 주소(6바이트) + 소스 MAC 주소(6바이트) + 타입(2바이트)로 구성돼 있다. 여기서 타입(Type) 부분은 DLC 헤더 위에 위치하는 상위 헤더가 어떤 프로토콜인지를 결정지어 주는 부분이다. 일반적으로 TCP/IP 환경에서 DLC 헤더의 타입부분을 보면 0800으로 표시돼 있으며, 이는 상위 헤더가 IP 헤더가 온다는 것을 의미한다. 각 세부 타입의 내역은 <그림 7>을 참조하기 바란다.
이 계층에서 중점적으로 봐야 될 부분을 설명하겠다. 이 계층은 각 장비들의 DLC 계층에서의 데이터 송수신 상태를 제공하며 또한 물리적인 오류 발생 상태, 그리고 각 장비의 종류를 파악해 네트워크 관리자에게 제공한다. 물리적인 오류 발생 상태는 하드웨어적인 오류로 인해 정상적인 이더넷(64바이트 이상, 1518바이트 이하)의 크기를 가지지 않는 패킷 발생 시 이를 유발하는 노드를 찾아냄으로써 그 원인 제거를 할 수 있다.
그 러나 여기서 한가지 주의할 점은 스니퍼는 영리하지 못하다는 것이다. 스니퍼는 패킷의 크기만을 볼 뿐 실제 그 패킷이 정상인지 아닌지는 네트워크 관리자가 판단해야 할 문제기 때문이다.
한가지 예를 들면 가상랜(VLAN) 패킷이 다니는 네트워크에서 스니퍼를 측정해 보면 VLAN 802.1Q Tag 사용시에는 4바이트가 추가되므로 정상 프레임보다 4바이트가 추가되기 때문에 스니퍼에서는 오버사이즈(Oversize) 프레임으로 표시한다.
이때 관리자는 캡쳐 후 패킷 디코딩을 통해 이 패킷이 하드웨어 에러로 인한 오버사이즈 프레임인지 아니면 위와 같은 정상 태그 데이터로 인해 늘어난 프레임인지를 결정해야 할 것이다. 이것은 네트워크 관리자의 몫이다.



<그림 10>에 실제 비정상적인 패킷에 대한 디코딩 화면을 실었다. 하드웨어적인 오류 발생시 그로 인해 발생한 에러 프레임을 캡쳐한 샘플 화면이다.
이러한 에러 프레임이 발견되면 스니퍼의 엑스퍼트에서는 다음과 같은 Symptoms/Diagnosis로 표시된다.
이 부분은 스니퍼 엑스퍼트 DLC 계층에서도 가장 중점적으로 봐야 할 부분 중 하나다. 64바이트보다 작거나 1518바이트보다 큰 비 정상적인 에러 프레임 발생시 DLC Diagnosis에서는 하이 레이트 피지컬 에러(High Rate Physical Error)로 측정된다. 이 메시지는 특정 스테이션이 스니퍼 프로의 엑스퍼트 프로퍼티스(Properties) 대화상자 내, 알람 탭에 있는 이 메시지의 피지컬 에러 레이트 항목에 설정한 임계값, 4회 이상으로 에러가 발생해 진단 영역에 표시된다.
이러한 오류에 포함되는 것으로는 Runts(short frames), Bad CRC, Lost frame, Giant(oversize frames) 등이 있다. 이러한 현상은 케이블 불량, 케이블의 길이 제한 초과, 케이블 상의 전기적인 잡음, 누화(cross talk), 라우터 또는 리피터, 게이트웨이 장비의 결함 등으로 인해 발생할 수 있다. 모니터(Monitor)의 호스트 테이블(Host table) → 오버뷰(Overview) → MAC에서도 에러 확인이 가능하며, 이 캡쳐 데이터 분석은 인핸스드 드라이버로 업데이트됐을 경우에만 제공된다.
이러한 에러 프레임들을 찾고자 한다면 스니퍼 엑스퍼트 시스템을 이용하면 해결할 수 있으며, 마지막으로 이더넷 상에서 발생되는 이더넷 프레임 크기와 네트워크 효과에 대해 참고 자료를 <그림 12>에 실었다.
이 부분은 실제 이더넷에서 최대 발생할 수 있는 프레임 개수와 패킷 사이즈가 네트워크에 어떠한 영향을 미치는지에 대한 참고 자료다. 트래픽 분석시 패킷 사이즈별 분포가 중요한 이유는 이 부분에서도 찾아 볼 수 있다.
이상 스니퍼 엑스퍼트의 DLC 계층까지 살펴봤다. 다음 호에서는 네트워크 계층부터 애플리케이션 계층 응답시간 분석에 이르는 부분에 대해 설명하도록 하겠다. 이번 호 내용중에 삽입됐던 샘플 캡쳐 파일이 필요한 관리자는 필자에게 메일로 요청하기 바란다.