전공/컴퓨터 네트워크

컴퓨터 네트워크 1장(2)

문정훈 2022. 10. 6. 04:39
더보기

3. 네트워크 코아

    3.1 패킷 교환

    3.2 회선 교환

    

4. 패킷 교환 네트워크에서 지연, 손실과 처리율

    4.1 패킷 교환 네트워크에서의 지연 개요

    4.2 큐잉 지연과 패킷 손실

    4.3 종단 간 지연

    4.4 컴퓨터 네트워크에서의 처리율

더보기

이 글은 컴퓨터 네트워킹 하양식 접근 8판(최종원) 책을 읽고 정리한 글 입니다.

 

3. 네트워크 코어

3.1 패킷 교환

개요

네트워크 코어란 패킷 스위치와 링크의 그물망이다.

 

저장--전달

대부분의 패킷 스위치(라우터, 링크 계측 스위치)저장--전달방식을 이용한다.

즉 하나의 라우터에서 전체 패킷을 받아 저장(출력 버퍼에 저장)하고 그때 첫 비트를 다음 패킷 스위치로 전송한다.

 

예를 들어 L개의 패키시 있고 R bps(1초당 비트 전송률)이 있을 때 1개의 노드가 있다면 L/R초 후에 모든 패킷이 목적 호스트로 전송된다. -> 지연이 L/R초라고 할 수 있다.

만약 2개의 노드가 있다면 3*(L/R)초가 걸린다. 이를 공식화 하면 N-1개의 노드가 있고 R bps를 가진다면 출발지에서 목적지로 모든 패킷(L)이 도착하는데 걸리는 지연N*(L/R)초가 된다.

 

큐잉 지연과 패킷 손실

각 패킷 스위치는 접속된 여러 개의 링크를 가질 수 있다.

패킷 스위치 => 출력 버퍼, 출력 큐를 가진다.

 

큐잉 지연

도착하는 패킷이 한 링크로 전송되야 하는데 그 링크가 다른 패킷을 전송하고 있는 경우 도착하는 패킷은 출력 버퍼에서 대기해야한다.

저장--전달 지연 시간뿐만 아니라 패킷은 출력 버퍼에서 큐잉 지연을 겪게 된다.

이 큐잉 지연은 네트워크의 혼잡도에 따라 달라진다.

 

패킷 손실

출력 버퍼가 꽉 차 있는데 다른 패킷이 또 오면 패킷 손실이 발생한다.

이때 도착하는 패킷 혹은 이미 큐에 대기 중인 패킷을 폐기한다.

 

포워딩 테이블과 라우팅 프로토콜

라우터는 어떻게 패킷을 어느 링크로 전달해야하는지를 결정하냐?

모든 hostIP라는 주소를 가진다.

각 라우터는 목적지 주소를 라우터의 출력 링크로 매핑하는 포워딩 테이블을 가지고 있다.

이 포워딩 테이블은 라우팅 프로토콜에 의해 자동으로 최적으로 설정된다.

 

출발지 host는 패킷의 헤더에 목적지의 IP주소를 포함한다. 패킷이 라우터에 도착하면 목적지 주소(IP 주소)를 이용하여 포워딩 테이블을 검색하여 어느 출력 링크로 보낼지 결정한다.

 

3.2 회선 교환

1) 회선 교환

개요

링크와 스위치의 네트워크를 통해 데이터를 이동시키는 방식에는 패킷 교환”, “회선 교환이 있다. 위에서는 패킷 교환 네트워크를 살펴봄.

 

회선 교환 방식

- host간에 통신을 제공하기 위해 경로상에 필요한 자원은 통신 세션 동안에 예약된다. 세션 미시지는 on-demand 방식으로 자원을 요청하여 사용한다.

 

- 위 회선 교환 네트워크에서는 4개의 라우터(노드)와 각각의 라우터는 4개의 통신 링크를 가진다.

 

- 송신자가 정보를 보내기 전에 네트워크는 송신자와 수신자간의 연결을 설정해줘야한다. 이 연결을 회선이라고 한다.

 

- 회선을 설정할 때, 그 연결이 이루어지는 동안 네트워크 링크에 일정한 전송률을 예약한다. 예약이 된 후 이 회선을 통해 데이터가 전송되므로 수신자에게 보장된 일정 전송률로 데이터를 보낼 수 있다.

 

