24.01.05 네트워크의 기초 2
1. 네트워크 분류
1) LAN
- 근거리 통신망을 의미하며 같은 건물이나 캠퍼스 같은 좁은 공간에서 운영
- 전송 속도가 빠르고 혼잡하지 않다
2) MAN
- 대도시 지역네트워크를 나타내며 도시 같은 넓은 지역에서 운영
- 전송 속도는 평균이며 LAN 보다는 더 많이 혼잡
3) WAN
- 광역 네트워크를 의미하며 국가 또는 대륙 같은 더 넓은 지역에서 운영
- 전송 속도는 낮으며 MAN 보다 더 혼잡
2. 네트워크 성능분석 명령어
- 애플리케이션 코드상에는 전혀 문제가 없는데 사용자가 서비스로부터 데이터를 가져오지 못하는 상황이
발생되기도 하며, 이는 네트워크 병목 현상일 수 있다
- 네트워크 병목 현상의 주된 원인은 아래와 같다
* 네트워크 대역폭
* 네트워크 토폴로지
* 서버 CPU, 메모리 사용량
* 비효율적인 네트워크 구성
- 이때는 네트워크 관련 테스트와 네트워크와 무관한 테스트를 통해 네트워크로부터 발생한 문제점인 것을 확인한 후
네트워크 성능 분석 필요
- 이때 사용되는 명령어는 다음과 같다
1) ping (Packet Internet Groper)
- 네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어
- 해당 노드의 패킷 수신 상태와 도달하기까지 시간 등을 알 수 있으며, 해당 노드까지 네트워크가 잘 연결되어
있는지 확인 가능
- TCP/IP 프로토콜 중에 ICMP 프로토콜을 통해 동작
- ICMP 프로토콜을 지원하는 기기를 대상으로는 실행할 수 없거나 네트워크 정책상 ICMP 나 traceroute 를
차단하는 경우 ping 테스팅 불가
- ping [IP 주소 또는 도메인주소]로 실행
- 아래 그림은 ping www.google.com -n 12 라는 명령어를 구동한 모습이다. -n 12 옵션을 넣어서 12번의
패킷을 보내고 12번의 패킷을 받는다
2) netstat
- 접속되어 있는 서비스들의 네트워크 상태를 표시하는데 사용됨
- 네트워크 접속, 라우팅 테이블, 네트워크 프로토콜 등 리스트를 보여줌
- 주로 서비스의 포트가 열려 있는지 확인할 때 사용
- 아래 그림을 통해 지금 내가 접속하고 있는 사이트 등에 관한 네트워크 상태 리스트를 볼 수 있다
3) nslookup
- DNS 에 관련된 내용을 확인하기 위해 사용
- 특정 도메인에 매핑된 IP 를 확인하기 위해 사용
- 아래 그림은 google.com 의 DNS 를 확인하는 모습
4) tracert
- 윈도우에서는 tracert 고, 리눅스에서는 traceroute 라는 명령어로 구동
- 목적지 노드까지 네트워크 경로를 확인할 때 사용하는 명령어
- 목적지 노드까지 구간들 중 어느 구간에서 응답 시간이 느려지는지 등을 확인 할 수 있다
- 아래 그림은 구글 사이트에 도달하기까지의 경로 추적하는 모습
5) 기타
- 이외에도 ftp 를 통해 대형 파일을 전송하여 테스팅하거나 tcpdump 를 통해 노드로 오고 가는 패킷을 캡처하는
등의 명령어가 있으며 네트워크 분석 프로그램으로는 wireshark, netmon 이 있다
3. 네트워크 프로토콜 표준화
- 네트워크 포로토콜이란 다른 장치끼리 데이터를 주고받기 위해 설정된 공통된 인터페이스
- 이러한 프로토콜은 기업이나 개인이 발표해서 정하는것이 아니라 IEEE 또는 IETF 라는 표준화 단체가 정함
1) IEEE802.3
- 유선 LAN 프로토콜로, 유선으로 LAN 을 구축할 때 쓰이는 프로토콜이다
- 이를 통해 만든 기업이 다른 장치라도 서로 데이터를 수신할 수 있다
- 예) 웹을 접속할 때 쓰이는 HTTP 가 있다. 서로 약속된 인터페이스인 HTTP 라는 프로토콜을 통해 노드들은
웹 서비스를 기반으로 데이터를 주고 받을 수 있다