Input port queuing
- Fabric slower than input ports combined -> queuing may occur at input queues
- queuing delay and loss due to input buffer overflow!
( Ideally multiple packets can be transferred in parallel, as long as their output ports are different ) -> 이상적으로 output port 가 다른 패킷들은 동시에 전송될 수 있다.
- Head- of-the-Line (HOL) Blocking : queued datagram at front of queue prevents others in queue from oving forawrd -> head packet 이 이미 사용중인 port 를 사용해야 한다면, block 된다.
- even if other packet's output port is idle !
- output port contention : only one datagram can be transferred.
Output ports
- Output port takes packets that have been stored in the output port's memory and transmits them over the output link ( 많은 input port 에서 들어오는 packet 들을 output line 의 전송속도로 전달하기 힘들기 때문에 buffer 에 저장한다. )
- Buffering : required when datagrams arrive from fabric faster than the transmission rate
- Datagram (packets) can be lost due to congestion, lack of buffers
- Scheduling : discipline chooses (selects) among queued packets and dequeue it for transmission
- ex ) Priority scheduling - who gets best performance, network neutrality
Output port queuing/buffering
- Buffering when arrival rate via switch exceeds output line speed
- Queueing delay and los due to output port buffer overflow!
- Which packet to drop? ( ex> drop-tail, RED(Random Early Detection), etc.)
- How much buffering?
- RFC 3439 rule of thumb : average buffering equal to "typical" RTT times link capacity C ( RTT = 250ms, C = 10Gpbs link -> 2.5 Gbit buffer)
- recent recommendation : with N flows, buffering equal to $\frac{RTT \cdot C}{\sqrt{N}}$
Scheduling mechanisms
Scheduling : choose next packet to send on link
- FIFO ( First in first out ) : sheduling : send in order or arrival to queue
- discard policy : if packet arrives to full queue : who to discard? ( $\neq$ scheduling )
- tail drop : drop arriving packet
- priority : drop/remove on priority basis
- random : drop/remove randomly
- other : RED
- Priority scheduling : send higher priority queued packet first, multiple classes
- multiple classes, with different priorities : high priority queue first, after low priority queue
- class may depend on marking or other header info, ( IP source/dest, prot numbers, etc )
- real wordk example ? : bank, airplane,,,
- Round Robin (RR) scheduling
- multiple classes
- cyclically scan class queues, sending one complete packet from each class ( if available )
- Weighted Fair Queueing (WFQ) : combine priority, round robin
- generalized Round Robin
- each class gets weighted amount of service in each cycle
'학교수업 > 네트워크 응용설계' 카테고리의 다른 글
[Applications And Design] 5. Network Layer (0) | 2022.05.25 |
---|---|
4.3 (0) | 2022.05.23 |