wanna be dev 🧑‍💻

Cool 하고 Sick한 개발자가 되고 싶은 uzun입니다

A.K.A. Kick-snare, hyjhyj0901, h_uz99 solvedac-logo

Computer Science/Computer Network

📡 [Network] 네트워크 개요 - Network Core (Packet Switching, Circuit Switching, Global ISP)

Kick_snare 2022. 9. 14. 20:28
728x90

본 포스팅은 < 컴퓨터 네트워킹 하향식 접근[8판] James F. Kurose, Keith W. Ross 저/최종원, 강현국, 김기태 > 을 참고하여 작성되었습니다.

Ch01 - Introduction

3. Network Core

Network core 네트워크 코어

end system에 보이지 않는 안에 숨겨져 있는 부분
mesh of interconnected routers
  • 어떤 데이터를 주고 받는가에 따라 크기와 형태가 모두 다르다
    • 그래서 코어 네트워크에서는 패킷의 형태로 데이터를 전송한다.
  • packet-switching 패킷 스위칭
    • 네트워크에 참가하는 호스트는 무언가의 데이터를 전송할 때 패킷으로 쪼개어 보냄
💬 예를 들어 이해해보자면
- 패킷은 일종의 규격화된 택배 상자이다
- 택배트럭에 실려 고속도로를 타고 배송된다
💡 왜 지연(느려지는 현상)이 생길까?

Packet Switching : Store-and-forward

패킷은 빛의 속도로 전송된다. 패킷은 일반적으로 1000비트 정도 된다

하나의 개체별로 보낸다. 수신이 확인되면 다시 보낸다 ⇒ 지연 발생

  • Transmission delay 전송 지연
    • L / R (sec)
    • 한 개의 L 비트의 패킷을 R bps의 링크에 전송되는 시간
  • Store and forward
    • 모든 패킷은 다음 패킷이 보내진 후 전송된다
  • End-end delay
    • 총 2L/R
    • 링크에서 이동되는 시간 (전파시간, propagation delay)은 매우 짧기에 무시

Packet Switching : queueing delay, loss

🤔 만약 들어오는 속도가 나가는 속도보다 빠르다면?
⇒ 아직 나가지 못한 패킷들이 라우터의 큐에 쌓이게 된다
  • Packet Loss
    • 큐가 가득 차서 더이상 저장할 공간이 없다면 loss 손실이 일어난다

두 가지 network-core 주요 기능(동작)

  • Forwarding
    • 지역적으로 동작
    • 라우터의 입력을 적절한 출력으로 연결
  • Routing
    • 글로벌하게 동작
    • 패킷이 이동하는 경로를 설정

Packet Switching의 대안 : Circuit Switching

  • end to end 리소스를 할당해준다
  • 패킷의 전송이 할당된 만큼은 보장된다
    • 다른 패킷에게 간섭받지 않음
  • ex) 옛날 전화 시스템
  • 사용자 수가 급변하면 여러가지 애로사항 발생

Circuit Switching : FDM & TDM

하나의 circuit을 어떻게 공유할 것인가??

  • Frequency Division Multiplexing (FDM) 주파수 분할
    • 주파수를 쪼개서 할당
  • Time Division Multiplexing (TDM) 시간 분할
    • 시간을 slot 별로 나누어 할당
    • 각각의 slot을 합쳐 하나의 frame이라고 한다
  • 링크가 초당 8,000 frames 을 전송하고 각 프레임은 4개의 시간 슬롯으로 구성되며 각 슬롯이 8비트로 구성되었다면 circuit의 전송률은?
    • 링크의 전송률 8 * 4 * 8000 = 256000 ⇒ 256kbps
    • 서킷의 전송률 256 / 4 ⇒ 64kbps

Packet Switching VS Circuit Switching

  • 비교를 위한 예시 수치들
    • 1 Gb/s link
    • 100 Mb/s
    • 전체 시간의 10%만 활성화
  • Circuit 의 경우
    • 10 user 까지 할당 가능
  • Packet 의 경우
    • 35 user 유저가 있다고 가정
    • 10명을 초과하는 경우는 문제가 생김
      • 확률적으로 10명이상일 확률은 0.04 % (이항분포로 계산가능)
        • $nCk * p^k*(1-p)^{(n-k)}$
Circuit Switching 문제
 10명의 사용자, 한 번에 1000비트 패킷을 1000개 생성 - 한 프레임은 10개의 슬롯으로 구성, 각 슬록은 1000비트로 구성, 링크 속도는 1Mbps일 때 모두 전송하는데 걸리는 시간은?
➡️ (1초) 단순하게 10명이니까 링크 속도에서 10을 나누면 됨
  • Packet Switching
    • 대부분의 시간을 쉬고 있다가 급작스럽게 폭발적으로 데이터를 보내는 경우 대응하기 좋다
    • 자원을 공유, 콜 셋업이 필요없기 때문
    • 버퍼 오버플로우로 인해 패킷 지연과, 손실이 일어날 수 있다
      • 혼잡한 경우 돌아가게 하거나, 데이터를 신뢰하기 위한 기술(프로토콜)이 필요하다
    • 인터넷 전화, 영상의 경우 circuit 방식과 같이 지속적으로 안정적으로 보낼 수 있어야한다.
      • 이에 따라 여러가지 기술들이 적용될 수 있음

인터넷의 구조 : 네트워크의 네트워크

  • 인터넷은 네트워크들이 연결된 네트워크이다

 

  • 좋지 않은 방법이다
  • 리소스가 기하급수 적으로 증가

 

 

 

  • 중간에 ISP를 통해서 연결
  • 하나의 ISP 로 할 수 없다

 

 

  • global ISP의 기준은 에매하지만 대략 12개정도 존재한다고 한다 (Tier - 1)

 

 

 

  • ISP 끼리는 IXP로 연결
  • 같은 급의 ISP끼리는 돈을 안냄

 

 

 

  • 특정 지역, 단체의 인터넷 서비스를 제공
  • 이를 regional ISP라고 한다
  • access ISP는 마을, 건물등등 정도…

 

 

  • 구글과 같은 대기업은 자신들만의 네트워크를 깔아놓음
  • 이를 Content provider network라고 함

 


  • 인터넷의 구조도를 간략히 그려보자면 위와 같다
728x90