1-1. 네트워크 시스템 개요: 네트워크 토폴로지, 대역폭 vs 레이턴시

독수리박박·2024년 3월 5일
0

이 글은 go언어를 활용한 네트워크 프로그래밍을 기반으로 작성되었습니다


💻Network System💻

컴퓨터 네트워크 시스템이란?

두 개 이상의 장치 또는 노드간의 연결을 말하며, 각 노드가 데이트를 공유할 수 있도록하는 하나의 망이다.
네트워크는 본질적으로 신뢰할 수 없거나  안전하지 않지만 Go 언어의 표준 라이브러리와 풍부한 생태계를 
활용하면 안전하고 신뢰할 수 있는 네트워크 애플리케이션을 작성할 수 있다.

네트워크 토폴로지

네트워크상의 노드 구성을 토폴로지라고 한다.

토폴로지의 유형

  1. 점대점 연결

    두 노드가 직접 연결되는 가장 단순한 형태의 연결이며 두 노드간의 직접 통신이 필요할 때 유용하다.

  2. 데이지 체인

    일련의 점대점 연결을 데이지 체인이라 하며 출발점과 도착점 사이의 있는 노드들을 홉(hop)이라 칭한다. 반드시 홉을 거쳐야 하며 모던 네트워크에서는 잘 쓰이지 않는 구조이다.

  1. 버스형 토폴로지

    버스형 토폴로지는 여러 노드들이 하나의 공유 네트워크 링크를 가지며 주로 무선 네트워크에 많이 사용된다.

  2. 링형 토폴로지

링형 토폴로지는 데이터가 단일 방향으로 이동하는 폐쇄 루프이다. 단일 방향으로 이동하기 때문에 만약 중간 노드가 메시지를 전송하지 못하면 메시지는 전송되지 못한다. 따라서 각 노드들은 메시지가 전송될 때 까지 재전송을 반복한다.이런 특성 때문에 전송 속도는 매우 느릴수도 있으며 일부 광섬유 네티워크 배포에 사용되었다.

  1. 스타형 토폴로지

    스타형 토폴로지는 중앙 노드가 다른 모든 노드에 개별 점대점 연결을 한다. 유선 네트워크가 대부분 이런 구조이며 중앙 네트워크는 종종 네트워크 스위치이다. 장치를 스위치에 연결하는 것만으로도 네트워크에 노드를 추가할 수 있으며 모든 데이터는 단 하나의 홉만 이동한다.

  2. 그물형 토폴로지

    그물형 토폴로지는 모든 노드들이 다른 노드들과 적접 연결된다. 이러한 특성 때문에 단일 노드의 장애가 다른 노드들 간의 트래픽에 영향을 주지 않는다.(단일 장애 지점X) 하지만 노드 수가 증가함에 따라 비용과 복잡성이 증가하기 때문에 대규모 네트워크에서는 사용하기 힘들다.

  3. 스타-링, 스타-버스 하이브리드 토폴로지

    다른 두개 이상의 토폴로지를 합쳐 하이브리드 토폴로지를 구축할 수 있다. 이런 특성은 각 토폴로지의 장점만 활용하고 단점은 다른 토폴리지의 특성으로 커버하여 네트워크의 안전성, 확장성, 유연성 부분에 커다란 이점을 준다.


대역폭 vs 레이턴시

대역폭

네트워크 대역폭(bandwidth)은 일정 시간 내에 네트워크 연결을 통해 전송할 수 있는 데이터의 양이다. 어떤 광고에서 인터넷 연결 속도가 100Mbps라고 하면 ISP에서 모뎀으로 초당 100메가바이트를 전송할 수 있어야 한다.

레이턴시

네트워크 레이턴시(latency)는 네트워크 리소스 요청을 보내고 응답을 받는 사이에 측정된 시간이다. 예를 들어 웹사이트의 링크를 클릭한 후 결과 페이지가 화면에 랜더링될 때까지의 소요되는 시간이 있다. 레이턴시가 나쁘다면 사용자 경험을 나쁘게 만들 수 있다. 또한 이러한 나쁜 레이턴시를 이용한 공격에도 취약하다.

따라서 좋은 대역폭을 가졌다고 해서 무조건 좋은 네트워크가 아니라 적절한 레이턴시까지 고려를 해서 만든 네트워크가 사용자 경험이 좋고 성능이 좋은 네트워크라 할 수 있다.

Go언어는 Go언어만의 go루틴을 통해 제공하는 동시성, 병행성의 이점을 활용하여 서버측 응답이 블로킹되거나 지연되는 것을 최소화할 수 있다.


다음글에서 네트워크 시스템 개요에 관한 글이 계속됩니다.

0개의 댓글