Notice
Recent Posts
Recent Comments
07-01 02:16
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

Byeol Lo

1.3 The Network Core 본문

BackEnd/Computer Network

1.3 The Network Core

알 수 없는 사용자 2024. 6. 20. 14:34

 이제 네트워크의 핵심인 Router 에 대해 보자.

파란색 통신 entity를 더 깊게 볼 것이다.

 

1.3.1 Packet Switching

 네트워크 응용 프로그램에서 종단 시스템은 서로 메시지를 교환하는데, 이 사이에서 세그먼트, 패킷 등으로 데이터의 단위가 변환되는(암호화) 것을 알 수 있다. 여기서 데이터들을 쪼갠 것들을 각각 chunk(덩어리)라고도 부르며, 소스(source)와 목적지(destination)사이의 각 패킷들은 통신 링크와 패킷 스위치를 통해 전송된다. 이때 이 링크(communication link, media) 에 대해서 전송률( R(transmission rate)/L(data length, bits) ) seconds를 가진다.

 

Store-and-Forward Transmission

 위의 그림에서 3개의 패킷을 보내고 있는데, 그림 1.11에 표시된 시간 스냅샷에서 소스는 패킷 1의 일부를 전송한다. 라우터에선 도착한 1번째 패킷을 store-and-forward 방식을 사용하는데, 저장하는 시점에서는 해당 첫번째 비트를 다른 링크로 전송할 수 없고, 버퍼내에 머물게 된다. 라우터가 패킷의 모든 비트를 전부 수신한 경우에만 outbound link로 전송을 할 수 있다.

 그렇다면 이 store-and-forward 를 보면 분명히 어떤 delay가 존재할 것이다. 라우터가 모든 패킷이 도착할 때까지는 기다리기 때문에 기다리는 동안 지연이 일어나기 때문이다. 여기서 링크 내에서 1개의 패킷에 대해서만 보자. 링크 사이에서는 R bps의 전송속도로 보내기 때문에, 걸리는 시간은 L/R 이며 라우터가 이 시점에 패킷들을 전부 다 받게 된다. 또 이 라우터가 목적지 까지 보내는 데에도 L/R 만큼의 시간이 걸리기 때문에 총 2L/R이 걸리게 된다. 이 패킷이 P개 있다면 처음 라우터에 도착하는데 까지 PL/R의 시간이 걸리게 된다.

 이제 일반적인 경우를 살펴보자. source에서 목적지까지 N개의 라우터를 거친다고 가정하면, N-1개의 라우터를 거쳐야 하며, end-to-end delay는 링크만 따졌을때, L/R이 N 번 걸리기 때문에 NL/R의 시간 만큼걸리게 될 것이다.

모든 링크의 transmission rate가 R bps로 일정하고, packet의 길이가 L bit이며, destination까지의 router의 개수가 N개 일 경우, 목적지까지 걸리는 시간은 ( N+1 ) * L / R 이다.

 

Queueing Delays and Packet Loss

 위의 경우에서는 매우 간단하게 라우터의 링크가 한 쌍으로만 구성되어 있기 때문에 간단했다. 각 패킷 스위치에 연결된 여러개의 링크에 대해 패킷 스위치는 출력 버퍼(output buffer)를 가지고 있는데, 이 출력 버퍼는 도착하는 패킷이 링크에 전송되어야 할 때 해당 링크가 다른 패킷 전송 때문에 바쁜 상태라면, 도착하는 패킷은 출력버퍼에서 대기하게 된다. 따라서 store-and-forward transmission에서의 delay와 이어 또다른 delay가 발생하게 된다. 이러한 지연은 네트워크의 congestion(혼잡)의 수준에 따라 가변적이며, 여기서 출력 버퍼가 가득 찬 상태라면 들어오는 패킷을 더이상 저장을 못하는 상황 또한 발생할 수 있다. 이러한 상황은 도착한 패킷들이 전부 손실(loss)되는 상황을 초래할 수 있다.

