네트워크란 노드(node)와 링크(link)가 서로 연결되어 있거나 연결되어 있으며 리소스를 공유하는 집합을 의미합니다.

노드란 서버, 라우터, 스위치 등 네트워크 장치를 의미하고 링크는 유선 또는 무선을 의미합니다.
보통 IP로 식별할 수 있는 대상을 말한다. AWS에서 EC2 인스턴스 하나는 하나의 노드로 볼 수 있다.
좋은 네트워크란 많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크를 말합니다.
처리량(throughput)은 링크 내에서 성공적으로 전달된 데이터의 양을 말하며 보통 얼만큼의 트래픽을 처리했는지를 타나냅니다.
단위로는 bps(bits per second)를 씁니다. 초당 전송 또는 수신되는 비트 수라는 의미입니다. 처리량은 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스팩에 영향을 받습니다.
- 트래픽이 많아졌다. = 흐르는 데이터가 많아졌다.
- 처리량이 많아졌다. = 처리되는 트래픽이 많아졌다.
지연 시간(latency)이란 요청이 처리되는 시간을 말하며 어떤 메시지가 두 장치 사이를 왕복하는 데 걸린 시간을 말합니다.

지연 시간은 매체 타입(무선, 유선), 패킷 크기, 라우터의 패킷 처리 시간에 영향을 받습니다.
1. 매체 타입(무선 또는 유선) : 데이터가 전송되는 방식이 다릅니다. 무선 연결은 공기를 통해 신호를 전송하고, 유선 연결은 케이블을 통해 데이터를 전송합니다. 이 두 방식은 데이터 전송 속도와 안정성에서 차이가 납니다.
2. 패킷 크기:데이터는 '패킷'이라고 하는 작은 단위로 분할되어 전송됩니다. 패킷의 크기가 크면 전송하는 데 많은 시간이 걸릴 수 있습니다.
3. 라우터의 패킷 처리 시간 : 라우터는 네트워크에서 데이터 패킷을 받아 적절한 목적지로 전송하는 장치입니다. 라우터의 처리 능려과 트래픽 양에 따라 패킷 처리에 걸리는 시간이 달라집니다.
네트워크 토폴로지
네트워크 토폴로지(network topology)는 노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태를 의미합니다.
노드(Node) : 네트워크 내의 개별장치를 의미합니다. 컴퓨터, 스마트폰, 서버, 라우터 등과 같은 장치가 노드에 해당합니다. 이들은 네트워크 내에서 데이터를 보내거나 받는 역할을 합니다. 간단히 말하면, 네트워크상의 '접점'이라고 생각할 수 있습니다.
링크 (Link) : 노드 사이의 연결을 의미합니다. 이는 두 장치 간의 물리적 또는 논리적 연결을 나타낼 수 있습니다. 물리적 연결은 케이블 같은 실제 연결 수단을, 논리적 연결은 무선 연결이나 소프트웨어적 경로를 말합니다. 링크는 데이터가 네트워크 내에서 한 노드에서 다른 ㅗㄴ드로 이동하는 경로를 제공합니다.
트리(tree) 토폴로지는 계층형 토폴로지라고 하며 트리 형태로 배치한 네트워크 구성을 말합니다.

버스(bus) 토폴로지는 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성을 말하며 근거리 통신망(LAN)에서 사용합니다.

설치 비용이 적고 신뢰성이 우수하며 중앙 통신 회선에 노드를 추가하거나 삭제하기 쉽습니다. 그러나 스푸핑이 가능한 문제점이 있습니다.
* 근거리 통신망(Local Area Network, LAN)은 상대적으로 제한된 지역(예: 집, 학교, 사무실 건물, 또는 작은 캠퍼스) 내에서 컴퓨터 및 기타 장치들을 서로 연결하는 네트워크입니다.
* LAN은 소규모 네트워크가 필요한 다양한 환경에서 중요한 역할을 합니다. 예를 들어, 가정 내에서 여러 장치를 인터넷에 연결하거나 사무실에서 직원들이 서로 통신하고 자료를 공휴할 수 있게 해줍니다.
* 스푸핑 : LAN상에서 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 특정 노드에 해당 패킷이 오도록 처리하는 것을 말합니다.

