네트워크에 병목 현상이 생겼을 때 우리는 네트워크로부터 발생한 문제점 인 것을 확인해본 후 네트워크 성능분석을 해야한다.
-> 언제사용?
1. 네트워크 속도가 느릴 때
2. 네트워크 연결이 끊길 때
3. 특정 웹에 접속이 안될 때
4. 네트워크 트래픽을 분석하여 과부하를 방지하기위해
5. 네트워크 장비의 성능을 확인
6. 네트워크 성능을 향상시키기 위한 방안을 모색하기 위해
7. 네트워크 보안 취약점을 찾아 해결하고 싶을 때
...
등등 많은 이유들이 있다.
Ping
Packer INterner Groper
네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어
이를 통해 해당 노드의 패킷 수신 상태와 도달하기까지 시간 등을 알 수 있으며 해당 노드까지 네트워크가 잘 연결되어 있는지 확인할 수 있다.
ping은 TCP/IP 프로토콜 중에 ICMP 프로토콜을 통해 동작한다.
그렇기 때문에 ICMP프로토콜 지원하지 않는 기기에서는 실행할 수 없다. 그리고 네트워크 정책상 ICMP or traceroute를 차단하는 대상의 경우 ping테스트 불가능하다.
* 이더넷
컴퓨터 네트워크를 연결하는 기술로, 가장 일반적인 유선 네트워킹 기술
이더넷은 케이블을 통해 장치를 연결하며, 데이터를 전송하는 데 TCP/IP 프로토콜을 사용한다.
ping을 찍어본다 -> 이더넷이 잘 연결되어 있는지 + 이더넷 연결속도 측정하는것
-> 문제 생겼을 때 일단 ping을 찍어봄
-n 12 : 12번의 패킷을 보내고 12번의 패킷을 받는다
왕복시간 = 지연시간
netstat
접속되어 있는 서비스들의 네트워크 상태를 표시해준다.
네트워크접속, 라우팅 테이블, 네트워크 프로토콜 등
주로 서비스의 포트가 열려 있는지 확인할 때 사용

