- 네트워크 리소스를 공유한다.
- Host로 부터 받은 Data를 Packet 단위로 쪼개어 망을 활용한다.
- 두 가지 특징을 가지고 있다.
- Store and forward, Queueing delay and loss
Store and Forward
- 데이터를 패킷 단위로 전송하고, 패킷은 목적지까지 가는 도중 여러 라우터를 거친다.
- 각 라우터에서는 패킷을 임시저장 했다가, 다음 라우터로 보내기 때문에 이 부분에서 딜레이가 발생한다.
- L/R초가 걸린다고 이야기 하는데, L: 비트 수, R: 대역폭 으로 해석할 수 있다.
one-hop 이란 용어를 쓰는데, 이는 한 번의 깡총뛰기, 즉 라우터 - 라우터 간의 이동으로 이해하겠음!
Queueing delay and loss
- 근본적인 원인: 네트워크 리소스를 공유하는 패킷 스위칭의 방식
- Queueing delay는, arrival rate(전송률) > transmission rate(도착률) 일 때 발생한다.
- 만약 해당 라우터의 Queue(메모리)가 꽉 찬 상태가 아니라면, Queue에서 대기하는 시간이 발생할 것이고,
- 해당 라우터의 Queue가 꽉 찬 상태라면, 가장 마지막에 들어온 패킷은 Loss가 발생할 것.
Circuit Switching과 Packet Switching의 차이점?
- Circuit Switching은 네트워크 리소스를 공유하지 않고, 독점한다. 연결마나 되면 Bandwidth를 무조건 할당하는 것.
-- Dedicated, Exclusive...
- Packet Switching은 네트워크 리소스를 공유한다.
- Bursty data에서는 패킷 스위칭이 압도적인 승자이며,
- 다만 Excessive congestion이 일어날 수 있기 때문에, congestion control이 필요하다.
Reliable의 조건: No loss, No delay, In-order delivery
How do loss and delay occur? (딜레이와 로스가 왜 일어날까?)
- Store and forward라는 Packet switching의 특징.
- Queue에 저장되기 때문에, Input>Output일 경우
- Queue가 꽉 차면, Loss 발생(마지막 패킷)
- 덜 찼으면, Queue에서 대기시간 존재.
- Delay에 또 다른 이유
d nodal = d proc + d queue + d trans + d prop
Nodal delay: 총 딜레이
- d proc: Processing delay, 처리 시간.
- 비트 에러를 체크하고, 다음 링크를 결정하고…
- 보통 msec 미만.
- Input queue, Output queue가 따로 있을 경우, Input queue → Output queue 역시 프로세싱 딜레이에 속한다.
- d queue: Queueing delay,
- Output link를 타기까지 대기하는 시간
- Queue에 도착 ~ Queue에서 빠져나가는 순간 사이의 Delay
- Queue에 어떤 자료구조를 쓰느냐? 라우팅 테이블을 어떻게 짜느냐? 에 따라 다르다.
- d trans: Transmission delay(전송 지연)
- 패킷 길이에 따라 다른데, 이는 TCP/UDP 등 주어진 값에 의존적(HW 영역)
- d trans = L/R
- d prop: Propagation delay(전파 지연)
- 링크 속도, 즉 bandwidth에 의존적이다. 사실상 상수 취급..
- d prop = d/s,
d nodal(전체 지연)에서 d queue를 디테일하게 살펴보자. 앞서는 L/R 이라고 했음.
- R = link bandwidth(링크 대역폭), 사실상 인프라의 영역임. 상수 취급.
- L = packet length(패킷 길이, 몇 비트인지), 이것도 TCP/UDP(즉 어떤 프로토콜을 쓰느냐)에 의존적임. 상수. 취급.
- 다시 한번 언급하지만, 프로토콜의 두가지 정의
- Event Action Format
- Syntax Semantic Timing
- 다시 한번 언급하지만, 프로토콜의 두가지 정의
- a = arrival rate, 유일하게 managable 한 변수. 사용자가 폭증할 때 어떻게 해결할 것인가?
그러니까, La/R 을 어떻게 Bound 시키느냐?
- 흔한 방법으로 ISP가 QoS를 걸거나...
- Traffic Shaping, 혹은 Audio/Video에 대역폭을 따로 할당해주는 방식..
결과치 해석에 유의할 점: 각각은 세 개의 패킷의 시간일 뿐, 각각이 최대 최소 평균은 아님.
“Real” Internet delays and routes
- traceroute program: Source에서 라우터를 따라, end - end 과정의 딜레이를 측정하는 것. 모든 i에 따라,
- For all i: i번째 라우터에 세 개의 패킷을 던진다.
- router i가 패킷을 전송자(start node)에 반환한다.
- transmission and reply(전송과 돌려받은) 시간 차이를 측정한다.
probing packet: 네트워크 상태를 평가하거나 문제 진단을 위한 작은 데이터패킷.
'CS > Network' 카테고리의 다른 글
[Network] 라우터의 내부를 뜯어보자. (0) | 2023.11.24 |
---|---|
[Network] Network Layer, 포워딩과 라우팅을 알아보자. (1) | 2023.11.24 |
TCP의 작동방식에 대하여(TCP Ack Generation) (0) | 2023.11.07 |
Pipeline Protocol: GBN과 SR에 대하여 (0) | 2023.11.07 |
Network 기본 개념들 (0) | 2023.09.19 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!