스타(star, 성형) 토폴로지는 중앙에 있는 노드에 모두 연결된 네트워크 구성을 말합니다.

노드를 추가하거나 에러를 탐지하기 쉽고 패킷의 충돌 발생가능성이 적습니다. 또한, 어떠한 노드에 장애가 발생해도 쉽게 에러를 발견할 수 있으며 장애 노드가 중앙 노드가 아닐 경우 다른 노드에 영향을 끼치는 것이 적습니다. 하지만 중앙 노드에 장애가 발생하면 전체 네트워크를 사용할 수 없고 설치비용이 고가입니다.
링형(ring) 토폴로지는 각각의 노드가 양 옆의 두 노드와 연결하여 전체적으로 고리처럼 하나의 연속된 길을 통해 통신을 하는 망 구성 방식입니다.

데이터는 노드에서 노드로 이동을 하게 되며, 각각의 노드는 고리 모양의 길을 통해 패킷을 처리합니다. 노드 수가 증가되어도 네트워크상의 손실이 거의 없고 충돌이 발생되는 가능성이 적고 노드의 고장 발견을 쉽게 찾을 수 있습니다. 하지만 네트워크 구성 변경이 어렵고 회선에 장애가 발생하면 전체 네트워크에 영향을 크게 끼치는 단점이 있습니다.
메시(Mesh) 토폴로지는 망형 토폴로지라고도 하며 그물망처럼 연결되어 있는 구조입니다.

한 단말 장치에 장애가 발생해도 여러 개의 경로가 존재하므로 네트워크를 계속 사용할 수 있고 트래픽도 분산 처리가 가능합니다. 하지만 노드의 추가가 어렵고 구축 비용과 운용 비용이 고가인 단점이 있습니다.
정리)
1. 트리 토폴로지(Tree Topology)
- 계층적 구조를 가집니다.
- 중앙 노드(루트)에서 여러 하위 노드로 분기하며, 이들은 다시 더 많은 노드로 나뉩니다.
- 계층적 구조로 인해 관리와 확장이 용이합니다.
2. 버스 토폴로지(Bus Topology)
- 모든 노드가 단일 중앙 케이블(버스)에 연결됩니다.
- 데이터느느 버스를 따라 한 반향으로 흐릅니다.
- 간단하고 비용이 적게 들지만, 버스에 문제가 생기면 전체 네트워크에 영향을 줍니다.
3. 스타 토폴로지(Star Topology)
- 중앙 노드(예 : 스위치나 허브)에 모든 다른 노드가 연결됩니다.
- 중앙 노드를 통해 데이터가 전송됩니다.
- 중앙 노드에 의존하기 때문에, 이 노드에 문제가 생기면 전체 네트워크에 영향을 줍니다.
4. 링 토폴로지(Ring Topology)
- 각 노드가 두 개의 인접 노드와 연결되어 닫히 루프(링)를 형성합니다.
- 데이터는 링을 따라 한 반향으로 순환합니다.
- 하나의 노드에 문제가 생기면 전체 네트워크가 영향을 받을 수 있습니다.
5. 망 토폴로지(Mesh Topology)
- 모든 노드가 서로 연결됩니다.
- 고장에 강하고 데이터 전송경로가 다양합니다.
- 하지만, 많은 연결선이 필요하기 때문에 설치 및 유지관리 비용이 많이 들 수 있습니다.
*고장이 강하다 : 네트워크 내에서 일부 구성 요소에 문제가 발생해도 전체 네트워크의 기능이 유지될 수 있는 능력을 의미합니다.
네트워크의 구조라고도 일컫는 토폴로지가 중요한 이유는 병목 현상을 찾을 때 중요한 기준이 된다.
* 병목 현상
병목(bottleneck) 현상은 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상을 말한다. 예를 들어 병의 몸통보다 병의 목 부분 내부 지름이 좁아서 물이 상대적으로 천천히 쏟아지는 것에 비유할 수 있다. 서비스에서 이벤트를 열었을 때 트래픽이 많이 생기고 그 트랙픽을 잘 관리하지 못하면 병목 현상이 생겨 사용자는 웹 사이트로 들어가지 못한다.