참고한 책: 면접을 위한 CS 전공지식 노트 (http://www.yes24.com/Product/Goods/108887922)
2. 네트워크
2.1. 네트워크의 기초
2.1.3. 네트워크 분류
2.1.4. 네트워크 성능 분석 명령어
2.1.5. 네트워크 프로토콜 표준화
p.75
네트워크 분류
네트워크는 규모를 기반으로 분류할 수 있음.
LAN(Local Area Network)
사무실과 개인적으로 소유가능한 규모. 근거리 통신망을 의미하며 같은 건물이나 캠퍼스 같은 좁은 공간에서 운영됨. 전송 속도가 빠르고 혼잡하지 않음.
MAN(Metropolitan Area Network)
서울시 등 시 정도 규모. 대도시 지역 네트워크를 나타나며 도시 같은 넓은 지역에서 운영됨. 전송속도는 평균이며 LAN 보다는 혼잡함.
WAN(Worldd Area Network)
세계 규모. 광역 네트워크를 의미하며 국가 또는 대륙 같은 더 넓은 지역에서 운영됨. 전송속도는 낮으며 MAN보다 더 혼잡함.
p.76
네트워크 성능 분석 명령어
애플리케이션 코드에는 문제가 없는데 사용자가 서비스로부터 데이터를 가져오지 못하는 상황이 발생하기도 함. 이는 네트워크 병목현상일 가능성이 있음.
네트워크 병목 현상의 주된 원임
- 네트워크 대역폭
- 네트워크 토폴로지
- 서버 CPU, 메모리 사용량
- 비효율적인 네트워크 구성
네트워크 관련 테스트와 네트워크와 무관한 테스트를 통해 '네트워크로부터 발생한 문제점'인 것을 확인한 후 네트워크 성능 분석을 해봐야 함
ping(Packet INterner Groper)
네트워크 상태를 확인하려는 대상노드를 향해 일정크기의 패킷을 전송하는 명령어. 해당 노드의 패킷 수신 상태와 도달하기까지 시간 등을 알 수 있음. 해당 노드까지 네트워크가 잘 연겨로디어 있는지 확인할 수 있음. ICMP 프로토콜을 통해 동작하기 때문에 이 프로토콜을 지원하지 않는 기기를 대상으로는 실행할 수 없거나 ICMP나 traceroute를 차단하는 대상의 경우 테스팅이 불가능함.
ICMP
인터넷 제어 메시지 프로토콜. 네트워크 장치에서 네트워크 통신 문제를 진단하는 데 사용하는 네트워크 계층 프로토콜. 주로 데이터가 의도한 대상에 적시에 도달하는지 여부를 확인하는 데 사용됨. DDoS 공격에도 사용될 수 있음.
(출처: https://www.cloudflare.com/ko-kr/learning/ddos/glossary/internet-control-message-protocol-icmp/)
traceroute
네트워크 테스트, 측정 및 관링에 사용됨. 패킷이 있는 위치와 라우트가 유실된 이유를 알 수 있음.
(출처: https://www.ibm.com/docs/ko/aix/7.1?topic=analysis-traceroute-command )
netstat
접속되어 있는 서비스들의 네트워크 상태를 표시하는 데 사용되며 네트워크 접속, 라우팅 테이블, 네트워크 프로토콜 등 리스트를 보여줌. 주로 서비스의 포트가 열려 있는지 확인할 때 사용. 윈도우, 리눅스에서 모두 사용가능.
-참고할만한 사이트
nslookup
DNS에 관련된 내용을 확인하기 위해 쓰는 명령어. 특정 도메인에 매핑된 IP를 확인하기 위해 사용
윈도우: tracert / 리눅스: traceroute
목적지 노드까지 네트워크 경로를 확인할 때 사용하는 명령어. 목적지 노드까지의 구간들 중 어디서 응답 시간이 느려지는지 등을 확인할 수 있음.
FTP(File Transfer Protocol)
파일 전송 프로토콜. 대량의 파일을 처리할 때 특히 웹 개발시 유용. 하지만 보안 부분엣서는 상당히 취약함. 파일의 빠른 송수신만을 목적으로 고안되었기 때문. ftp의 대안 중 하나에는 SFTP(SSH 파일 전승 프로토콜)는 SSH(시큐어 셸) 데이터 스트림을 통해 보안 등급이 높은 파일 전송을 실현하는 별도의 프로토콜로 SSH와 같은 방식을 사용함.
(출처: https://www.easymedia.net/Culture/EasyStory/index.asp?no=172&mode=view&IDX=1170&p=1 )
tcpdump
리눅스나 유닉스 계열 운영체제에서 네트워크 인터페이스를 통해 송수신되는 패킷의 정보를 출력해주는 프로그램. 특정 서버 장비에서 비정상적인 네트워크 입출력이 감지된 경우 문제 원인을 파악하기 위해 사용하면 됨. 노드로 오고가는 패킷을 캡처함.
(출처: https://hbase.tistory.com/333)
wireshark
네트워크 분석 프로그램. 네트워크 패킷을 캡처하고 분석하는 오픈소스 도구. 강력하고 쉬운 사용법으로 해킹뿐만 아니라 보안 취약점 분석, 보안 컨설팅, 개인정보 영향평가 등 여러 분야에서 폭 넓게 사용됨.
(출처: https://hongpossible.tistory.com/entry/Wireshark%EB%9E%80-%EC%84%A4%EC%B9%98%EB%B2%95 )
netmon(network monitor)
네트워크 분석 프로그램. 네트워크 트래픽을 분석할 수 있는 마이크로소프트의 네트워크 모니터링 툴
(출처: https://hope.pe.kr/266 )
p.79
네트워크 프로토콜 표준화
네트워크 프로토콜이란 다른 장치들끼리 데이터를 주고받기 위해 설정된 공통된 인터페이스.
IEEE(https://www.ieee.org/) 또는 IETF(https://www.ietf.org/)라는 표준화 단체가 정함.
'CS 스터디' 카테고리의 다른 글
2.3 네트워크 기기 (0) | 2023.06.06 |
---|---|
2.2.1 계층 구조 - 2.2.2 PDU (0) | 2023.06.05 |
2.1.1 처리량과 지연 시간 - 2.1.2 네트워크 토폴로지와 병목 현상 (0) | 2023.06.04 |
1.2 프로그래밍 패러다임 (0) | 2023.06.01 |
1.1.8 - 1.1.10 MVC 패턴, MVP 패턴, MVVM 패턴 (0) | 2023.06.01 |