Ethernet
..
2011
Ethernet
, Ethernet, .
1 CSMA/CD Ethernet
() , () . , . Ethernet , , , . Ethernet. Ethernet , , , , . .
Ethernet , c , ().
CSMA/CD (Carrier-Sense Multiple Access with Collision Detection - ) . Ethernet, (FastEthernet, GigaEthernet). CSMA/CD.
, . , . 1, 1 , , . 1 , .
, , . 6 . , , ,
. 1. CSMA/CD
. .
2 1 , , , 2 , 1 .
|
|
, (Inter Packet. Gap, IPG) 9,6 . , . , . 2 1, 9,6 .
, , , . , , .
Ethernet. . 1 . 2 3 1. , , . , , () , ( ), . , .
. 2.
, . , (Collision Detection, CD). , , , 32 , jam- (). τ. . :
τ = L ( ).
Ethernet 512 (BT Bit Time). BT ; 10 / BT 0,1 , 100 . L , [0, 2min(10, N}], N : 1, 2,..., 16. 10- , , .
, τ 0 52,4 Δτ = 512 BT = 0,0512 .
16 , . ( Truncated binary exponential back off ).
, () .
|
|
Ethernet , 1, - N τ.
Ethernet 30-40 %. Ethernet .
Ethernet. - , , . - , . , - , , , LLC. ( ), Ethernet ( N = 0 τmax = 0,1024 ). Ethernet, .
:
Tmin > RTT,
Tmin , a RTT , , . ( , , ). , , , .
, , , , , ( ).
, Ethernet 46 , 64 , 72 , 576 . . , Tmin = 576 BT, Ethernet 10 /c, RTT Tmin = 57,6 .
, Tmin
L = VTmin,
V - , V = 230 /. L = 13248 .
, Tmin , ( ) L/2 = 6624 . 2500 , . , , , .
46 . 0 .
Tmin > RTT : , . FastEthernet 100 / 250 , GigaEthernet 1 / 25 . , , CSMA/CD.
|
|
2 CSMA/CD GPSS
, CSMA/CD Ethernet GPSS.
, , , , . - () ().
() , ‑ , . , .
, ( 2,5 ). (ID) . (ID) .
IPG .
- . , . , , .
. 4.
GPSS . 5.
GPSS . GPSS (Facilities).
Ethernet backoff . jam -, Ethernet, , , Backoff_Delay . Ethernet 0 1. , 1, ( Ethernet).
, . . Ethernet , , ( 51,2 - 512 ) . IPG - , 9,6 .
. Retries ( N ) 15 .
|
|
. 4.
:
Backoff_Delay = Slot_time Backrandom = 512 BT Backrandom
Backrandom - , 1 ÷ 2min(10, N).
* 10 Mbps CSMA/CD
* .
*********************************************************
*
*********************************************************
Node_Count EQU 100; () N
Node_Period EQU 105.2;
; ()
Min_Frame EQU 512;
Max_Frame EQU 12144;
Fraction_Short_Frame EQU 600;
Bit_Time EQU 0.0001;
Slot_Time EQU Min_Frame#Bit_Time; - 512
Jam_Time EQU 32#Bit_Time; Jam-
;- 32
InterFrame_Time EQU 96#Bit_Time; - 96
Backoff_Limit EQU 15;Max
Signal_Speed EQU 250000; V[/]
Net_Length EQU 250; - L[]
* : L/(N*V)
InterNode_Time EQU Net_Length/(Node_Count#Signal_Speed)
*********************************************************
*
*********************************************************
Net_Period VARIABLE Node_Period/Node_Count;
;
Backoff_Delay VARIABLE Slot_Time#V$Backrandom;
; N
Backrandom VARIABLE 1+(RN4@((2^V$Backmin)-1)); RAND(0,2min(10,N)) 512
Backmin VARIABLE (10#(10'L'P$Retries))+(P$Retries#(10'GE'P$Retries))
Node_Select VARIABLE 1+(RN3@Node_Count);
* (collision window)
Collide VARIABLE ABS((X$Xmit_Node-P$Node_ID)#InterNode_Time)'GE'(AC1-X$Xmit_Begin)
FrameTime VARIABLE Bit_Time#V$FrameRand; = BT
FrameRand VARIABLE Min_Frame+(RN1'G'Fraction_Short_Frame)#(Max_Frame-Min_Frame)
********************************************************
* N
********************************************************
N_retries TABLE P$Retries,0,1,17
********************************************************
*
********************************************************
Frame_Delays QTABLE Global_Delays,1,1,20
********************************************************
*
********************************************************
********************************************************
*
********************************************************
GENERATE (Exponential(1,0,V$Net_Period));
ASSIGN Node_ID,V$Node_Select; ID
ASSIGN Frame_Time,V$FrameTime;
ASSIGN Retries,0;. .
********************************************************
*
********************************************************
QUEUE Global_Delays;
SEIZE P$Node_ID; ID
Try_ToSend PRIORITY 1;
TEST E F$Ethernet,1,Start_Xmit; ,
********************************************************
* .
* , " ".
* , , ,
* ( ).
* .
********************************************************
TEST E V$Collide,1,Start_Xmit; ,
;, ( .)
************** ********************************
Collision PREEMPT Ethernet,PR,Backoff,,RE; ,
SEIZE Jam; Jam-
ADVANCE Jam_Time; Jam-.
RELEASE Jam; Jam-
RELEASE Ethernet;
PRIORITY 0;
|
|
Backoff ASSIGN Retries+,1;
TEST LE P$Retries,Backoff_Limit,Xmit_Error;
ADVANCE V$Backoff_Delay;-
TRANSFER,Try_ToSend;
*********************************************************
* .
*********************************************************
Start_Xmit SEIZE Ethernet;
SAVEVALUE Xmit_Node,P$Node_ID;
SAVEVALUE Xmit_Begin,AC1; xmit
PRIORITY 0;,
ADVANCE P$Frame_Time;
ADVANCE InterFrame_Time;
RELEASE Ethernet;
Free_Node RELEASE P$Node_ID; ID
DEPART Global_Delays;
TABULATE N_retries; .
TERMINATE;
**********************************************************
Xmit_Error SAVEVALUE Error_Count+,1;
TRANSFER,Free_Node;
**********************************************************
*
**********************************************************
**********************************************************
GENERATE 10000; 10000 = 10
SAVEVALUE USE_ETHERNET,(FR$Ethernet/1000);
;
TERMINATE 1
. 5. GPSS
/ , GPSS.
. GENERATE (), . ASSING Node_ID Node_Select, , . ASSING Frame_Time FrameTime, .
Ethernet. SEIZE , . TEST, , Ethernet . , SEIZE . , TEST . , . , Ethernet .
. Ethernet SAVEVALUE . ADVANCE , . IFG, ADVANCE.
Ethernet . Ethernet RELEASE . Node_ID, , . TERMINATE.
. , TEST, , PREEMPT. , , Ethernet. Backoff, . SEIZE Jam, ADVANCE jam-. Jam RELEASE, RELEASE Ethernet. / Backoff ASSING . TEST . , ADVANCE. . , , Ethernet , TERMINATE.