tracert
윈도우 : tracert
리눅스 : traceroute
목적지 노드까지 네트워크 경로를 확인할 때 사용
응답시간을 확인해 볼 수 있다.
Q1) 어떻게 ping 명령어를 사용하여 네트워크 연결 상태를 테스트할 수 있을까요?
A) ping 명령어는 일단 네트워크 상의 다른 시스템에게 ICMP 에코 요청을 보내고 응답 시간을 테스트 할 때 사용합니다. 예를 들어, ping google.com 명령은 Google의 서버에게 에코 요청을 보내고, 서버로부터 에코 응답을 받아 각 요청의 왕복 시간을 측정합니다. 네트워크 연결의 지연 시간을 파악할 때 주로 사용합니다.
Q2) 명령어 nslookup 명령어의 용도와 사용 방법을 설명해 주세요
A) 이 명령어는 DNS(Domain Name System) 레코드 조회를 할 때 사용하는 명령입니다. 도메인을 IP 주소로 변환할 때 사용하는데요, nslookup google.com 명령을 사용하면 google의 IP 주소를 찾습니다.
DNS : 사람이 쉽게 기억할 수 있는 도메인 이름을 컴퓨터가 이해할 수 있는 ip주소로 변환하는 역할을 하는 네트워크 시스템
DNS 레코드 조회 : 특정 도메인 이름에 대한 DNS 레코드를 확인하는 과정. 네트워크 문제를 진단할 때 사용한다.
DNS 서버에 요청을 보냄
-> DNS서버는 요청받은 이름에 대한 DNS레코드를 검색
-> 찾은 DNS 레코드를 컴퓨터에게 제공
-> 컴퓨터는 DNS 레코드를 사용하여 네트워크 활동을 수행
Q3) 명령어 tracert google.com 을 실행하면 어떤 과정이 일어나는지 설명하고 어떤 문제점을 파악할 때 사용할지 설명해보세요
A) tracert 명령어를 실행하면 내 컴퓨터에서 해당 사이트의 서버까지 네트워크 경로를 추적하게 됩니다.
ICMP 에코 요청 메시지를 사용하고, 목적지까지 경로를 찾기 시작하는데, 이 때 각각의 에코 요청은 Time to Live 값을 가지게 됩니다. 이후 첫번째 TTL 값을 1로 지정하고 패킷이 라우터를 지날 때마다 값이 1씩 감소하게 됩니다. TTL 값이 0이 되면 해당 라우터는 패킷을 폐기하고 원본 주소로 ICMP “시간 초과” 메시지를 반환합니다.
이런식으로 네트워크 노드(라우터)를 통과할 때마다 발생하는 지연시간을 체크할 수 있고, 경로를 따라가는 과정을 내가 확인할 수 있습니다. 각 단계별 경로를 파악할 수 있기 때문에 네트워크 성능 문제를 진단하거나 특정 지점에서 발생할 수 있는 문제를 확인할 수 있습니다.
TTL
TTL은 Time to Live의 약자로, 네트워크에서 데이터의 유효 기간을 나타내는 값입니다. TTL은 계수기나 타임스탬프의 형태로 데이터에 포함되며, 정해진 유효 기간이 지나면 데이터는 폐기됩니다.
ICMP 에코 요청
네트워크 장치의 상태를 확인하고 연결 문제를 진단하는 데 사용되는 메시지입니다. 라우터 경로도 추적할 수 있습니다.
ICMP 에코 요청 메시지에는 목적지 주소, 식별자, 순서 번호 및 데이터가 포함됩니다.
이걸 보내서 받으면 받는쪽에서는 메시지 내용을 확인하고 다시 그대로 복사해서 ICMP에코 응답 메시지를 만들어서 다시 보냅니다. 그러면 보내는쪽에서 다시 확인해서 성공적으로 메시지를 전달 받았음을 확인합니다.
네트워크 프로토콜
다른 장치들끼리 데이터를 주고받기 위해 설정된 공통된 인터페이스.
데이터를 어떤 형식으로 전송할지, 오류를 어떻게 처리할지, 연결을 어떻게 설정하고 종료할지 등을 정의한다. 이러한 프로토콜은 IEEE 또는 IETF라는 표준화 단체에서 정한다.
표준화의 중요성
호환성
서로 다른 장치들이 통신할 수 있도록 한다
상호 운용성
서로 다른 제조사 또는 모델의 장치들이 함께 작동할 수 있도록 한다.
개방성
누구나 표준을 사용하여 장치를 개발하고 판매할 수 있다.
혁신
새로운 기술 개발을 촉진
ISO (국제 표준화 기구)
전 세계적으로 가장 큰 표준화 단체. OSI 모델과 같은 네트워킹 표준을 개발
ITU (국제 전기 통신 연합)
전 세계 통신 시스템의 표준화를 담당하는 기관. X.25와 같은 전화 네트워킹 표준을 개발
IETF (인터넷 엔지니어링 태스크포스)
인터넷 관련 표준을 개발하는 국제 협력 기구. TCP/IP와 같은 인터넷 표준을 개발
ETSI (전자기술표준원)
유럽의 정보통신 표준화 기관입니다. DECT와 같은 무선 통신 표준을 개발합니다.
IEEE (미국 전기 전자 기술자 협회)
전기 및 전자 공학 분야의 표준을 개발하는 국제 단체입니다. IEEE 802.3과 같은 이더넷 표준을 개발합니다.
Q) 네트워크 프로토콜 표준화가 왜 중요한지 설명해 주세요. 그리고 네트워크 프로토콜 표준화가 기업의 비즈니스 가치에 어떻게 기여할 수 있는지에 대한 예를 들어 설명해 주세요.
A) 먼저, 네트워크 프로토콜에 대해 설명하겠습니다.
이는 다른 장치들끼리 데이터를 주고받기 위해 설정된 공통 인터페이스를 말합니다. IEEE, IETF라는 표준화 단체가 이 프로토콜을 결정하는데요,
표준화된 프로토콜을 사용함으로써, 만든 기업과 개발자는 호환이 가능한 솔루션을 설계할 수 있습니다.
따라서 네트워크 환경에서의 연결성을 개선할 수 있습니다.
소프트웨어를 자유롭게 선택할 수 있는 점을 보아, 효율적인 비용으로 구매 결정을 내릴 수 있고 호환성 문제로 인한 유지보수 비용이 감소합니다. 따라서 운영 비용 절감이라는 비즈니스 가치에 기여할 수 있습니다.
상호 운용이 가능하므로 수익성 향상에는 당연히 도움이 됩니다.
이런 표준화는 또한 기술 통합을 용이하게 해 IT 인프라 관리와 운영 효율성을 향상시킵니다. 시스템 간의 문제를 쉽고 빠르게 해결할 수 있기 때문입니다.