<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=Packet_Scheduling</id>
	<title>Packet Scheduling - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=Packet_Scheduling"/>
	<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;action=history"/>
	<updated>2026-04-29T15:19:07Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=6336&amp;oldid=prev</id>
		<title>Ahn9807: 봇: 자동으로 텍스트 교체  (-\[\[분류:컴퓨터 네트워크(\|[^\]]+)?\]\] +분류:컴퓨터 네트워킹\1)</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=6336&amp;oldid=prev"/>
		<updated>2026-01-15T13:01:11Z</updated>

		<summary type="html">&lt;p&gt;봇: 자동으로 텍스트 교체  (-\[\[분류:컴퓨터 네트워크(\|[^\]]+)?\]\] +&lt;a href=&quot;/noriwiki/index.php?title=%EB%B6%84%EB%A5%98:%EC%BB%B4%ED%93%A8%ED%84%B0_%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9%5C1&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;분류:컴퓨터 네트워킹\1 (없는 문서)&quot;&gt;분류:컴퓨터 네트워킹\1&lt;/a&gt;)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026년 1월 15일 (목) 13:01 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l32&quot;&gt;32번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;32번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;네트워크&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;네트워킹&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ahn9807</name></author>
	</entry>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4274&amp;oldid=prev</id>
		<title>Pinkgo: /* Round Robin and Weighted Fair Queuing */</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4274&amp;oldid=prev"/>
		<updated>2025-04-10T15:38:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Round Robin and Weighted Fair Queuing&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 4월 10일 (목) 15:38 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l28&quot;&gt;28번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;28번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송 완료한 후, 클래스 1이 전송될 차례이므로 패킷 2를 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송 완료한 후, 클래스 1이 전송될 차례이므로 패킷 2를 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송하고 남은 패킷은 패킷 4 하나이므로 class 순서를 기다리지 않고 즉시 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송하고 남은 패킷은 패킷 4 하나이므로 class 순서를 기다리지 않고 즉시 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[파일:Weighted fair queueing.png|대체글=Figure 6. Weighted fair queueing|섬네일|&#039;&#039;&#039;Figure 6. Weighted fair queueing&#039;&#039;&#039;]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WFQ(Weighted Fair Queueing)은 round robin의 일반화된 형태로, 실제로 라우터에서 많이 구현되는 방식이다. WFQ는 round robin과 같이 class 별 고유한 queue가 존재하며, round robin과 같이 순환적으로 패킷 전송을 지원하나, &amp;#039;&amp;#039;&amp;#039;각 class 별로 가중치(weight)를 설정&amp;#039;&amp;#039;&amp;#039;한다는 차이점이 있다. 이때 WFQ의 핵심 아이디어는 class i 에 가중치 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; 가 주어졌을 때, 해당 class가 활성 상태이면 (즉, queue에 패킷이 있으면) 전체 서비스 중 &amp;lt;math&amp;gt;\frac{w_i}{\Sigma w_j}&amp;lt;/math&amp;gt; 정도의 비율을 보장한다는 것이다.&amp;lt;ref&amp;gt;&amp;lt;math&amp;gt;\Sigma w_j&amp;lt;/math&amp;gt;는 활성 상태인 queue에 해당하는 class의 가중치의 합이다.&amp;lt;/ref&amp;gt; 예를 들어 각각 가중치가 1, 2, 3인 class 1, 2, 3이 존재하고, 모든 class의 queue에는 충분한 패킷이 있다고 가정해보자. 이때 가중치가 3인 class 3은 패킷을 3개 보내고, class 2에게 다음 순서를 양보한다. 다음으로 가중치가 2인 class 2는 패킷을 2개 보내고, class 1에게 다음 순서를 양보한다. 다음으로 가중치가 1인 class 1은 패킷을 1개 보내고, 다시 class 3에게 다음 순서를 양보한다. 이 과정이 충분히 반복하면 class 3은 전체 서비스 중 3/(1+2+3) 정도의 비율을 점유한다. 또한 class 2, 1도 각각 전체 서비스 중 약 2/(1+2+3), 1/(1+2+3) 정도의 비율을 점유한다. 이러한 WFQ의 추상화된 도식은 figure 6에 잘 나타나있다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WFQ(Weighted Fair Queueing)은 round robin의 일반화된 형태로, 실제로 라우터에서 많이 구현되는 방식이다. WFQ는 round robin과 같이 class 별 고유한 queue가 존재하며, round robin과 같이 순환적으로 패킷 전송을 지원하나, &amp;#039;&amp;#039;&amp;#039;각 class 별로 가중치(weight)를 설정&amp;#039;&amp;#039;&amp;#039;한다는 차이점이 있다. 이때 WFQ의 핵심 아이디어는 class i 에 가중치 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; 가 주어졌을 때, 해당 class가 활성 상태이면 (즉, queue에 패킷이 있으면) 전체 서비스 중 &amp;lt;math&amp;gt;\frac{w_i}{\Sigma w_j}&amp;lt;/math&amp;gt; 정도의 비율을 보장한다는 것이다.&amp;lt;ref&amp;gt;&amp;lt;math&amp;gt;\Sigma w_j&amp;lt;/math&amp;gt;는 활성 상태인 queue에 해당하는 class의 가중치의 합이다.&amp;lt;/ref&amp;gt; 예를 들어 각각 가중치가 1, 2, 3인 class 1, 2, 3이 존재하고, 모든 class의 queue에는 충분한 패킷이 있다고 가정해보자. 이때 가중치가 3인 class 3은 패킷을 3개 보내고, class 2에게 다음 순서를 양보한다. 다음으로 가중치가 2인 class 2는 패킷을 2개 보내고, class 1에게 다음 순서를 양보한다. 다음으로 가중치가 1인 class 1은 패킷을 1개 보내고, 다시 class 3에게 다음 순서를 양보한다. 이 과정이 충분히 반복하면 class 3은 전체 서비스 중 3/(1+2+3) 정도의 비율을 점유한다. 또한 class 2, 1도 각각 전체 서비스 중 약 2/(1+2+3), 1/(1+2+3) 정도의 비율을 점유한다. 이러한 WFQ의 추상화된 도식은 figure 6에 잘 나타나있다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pinkgo</name></author>
	</entry>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4273&amp;oldid=prev</id>
		<title>2025년 4월 10일 (목) 15:37에 Pinkgo님의 편집</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4273&amp;oldid=prev"/>
		<updated>2025-04-10T15:37:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 4월 10일 (목) 15:37 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;8번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;8번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==First-in-First-Out==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==First-in-First-Out==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[파일:The FIFO queue in operation.png|대체글=Figure 1. The FIFO queue in operation|가운데|섬네일|500x500픽셀|&amp;#039;&amp;#039;&amp;#039;Figure 1. The FIFO queue in operation&amp;#039;&amp;#039;&amp;#039; ]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[파일:The FIFO queue in operation.png|대체글=Figure 1. The FIFO queue in operation|가운데|섬네일|500x500픽셀|&amp;#039;&amp;#039;&amp;#039;Figure 1. The FIFO queue in operation&amp;#039;&amp;#039;&amp;#039; ]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[파일:FIFO queueing abstraction model.png|대체글=Figure 2. FIFO queueing abstraction|섬네일|&#039;&#039;&#039;Figure 2. FIFO queueing abstraction&#039;&#039;&#039; ]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FIFO(First-in-First-Out) 방식은 쉽게 말해서 버퍼에 도착한 순서대로 패킷을 전송하는 방식이다. Figure 1은 FIFO 방식이 어떻게 동작하는지 잘 보여준다. 패킷 도착 순서는 위쪽 타임라인 위의 상자에 표시되어 있으며, 패킷 전송(출발)은 아래쪽 타임라인에 나타나있다. 또한 각 시간에 어떤 패킷이 전송되고 있는지는 두 타임라인 사이에 표시되어 있다. 해당 문서의 예제에서는 각 패킷을 전송하는데 3t 만큼이 소요된다. Figure 2는 각 패킷이 도착한 순서대로 전송되는 것을 잘 보여준다. 또한 패킷 4가 전송된 이후 queue에는 아무 패킷도 남아 있지 않기 때문에 패킷 5가 도착하기 전까지 출력 링크(link)는 idle 상태가 되어있다. Figure 2는 FIFO 방식에 사용되는 포트를 추상화하여 도식적으로 나타낸 것이다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FIFO(First-in-First-Out) 방식은 쉽게 말해서 버퍼에 도착한 순서대로 패킷을 전송하는 방식이다. Figure 1은 FIFO 방식이 어떻게 동작하는지 잘 보여준다. 패킷 도착 순서는 위쪽 타임라인 위의 상자에 표시되어 있으며, 패킷 전송(출발)은 아래쪽 타임라인에 나타나있다. 또한 각 시간에 어떤 패킷이 전송되고 있는지는 두 타임라인 사이에 표시되어 있다. 해당 문서의 예제에서는 각 패킷을 전송하는데 3t 만큼이 소요된다. Figure 2는 각 패킷이 도착한 순서대로 전송되는 것을 잘 보여준다. 또한 패킷 4가 전송된 이후 queue에는 아무 패킷도 남아 있지 않기 때문에 패킷 5가 도착하기 전까지 출력 링크(link)는 idle 상태가 되어있다. Figure 2는 FIFO 방식에 사용되는 포트를 추상화하여 도식적으로 나타낸 것이다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Priority Queuing==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Priority Queuing==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[파일:The priority queue in operation.png|대체글=Figure 3. The priority queue in operation|가운데|섬네일|500x500픽셀|&#039;&#039;&#039;Figure 3. The priority queue in operation&#039;&#039;&#039; ]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[파일:The priority queueing model.png|대체글=Figure 4. The priority queueing model|섬네일|&#039;&#039;&#039;Figure 4. The priority queueing model&#039;&#039;&#039;]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Priority queuing&amp;#039;&amp;#039;&amp;#039;에서는 출력 링크로 도착하는 패킷들이 queue에 도착하면서 &amp;#039;&amp;#039;&amp;#039;priority class로 분류&amp;#039;&amp;#039;&amp;#039;된다. 각 priority class는 고유한 queue를 가지며, 스케쥴러는 전송할 패킷을 고를 때 &amp;#039;&amp;#039;&amp;#039;queue가 비어있지 않은 가장 높은 priority queue&amp;#039;&amp;#039;&amp;#039;에서 패킷을 선택한다. 또한 같은 priority class 내에서는 보통 FIFO 방식으로 처리한다. Figure 4는 priority queueing 방식을 이용하는 포트를 추상화하여 도식적으로 나타내었다. 또한 figure 3는 priority queueing 방식이 어떻게 동작하는지 잘 보여준다. 해당 예제에서는 priority class가 두개 존재하며, 패킷 1, 3, 4는 high-priority class, 패킷 2, 5는 low-priority class에 속한다. 위 예제는 다음과 같이 동작한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Priority queuing&amp;#039;&amp;#039;&amp;#039;에서는 출력 링크로 도착하는 패킷들이 queue에 도착하면서 &amp;#039;&amp;#039;&amp;#039;priority class로 분류&amp;#039;&amp;#039;&amp;#039;된다. 각 priority class는 고유한 queue를 가지며, 스케쥴러는 전송할 패킷을 고를 때 &amp;#039;&amp;#039;&amp;#039;queue가 비어있지 않은 가장 높은 priority queue&amp;#039;&amp;#039;&amp;#039;에서 패킷을 선택한다. 또한 같은 priority class 내에서는 보통 FIFO 방식으로 처리한다. Figure 4는 priority queueing 방식을 이용하는 포트를 추상화하여 도식적으로 나타내었다. 또한 figure 3는 priority queueing 방식이 어떻게 동작하는지 잘 보여준다. 해당 예제에서는 priority class가 두개 존재하며, 패킷 1, 3, 4는 high-priority class, 패킷 2, 5는 low-priority class에 속한다. 위 예제는 다음과 같이 동작한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 1이 도착했을 때 링크가 비어 있으므로 즉시 전송을 시작한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 1이 도착했을 때 링크가 비어 있으므로 즉시 전송을 시작한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;18번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;21번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Round Robin and Weighted Fair Queuing==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Round Robin and Weighted Fair Queuing==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[파일:The two-class robin queue in operation.png|대체글=Figure 5. The two-class robin queue in operation|가운데|섬네일|500x500픽셀|&#039;&#039;&#039;Figure 5. The two-class robin queue in operation&#039;&#039;&#039; ]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Round robin&amp;#039;&amp;#039;&amp;#039; 방식에서도 패킷은 class 별로 구분된다. 하지만 class 사이에 엄격한 &amp;#039;&amp;#039;&amp;#039;priority는 존재하지 않으며, class 별로 번갈아가며&amp;#039;&amp;#039;&amp;#039; 전송된다. 이때 &amp;#039;&amp;#039;&amp;#039;work-conserving queueing&amp;#039;&amp;#039;&amp;#039;이라는 개념이 추가로 적용되어, 전송할 패킷이 있는 한 link를 idle 상태로 만들지 않을 수 있다. 즉, 특정 class에 전송할 패킷이 없다면 다음 class 순번으로 바로 넘어가는 방식이다. Figure 5는 round robin 방식이 어떻게 동작하는지 잘 보여준다. 해당 예제에서는 2개의 class로 구분되어 있으며, 패킷 1, 2, 4는 class 1에, 패킷 3, 5는 class 2에 속한다. 위 예제는 다음과 같이 동작한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Round robin&amp;#039;&amp;#039;&amp;#039; 방식에서도 패킷은 class 별로 구분된다. 하지만 class 사이에 엄격한 &amp;#039;&amp;#039;&amp;#039;priority는 존재하지 않으며, class 별로 번갈아가며&amp;#039;&amp;#039;&amp;#039; 전송된다. 이때 &amp;#039;&amp;#039;&amp;#039;work-conserving queueing&amp;#039;&amp;#039;&amp;#039;이라는 개념이 추가로 적용되어, 전송할 패킷이 있는 한 link를 idle 상태로 만들지 않을 수 있다. 즉, 특정 class에 전송할 패킷이 없다면 다음 class 순번으로 바로 넘어가는 방식이다. Figure 5는 round robin 방식이 어떻게 동작하는지 잘 보여준다. 해당 예제에서는 2개의 class로 구분되어 있으며, 패킷 1, 2, 4는 class 1에, 패킷 3, 5는 class 2에 속한다. 위 예제는 다음과 같이 동작한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 1은 즉시 전송된다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 1은 즉시 전송된다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pinkgo</name></author>
	</entry>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4272&amp;oldid=prev</id>
		<title>Pinkgo: /* First-in-First-Out */</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4272&amp;oldid=prev"/>
		<updated>2025-04-10T15:32:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;First-in-First-Out&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 4월 10일 (목) 15:32 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;7번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;7번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==First-in-First-Out==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==First-in-First-Out==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FIFO(First-in-First-Out) 방식은 쉽게 말해서 버퍼에 도착한 순서대로 패킷을 전송하는 방식이다. Figure 1은 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;FIFO 방식에 사용되는 포트를 추상화하여 도식적으로 나타낸 것이다. Figure 2는 &lt;/del&gt;FIFO 방식이 어떻게 동작하는지 잘 보여준다. 패킷 도착 순서는 위쪽 타임라인 위의 상자에 표시되어 있으며, 패킷 전송(출발)은 아래쪽 타임라인에 나타나있다. 또한 각 시간에 어떤 패킷이 전송되고 있는지는 두 타임라인 사이에 표시되어 있다. 해당 문서의 예제에서는 각 패킷을 전송하는데 3t 만큼이 소요된다. Figure 2는 각 패킷이 도착한 순서대로 전송되는 것을 잘 보여준다. 또한 패킷 4가 전송된 이후 queue에는 아무 패킷도 남아 있지 않기 때문에 패킷 5가 도착하기 전까지 출력 링크(link)는 idle 상태가 되어있다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[파일:The FIFO queue in operation.png|대체글=Figure 1. The FIFO queue in operation|가운데|섬네일|500x500픽셀|&#039;&#039;&#039;Figure 1. The FIFO queue in operation&#039;&#039;&#039; ]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FIFO(First-in-First-Out) 방식은 쉽게 말해서 버퍼에 도착한 순서대로 패킷을 전송하는 방식이다. Figure 1은 FIFO 방식이 어떻게 동작하는지 잘 보여준다. 패킷 도착 순서는 위쪽 타임라인 위의 상자에 표시되어 있으며, 패킷 전송(출발)은 아래쪽 타임라인에 나타나있다. 또한 각 시간에 어떤 패킷이 전송되고 있는지는 두 타임라인 사이에 표시되어 있다. 해당 문서의 예제에서는 각 패킷을 전송하는데 3t 만큼이 소요된다. Figure 2는 각 패킷이 도착한 순서대로 전송되는 것을 잘 보여준다. 또한 패킷 4가 전송된 이후 queue에는 아무 패킷도 남아 있지 않기 때문에 패킷 5가 도착하기 전까지 출력 링크(link)는 idle 상태가 되어있다&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Figure 2는 FIFO 방식에 사용되는 포트를 추상화하여 도식적으로 나타낸 것이다&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Priority Queuing==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Priority Queuing==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Priority queuing&#039;&#039;&#039;에서는 출력 링크로 도착하는 패킷들이 queue에 도착하면서 &#039;&#039;&#039;priority class로 분류&#039;&#039;&#039;된다. 각 priority class는 고유한 queue를 가지며, 스케쥴러는 전송할 패킷을 고를 때 &#039;&#039;&#039;queue가 비어있지 않은 가장 높은 priority queue&#039;&#039;&#039;에서 패킷을 선택한다. 또한 같은 priority class 내에서는 보통 FIFO 방식으로 처리한다. Figure &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3는 &lt;/del&gt;priority queueing 방식을 이용하는 포트를 추상화하여 도식적으로 나타내었다. 또한 figure &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4는 &lt;/del&gt;priority queueing 방식이 어떻게 동작하는지 잘 보여준다. 해당 예제에서는 priority class가 두개 존재하며, 패킷 1, 3, 4는 high-priority class, 패킷 2, 5는 low-priority class에 속한다. 위 예제는 다음과 같이 동작한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Priority queuing&#039;&#039;&#039;에서는 출력 링크로 도착하는 패킷들이 queue에 도착하면서 &#039;&#039;&#039;priority class로 분류&#039;&#039;&#039;된다. 각 priority class는 고유한 queue를 가지며, 스케쥴러는 전송할 패킷을 고를 때 &#039;&#039;&#039;queue가 비어있지 않은 가장 높은 priority queue&#039;&#039;&#039;에서 패킷을 선택한다. 또한 같은 priority class 내에서는 보통 FIFO 방식으로 처리한다. Figure &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4는 &lt;/ins&gt;priority queueing 방식을 이용하는 포트를 추상화하여 도식적으로 나타내었다. 또한 figure &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3는 &lt;/ins&gt;priority queueing 방식이 어떻게 동작하는지 잘 보여준다. 해당 예제에서는 priority class가 두개 존재하며, 패킷 1, 3, 4는 high-priority class, 패킷 2, 5는 low-priority class에 속한다. 위 예제는 다음과 같이 동작한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 1이 도착했을 때 링크가 비어 있으므로 즉시 전송을 시작한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 1이 도착했을 때 링크가 비어 있으므로 즉시 전송을 시작한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 전송 중에 패킷 2(low), 패킷 3(high)이 도착하여 각자 큐에 저장된다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 전송 중에 패킷 2(low), 패킷 3(high)이 도착하여 각자 큐에 저장된다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pinkgo</name></author>
	</entry>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4271&amp;oldid=prev</id>
		<title>Pinkgo: /* Round Robin and Weighted Fair Queuing */</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4271&amp;oldid=prev"/>
		<updated>2025-04-10T15:27:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Round Robin and Weighted Fair Queuing&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 4월 10일 (목) 15:27 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot;&gt;23번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;23번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송 완료한 후, 클래스 1이 전송될 차례이므로 패킷 2를 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송 완료한 후, 클래스 1이 전송될 차례이므로 패킷 2를 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송하고 남은 패킷은 패킷 4 하나이므로 class 순서를 기다리지 않고 즉시 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송하고 남은 패킷은 패킷 4 하나이므로 class 순서를 기다리지 않고 즉시 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WFQ(Weighted Fair Queueing)은 round robin의 일반화된 형태로, 실제로 라우터에서 많이 구현되는 방식이다. WFQ는 round robin과 같이 class 별 고유한 queue가 존재하며, round robin과 같이 순환적으로 패킷 전송을 지원하나, &#039;&#039;&#039;각 class 별로 가중치(weight)를 설정&#039;&#039;&#039;한다는 차이점이 있다. 이때 WFQ의 핵심 아이디어는 class i 에 가중치 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; 가 주어졌을 때, 해당 class가 활성 상태이면 (즉, queue에 패킷이 있으면) 전체 서비스 중 &amp;lt;math&amp;gt;\frac{w_i}{\Sigma w_j}&amp;lt;/math&amp;gt; 정도의 비율을 보장한다는 것이다.&amp;lt;ref&amp;gt;&amp;lt;math&amp;gt;\Sigma w_j&amp;lt;/math&amp;gt;는 활성 상태인 queue에 해당하는 class의 가중치의 합이다.&amp;lt;/ref&amp;gt; 예를 들어 각각 가중치가 1, 2, 3인 class 1, 2, 3이 존재하고, 모든 class의 queue에는 충분한 패킷이 있다고 가정해보자. 이때 가중치가 3인 class 3은 패킷을 3개 보내고, class 2에게 다음 순서를 양보한다. 다음으로 가중치가 2인 class 2는 패킷을 2개 보내고, class 1에게 다음 순서를 양보한다. 다음으로 가중치가 1인 class 1은 패킷을 1개 보내고, 다시 class 3에게 다음 순서를 양보한다. 이 과정이 충분히 반복하면 class 3은 전체 서비스 중 3/(1+2+3) 정도의 비율을 점유한다. 또한 class 2, 1도 각각 전체 서비스 중 약 2/(1+2+3), 1/(1+2+3) 정도의 비율을 점유한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WFQ(Weighted Fair Queueing)은 round robin의 일반화된 형태로, 실제로 라우터에서 많이 구현되는 방식이다. WFQ는 round robin과 같이 class 별 고유한 queue가 존재하며, round robin과 같이 순환적으로 패킷 전송을 지원하나, &#039;&#039;&#039;각 class 별로 가중치(weight)를 설정&#039;&#039;&#039;한다는 차이점이 있다. 이때 WFQ의 핵심 아이디어는 class i 에 가중치 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; 가 주어졌을 때, 해당 class가 활성 상태이면 (즉, queue에 패킷이 있으면) 전체 서비스 중 &amp;lt;math&amp;gt;\frac{w_i}{\Sigma w_j}&amp;lt;/math&amp;gt; 정도의 비율을 보장한다는 것이다.&amp;lt;ref&amp;gt;&amp;lt;math&amp;gt;\Sigma w_j&amp;lt;/math&amp;gt;는 활성 상태인 queue에 해당하는 class의 가중치의 합이다.&amp;lt;/ref&amp;gt; 예를 들어 각각 가중치가 1, 2, 3인 class 1, 2, 3이 존재하고, 모든 class의 queue에는 충분한 패킷이 있다고 가정해보자. 이때 가중치가 3인 class 3은 패킷을 3개 보내고, class 2에게 다음 순서를 양보한다. 다음으로 가중치가 2인 class 2는 패킷을 2개 보내고, class 1에게 다음 순서를 양보한다. 다음으로 가중치가 1인 class 1은 패킷을 1개 보내고, 다시 class 3에게 다음 순서를 양보한다. 이 과정이 충분히 반복하면 class 3은 전체 서비스 중 3/(1+2+3) 정도의 비율을 점유한다. 또한 class 2, 1도 각각 전체 서비스 중 약 2/(1+2+3), 1/(1+2+3) 정도의 비율을 점유한다&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. 이러한 WFQ의 추상화된 도식은 figure 6에 잘 나타나있다&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pinkgo</name></author>
	</entry>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4270&amp;oldid=prev</id>
		<title>Pinkgo: /* Round Robin and Weighted Fair Queuing */</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4270&amp;oldid=prev"/>
		<updated>2025-04-10T15:26:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Round Robin and Weighted Fair Queuing&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 4월 10일 (목) 15:26 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot;&gt;23번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;23번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송 완료한 후, 클래스 1이 전송될 차례이므로 패킷 2를 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송 완료한 후, 클래스 1이 전송될 차례이므로 패킷 2를 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송하고 남은 패킷은 패킷 4 하나이므로 class 순서를 기다리지 않고 즉시 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송하고 남은 패킷은 패킷 4 하나이므로 class 순서를 기다리지 않고 즉시 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WFQ(Weighted Fair Queueing)은 round robin의 일반화된 형태로, 실제로 라우터에서 많이 구현되는 방식이다. WFQ는 round robin과 같이 class 별 고유한 queue가 존재하며, round robin과 같이 순환적으로 패킷 전송을 지원하나, &#039;&#039;&#039;각 class 별로 가중치(weight)를 설정&#039;&#039;&#039;한다는 차이점이 있다. 이때 WFQ의 핵심 아이디어는 class i 에 가중치 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; 가 주어졌을 때, 해당 class가 활성 상태이면 (즉, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;큐에 &lt;/del&gt;패킷이 있으면) 전체 서비스 중 &amp;lt;math&amp;gt;\frac{w_i}{\Sigma w_j}&amp;lt;/math&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;이상의 &lt;/del&gt;비율을 보장한다는 것이다. 예를 들어 class 1, 2, 3이 존재하고 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;각각 가중치가 1&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2, 3인 상황을 가정해보자. 이때 &lt;/del&gt;모든 class의 queue에는 충분한 패킷이 있다고 가정해보자.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WFQ(Weighted Fair Queueing)은 round robin의 일반화된 형태로, 실제로 라우터에서 많이 구현되는 방식이다. WFQ는 round robin과 같이 class 별 고유한 queue가 존재하며, round robin과 같이 순환적으로 패킷 전송을 지원하나, &#039;&#039;&#039;각 class 별로 가중치(weight)를 설정&#039;&#039;&#039;한다는 차이점이 있다. 이때 WFQ의 핵심 아이디어는 class i 에 가중치 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; 가 주어졌을 때, 해당 class가 활성 상태이면 (즉, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;queue에 &lt;/ins&gt;패킷이 있으면) 전체 서비스 중 &amp;lt;math&amp;gt;\frac{w_i}{\Sigma w_j}&amp;lt;/math&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;정도의 &lt;/ins&gt;비율을 보장한다는 것이다.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;ref&amp;gt;&amp;lt;math&amp;gt;\Sigma w_j&amp;lt;/math&amp;gt;는 활성 상태인 queue에 해당하는 class의 가중치의 합이다.&amp;lt;/ref&amp;gt; &lt;/ins&gt;예를 들어 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;각각 가중치가 1, 2, 3인 &lt;/ins&gt;class 1, 2, 3이 존재하고, 모든 class의 queue에는 충분한 패킷이 있다고 가정해보자&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. 이때 가중치가 3인 class 3은 패킷을 3개 보내고, class 2에게 다음 순서를 양보한다. 다음으로 가중치가 2인 class 2는 패킷을 2개 보내고, class 1에게 다음 순서를 양보한다. 다음으로 가중치가 1인 class 1은 패킷을 1개 보내고, 다시 class 3에게 다음 순서를 양보한다. 이 과정이 충분히 반복하면 class 3은 전체 서비스 중 3/(1+2+3) 정도의 비율을 점유한다. 또한 class 2, 1도 각각 전체 서비스 중 약 2/(1+2+3), 1/(1+2+3) 정도의 비율을 점유한다&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pinkgo</name></author>
	</entry>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4269&amp;oldid=prev</id>
		<title>Pinkgo: /* Round Robin and Weighted Fair Queuing */</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4269&amp;oldid=prev"/>
		<updated>2025-04-10T15:19:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Round Robin and Weighted Fair Queuing&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 4월 10일 (목) 15:19 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot;&gt;23번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;23번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송 완료한 후, 클래스 1이 전송될 차례이므로 패킷 2를 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송 완료한 후, 클래스 1이 전송될 차례이므로 패킷 2를 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송하고 남은 패킷은 패킷 4 하나이므로 class 순서를 기다리지 않고 즉시 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송하고 남은 패킷은 패킷 4 하나이므로 class 순서를 기다리지 않고 즉시 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WFQ(Weighted Fair Queueing)은 round robin의 일반화된 형태로, 실제로 라우터에서 많이 구현되는 방식이다. WFQ는 round robin과 같이 class 별 고유한 queue가 존재하며, round robin과 같이 순환적으로 패킷 전송을 지원하나, &#039;&#039;&#039;각 class 별로 가중치(weight)를 설정&#039;&#039;&#039;한다는 차이점이 있다. 이때 WFQ의 핵심 아이디어는 class i 에 가중치 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; 가 주어졌을 때, 해당 class가 활성 상태이면 (즉, 큐에 패킷이 있으면) 전체 서비스 중 &amp;lt;math&amp;gt;\frac{w_i}{\&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sigma &lt;/del&gt;w_j}&amp;lt;/math&amp;gt; 이상의 비율을 보장한다는 것이다. 예를 들어 class 1, 2, 3이 존재하고 각각 가중치가 1, 2, 3인 상황을 가정해보자. 이때 모든 class의 queue에는 충분한 패킷이 있다고 가정해보자.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WFQ(Weighted Fair Queueing)은 round robin의 일반화된 형태로, 실제로 라우터에서 많이 구현되는 방식이다. WFQ는 round robin과 같이 class 별 고유한 queue가 존재하며, round robin과 같이 순환적으로 패킷 전송을 지원하나, &#039;&#039;&#039;각 class 별로 가중치(weight)를 설정&#039;&#039;&#039;한다는 차이점이 있다. 이때 WFQ의 핵심 아이디어는 class i 에 가중치 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; 가 주어졌을 때, 해당 class가 활성 상태이면 (즉, 큐에 패킷이 있으면) 전체 서비스 중 &amp;lt;math&amp;gt;\frac{w_i}{\&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sigma &lt;/ins&gt;w_j}&amp;lt;/math&amp;gt; 이상의 비율을 보장한다는 것이다. 예를 들어 class 1, 2, 3이 존재하고 각각 가중치가 1, 2, 3인 상황을 가정해보자. 이때 모든 class의 queue에는 충분한 패킷이 있다고 가정해보자.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pinkgo</name></author>
	</entry>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4268&amp;oldid=prev</id>
		<title>Pinkgo: /* Round Robin and Weighted Fair Queuing */</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4268&amp;oldid=prev"/>
		<updated>2025-04-10T15:19:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Round Robin and Weighted Fair Queuing&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 4월 10일 (목) 15:19 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot;&gt;23번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;23번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송 완료한 후, 클래스 1이 전송될 차례이므로 패킷 2를 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송 완료한 후, 클래스 1이 전송될 차례이므로 패킷 2를 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송하고 남은 패킷은 패킷 4 하나이므로 class 순서를 기다리지 않고 즉시 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2를 전송하고 남은 패킷은 패킷 4 하나이므로 class 순서를 기다리지 않고 즉시 전송한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WFQ(Weighted Fair Queueing)은 round robin의 일반화된 형태로, 실제로 라우터에서 많이 구현되는 방식이다. WFQ는 round robin과 같이 class 별 고유한 queue가 존재하며, round robin과 같이 순환적으로 패킷 전송을 지원하나, &#039;&#039;&#039;각 class 별로 가중치(weight)를 설정&#039;&#039;&#039;한다는 차이점이 있다. 이때 WFQ의 핵심 아이디어는 class i 에 가중치 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; 가 주어졌을 때, 해당 class가 활성 상태이면 (즉, 큐에 패킷이 있으면) 전체 서비스 중 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;w&lt;/del&gt;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sub&lt;/del&gt;&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;i&lt;/del&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sub&amp;gt; / ∑w&amp;lt;sub&amp;gt;j&amp;lt;/sub&lt;/del&gt;&amp;gt; 이상의 비율을 보장한다는 것이다. 예를 들어 class 1, 2, 3이 존재하고 각각 가중치가 1, 2, 3인 상황을 가정해보자. 이때 모든 class의 queue에는 충분한 패킷이 있다고 가정해보자.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;WFQ(Weighted Fair Queueing)은 round robin의 일반화된 형태로, 실제로 라우터에서 많이 구현되는 방식이다. WFQ는 round robin과 같이 class 별 고유한 queue가 존재하며, round robin과 같이 순환적으로 패킷 전송을 지원하나, &#039;&#039;&#039;각 class 별로 가중치(weight)를 설정&#039;&#039;&#039;한다는 차이점이 있다. 이때 WFQ의 핵심 아이디어는 class i 에 가중치 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; 가 주어졌을 때, 해당 class가 활성 상태이면 (즉, 큐에 패킷이 있으면) 전체 서비스 중 &amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;math&lt;/ins&gt;&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;\frac{w_i}{\sigma w_j}&lt;/ins&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;math&lt;/ins&gt;&amp;gt; 이상의 비율을 보장한다는 것이다. 예를 들어 class 1, 2, 3이 존재하고 각각 가중치가 1, 2, 3인 상황을 가정해보자. 이때 모든 class의 queue에는 충분한 패킷이 있다고 가정해보자.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pinkgo</name></author>
	</entry>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4267&amp;oldid=prev</id>
		<title>Pinkgo: /* Round Robin and Weighted Fair Queuing */</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4267&amp;oldid=prev"/>
		<updated>2025-04-10T15:18:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Round Robin and Weighted Fair Queuing&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 4월 10일 (목) 15:18 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot;&gt;10번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;10번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Priority Queuing==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Priority Queuing==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Priority queuing&#039;&#039;&#039;에서는 출력 링크로 도착하는 패킷들이 queue에 도착하면서 &#039;&#039;&#039;priority class로 분류&#039;&#039;&#039;된다. 각 priority class는 고유한 queue를 가지며, 스케쥴러는 전송할 패킷을 고를 때 &#039;&#039;&#039;queue가 비어있지 않은 가장 높은 priority queue&#039;&#039;&#039;에서 패킷을 선택한다. 또한 같은 priority class 내에서는 보통 FIFO 방식으로 처리한다. Figure 3는 priority queueing 방식을 이용하는 포트를 추상화하여 도식적으로 나타내었다. 또한 figure 4는 priority queueing 방식이 어떻게 동작하는지 잘 보여준다. 해당 예제에서는 priority class가 두개 존재하며, 패킷 1, 3, 4는 high-priority class, 패킷 2, 5는 low-priority class에 속한다. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;이때 &lt;/del&gt;다음과 같이 동작한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Priority queuing&#039;&#039;&#039;에서는 출력 링크로 도착하는 패킷들이 queue에 도착하면서 &#039;&#039;&#039;priority class로 분류&#039;&#039;&#039;된다. 각 priority class는 고유한 queue를 가지며, 스케쥴러는 전송할 패킷을 고를 때 &#039;&#039;&#039;queue가 비어있지 않은 가장 높은 priority queue&#039;&#039;&#039;에서 패킷을 선택한다. 또한 같은 priority class 내에서는 보통 FIFO 방식으로 처리한다. Figure 3는 priority queueing 방식을 이용하는 포트를 추상화하여 도식적으로 나타내었다. 또한 figure 4는 priority queueing 방식이 어떻게 동작하는지 잘 보여준다. 해당 예제에서는 priority class가 두개 존재하며, 패킷 1, 3, 4는 high-priority class, 패킷 2, 5는 low-priority class에 속한다. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;위 예제는 &lt;/ins&gt;다음과 같이 동작한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 1이 도착했을 때 링크가 비어 있으므로 즉시 전송을 시작한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 1이 도착했을 때 링크가 비어 있으므로 즉시 전송을 시작한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 전송 중에 패킷 2(low), 패킷 3(high)이 도착하여 각자 큐에 저장된다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 전송 중에 패킷 2(low), 패킷 3(high)이 도착하여 각자 큐에 저장된다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot;&gt;17번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;17번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Round Robin and Weighted Fair Queuing==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Round Robin and Weighted Fair Queuing==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;Round robin&#039;&#039;&#039; 방식에서도 패킷은 class 별로 구분된다. 하지만 class 사이에 엄격한 &#039;&#039;&#039;priority는 존재하지 않으며, class 별로 번갈아가며&#039;&#039;&#039; 전송된다. 이때 &#039;&#039;&#039;work-conserving queueing&#039;&#039;&#039;이라는 개념이 추가로 적용되어, 전송할 패킷이 있는 한 link를 idle 상태로 만들지 않을 수 있다. 즉, 특정 class에 전송할 패킷이 없다면 다음 class 순번으로 바로 넘어가는 방식이다. Figure 5는 round robin 방식이 어떻게 동작하는지 잘 보여준다. 해당 예제에서는 2개의 class로 구분되어 있으며, 패킷 1, 2, 4는 class 1에, 패킷 3, 5는 class 2에 속한다. 위 예제는 다음과 같이 동작한다.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# 패킷 1은 즉시 전송된다.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# 전송 중 패킷 2, 3 도착하며, 각 패킷은 해당하는 class queue에 저장된다.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# 패킷 1을 전송 완료한 후, 클래스 2가 전송될 차례이므로 패킷 3을 전송한다.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# 패킷 2를 전송 완료한 후, 클래스 1이 전송될 차례이므로 패킷 2를 전송한다.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# 패킷 2를 전송하고 남은 패킷은 패킷 4 하나이므로 class 순서를 기다리지 않고 즉시 전송한다.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WFQ(Weighted Fair Queueing)은 round robin의 일반화된 형태로, 실제로 라우터에서 많이 구현되는 방식이다. WFQ는 round robin과 같이 class 별 고유한 queue가 존재하며, round robin과 같이 순환적으로 패킷 전송을 지원하나, &#039;&#039;&#039;각 class 별로 가중치(weight)를 설정&#039;&#039;&#039;한다는 차이점이 있다. 이때 WFQ의 핵심 아이디어는 class i 에 가중치 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; 가 주어졌을 때, 해당 class가 활성 상태이면 (즉, 큐에 패킷이 있으면) 전체 서비스 중 w&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; / ∑w&amp;lt;sub&amp;gt;j&amp;lt;/sub&amp;gt; 이상의 비율을 보장한다는 것이다. 예를 들어 class 1, 2, 3이 존재하고 각각 가중치가 1, 2, 3인 상황을 가정해보자. 이때 모든 class의 queue에는 충분한 패킷이 있다고 가정해보자. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pinkgo</name></author>
	</entry>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4266&amp;oldid=prev</id>
		<title>Pinkgo: /* Priority Queuing */</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Packet_Scheduling&amp;diff=4266&amp;oldid=prev"/>
		<updated>2025-04-10T14:57:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Priority Queuing&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 4월 10일 (목) 14:57 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l15&quot;&gt;15번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;15번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 1 전송이 끝나면 패킷 2가 먼저 도착했음에도 high-priority queue에 저장된 패킷 3이 먼저 전송되고 이후 패킷 2가 전송된다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 1 전송이 끝나면 패킷 2가 먼저 도착했음에도 high-priority queue에 저장된 패킷 3이 먼저 전송되고 이후 패킷 2가 전송된다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2 전송 중에 패킷 4(high)가 도착하더라도 전송 중단은 없으며, 패킷 4는 high-priority queue에서 대기하다가 패킷 2 전송 후 전송된다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 패킷 2 전송 중에 패킷 4(high)가 도착하더라도 전송 중단은 없으며, 패킷 4는 high-priority queue에서 대기하다가 패킷 2 전송 후 전송된다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Round Robin and Weighted Fair Queuing==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==각주==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:컴퓨터 네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pinkgo</name></author>
	</entry>
</feed>