위의 A, B에서 E로 패킷을 보내는 경우를 가정해보자. 먼저 100Mbps의 이더넷 링크로 첫번째 라우터로 패킷을 보낸다. 그 다음 라우터는 이런 패킷들을 15Mbps 링크로 전송한다. 짧은 시간 동안 라우터에 도착하는 패킷의 도착률이 15 Mbps를 초과하게 된다면 링크의 출력 버퍼에 패킷이 대기하게 되어 네트워크 congestion이 발생할 수 있다(이건 도로에서도 마찬가지인데, 100 km/h의 속도로 달리던 자동차들이 갑자기 10 km/h로 달리게 된다고 해보자...).

 

Forwarding Tables and Routing Protocols

 이전에 라우터가 연결된 통신 링크 중에 하나를 선택해서 보내게 된다고 했는데, 어느 링크로 전달해야하는지 어떻게 선택하게 되는지 궁금할 것이다. 패킷 전달은 컴퓨터 네트워크의 종류에 따라 다양한 방식으로 수행되는데, Internet 에서는 간단하게 어떻게 수신되는지 보자.

 인터넷에서 모든 끝 시스템은 IP 주소라는 것을 가지고 있는데, source end system이 destination end system에 패킷을 보내려면, 소스 end system이 패킷에 있는 헤더의 "목적지 IP 주소"를 포함시키게 된다. 이는 우편에 주소를 붙이는 것과 똑같다. 패킷이 네트워크의 각 라우터에 도착하면, 라우터는 주소를 검사하고 이 목적지 주소를 통해 forwarding table에 검색하여 적절한 출력 링크(link interface)를 찾은 다음 라우터는 이 출력 링크로 패킷을 전송하게 된다. 이는 우리가 해외 국가로 갔을때, 지도가 없다는 가정하에 현지인들에게 길을 묻는 것과 동일한 원리이다.

 forwarding table의 indexing을 통한 적절한 link interface를 찾는다고 했는데, 이 전달 테이블은 4장에서 다룰 것이다.

 

1.3.2 Circuit Switching

 링크와 스위치 네트워크를 통해서 데이터를 전송하는 두가지 기본적인 방법 회로 교환(circuit switching)과 패킷 교환(packet switching) 이 있다. 패킷 스위칭은 이미 다뤘으니 이제 회로 교환을 보자.

 회로 교환에서는 통신을 위해 링크에 필요한 자원이 예약, 할당되어서 통신을 하고 싶은 그 시간, 세션 동안 이 자원이 예약된다. 패킷 교환 네트워크에서는 이러한 자원이 없다. 세션의 메시지는 필요할 때마다 자원을 사용하며, 결과적으로 통신 링크에 액세스하기 위해 이 자원이 없다면 기다려야 한다. 이는 식당의 예약제와 동일하다.

 전화 네트워크도 circuit switching의 한 예이다. 통신 경로에 따라 필요한 리소스를 세션 기간 동안 예약하며, 이러한 연결 시간 동안 일정한 전송 속도 링크를 예약해서 사용하기 때문에 위에서 각 링크간의 전송 속도가 1 Mbps라면 1/4의 속도인 250kbps의 전송속도를 사용하게 된다.

 

Multiplexing in Circuit-Switched Networks

 이러한 링크 내의 회로는 주파수 분할 다중화(FDM) 또는 시간 분할 다중화(TDM) 으로 구분되어지고 구현되어진다. FDM에서는 링크의 주파수 스펙트럼이 링크를 통해 설정된 연결 사이에서 분할된다. 구체적으로 링크는 연결 기간 동안 각 연결에 대해 주파수 대역을 할당한다. 전화망에서 이 주파수 대역의 폭이 일반적으로 4kHz이다.

 TDM 링크의 경우에, 시간은 고정된 기간의 프레임으로 분할되고 각 프레임은 일정한 수의 시간 슬롯으로 나누어진다. 네트워크가 링크를 통해 연결을 설정할 때는 네트워크가 연결에 대해 각 프레임에서 하나의 시간 슬롯을 할당한다.

 위의 예시를 보면 쉽게 알 수 있다. 좌측은 FDM의 예시이며, 전체 주파수 영역을 각각 4kHz의 대역폭을 갖는 네 개의 대역으로 분할하는 예시이며, 우측의 경우에서는 만약 링크가 초당 8000 프레임을 전송하고, 각 슬롯이 8비트로 구성되어 있으면, 각 회로의 전송 속도는 (8,000*8 = 64,000) 64kbps 이다. 이때 packet switching에 비해 circuit switching이 비효율적이라고 할 수도 있다. 왜냐하면 각각의 dedicated circuit 들은 silent period의 기간동안에 idle 상태가 되기 때문이다. 여기서 silent period는 아무 신호도 전송하지 않는 기간을 말한다. 이렇듯 silent period의 동안에는 모든 dedicated circuit 들이 사용하지 않음에도 불구하고, 계속 해당 자원을 할당 받아서 사용되게 된다.

 

