• Tidak ada hasil yang ditemukan

Flow dan Error Control

N/A
N/A
Protected

Academic year: 2019

Membagikan "Flow dan Error Control"

Copied!
22
0
0

Teks penuh

(1)

! "" " #

! "" $ #

%

"

%

(2)

'

(

(

)*+,-.

%

! "" / #

!

"

#

0

1

(3)

$ $ $ $

*

3

1 2 3 4 5 6 7 8 9 10

while(true) // ulangi selamanya

{

WaitForEvent(); // sleep sampai terjadi event

if(Event(RequestToSend)) // ada paket untuk dikirim {

GetData(); MakeFrame();

SendFrame(); // kirim frame

} }

0

3

1 2 3 4 5 6 7 8 9 10

while(true) // ulangi selamanya

{

WaitForEvent(); // sleep sampai terjadi event

if(Event(ArrivalNotification)) // Frame data diterima {

ReceiveData(); ExtractData();

DeliverData(); // kirim data ke network layer

} }

!

"

%

#

.

.

* 4

0

* 4

(4)

& & & &

*

3

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

while(true) // ulangi selamanya

canSend = true // ijinkan frame pertama dikirim

{

WaitForEvent(); // sleep sampai terjadi event

if(Event(RequestToSend) AND canSend) {

GetData(); MakeFrame();

SendFrame(); // kirim frame

canSend = false; // tidak bisa kirim sampai ACK

}

WaitForEvent() // sleep sampai terjadi event

if(Event(ArrivalNotification)) // ACK diterima {

ReceiveFrame(); // frame ACK diterima

canSend = true; } }

*

3

1 2 3 4 5 6 7 8 9 10 11

while(true) // ulangi selamanya

{

WaitForEvent(); // sleep sampai terjadi event

if(Event(ArrivalNotification)) // Frame data diterima {

ReceiveData(); ExtractData();

DeliverData(); // kirim data ke network layer

SendFrame(); // kirim frame ACK

} }

(5)

' ' ' '

(

%

7

8

!

"

%

)*

# + "

+ ,*

-)+./

0

9

*+,

:

3

.

0

8

)*

4-&

"

&

* 4 "

&

"

1

* 4 1

.

0

)&

"- 0

+

)&

"-.

1

* 4

.

* 4

)

-:

;

(6)

0 0 0 0

! "" < # *+,

*

3

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Sn = 0; // frame 0 hrs dikirim dulu

canSend = true; // ijinkan request pertama dikirim

while(true) // ulangi selamanya

{

WaitForEvent(); // sleep sampai terjadi event

if(Event(RequestToSend) AND canSend) {

GetData();

MakeFrame(Sn); // nomor urut Sn

StoreFrame(Sn); // simpan salinannya

SendFrame(Sn); // kirim frame

StartTimer(); Sn = Sn + 1; canSend = false; }

WaitForEvent() // sleep sampai terjadi event

if(Event(ArrivalNotification)) // ACK diterima {

ReceiveFrame(ackNo); // frame ACK diterima if(Not corrupted AND ackNo == Sn) // ACK valid {

StopTimer();

PurgeFrame(Sn-1); // frame tidak perlu lagi

canSend = true; }

}

If(Event(TimeOut)) // timer expired

{

StartTimer();

ResendFrame(Sn-1); // kirim ulang salinan

(7)

1 1 1 1

*

3

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Rn = 0; // frame 0 diharapkan dtg dulu

while(true) // ulangi selamanya

{

WaitForEvent(); // sleep sampai terjadi event

if(Event(ArrivalNotification)) // Frame data diterima {

ReceiveFrame(); If(corrupted(frame)); Sleep();

If(seqNo == Rn) // no frame valid

{

ExtractData();

DeliverData(); // kirim data ke network layer

Rn= Rn + 1; }

SendFrame(Rn); // kirim frame ACK

} }

! "" = # *+,

2

#

)+.

