여러 면접을 보고 다니면서 CS 질문을 받았을 때 '엥 저게 뭐였지? 아...망했네'의 경험이 항상 있었다. 코테를 보더라도 알고리즘 문제 뿐만 아니라 CS 관련한 객관식도 나오는데 항상 찍었...지
그런 스스로를 반성하고 '나도 선배'라는 프로젝트에서 도서를 구입할 수 있는 기회를 얻어 면접을 위한 CS 전공지식노트를 구매했고, 계속 공부하며 노션에 적고는 있지만 기억력이 짧은 나는 계속 복습을 해줘야 한다.
그래서 지금 쓰고 있는 블로그에 공부한 내용들을 다시 정리하고자 한다!! 아자자
1. 네트워크란
네트워크란 노드(node)와 링크(link)가 서로 연결되어 있거나 연결되어 있지 않은 집합체를 의미한다.
여기서 노드란 서버, 라우터, 스위치 등 네트워크 장치를 의미하고 링크는 유선 또는 무선을 의미함.
1-1) 처리량과 지연 시간
좋은 네트워크란 많은 처리량을 처리할 수 있고, 지연 시간이 짧고, 장애 빈도가 적고, 좋은 보안을 갖춘 네트워크
처리량
- 단위는 bps(bits per second) -> 초당 전송 또는 수신되는 비트 수
- 처리량은 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향을 받음.
- 대역폭 : 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수.
지연시간
- 요청이 처리되는 시간 -> 어떤 메세지가 두 장치 사이를 왕복하는데 걸린 시간
- 지연시간은 매체 타입(무선, 유선), 패킷 크기, 라우터의 패킷 처리 시간에 영향을 받음.
1-2) 네트워크 토폴로지와 병목 현상
네트워크 토폴로지
노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태를 의미
트리 토폴로지
- 계층형 토폴로지라고 하며 트리 형태로 배치한 네트워크 구성
- 노드의 추가, 삭제가 쉬우며 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있음.
버스 토폴로지
- 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성
- 설치 비용이 적고 신뢰성이 우수하며 중앙 통신 회선에 노드를 추가하거나 삭제하기 쉬움.
- 스푸핑이 가능한 문제점이 있다!
- 스푸핑은 LAN상에서 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시켜 -> 특정 노드에 해당 패킷이 오도록 처리하는 것.
데이터를 빼오는 느낌?
스타 토폴로지
- 중앙에 있는 노드에 모두 연결된 네트워크 구성
- 노드를 추가하거나 에러를 탐지하기 쉽고 패킷의 충돌 발생 가능석이 적음.
- 어떠한 노드에 장애가 발생해도 쉽게 에러를 발견할 수 있음.
- 장애 노드가 중앙 노드가 아닐 경우 다른 노드에 영향을 끼치는 것이 적음 -> 즉 중앙 노드에 장애가 발생하면 전체 네트워크를 사용할 수 없고 설치 비용이 고가
링형 토폴로지
- 각각의 노드가 양 옆의 두 노드와 연결해 전체적으로 고리처럼 하나의 연속된 길을 통해 통신을 하는 망 구성 방식
- 노드 수가 증가되어도 네트워크상의 손실이 거의 없고 충돌이 발생되는 가능성이 적고, 노드의 고장 발견을 쉽게 찾을 수 있음
- 네트워크 구성 변경이 어렵고 회선에 장애가 발생하면 전체 네트워크에 영향을 크게 끼치는 단점이 있음.
메시 토폴로지(망형 토폴로지)
- 한 단말 장치에 장애가 발생해도 여러 개의 경로가 존재하므로 네트워크를 계속 사용할 수 있고 트래픽도 분산 처리가 가능
- 노드의 추가가 어렵고 구축 비용과 운용 비용이 고가임
병목 현상
병목현상은 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상, 서비스에서 이벤트를 열었을 때 트래픽이 많이 생기고 그 트래픽을 잘 관리하지 못하면 병복 현상이 생겨 사용자가 웹 사이트로 들어갈 수 없다.
- 토폴로지가 중요한 이유는 병목 현상을 찾을 때 중요한 기준이 되기 때문(회선 추가 및 네트워크 구성 변경을 통해)
- 네트워크가 어떤 토폴로지를 갖는지, 어떠한 경로로 이루어져 있는지 알아야 병목 현상을 해결할 수 있음.
1-3) 네트워크 분류
LAN
MAN
- 대도시 지역 네트워크를 나타내며 도시 같은 넓은 지역에서 운영
WAN
- 광역 네트워크를 의미하며, 국가 또는 대륙 같은 더 넓은 지역에서 운영