[Network] 네트워크 코어 (패킷 스위칭과 서킷 스위칭)

2023. 3. 17. 12:00·공부/Network
728x90

네트워크 코어의 정의는 mesh of interconnected routers 이다.

 

수많이 연결되어 있는 라우터들의 집합을 의미한다.

 

라우터는 두 가지 역할을 한다.

 

  1.  라우팅 (routing) : 말 그대로 어떤 길로 보낼 것인지 계획을 세움
  2.  포워딩 (forwarding) : 패킷을 라우터의 입구에서 적절한 출구로 보냄

네트워크 코어에서 데이터를 전송하는 방식은 패킷 스위칭과 서킷 스위칭이 있다.

패킷 스위칭

이 데이터를 작은 단위로 쪼개어서 전송하게 될 때 이 단위를 패킷(packet)이라고 한다.

 

이 패킷을 보내는 방식을 패킷 스위칭(packet switching)이라고 한다.

 

store and forward :  패킷을 보낼 때 사용하는 방식으로 한 패킷을 받을 때 해당 패킷을 모두 받을 때까지 기다린 다음 받고 있는 패킷이 완성되면 다음 목적지로 보내는 방식이다.

 

패킷 스위칭에는 store and forward 방식 때문에 생기는 queuing and loss 문제가 존재한다.

 

패킷 하나를 완성하기 전까지는 다른 패킷을 전송하지 못하는데 패킷이 들어오는 속도가 패킷을 다음 목적지로 보내는 속도보다 크다면 해당 위치에 대기하는 패킷들이 쌓일 것이다.

 

그러다가 메모리 용량보다 커지는 오버플로우가 발생하면 패킷을 잃게 된다.

 

이러한 문제를 queuing and loss 라고 한다.

 

 

서킷 스위칭

 

서킷 스위칭은 목적지까지의 경로를 정해두고 다른 자원이 이용하지 못하게 한다.

 

데이터를 언제든지 보낼 수 있기 때문에 성능이 좋지만 다른 자원이 이용하지 못하기 때문에 효율성이 떨어지기도 한다.

 

가장 대표적인 서킷 스위칭의 예가 전화이다.

 

서킷 스위칭에서는 FDM과 TDM이 존재한다.

 

FDM : 주파수로 나눔. 주로 아날로그에서 사용.

각 사용자들이 고유한 주파수를 부여받기 때문에 여러 사용자가 데이터를 동시에 전송할 수 있다.

 

만약 전송할 신호들의 대역폭보다 링크의 대역폭이 크다면 FDM을 사용하면 효율적으로 데이터를 전송할 수 있다.

 

 

TDM : 시간으로 나눔. 주로 디지털에서 사용.

 

time slot이라는 단위로 시간을 짧게 자른 후 사용자에게 순서대로 시간을 할당한다.

 

사용자는 자신의 차례가 올 때까지 기다려야 하기 때문에 대기 시간이 증가할 수 있다.

 

결론 

 

패킷 스위칭과 서킷 스위칭 모두 장단점이 존재한다.

 

그러나 많은 유저가 네트워크를 사용할 때는 서킷 스위칭보다 패킷 스위칭이 더 효율적이다.

728x90

'공부 > Network' 카테고리의 다른 글

[Network] 소켓 프로그래밍 (TCP/UDP) 개념 및 실습  (0) 2023.04.07
[Network] Video Streaming and CDNs  (0) 2023.04.05
[Network] P2P applications  (0) 2023.04.03
[Network] DNS  (0) 2023.03.27
[Network] FTP, Electronic Mail  (0) 2023.03.26
'공부/Network' 카테고리의 다른 글
  • [Network] Video Streaming and CDNs
  • [Network] P2P applications
  • [Network] DNS
  • [Network] FTP, Electronic Mail
웅대
웅대
알고리즘과 백엔드를 중심으로 열심히 공부 중입니다! 같이 소통하며 공부해요!
    250x250
  • 웅대
    웅대 개발 블로그
    웅대
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 백준 알고리즘
        • dp
        • 문자열
        • 정렬
        • 스택
        • 브루트 포스
        • 이진 탐색
        • 정리
        • 우선순위 큐
        • 자료구조
        • 그래프
        • 기타
        • 그리디
      • 컴퓨터 언어
        • Kotlin
        • Python
        • C#
      • 공부
        • Database
        • Android Studio
        • Algorithm
        • 컴퓨터 구조론
        • Spring
        • lombok
        • AWS
        • Network
        • OS
        • Git & GitHub
        • AI
        • Computer Vision
        • 보안
        • Nginx
        • 프론트
        • express
        • GCP
        • grokking concurrency
        • DevOps
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    influxDB CLI
    nn.RNN
    bfs
    푸쉬 알람
    RNN
    AWS Lambda
    스프링 OAuth2
    Vector Store
    파이썬
    code tree
    Merge
    binary search
    스택
    ChatPromptTemplate
    parametric search
    embedding
    다익스트라
    codetree
    openvidu 배포
    ci/cd
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
웅대
[Network] 네트워크 코어 (패킷 스위칭과 서킷 스위칭)
상단으로

티스토리툴바