%

; *+,

9

* 4 4

* 4

.

*+,

;

0

9

8

* 4

4

(8)

3 3 3 3

* 4

8

$ " 8

)

> .

- 9

* 4

1

0

9

8

"

9

?

%

0 0

0

@

0

0

0

@

1

9

9A0

@

0 B" 0

+

1

+

1

+

>

.

*

.

* 4

1

1

* 4

4

:

; *+,

(9)

4 4 4 4

! "" "& #

%

; *+,

3

! "" "" # ; *+,

%

!

; *+,

$

(10)

5 55 5

! "" "$ # ; *+,

%

* 4

*

3

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Sw = 2m – 1; Sf = 0; Sn = 0;

While(true) // ulangi terus

{

WaitForEvent();

If(Event(RequestToSend)) // jika paket hendak dikirim {

If(Sn-Sf >= Sw) // jika window penuh

Sleep(); GetData(); MakeFrame(Sn); StoreFrame(Sn); SendFrame(sn); Sn = Sn + 1;

If(timer not running) StartTimer(); }

If(event(ArrivalNotification)) // ACK dtg {

Receive(ACK); If(corrupted(ACK)) Sleep();

If((ackNo>Sf)&&(ackNo<=<=Sn)) // jika ACK valid While(Sf <= ackNo)

{

(11)

31 32 33 34 35 36 37 38 39 40 41 42 43 44 StopTimer(); }

If(event(TimeOut)) // timer expires

{

StartTimer(); Temp = Sf; While(Temp < Sn) {

SendFrame(Sf); Sf = Sf + 1; } } }

0

3

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Rn = 0; // frame 0 diharapkan dtg dulu

while(true) // ulangi selamanya

{

WaitForEvent(); // sleep sampai terjadi event

if(Event(ArrivalNotification)) // Frame data diterima {

ReceiveFrame(); If(corrupted(frame)); Sleep();

If(seqNo == Rn) // no frame valid

{

DeliverData(); // kirim data ke network layer

Rn= Rn + 1; SendACK(Rn); }

} }

!

# 6 + "

)+.

0

*+,

; *+,

*+,

0

*+,

; *+,

4

;

*+, 8

$ 1

+

(12)

! "" "/ # *+,

! "" "2 # *+,

%

*+,

* 4 );*

4-! "" "5 # *+,

*

3

1 2 3 4 5

Sw = 2m – 1; Sf = 0; Sn = 0;

(13)

$ $$ $ 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 { WaitForEvent();

If(Event(RequestToSend)) // jika paket hendak dikirim {

If(Sn-Sf >= Sw) // jika window penuh

Sleep(); GetData(); MakeFrame(Sn); StoreFrame(Sn); SendFrame(sn); Sn = Sn + 1; StartTimer(Sn); }

If(event(ArrivalNotification)) // ACK dtg {

Receive(frame); // terima ACK atau NAK

If(corrupted(frame)) Sleep();

If(FrameType == NAK)

If(nakNo betweeen Sf and Sn) {

Resend(nakNo); StartTimer(nakNo); }

If(FrameType == ACK)

If(nakNo between Sf and Sn) {

While(Sf<ackNo) {

Purge(Sf); StopTimer(Sf); Sf = Sf +1; }

} }

If(event(TimeOut(t))) // timer expires

{ StartTimer(t); SendFrame(t); } }

*

3

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Rn = 0;

Naksent = false; Ackneeded = false; Repeat(for all slots) Marked(slot) = false;

while(true) // ulangi selamanya

