일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- NAS HDD교체
- github
- gitlab
- ci/cd
- 3D 프린터 용어
- 데이터 직렬화 포맷
- Kotlin
- kubernetes
- docker container
- 3D
- 3D프린터입문
- Jenkins
- C언어
- 3D프린터 입문
- linux job
- Notification
- 3D프린터
- octoprint
- IoTNetwork
- 3d프린터 초보
- git
- 네이버클라우드
- data serialization formats
- 리눅스 파일동기화
- 코틀린개발환경
- Token인증방식
- nas
- 3D모델링
- OnlineIDE
- docker
- Today
- Total
0과 1을 공부하다.
[Network] Ping 명령어를 이용한 네트워크 점검 본문
본인의 사용하는 PC에서 인터넷 서비스가 정상적으로 동작하지 않을 경우 어떠한 경로에서 장애가 있는지 판단하고 해결해야 한다.
본 글에서는 네트워크의 장애가 발생하였을 때 물리적인 상태를 점검하고 ping 명령어를 이용하여 장애 경로를 파악하여 해결하는 방법에 대해 알아본다.
물리적인 점검 (사전 점검)
필자의 경험상 특별한 네트워크 작업을 수행하지 않는 한 장애가 발생하였을 경우 어처구니 없게도 대부분 해당 항목에서 원인을 파악하였다. Ping 명령어를 이용하여 경로를 파악하기 '등진 밑이 어둡다'라는 말처럼 주변부터 살펴보자.
(1) 무선 인터넷 환경
가. 개인 PC 및 랩탭의 무선 랜카드가 활성화되어 있는지 ? (랩탑의 경우 대부분 펑션키를 통해 On/Off가 가능하다.)
나. 비행기 모드로 설정 되어 있지 않은지 ?
다. 무선 네트워크(WiFi)가 정상적으로 잡혀 있는지 ?
(2) 유선 인터넷 환경
가. PC의 랜(RJ-45) 포트에 정상적으로 랜 케이블이 연결되어 있는지 ? # 4번 항목 참조
(3) 라우터 (유/무선 공통 점검)
가. 라우터의 전원이 정상적으로 들어와 있는지 ?
나. 라우터의 랜(RJ-45) 포트에 랜 케이블이 정상적으로 연결되어 있는지 ? # 4번 항목 참조
(4) 유선 및 라우터 공통
(2)의 가 항목과 (3)의 나 항목 점검을 위해 연결된 랜 포트를 확인한다. 랜 포트에는 좌/우로 LED가 존재하는 데 해당 항목을 통해 점검이 가능하다. 각 LED별 항목은 아래와 같다.
좌측 LED | 우측 LED |
주황색: 인터넷과 연결되어 있음. | 녹색: 1Gbps 속도로 연결됨. |
주황색 깜빡: 인터넷에 연결되어 데이터를 송/수신하고 있는 상태. | 주황색: 100Mbps 속도로 연결됨. |
LED OFF: 인터넷에 연결되어 있지 않음. | LED OFF: 10Mbps 속도로 연결됨. |
해당 항목에서 정상적으로 데이터 송/수신 및 연결이 되어 있지 않다면 랜 카드 혹은 랜 케이블의 문제를 의심할 수 있다.
만약 아무 문제가 없더라도 RJ-45의 작은 플러그가 손상되어 고정되어 있지 않고 작은 힘으로 분리되는 상태라면 예방정비 차원에서 커넥터를 교체할 것을 권장한다.
ping 명령어를 이용한 장애경로 파악
PC의 명령프롬프트(Window), 터미널(Linux/Mac)에 ping 명령어로 입력하여 네트워크의 장애 경로를 파악한다. 해당 명령어는 Window, Mac 동일하기 때문에 구분하지 않는다.
ping은 다른 호스트에 ip데이터그램 도달여부를 조사하기 위한 프로그램으로 TCP/IP 프로토콜 중 ICMP(Internet Control Message Protocol)를 통해 동작한다. ping 도메인명 혹은 IP를 입력하여 네트워크 상태를 확인하려는 대상을 향해 일정 크기의 패킷(Packet, 네트워크의 최소 전송단위)을 보낸 후(ICMP echo) 대상 컴퓨터가 응답하는 메세지(ICMP echo reply)를 통해 네트워크의 작동 여부와 상태를 점검 할 수 있다. 아래 그림은 ping 명령어의 윈도우, 리눅스의 옵션이다.
윈도우에서 localhost(127.0.0.1)에 ping을 보내면 아래 그림과 같은 결과가 나온다. 해당 결과가 의미하는 바는 127.0.0.1이 보낸 ping에 응답 하였고, 32byte의 Packet를 보냈을 때 1ms(밀리초, 1/1000초)만에 응답하였음을 의미한다. TTL(Time To Live)은 대상 컴퓨터에 보낸 패킷이 살아서 제 역할을 수행할 제한 시간을 의미한다. 대상 컴퓨터의 네트워크 상태와는 무관함.
만약 정상적인 네트워크 상태라면 위와 같이 패킷 손실 없고 빠른 속도로 응답하지만 비정상적인 네트워크 상태라면 패킷 손실이 있거나 응답시간이 오래걸리거나 요청시간이 만료되는 결과를 얻게 될 것이다.
(1) 랜카드 통신 점검
본인의 localhost(127.0.0.1)에 ping을 보낸다. 해당 경로에서 문제가 발생 했을 경우 랜카드 혹은 랜 케이블 상태를 의심한다.
$ ping 127.0.0.1
(2) 가정 라우터(공유기) 통신 점검
ipconfig(Window)또는 ifconfig(Linux)를 통해 게이트웨이 IP를 확인하여 ping을 보낸다. 해당 경로에서 문제가 발생 했을 경우 가정 라우터의 상태를 의심한다.
$ ping 192.168.0.1 (각 라우터 환경마다 다름)
(3) 통신사(ISP) 라우터 통신 점검
각 자신이 사용하는 통신사(ISP) 라우터로 핑을 보낸다. 통신사의 ping을 확인하기 위해 nslookup 명령어를 입력한다. 윈도우는 nslookup 명령어를 입력하면 바로 나오고 리눅스 환경에서는 nslookup 입력 후 server로 질의한다.
위와 같은 결과에서 필자는 KT 통신사를 이용하고 있음을 알 수 있다. KT 통신사의 라우터로 ping을 보내본다. 해당 경로에서 문제가 발생 했을 경우 통신사(ISP) 라우터의 상태를 의심한다.
$ ping 168.126.63.1 (KT)
4. 외부 인터넷 통신 점검
외부 인터넷 통신 상태를 점검한다. 구글 DNS 서버(8.8.8.8)에 ping을 보내본다. 해당 경로에서 문제가 발생한다면 앞서 문제가 발생하지 않았다면 통신사 라우터에서 외부로 나가는 경로에 문제가 발생했거나 특정 서버에 문제가 있을 수 있다.
$ ping 8.8.8.8 (구글 DNS)
참고사이트
[1] https://it.donga.com/21930/
[2] https://darrengwon.tistory.com/856
[3] https://jdh5202.tistory.com/593
※ 본 게시글의 정보가 잘못 되었거나 부족한 부분에 대한 피드백을 환영합니다.
* CopyRight 2022. Jay Park All rights reserved.