본문 바로가기
면접을 위한 CS 전공지식 노트

네트워크

by wwns 2022. 11. 30.
반응형

면접을 위한 CS 전공지식 노트 2장 내용입니다.

 

네트워크는 컴퓨터와 같은 장치들이 통신 기술을 이용하여 구축하는 연결망을 지칭하는 용어이다. 이 연결망은 눈에 보이지 않기 때문에 공부를 잘하지 않았다.. 하지만 네트워크는 보안과도 직결되고 서비스 제공에 있어서도 매우 중요한 부분이기 때문에 네트워크가 무엇인지, 성능 분석, 통신 과정, 원리를 알아야 좋은 네트워크를 구성하고 사용자에게 서비스를 제공할 수 있다고 생각하고 정리한다.!

 

네트워크

  • 노드(node)와 링크(link)가 서로 연결되어 있거나 연결되어 있지 않은 집합체
  • 노드란 서버, 라우터, 스위치 등 네트워크 장치를 의미
  • 링크는 유선 또는 무선을 의미

처리량

  • 링크를 통해 전달되는 단위 시간당 데이터양
  • 단위는 bps(bits per second)를 사용, 초당 전송 또는 수신되는 비트 수
  • 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향을 받음
대역폭
- 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수

지연 시간

  • 요청이 처리되는 시간
  • 어떤 메시지가 두 장치 사이를 왕복하는데 걸린 시간
  • 매체 타입(유, 무선), 패킷 크기, 라우터의 패킷 처리 시간에 영향을 받는다.

네트워크 토폴로지

  • 네트워크를 설계할 떄 고려함
  • 노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태를 의미
  • 트리, 버스, 스타, 링형, 메시 토폴로지 등이 있음.

트리 토폴로지

  • 노드의 추가, 삭제가 쉬우며 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있다.

버스 토폴로지

  • 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크를 말하며 근거리 통신망(LAN)에서 사용
  • 설치 비용이 적고 신뢰성이 우수하며 중앙 통신 회선에 노드를 추가하거나 삭제하기 쉬움
  • 스푸핑이 가능하다는 문제
    • 스푸핑은 LAN상에서 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 특정 노드에 해당 패킷이 오도록 처리하는 것

스타 토폴로지

  • 중앙에 있는 노드에 모두 연결된 네트워크 구성
  • 노드를 추가하거나 에러를 탐지하기 쉽고 패킷의 충돌 발생 가능성이 적다
  • 중앙 노드가 장애 노드가 아니라면 다른 노드에 영향을 끼치는 것이 적음
  • 중앙 노드가 장애 노드이면 전체 네트워크를 사용할 수 없고 설치 비용이 고가

링형 토폴로지

  • 각각의 노드가 양 옆의 두 노드와 연결하여 전체적으로 고리처럼 하나의 연속된 길을 통해 통신하는 망
  • 노드 수가 증가되어도 네트워크상의 손실이 거의 없고 충돌 발생 가능성이 적다
  • 네트워크 구성 변경이 어렵고 회선에 장애가 발생하면 전체 네트워크에 영향을 크게 끼친다

메시 토폴로지

  • 망형 토폴로지라고도 하며 그물망처럼 연결되어 있는 구조
  • 한 단말 장치에 장애가 발생해도 여러 개의 경로가 존재하므로 네트워크를 계속 사용할 수 있고 트래픽 분산 처리가 가능
  • 노드의 추가가 어렵고 구축 비용과 운용 비용이 고가인 단점이 있다

병목 현상

  • 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상
  • 서비스에서 이벤트를 열었을 대 트래픽이 많이 생기고 그 트래픽을 잘 관리하지 못하면 병목 현상이 생겨 사용자는 웹 사이트로 들어가지 못한다
  • 토폴로지가 중요한 이유는 병목 현상을 찾을 때 중요한 기준이 되기 때문
    • 예를 들어 병목 현상이 일어나서 사용자가 서비스를 이용할 때 지연시간이 길게 발생하였다면?
      • 지연 시간을 짧게 만들기 위해 대역폭을 크게 설정(최대 수용 비트가 작아서 그렇다고 판단)했지만 성능이 개선되지 않음.
      • 버스 토폴로지를 사용했다는 것을 알게 되었고 회선을 추가하여 다른 회선으로도 트래픽이 흐를 수 있도록 설정하니 병목 현상이 해결 되었다

 

렉이 걸리거나 서비스 장애 발생 시 항상 서버를 늘리면 되는거 아냐? 라고 생각을 했다. 지금 다시 생각해보면 한 30점 짜리 대답이었던 것 같다. 내 생각으로는

  1. 어떻게 네트워크가 구성되어있는지 알아야 한다.
  2. 병목 현상이 발생하는 지점이 어디인지 분석해야 한다.
  3. 왜 트래픽이 몰리는 지 분석한다.
  4. 부하되는 지점을 파악하고 네트워크 구성에 맞게 분산시킬 수 있는 방안을 생각한다.

이러한 과정을 통해 결론을 도출해내야 할 것 같다!

반응형