{

WaitForEvent(); // sleep sampai terjadi event

if(Event(ArrivalNotification)) // Frame data diterima {

ReceiveFrame();

If(corrupted(frame) && (NOT naksent) {

(14)

& && & 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 }

If(seqNo <> Rn) && (NOT naksent) {

sendNAK(Rn); naksent = true;

if((seqNo in window) && (!marked(seqno)) {

Storeframe(seqno) Marked(seqno) = true; While(marked(Rn)) {

DeliverData(Rn); Purge(Rn); Rn = Rn + 1; Ackneeded = true; }

If(ackneeded) {

Sendack(Rn); Ackneeded = false; Naksent = false; }

} } } }

! "6 # *+,

.

; *+,

>

&

(

* 4

>

"

(

;*4

(15)

' '' '

.

.

$

"

4

/

D

"

" $

/

*

7

6

-7

/

D%@

%

*+,

8

*

9

:

*

;+E

* E

;+E %

;+E

4

0

;+E

! "" "< ;+E

* E %

* E

@

(16)

0 00 0

D%@

):

-)0

-

)8

- 0

:

)

- 0

8

:

8

! "" "C # D%@

0

D%@

6

)

0

2

-=

&""""""&

1

1

.

"

0

"$=

)"

- 1

"

"

&

"

&

1

'

"

$

:

.

(17)

1 11 1

;

:

%

)

-:

&

:

/

;)0-%

/

&

<

.

"

/

;)+-

* 4

!

0

0

$

"&

0

$

2

0

)++-

&&

)+;+-

"&

)+'1-

&"

)0+'1-

""

5

.

:

/

;F

* 4

;*4

<

8

! "" $& : 0 8

8

4

8

$

$

.

)

(18)

G-3 33 3

&& &&"

0;+E

0

"" &""

0;+E'

0

"" "&&

0* E

%E

0

"" ""&

0* E'

0

&& &&&

8:

8:

:

&& ""&

8*

*

&& &"&

%:0

+%

%

(

"& &&&

0:E

+:E

0

(

&& "&&

8.

.

"" &&"

+0'>

+

"" "&"

H:%

H:%

'G

:%

"& &&"

+E+

+E+

#

-

/

E

D%@

.

.

.

)...-0

:

...

%0@

! "" $" # ...

...

3

D%@

...

&""""""&

4

...

D%@

"""""""

(19)

4 44 4

(

0 0

D%@

+ $

2

:

4

...

! "" $$ #

%

>

'

4

%

1

)

-*

0

4

1

1

;

0

0

.

I

4

4

(20)

5 55 5

! "" $/ # ... 0

E

...

...

@

.

)@

.-:

1

...

@ .

! "" $2 # @ .

.

I

...

).*.-)

D*.-.*.

3

8

(21)

! "" $5 # .*.

D*.

.*. >

3

0

8

8

0

%

(22)

! "" $6 # D*.

; .

)

-

; .

... 0

:. .

.

Referensi

Dokumen terkait

(5) Apabila orang atau badan yang menyelenggarakan hiburan tidak menyampaikan formulir pendaftaran atau tidak menyampaikan formulir pendaftaran dalam jangka

a) Investasi mudharabah setelsah di kurangi penyisihan kerugian investasi. b) Pengembalian investasi mudharabah diakui sebagai keuntungan atau kerugian.. 3)

After preparation of the fi ve frame hive, each bee colony is made of: one frame of feed, and two frames of brood and working bees. They are pla- ced next to the entrance. 1 to 21

There have been excellent results with the cider vinegar and honey treatment as follows: two teaspoons of cider vinegar and two of honey in a glass of water to be taken

[r]

Dengan jumlah penduduk yang mencapai 50 persen dari penduduk ASEAN dan jumlah pendapatan perkapita yang lebih kecil dibandingkan negara-negara ASEAN seperti

Antena mikrostrip merupakan antena yang memiliki masa ringan, mudah untuk difabrikasi, dengan sifatnya yang konformal sehingga dapat ditempatkan pada hampir semua jenis permukaan

Nama pengapalan yang sesuai dengan PBB : Tidak diatur Kelas Bahaya Pengangkutan : Tidak diatur Kelompok Pengemasan (jika tersedia) : Tidak diatur. Bahaya Lingkungan :