Computer Science/Computer Network

Computer Networks (1) - 2, Packet-Switching, Circuit-Switching

songye 2023. 9. 14. 16:59

지난 시간에는 Internet의 정의와 Edge & Core 에 대한 정의를 간단하게 내렸습니다.

 

Computer Networks (1) - 1 Introduction

Purpose 본 글을 작성한 목적은 Computer Network, Tanenbaum의 내용을 이해한 것을 정리하기 위해 작성했습니다. Top-down 방식으로 Network 구조와 설계에 대한 정리 입니다. 잘못된 내용이 있다면 남겨주시

songye.tistory.com

Top-down 방법으로 서술된 책을 정리하면서

큰 개념들로 시작하여 세밀하게 알아갈 것입니다.

 

Link


Link 는 System 와 Router & Router Router 간에 연결된 선을 의미합니다.

 

Link transmission Rate

Link transmission Rate 공식

Link를 통해 초당 얼마나 많은 비트를 전송했는 지 계산하는 식입니다.

언제나 이러한 계산을 할 때는 Unit에 유의합시다!

 

Physical Media


Guided media & Unguided media

거창하게 Guided media 와 Unguided media로 나뉘었지만

쉽게 말하면 유선무선의 차이를 말하는 것입니다.

 

Guided media는 선을 매개로 정보를 전송하는 방법을 의미합니다 (유선)

다음은 구체적으로 사용되는 예입니다.

▶ Copper(구리), fiber(광케이블), coax(coaxial cable) 이 있습니다.

구리와 광케이블에 대해 익히 알고 있지만 coax는 낯선 유선 연결 방식인데요!

외부 환경(Noise)로부터 안전한 구조이지만 두껍고 비용이 많이드는 단점이 있습니다.

 

Unguided media는 공기, 공간, 물을 매개로 정보를 전송하는 방법을 의미합니다 (무선)

▶ Wi-fi, Bluetooth, Radio 등

 

Twisted pair (TP)

두 개의 도선을 꼬아서 만든 케이블로서 앞서 설명한 coax의 장점을 저렴한 비용으로 만들 수 있는 방법입니다.

두 개의 도선을 꼬아서 만들었기에 외부 임피던스 값이 올라 전자기 간섭Noise에 강한 장점이 있습니다.

우리가 흔히 사용하는 LAN선이 일반적으로 다음과 같은 방법으로 만들어집니다.

 

The Network Core


Packet-Switching, store-and-forward

Flat하게 연결되어 있는 Routers의 연결을 통해 Packet 단위로 데이터를 송수신하는 것을 Packet-Switching이라 합니다.

 

Packet은 Packet마다 다른 경로로 전달될 수 있습니다. Network 상황에 따라 Flexible한 장점이 있습니다.

What is a Router

1. Routing

Packet을 전달 받았을 때 내 주변에 어떤 Router Or System에 보내줘야 Destination에 도착할 수 있을까 알고리즘을 통해 찾습니다.

 

2. Forwarding

이런 알고리즘에 의해 Routing을 정한 Router Or System에 실제로 Packet을 전달하는 것을 Forwarding이라 합니다.

 

Router는 Store-and-forward 과정을 거칩니다.

Packet-Switching, Queuing Packets

이 때 만약 전송속도보다 요청속도가 더 빠른 경우 Delay가 발생할 수 있습니다.

이런 경우에 차곡차곡 Router안에 있는 Queue에 Packet들이 쌓이게 됩니다.

하지만 Router의 Buffer Size는 물리적 한계가 있기 때문에 정해진 Queue 사이즈보다 더 많이 쌓일 경우에

그 패킷은 Drop되며 Loss 발생하게 됩니다.

 

Packet-Switching의 한계

1. Delay

2. Loss

 

Circuit Switching

앞서 언급한 Packet-Switching과 다르게 전화처럼 데이터를 주고받는 방식으로 이해하면 쉽다.

Packet은 어떠한 특정 Router를 정하는 것이 아닌 Routing 알고리즘에 따라 유연하게 전달되지만

 

Circuit Switching은 미리 회선을 정하고로 데이터를 주고 받습니다.

 

이러한 데이터 송수신은 Data가 Loss가 되거나 Delay가 되지 않는 장점이 있습니다.

 

하지만 shared link로 인해 Data를 주고받는 회선은 다른 사용자가 접근할 수 없는 치명적인 단점이 있습니다.

-> Multi Access가 어려운 치명적인 단점

 

Circuit-Switching

 

이러한 단점을 보완하기 위해 두 가지의 방법이 고안되었습니다.

Frequency Division Multiplexing(FDM) , Time Division Multiplexing(TDM)

FDM

FDM에 대해 설명하면 말 그대로 회선의 주파수를 나누어 여러개의 link를 통해 Multi Access를 가능하게 한 방법입니다.



하지만 이 때 주파수를 나누면 bandwidth가 그만큼 낮아지기 때문에 분할된 주파수만큼 속도가 줄어드는 단점이 있습니다.

 

Link마다 Frequency의 Bandwidth가 다르기 때문에

실제 인터넷에 적용하기는 어렵다는 현실적인 문제에 다다릅니다.

그래서 일부 무선 통신에서 사용된다 합니다.

TDM

 

TDM에 대해 설명하면 말 그대로 정해진 시간을 쪼개 User들이 배정받은 시간동안 데이터를 송수신하는 방법입니다.

 

하지만 이 때 유저 수가 많으면 병목현상이 발생으로 인해 분할받는 시간(slot)까지 대기하는 시간이 길어지는 단점이 있습니다.

 

이러한 시간분배를 위해 Centralized 된 Device에게 요청과 리스폰스를 받아 스케줄을 관리해주는 과정이 필요합니다.

 

실제 TDM이 적용되는 기술은 대표적으로 Bluetooth 통신이 대표적입니다.

사용자의 Device가 여러개의 Bluetooth를 통신할 때 TDM 방법을 통해 데이터를 주고 받습니다.