Packet Switching vs Circuit Switching

  단점 장점
Packet Switching 가변적이고 예측할 수 없는 delay 발생 전송 용량을 공유할 수 있고, 회로 교환 보다 구현이 더 간단하고 효율적이며, 비용이 적게듦
Circuit Switching 공유가 불가하며, 구현이 어렵고, 비용이 많이 듦 예측 가능한 delay, 추적이 가능함

최근에는 패킷 스위치가 매우 우세하며, circuit switching 은 전화 네트워크에 주로 사용되었지만, 이마저도 packet switching으로 바뀌는 추세다.

 

1.3.3 A Network of Networks

 모든 end system은 access ISP 을 통해서 인터넷에 연결된다. 여기서 access ISP는 DSL, cable, FTTH, Wi-Fi 등의 다양한 기술을 사용해서 유선 또는 무선 연결을 제공할 수 있다. 액세스 ISP는 통신 회사나 케이블 회사일 필요는 없고, 대학일 수도 있으며, 회사가 될 수도 있다. 하지만 이 ISP도 여러개가 만나서 서로서로 연결이 되어야 하며, 이를 네트워크의 네트워크라고 볼 수 있다.

 위는 오늘날 우리가 속해있는 네트워크 구조 5 이다. 여기서는 Access ISP, Regional ISP, tier-1 ISP, PoP, multi-home, IXP, Content Provider 로 구성되어 있다.

  • Access ISP: 사용자가 직접 인터넷에 접속할 수 있도록 서비스를 제공하는 인터넷 서비스 제공자.
  • Regional ISP: 특정 지역 또는 지역적인 영역에서 인터넷 서비스를 제공하는 인터넷 서비스 제공자입니다. 이들은 일반적으로 특정 도시, 주, 또는 국가와 같은 상대적으로 작은 지역에서 서비스를 제공.
  • Point-of-Presence(PoP): 네트워크에서 특정 위치에 위치한 라우터, 스위치, 또는 기타 네트워크 장비로 구성된 지역적인 인터넷 서비스 제공 지점이고, 일반적으로 이러한 포인트는 통신 회사나 인터넷 서비스 제공업체가 데이터 센터, 전화국, 또는 기타 중요한 위치에 설치한다.
  • Multi-homing: 인터넷 서비스 제공자(ISP)나 네트워크가 두 개 이상의 인터넷 서비스 제공업체(ISP)와 연결되는 것을 말함, 네트워크의 가용성, 안정성, 및 성능 향상을 위해 사용된다.
  • IXP: 여러 인터넷 서비스 제공자(ISP)나 네트워크 간에 트래픽을 교환하고 연결하는데 사용되는 물리적 인프라. 이는 서로 다른 ISP 간의 트래픽 교환을 효율적으로 하기 위한 중요한 역할을 함.
  • tier-1 ISP: 인터넷에서 최상위 계층에 속하며, 인터넷 서비스를 직접적으로 제공하는 제공자다. 모든 인터넷 서비스 제공 업체와 peering 관계에 있으며, 자체적으로 인터넷을 구축하고 유지한다. 국제적으로 네트워크를 운영하며, AT&T, Verizon, NTT Communications 등이 있다.

 

'BackEnd > Computer Network' 카테고리의 다른 글

1.2 The Network Edge  (0) 2024.05.10
1.1 What Is the Internet  (0) 2024.05.10
Comments