- 위 그림에서 상단의 노드와 노드간의 연결을 보자 4개의 통신 링크가 전체 100Mbps를 가질 때 두 번째 링크를 사용한다. 이때 전송률은 1/4 해서 250kbps가 된다.

 

2) 회선 교환 네트워크에서의 다중화

주파수 분할 다중화(FDM)

FDM은 전송될 신호들의 대역폭을 합한것보다 링크의 대역폭이 더 클 때 적용할 수 있는 아날로그 다중화 기술이다.

우선 FDM의 방법을 설명하고, 구체적으로 내용을 설명하는 방식으로 하겠다.

 

<FDM의 방법>

각 송신장치로부터 생서된 아날로그 신호를 (대역폭을 가짐) 각기 다른 반송파(대역폭을 가짐)로 변조한다. 이 변조된 신호들은 하나의 복합 신호가 되고 하나의 링크를 따라 이동한다. 이때 반송 주파수는 아래 2가지 원칙을 반드시 따라야한다.

반송주파수들은 변조 신호들을 수용할 수 있도록 서로 충분히 떨어져있어야한다.

반송주파수는 원래 데이터의 주파수와 간섭을 일으키지 않아야한다.

두 조건중 하나라도 만족이 안되면 원래 신호로 복구할 수 없다.

링크를 따라 전송된 하나의 복합 신호는 분리하기 위해 일련의 필터들을 사용하여 분리한다.

 

<FDM방법 자세히 설명>

우리가 보내려는 3개의 아날로그 신호가 있다고 가정하자. 이 아날로그 신호는 비주기 복합 아날로그 신호(사람 목소리 등)이고 그러므로 연속적인 값을 가지는 대역폭이 각각 존재한다.

하지만 이 3개의 입력은 대역폭이 서로 겹칠 수도 있고 심지어 대역폭이 같을 수도 있다.

3신호를 그냥 합쳐버리면 서로 비슷한 대역폭이나 (극단적으로 두 대역폭이 같다면) 신호를 분리할 수가 없다. 이러한 이유로 3 입력 신호들은 각각 반송파로 변환이 된다. 반송파 역시 대역폭 (1+d)*S 을 가지고 (대역폭의 중점이 반송파 주파수이다.) 변환된다.

이 변환된 3개의 반송파들은 각각 대역폭이 충분히 떨어져있다. 이를 보호 대역(guard bands)라고 한다. 보호 대역만큼 떨어져 있어야 3개의 반송파들을 합쳤을때 3개는 전체 링크의 대역폭안에서 중첩되는 대역폭 없이 각각의 채널을 타고 이동하게 된다.

(하나의 링크 안에 3개의 채널이 있고 각 채널은 3개의 반송파들이 이동할 수 있는 대역폭을 가진 채널이라고 생각함됨)

이렇게 복합 신호로 이동된 하나의 복합 신호는 3개의 대역폭이 서로 겹쳐있지 않았기 떄문에 필터 과정으로 올바른 송신 데이터를 복구할 수 있게 된다.

 

 

<정리>

하나의 링크의 범위를 0~10이라고 가정하면 3개의 입력 신호들은 0~2, 4~6, 8~10 의 대역폭을 가지도록 반송파로 변환되고 이들은 하나의 링크 안의 3개의 채널을 통해 이동이 가능해진다.

 

채널1의 대역폭 : 0~2

채널2의 대역폭 : 4~6

채널3의 대역폭 : 8~10

 

시분할 다중화(TDM)

정의(위키 백과)

시분할 다중화(Time Division Multiplexing, TDM)란 전송로를 점유하는 시간을 분할하여 한 개의 전송로에 여러 개의 가상 경로를 구성하는 통신 방식이다.

 

책 정의 중 일부 내용 발췌 -> 쉽게 풀어서 정리

“TDM 링크의 경우는 시간을 일정 주기의 프레임으로 구분하고 각 프레임은 고정된 수의 시간 슬롯으로 나뉜다.“

이게 무슨 말이냐?

 

4개의 입력 링크가 있는데 이 4개의 데이터를 하나의 링크(A라고 하겠음)에서 같이 보내고 싶다. 입력 링크가 A에서 점유하는 시간을 쪼갠단 말임.

점유하는 시간을 프레임으로 구분하는데 이 프레임이 일정 주기를 가진단 말임. 그리고 각 프레임은 고정된 수의 시간 슬롯을 가진단 말은 시간 슬롯의 개수는 입력 링크의 개수를 말함. 그래서 이 경우는 시간 슬롯이 4개가 됨.

 

