**주의!! 이 글은 잘못된 정보가 많이 포함되어 있습니다!!**
Key Words
- Packet Switching
- Circuit Switching
- Store-and-forward
- Packet Delay
- FDM, TDM
1. Packet Switching
- what is packet switching?
"Packet Switching"이란 host와 같은 end point와 다른 end point가 통신을 하는 하나의 방식이다. 애플리케이션 단계의 정보, 메시지를 'packet'이라는 단위로 나누어 보내는 것이다. 하나의 큰 데이터를 큼직하게 보내는 것보다 처리도 빠르고 효율적일 것이다. packet에는 (아직 완전히 배우지는 못했지만) header가 포함되어 있다. 이 header에 있는 정보에는 packet이 도착해야 되는 "Destination Address"에 대한 정보를 담고 있으며 거쳐가는 router에서 이를 토대로 다음 router로 "forwarding"을 해준다. 조금 더 자세히 알아보자. - Store-and-forward
"Packet Switching"은 "Store-and-forward"라는 기술을 사용하는데, 이를 알기 위해서는 우선 router에 대하여 알아야 된다. Router(라우터), 집에 와이파이를 설치하면서 한번쯤은 들어봤을 이름이다. Router는 네트워크 상의 서로 다른 장치를 연결하는 데 사용된다. 집에서 사용하는 컴퓨터로 구글 홈페이지에 접속하기 위해 수많은 라우터를 거쳐서 구글 데이터센터 또는 본사 어디든 서버 컴퓨터로 연결이 되는 것이다. 즉, 내가 원하는 메시지를 packet으로 만들어서 회선, router 등등을 거쳐서 서버 컴퓨터로 가서 메시지를 전달하고 거기서 다시 나에게 원하는 답을 넘기는 것이다.
"Store-and-forward"는 여기서 router와 router사이, 또는 end-point와 router사이에서 packet을 보내고 받는 방식을 이야기한다. packet의 크기를 L bit라고 하면 한 router에 L bit이 모두 도착해야 다음 router나 end point로 forwarding할 수 있는 것을 뜻한다. forwarding은 쉽게 다음 목적지로 보내는 것이라고 할 수 있다. A에서 B router를 거쳐서 C로 가는 예를 살펴보자.
X router에 한번 L bit가 모두 도착을 한 뒤 다시 B로 전송을 해야되기 때문에 뒤에서 배울 transmission delay는 2*(L/R)가 된다. 만약 중간에 X router가 없었다면 transmission delay는 (L/R)이 됐을 것이다.
- Packet Delay
위에서 잠깐 살펴본 예시에서 "Transmission delay"가 등장하였다. 이게 무엇일까? Packet Delay를 계산할 때는, 다시 말해 "end-to-end" delay를 계산할 때는 아래와 같은 식을 볼 수 있다. 해당 식은 d_nodal을 계산하는 것으로 하나의 router에서 다른 router로 전송될 때의 한 단계의 delay를 계산한 것이다.
우선 "d_proc"는 router에서 packet을 보내기 전에 하는 processing delay를 나타낸다. 이 과정에서 bit error확인, forwarding을 하기 위한 output link를 정하는 과정 등등이 포함되는데 기술의 발달로 인해 1 msec보다 적게 걸린다. 다음 "d_queue"는 router내의 queue에서 발생하는 delay이다. 인터넷은 수많은 사람들이 사용하고 router사이에 오고 가는 정보는 더 많다. 이러한 packet들의 arrival rate이 처리하는 속도인 transmission rate보다 커지게 되면 packet들이 쌓이게 되고 어느 정도는 이 queue에 쌓이게 된다. 만약 queue가 꽉 찼는데 계속 packet들이 들어온다면 loss(drop)이 발생하게 되고 이를 예방하기 위한 방법은 다음 시간에 배운다. 다음 "d_trans"는 앞에서 살펴본 transmission delay이다. 여기서 주의할 것은 transmission delay는 하나의 router에서 다음 router로 가는데 걸리는 시간이 아닌 하나의 packet의 모든 bit을 회선으로 올리는데 걸리는 시간을 의미한다. 하나의 router에서 다음 router로 가는 시간은 "d_prop", propagation delay에 속한다.
정리하자면, 도착해서 어디로 갈지 정하고 줄을 선다음 탑승을 하고 이동을 하는 과정이며 각 과정에서 지연이 발생하는 것이다.
2. Circuit Switching
- what is Circuit Switching
packet switching은 여러명의 사용자가 경로를 공유하고 사용하지 않을 때는 다른 사용자가 사용할 수 있게 하였다. 하지만 "Circuit Switching"의 경우 source와 destination이 연결되면 idle상태일 때도 다른 사용자가 사용할 수 없다. 즉, source와 destination사이의 경로를 예약하여 사용하게 된다. 보통 전화 통신이 이러한 기술을 사용한다. - FDM and TDM
Circuit Switching은 대표적으로 2가지 방식으로 구현이 된다. FDM(Frequency Division Multiplexing)과 TDM(Time Division Multiplexing). FDM은 frequency(주파수)를 기준으로 연결을 구분하여 서로 다른 연결은 서로 간섭할 수 없게 한다. TDM은 시간을 기준으로 하여 이 둘을 구분한다.
3. Packet Switching vs Circuit Switching
기본적으로 packet switching이 circuit switching보다 더 효율적이라고 할 수 있다. 1 Mbps의 대역폭을 가진 link가 있다고 할 때 Circuit Switching을 사용하면 한 번에 최대 이용 가능한 사용자의 수는 정해진다. (예: 100 kbps씩 써야 된다면 최대 10명) 하지만 Packet Switching의 경우 10명 이상이 사용할 수 있다. (속도는 느려질 수 있지만) 하지만 Circuit Switching도 장점이 있다. Packet Switching에서 살펴본 "d_queue"를 살펴보자. 한 router에 한 번에 많은 packet이 들어오게 되면 queue에 많은 양이 쌓일 것이고 delay가 발생할 것이다. 이러한 문제는 Circuit swtiching에서 살펴볼 수 없다. 두 명의 사람이 전화 통화를 하는데 계속 끊기거나 delay가 발생하면 매우 답답할 것이다. 전화뿐만 아니라 동영상 중계와 같이 time sensitive 한 application의 경우 packet switching으로 원하는 결과를 쉽게 얻지 못할 수 있다.
'네트워크 수업 공부' 카테고리의 다른 글
6. DataLink Layer Overview (0) | 2021.06.14 |
---|---|
5. Network Layer Overview (0) | 2021.06.14 |
4. Transport Layer Overview (0) | 2021.04.19 |
3. Application Layer (0) | 2021.04.19 |
2. Application Layer(Basic+HTTP) (0) | 2021.03.21 |