제10강.네트워크성능 관리
PING (Packet Internet Groper)
TCP/IP 프로토콜 중 ICMP(Internet Control Message Protocol) 사용
ICMP(Internet Control Message Protocol)
- ICMP는 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 에러를 알려주는 프로토콜
- OSI 3계층인 네트워크 계층에 속함.
- RFC 792에 정의됨.
- ICMP는 IP 테이터그램을 사용
- 메시지는 TCP/IP 소프트웨어에 의해 처리되며 응용프로그램 사용자에게 직접 분명하게 보이지는 않는다. 일례로서 ping 명령어는 인터넷 접속을 테스트하기 위해 ICMP를 사용한다.
PING 구조
TYPE ( 0 or 8)
|
Code (0)
|
Checksum
| |
Identifier
|
Sequence Number
| ||
Option Data
| |||
- 타입 : ICMP 메시지 유형 구분
- 코드 : 메시지에 대한 추가 정보 (ping은 0)
- 오류검사 : ICMP 메시지에 대한 오류만 검사
- 식별자 : 패킷을 보낸 ID로 응답 시 확안. 같은 서버에 요청되는 각종 PING Request에 대한 소유권 구분
- 번호순서: ‘0’에서 부터 시작하여 증가하는 값. 응답 패킷에 복사
>ping www.yahoo.co.kr
Pinging sg-rc.g01.yahoodns.net [203.84.219.114] with 32 bytes of data:
Reply from 203.84.219.114: bytes=32 time=309ms TTL=49
-----------------
RTT(Round Trip Time)와 TTL(Time to Live) 값
Reply from 203.84.219.114: bytes=32 time=307ms TTL=49
Reply from 203.84.219.114: bytes=32 time=311ms TTL=49
Reply from 203.84.219.114: bytes=32 time=312ms TTL=49
Ping statistics for 203.84.219.114:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
----------------------------------------------------
Packet 손실율
Approximate round trip times in milli-seconds:
Minimum = 307ms, Maximum = 312ms, Average = 309ms
-------------------------------------------------
RTT 최대, 최소값
PING 출력 형태
- 첫번째 RTT 값이 다른 RTT 값들보다 높은 경우 :: ping을 수행한 장비의 ARP 캐시에 대상 호스트의 IP에 관련된 MAX가 없는 경우, 주로 발생
PING 형식과 옵션(windows)
- -t : 사용자가 프로그램을 끝낼 때 까지, PING 명령을 계속 수행
- -a : 입력된 IP 주소를 호스트 이름으로 바꾸어 줌
- -n count : count에 지정된 수 만큼 패킷을 보냄
- -w timeout : timeout 시간을 연장
- -l size : 패킷 사이즈를 변경
TTL(Time-To-Live)::
- IP 패킷 내에 있는 값, 네트워크내에 얼마 오래 있었으며 폐기 여부를 라우터에게 알려줌.
- 패킷들이 정상적으로 목적지까지 배달되지 않는 여부를 나타낸다.
- 초기치는 8비트 헤더에 설정됨.
- 각 라우터는 TTL필드로 부터 적어도 하나의 숫자를 빼도록 되어 있음. 그 계산은 대개 패킷이 버려지기 전에 허용되는 라우터의 홉수를 의미(홉 : 라우터 <-> 라우터 사이)
- 패킷을 받는 각 라우터는 TTL 필드 내의 값에서 1을 뺀다. 그 값이 0이 되었을 때, 라우터는 그것을 감지하여 그 패킷을 버리고 ICMP 메시지를 발신지 호스트로 보냄.
- 원도우9x의 기본 TTL은 32홉 , 만약 어떤 사이트에 도달하기 어려움을 느끼는 사용자라면 이 값을 128 정도로 바꾸는 것도 하나의 방법.
- tracert - 수신 경로를 따라 이어지는 각 라우터에 의해 그 패킷이 버려지도록 하기 위해,의도 적은 낮은 TTL값을 이용
- TTL 값
- 0은 같은 호스트 ,1 은 같은 서브넷으로 제한
- 32은 같은 사이트 , 64은 같은 지역으로 제한
- 128은 같은 대륙 ,255는 제한 없다.
tracert(Trace Route)
- 특정 호스트를 찾아가기 위하여 거치는 홉을 기록하는 프로그램.
- 해당 라우터의 라우팅 데이블이 정상적인지 점검
- ICMP의 메시지 두 종류와 IP헤더 내의 TTL을 사용
Tracert 옵션 사용 예
- 홉 마다 주소에 대한 호스트 이름을 알아 보는 것을 제외하여 trace 실행 시간을 빠르게 하고자 하는 경우
예) tracert -d www.yahoo.co.kr - 대상 호스트까지 연결되는 홉 중 5개만의 경로를 알고자 하는 경우
예) tracert -h 5 www.yahoo.co.kr
netstat
- 네트워크 인터페이스 카드의 네트워크 통계치와 현재의 TCP/IP 네트워크의 연결상황을 나타내는 프로그램
- 이를 통하여
- 현재 발생하고 있는 Collision Rate 계산
- 접속 케이블/인터페이스의 양호 상태
- Broadcast 율, Discard 율, 네트워크 I/O 트래픽 율
- 라우팅 데이블 등을 알 수 있음
- 또한, 현재 접속되어 있는 호스트의 어드레스와 포트 번호를 알 수 있음.
참고 : 브로드캐스트(broadcast)
- 영역안에 모든 노드에 동일한 신호를 보내는 것
- 비교
- 유니캐스트 : 특정 수신자(대부분의 전자우편이 그렇다)에게만 전송
- 멀티캐스트 : 다중 수신자(전자우편 메일링 리스트 또는 MBone네트웍을 통한 웹전송 등)들에게 전송
- 애니캐스트 : 라우터들의 그룹에서 가장 가까이 있는 것들에게 전송
Netstat 출력 양식
- Proto: 연결된 네트워크의 프로토콜 이름
- Local Address : 연결에 사용되는 로컬 단말의 IP주소와 포트번호 표시 (포트 지정이 안된 경우 * 표시)
- Foreign Address : 연결된 원격 컴퓨터의 호스트 이름이나 IP 주소 표시
- State : 연결 TCP 프로토콜의 연결 상태 표시
- 연결 시 : established
- 연결 대기 중인 경우 : listening
netstat 옵션 사용예
- 현재 이더넷 환경에서 해당 단말의 broadcast와 unicast 패킷 비율, 폐기되는 패킷 율, 에러등의 통계치를 알고 싶은 경우
::netstat -e - 네트워크 연결 상황을 IP주소와 패킷 번호 별로 나타내고자 하는 경우
::netstat -a -n (결과에 이상한 포트번호가 (12345,1245 등) 나타나면 트로이의 목마에 감염된 것임. - 해당 단말의 라우팅 형태와 연결 접속 사황을 보고자 하는 경우 (라우팅 테이블을 보여줌)
::netstat -r
라우팅 테이블
설명
|
Network Address
|
Netmask
|
Gateway
|
Interface
|
Metric
|
Default
Route
|
0.0.0.0
|
0.0.0.0
|
192.168.1.1
|
192.168.1.100
|
20
|
Loop Back
|
127.0.0.0
|
255.0.0.0
|
127.0.0.1
|
127.0.0.1
|
1
|
Subnet
network
|
192.168.1.0
|
255.255.255.0
|
192.168.1.100
|
192.168.1.100
|
20
|
Lan Card
|
192.168.1.100
|
255.255.255.255
|
127.0.0.1
|
127.0.0.1
|
20
|
Subnet
Boradcast
|
192.168.1.255
|
255.255.255.255
|
192.168.1.100
|
192.168.1.100
|
20
|
Multicast
|
224.0.0.0
|
240.0.0.0
|
192.168.1.100
|
192.168.1.100
|
20
|
Limited
broadcast
|
255.255.255.255
|
255.255.255.255
|
192.168.1.100
|
192.168.1.100
|
1
|
Routing Table 보는 법
- default route
- 여러 라우팅 데이블을 확인해서 일치하지 않을 경우, default route의 gateway로 보낸다
- 일반적으로 라우터의 주소에 해당
- loopback
- 127.0.0.1은 software loopback 주소로서, 자기 자신을 가리킨다.
- subnet network
- ip 주소의 subnet network 주소를 가르킨다.
- ip 주소가 192.168.1.100 이고 subnet mask가 255.255.255.0 인 경우 AND 연산을 통해 192.168.1.0이 network 주소가 된다.
- LAN card : 자신의 IP주소를 의미한다.
- subnet broadcast : 위의 subnet mask 연산결과 나온 192.168.1.0 의 마지막 주소인 192.168.1.255를 broadcast로 사용.
- multicast
- D class의 multicast를 나타내는 행이다.
- 특정한 그룹에게 메시지를 전달 할 때 사용되는 주소
- limited broadcast
- 라우터를 통과하지 못하는 broadcast 주소
- 같은 subnet 상의 모든 host에 전달
댓글 없음:
댓글 쓰기