TDM 회선의 전송률은?

한 슬롯안의 비트수 X 프레임 전송률

ex) 한 슬롯의 비트수가 8bit이고 프레임 전송률이 8000 프레임이라고 하면 TDM 회선의 전송률은 64kbps이다.

여기서 전송률은 4개의 링크 전체의 전송률이 아니라 4개 중 하나의 입력 링크에 대한 전송률임.

 

3) 패킷 교환대 회선 교환

패킷 교환과 회선 교환 중 뭐가 더 좋냐?

사용자가 1Mbps (1000kbps)를 공유한다고 해보자. 각 사용자는 활동 시간에 100kbps를 일정 속도로 보낸다고 했을 때 100kbps가 항상 각각 사용자에게 예약되야한다.

 

패킷 교환의 경우 35명의 사용자가 있고 그 중 11명 이상의 사용자가 동시에 활동할 확률은 0.0004%이다. 따라서 10명 이하의 사용자가 동시에 활동할 확률은 99.96%가 되고 한 사용자당 데이터 전송은 100kbps이므로 1Mbps 링크 하나로 10명 이하의 사용자는 동시에 데이터를 전송할 수 있게 된다.

 

10명 이상의 동시 사용자가 있을 확률은 매우 작으므로 패킷 교환은 거의 항상 회선 교환과 대등한 지연 성능을 가지면서도 3배 이상의 사용자 수를 허용한다.


 

4. 패킷 교환 네트워크에서 지연, 손실과 처리율

4.1 패킷 교환 네트워크에서의 지연 개요 (노드 <-> 노드 지연)

1) 패킷 교환 네트워크에서의 지연 개요

- 전체 노드 지연 = 노드 처리 지연 + 큐잉 지연 + 전송 지연 + 전파 지연

 

2) 노드 처리 지연

host로부터 패킷이 노드 A로 전송되면 노드 A에서는 패킷 해더를 조사하고 패킷을 어디로 보낼지 결정해야하는데 이때의 지연 시간을 말한다.

 

4) 큐잉 지연

패킷은 큐에서 링크로 전송되기를 기다리면서 큐잉 지연을 겪는다. 큐가 비어있고 다른 패킷이 전송 중인 상태가 아니라면 큐잉 지연은 0이다.

 

5) 전송 지연

큐에 있는 모든 패킷을 전송하는데 걸리는 시간으로 L/R이다. L bit는 패킷의 길이, R bps는 전송률이다.

 

6) 전파 지연

비트가 링크에 의해 전해질 때 링크의 처음부터 라우터 B까지의 전파에 필요한 시간을 말한다. 비트는 링크의 전파 속도로 전파된다. 전파 속도는 링크의 물리 매체(광섬유, 꼬임상선 등)에 따라 다르다.\

 

7) 전송 지연과 전파 지연 비교

전송 지연은 라우터가 패킷을 내보내는데 걸리는 시간

전파 지연은 한 비트가 한 라우터에서 다음 라우터로 전파되는데 걸리는 시간이다.

 

 

4.2 큐잉 지연과 패킷 손실

1) 큐잉 지연과 패킷 손실

트래픽 강도란?

a, R, L 정의

a : 패킷이 큐에 도착하는 평균률 (패킷 / ) => 초당 몇 개의 패킷?

R : 전송률 (bps) => 초당 몇 비트 전송되냐?

L : 패킷의 길이(bit) => 1개의 패킷은 몇 비트로 되어있냐?

 

비트가 큐에 도착하는 평균률 = La 비트/

큐에 초당 La 만큼의 비트가 온다. (패킷의 개수 x 패킷 한 개당 비트수)

 

트래픽 강도란?

La/R => 분자는 초당 큐에 들어오는 비트의 수이다. (패킷 수 x 패킷 1개당 비트 수)
분모는 초당 처리하는 비트 수 이다.

트래픽 강도가 1보다 크다는 것은 처리되는 비트 수 보다 큐에 들어오는 비트 수가 더 많다는 것을 의미하고 그렇다면 큐는 끝없이 증가하고 큐잉 지연은 무한대가 된다.

- 따라서 트래픽 강도가 1보다 크지 않게 시스템을 설계해야한다.

 

트래픽 강도가 1보다 같거나 작은 경우

버스트가 없는 경우

큐에 있는 모든 패킷을 전송하는데 걸리는 시간으로 L/R이라고 정리하였다.

만약 하나의 패킷이 L/R초마다 도착한다면 큐잉 지연은 0이다.

 

버스트가 있는 경우

N개의 패킷이 동시에 (L/R)N초마다 도착하는 경우 (쉽게 말해서 한 개의 패킷이 처리되는데 걸리는 시간이 3초이고 9초마다 3개의 패킷이 동시에 몰리는 경우를 말하는 것임)

처음 도착한 패킷은 지연 시간이 없다. 두 번째로 도차한 패킷은 L/R지연시간을 가진다. 세 번째로 도착한 패킷은 2*(L/R)초의 지연 시간을 가진다.

이를 일반화 하면 n+1번째로 도착한 패킷의 지연 시간은 n*(L/R)의 큐잉 지연시간을 가진단 것이다.

 

트래픽 강도의 의존성

평균 큐잉 지연시간은 트래픽 강도가 1에 가까워질수록 지수 함수와 같이 큐잉 지연 시간이 폭발적으로 증가하게 된다.

 

2) 패킷 손실

저장 큐는 현실에선 유한 용량이다. 저장 큐가 꽉 차 있는데 패킷이 전송된다면 라우터는 그 패킷을 버린다. 패킷이 손실되면 종단간에 재전송될 수 있다.

 

4.3 종단 간 지연(종단 <-> 종단의 지연)

1) 종단 간 지연

노드와 노드간의 지연에는 노드 처리 지연”, “큐잉 지연”, “전송 지연”, “전파 지연의 합이라고 하였다.

 

hosthost 사이의 N-1개의 라우터가 있을 시 hosthost간의 총 지연은

N(“노드 처리 지연” +“큐잉 지연” + “전송 지연” +“전파 지연”)

으로 계산될 수 있다.

 

4.3 종단 간 지연(종단 <-> 종단의 지연)

1) 종단 간 지연

노드와 노드간의 지연에는 노드 처리 지연”, “큐잉 지연”, “전송 지연”, “전파 지연의 합이라고 하였다.

 

hosthost 사이의 N-1개의 라우터가 있을 시 hosthost간의 총 지연은

N(“노드 처리 지연” +“큐잉 지연” + “전송 지연” +“전파 지연”)

으로 계산될 수 있다.

 

4.4 컴퓨터 네트워크에서의 처리율

1) 처리율 정의

- 전송률과 처리율이 헷갈릴 수 있다. 전송률이란 bps/s 초당 전송되는 비트수를 말한다.

- 순간 처리율을 전송률이랑 똑같다.

- 평균 처리율을 정의해보자. 전체 비트수가 F이고 이 F비트를 수신하는데 T초가 걸린다면
평균 처리율 = F/T가 된다.

 

2) 그림 1.9에서 (a)의 경우

- 서버에서 노드로 전송되는 전송률이 R_s (전송률), 노드에서 클라이언트로 전송률이 R_c 일 때 R_s < R_c인 경우라면 처리율은 R_c가 된다.

- 만약 R_c < R_s인 경우라면 (매우 안좋은 경우임) 처리율을 R_c가 된다.

- 이를 정리하면 (a)의 네트워크의 처리율을 min{R_c, R_s}로 정리할 수 있다.

- min{R_c, R_s} 를 병목 링크라고 한다. => 병목 링크의 전송률 = 처리율

- (b) 네트워크의 처리율 역시 min{R_1, R_2...R_N} 즉 병목 링크이다.

 

3) 2)에서 코어 네트워크가 있는 경우

- (a)에서 중간의 코어 네트워크의 전송률이 R인데 이 RR_sR_c보다 충분히 크다면 (a)의 전송률은 역시 병목 링크의 전송률인 min{R_s, R_c}가 된다.

- (b)의 경우를 보자. 10개의 클라이언트와 서버가 있다. 클라이언트의 접속 링크의 전송률은 R_c이고 서버의 접속 링크의 전송률은 R_s, 코어 네트워크의 전송률은 R이라고 해보자.

- 이때 R 클라이언트와 서버의 접속 링크의 전송률 보다 충분히 크다면 (b) 네트워크의 처리율을 역시 병목 링크의 전송률인 min{R_s, R_c}가 된다.


 

'전공 > 컴퓨터 네트워크' 카테고리의 다른 글

컴퓨터 네트워크 1장(1)  (1) 2022.10.06