From c8b183da7187da126b8416cf74a0318c090eb89f Mon Sep 17 00:00:00 2001 From: Administrator <2014539504@qq.com> Date: Mon, 6 Jul 2026 17:03:27 +0800 Subject: [PATCH] =?UTF-8?q?KLALB=203.6.0=E5=BC=80=E5=8F=91=E4=B8=80?= =?UTF-8?q?=E5=8D=8A=E7=9A=84=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .classpath | 14 +- klalb-config.json | 13 +- lib/KNEOptimize.jar | Bin 2020731 -> 2041246 bytes lib/KNElib1.0.jar | Bin 459767 -> 466152 bytes src/klalb_en_US.properties | 16 +- src/klalb_zh_CN.properties | 16 +- .../kne/cloud/network/BufferedChannel.java | 113 +- .../cloud/network/ByteBufferAllocator.java | 47 +- .../cloud/network/DatagramServerSocket.java | 15 +- .../cloud/network/DirectBufferedArena.java | 98 -- .../kne/cloud/network/HeapBufferedArena.java | 69 - .../cloud/network/IPMulticastDiscovery.java | 10 +- .../kne/cloud/network/MemorySegmentPool.java | 83 -- src/org/kne/cloud/network/NetworkPacket.java | 41 - .../network/ProtocolDetectorServerSocket.java | 2 +- .../cloud/network/SocketChannelListener.java | 7 +- src/org/kne/cloud/network/SocketListener.java | 4 +- .../congestion/ArrayListMessageBatcher.java | 17 +- .../congestion/BBRCongestionAlgorithm.java | 43 +- .../congestion/BBRVegasCongressAlgorithm.java | 150 --- .../congestion/CongestionAlgorithm.java | 8 +- .../congestion/DCTCP2CongestionAlgorithm.java | 103 +- .../congestion/DCTCPCongestionAlgorithm.java | 51 +- .../congestion/DetnetCongestionAlgorithm.java | 1 + ...orithm.java => NOCongestionAlgorithm.java} | 16 +- .../congestion/ReceiveByteSlidingWindow.java | 45 - .../congestion/SendByteSlidingWindow.java | 96 -- .../congestion/SendPacketSlidingWindow.java | 108 +- .../congestion/Vegas2CongestionAlgorithm.java | 244 ++-- .../network/ipv6/AbstractIPv6NetworkLink.java | 7 - .../ipv6/ControlledIPv6NetworkLink.java | 5 +- .../kne/cloud/network/ipv6/ICMPv6Packet.java | 4 +- .../kne/cloud/network/ipv6/IPv6Packet.java | 152 +-- .../ipv6/IPv6TUNLoopbackNetworkLink.java | 25 +- .../network/ipv6/LoopbackIPv6NetworkLink.java | 18 +- src/org/kne/cloud/network/ipv6/RouteItem.java | 32 +- src/org/kne/cloud/network/ipv6/TLV.java | 2 +- ...ketConsumer.java => BindableConsumer.java} | 4 +- src/org/kne/cloud/network/klalb/CONST.java | 2 + .../kne/cloud/network/klalb/DATATPacket.java | 12 +- .../cloud/network/klalb/KLALBController.java | 304 ++--- .../klalb/KLALBControllerConfigItem.java | 18 +- .../cloud/network/klalb/KLALBInputStream.java | 6 +- .../kne/cloud/network/klalb/KLALBMain.java | 46 +- .../kne/cloud/network/klalb/KLALBPacket.java | 26 +- .../KLALBProtocolDetectSocketListener.java | 4 +- .../cloud/network/klalb/KLALBProxySystem.java | 27 +- ...LBRemoteLine.java => KLALBRemoteLink.java} | 344 ++--- .../network/klalb/KLALBRemoteManagement.java | 12 +- .../kne/cloud/network/klalb/KLALBUtils.java | 25 +- .../klalb/KLALBVirtualDatagramSocketImpl.java | 22 +- .../klalb/KLALBVirtualRawSocketImpl.java | 23 +- .../klalb/KLALBVirtualSocketChannel.java | 20 +- .../network/klalb/KLALBVirtualSocketImpl.java | 1157 ++--------------- .../network/klalb/LineDecitionComparator.java | 16 +- .../cloud/network/klalb/PacketConsumer.java | 12 - .../kne/cloud/network/klalb/PortBinder.java | 97 +- src/org/kne/cloud/network/klalb/SendItem.java | 10 + .../klalb/StreamChannelKLALBPacketLink.java | 36 +- .../kne/cloud/network/klalb/ui/DialPanel.java | 121 +- .../network/klalb/ui/KLALBStateGUI3.java | 146 ++- .../kne/cloud/network/klalb/ui/KperfGUI.java | 64 +- .../network/klalb/ui/LineMonitorGUI.java | 171 ++- .../kne/cloud/network/klalb/ui/TPanel2.java | 32 +- src/org/kne/cloud/network/klalb/ui/UIEnv.java | 19 +- .../monitor/ArrayListTimestampMonitor.java | 55 +- .../monitor/HashMapTimestampMonitor.java | 36 +- .../cloud/network/monitor/MonitorData.java | 23 +- .../network/monitor/MonitorDataImpl.java | 73 +- ...peedAndTrafficAndDelayMonitorDataImpl.java | 65 +- .../SpeedAndTrafficMonitorDataImpl.java | 118 +- .../network/monitor/TimestampMonitor.java | 8 +- .../monitor/TimestampMonitorValue.java | 16 +- src/org/kne/cloud/network/ntp/NTPContext.java | 61 +- .../kne/cloud/network/ntp/NTPv4Protocol.java | 5 +- src/org/kne/cloud/network/perf/Kperf.java | 243 ++-- .../kne/cloud/network/perf/NodeBenchmark.java | 6 +- .../network/srv6/IPv6PacketConsumer.java | 9 + .../network/srv6/IpV6RoutingSRHData.java | 209 --- .../network/srv6/KLALBRoutingProtocol.java | 25 +- .../srv6/KLALBRoutingProtocolAPIClient.java | 6 +- .../cloud/network/srv6/PacketConsumer.java | 10 - .../kne/cloud/network/srv6/PacketReorder.java | 5 +- .../cloud/network/srv6/SRv6PacketReorder.java | 4 +- .../kne/cloud/network/srv6/SRv6Router.java | 261 ++-- .../srv6/SlidingWindowInformation.java | 5 +- .../cloud/network/srv6/TCPTransimitAgent.java | 8 +- src/org/kne/cloud/network/tcp/TCPPacket.java | 6 +- src/org/kne/cloud/network/tcp/UDPPacket.java | 8 +- .../te/DWRRLoadingBalanceAlgorithm.java | 4 - 90 files changed, 1963 insertions(+), 3757 deletions(-) delete mode 100644 src/org/kne/cloud/network/DirectBufferedArena.java delete mode 100644 src/org/kne/cloud/network/HeapBufferedArena.java delete mode 100644 src/org/kne/cloud/network/MemorySegmentPool.java delete mode 100644 src/org/kne/cloud/network/congestion/BBRVegasCongressAlgorithm.java rename src/org/kne/cloud/network/congestion/{EmptyCongestionAlgorithm.java => NOCongestionAlgorithm.java} (73%) delete mode 100644 src/org/kne/cloud/network/congestion/ReceiveByteSlidingWindow.java delete mode 100644 src/org/kne/cloud/network/congestion/SendByteSlidingWindow.java rename src/org/kne/cloud/network/klalb/{BindableKLALBPacketConsumer.java => BindableConsumer.java} (69%) rename src/org/kne/cloud/network/klalb/{KLALBRemoteLine.java => KLALBRemoteLink.java} (75%) delete mode 100644 src/org/kne/cloud/network/klalb/PacketConsumer.java create mode 100644 src/org/kne/cloud/network/srv6/IPv6PacketConsumer.java delete mode 100644 src/org/kne/cloud/network/srv6/IpV6RoutingSRHData.java delete mode 100644 src/org/kne/cloud/network/srv6/PacketConsumer.java diff --git a/.classpath b/.classpath index a73e078..60354f2 100644 --- a/.classpath +++ b/.classpath @@ -1,12 +1,6 @@ - - - - - - @@ -27,5 +21,13 @@ + + + + + + + + diff --git a/klalb-config.json b/klalb-config.json index 52f6b3e..ad0c519 100644 --- a/klalb-config.json +++ b/klalb-config.json @@ -1,7 +1,7 @@ [ { "language": "ZH_CN", - "nogui": true, + "nogui": false, "VirtualAddress": "2486:1:0:0:0:0:0:8888", "VirtualASN": 2142606939373348329, "DNS": [ @@ -37,13 +37,14 @@ "{UDP}ntp.ntsc.ac.cn:123", "{UDP}us.ntp.org.cn:123" ], - "denyLineTableQuery": false, - "denyLineTableBroadcast": false, + "denyLineTableQuery": true, + "denyLineTableBroadcast": true, "congestionAlgorithm": "BBR", - "delayUpperBound": 1.506, - "delayLowerBound": 1.25, + "burstLimit": 1.5, + "delayUpperBound": 1.3, + "delayLowerBound": 1.3, "nagleDelayTime": 1000000, - "linkNagleDelayTime": 1000000, + "linkNagleDelayTime": 0, "linkConnectionsCount": 1, "TUNName": "KLALB_SRv6", "NetworkInterfaceExcepts": [], diff --git a/lib/KNEOptimize.jar b/lib/KNEOptimize.jar index ca0b6ec021d64273acf81c9ed2990e7ac5d8c9de..a31c2515cf2d4ea612476f7c1c53d39b8603adb2 100644 GIT binary patch delta 546982 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

|cm>n!{_CAf7SV{INPSK;Mk&GOt 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�#p*rncGEoEp8%-L6bTnqYToHZ@sOgpK4Gw# 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

DZLxd(rcu>3s*Q17ujd= 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 z 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⪻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

jDoTz7)8yA|^HSU0QYvs> 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�@V8Uh1y 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 RaWr$>`OL<4eJUPB{|Bml)D{2$ delta 525540 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

Ra8|6ptiI5=tU;qq$ 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

?juhsnKKAQD~FwPXFPQNT5Xj zM|Fz1Z}c zY>Do8eaqte0JX=Efne~Pb-ECC(&>AUoKVZ$tX=bzsH0w+2mDE9UExsqtXTfezY~mj*v#1#5;ID;h;yx zP$R`4P+$k;Ui&O!vTAI9V7K%{^*xjhdVLj(401xn3eAMIc~sBUhiR{uX*1|jh(K0i zR4xDP@esO|3pj0NrHnoa8I5Eiz!dkz{=nhJm^{->g<4S}h)KfeV*F1t?Uy@M2P00((*`-zp< zVu^ZO#IxSDJOG@`&_M(nht|hG)>BiTHTjbB4=hQga@(M>(9CN#?%z{R?f~Bs5Q}F@| z=?&;qDC*c4PUZ+Ka7)+L2%gB%HyQq9pi7&JS_4Ynbo7AUDzLmuz?VfHJ6;R)s06<5 z_TU2UDft~ZZQ!1r*I&!ExBisnbP!p;n~Z5E#y7lIm(fH zR-ygxn(6tkGv(~F0Odvz!r&sL!@4-V@}$u&w_QY-hi`Zwef9llab6=s8wH=>W);(Y zw^Jb6e6ut#O2^pX^b+2I(SMbvc2FeZgrjaTk`_f)Tc~3z#ly9X$5?O97sz{L#m%^X zg}#CNcfoZ|rZM9G)_g`=I%ZqwizHvI6jpk3 zTMCFNxA$8#@dKYC#jh2Nk#4#sW5qLL)7!&4stK8@OS?bb87m$vB8Y_b8+>~XFSo3h zonEU9+|0#AkD+}ec*>Pro8R;lx8RgdEhIWm}^H&r~t37J*| z(frQ0Ef)3|k9`e|MW$T6aM~hPU@vCipKwQ_3*Bu`~<*wVGm&XiY3;? z)gp*;nA5W5fLM<-f)bPTTOe@3C|n~M4)y0iSy|ZF#kfsanvn6sCe*=;$(efwZn9P6 zWdEEMyb9QSy3u;A_c5!FQwu*|ez;RlwL9e6yh@+Z`tU74iAi=*8nf}jJs4od;aW;I)W_@OIPV-1sogV=h;FW>P1;S1n3lL@!DW?+glOT1 z=0&}B`}kdZE%mY@uXw2DZj)hX#H9fqHqfgXLkLXubUItAB$G-)grHhdj7Sw)d%I_INdhIGI z%jhCGBYVIa8LbwP^&LxXs3R(tWh0x(Qp*DFy7f?fa@@Tf$*y3p4Jbg%Qu={w)1XM-jLMo(aOrH>9~*q}i#T-Y3~n=iQ*UHqB%UiI)W+{b zlN2SJuby?-0YQ{h1ylW_@*m=kLh0$y1e`GaAda9V#w z7qv+ezHNkgD!!4&Y2BGRg3bXqkqikZuVp-NN7O<47VdjF!t)>) z(VoOUSur)=PP4LWkukSMfwg?5u)QQdwuww~Fz!Gb$(mQ`?z9ePJf=@pRGUF{HVn~O z(sriEStXzqgLdq<^=x`K3v99e;F&7j&|-dfaL}LTb*IMDmO_E4;q^H)>6bhaqb0bE zj9tna#Ai?Wynw}K8+V8#e_Sc__4s9}6<{Sr%`-!rK~9Pi6X*VN`fLrPm6839MfQ2& z0BKMZXrV^v|7CdD~Hk+3+y_np-7j{eGHdpRPL&@ z1A_8K9%>VZnFY-?YLTBz?uvs4LZDn2a6|1Cp4~>k*YPo`8cjicod@8s;e(ai(Pt1x zuo>V+0UjTzxl*>4%EhNUuiLzb$;BHEpNw`Ywh+vv3((WAt#HIz5-!dgcErLxw5ipa z5GD5oz&JQLk&qb0nz^=+{p~?L1lwpPlj;Y1%*{)MPoA}>@`cl9-r;0oOq9+K#&{Mi z4#-;@c73y&#Bxp8eoFN8g=AOZ0cZ@V83TAi(iv9j^yY3{yaT2qty!02U2=!t_{|0& zTeD;3{t(oPaToRH?{MKHHso$VPz}uxUCn6V((RbA23W}+M8LU}TV0%#e5C^IxqB+8 zBjv9q`sIZeqfb^mI~WXPMr{QCOB`67Dl}soS7*;4o7;&DEGDZfsT?i(L~nTH0|37H z8=I8#LCmGwK(=QhIfRDecyUovp6|~xk;NLTjtjY%nK}Zv z^?}Grcb2^W=X-3AT!s}qlCP)){H<~(8%ZkD1qPCowKtj!odZ!|*>j5|uB&`@ygvnV z{Hh{y_d+O`WkYIskmikGVLo%UEdkgFVPy%6JuHOlOm_wB&*e~=B+TV=Yyi9DWz4)V zn1sczO~s*JUrC&7@21-7N@9hYYRMC{(MQ!xoiUZ9w6bYr|SIIj0>?EN%Vl{J9Y zNbd%xNQ&OJNbeW=*^}2S6=W_pav&KxX@H7}mg`g>s{+Ceg<{lS0~&4c<;SXoO^*AQ zZP8qu^#!nAXP@eQXV4*5KvsmjJOG?8B-x|sv?>?}hM!*Y57vLj0ZfDt(Zj4&1wxq% z`rAshgNA&{h^((|#ad_ejbGXe4qp6K0V0w8oQBAdEzbcQhEX%l!RQ&|`peN)i$azv23C*wTaVFuscFZPbJ!p7bv zXAg@D|DGQCOiwiB3n-c=`YxM3h^Jzod5hiN|4{!O5n%ZW;yHUYp#R%5>@bCpmtoBf z=16QgC(A?WL|0~sR+%7e=ThTxb4ay?Z@Tz^etscw#M;>(BEgPNy3Z#$FYgLrEx`)t@U&6N#sIy;|aHqIY(BV&B~} zy2zYE<6q4p@79|k$((?wvm-E)4eg#UZ_jHhV9nNc6YuF?UpwKru%+uZM9T&peWG^6 zY4j5FKihQARD=zI*K8zrZtp@8FuY7z1AKimpZ{va{t82If&8j-v{8~2#!+~azLEu` zCeS^U%Kyre{Ubisori*!L|2Rg3s8r3PgqFtl{>tZBLzq&BlZ%5i>li*wy1QgqlAk> zOA%vODr)DWe@cH43z0IN7$X;4YA!WcDtIkuI$v07MKl!GjK-iNmD8x74Ct<3_%y9u znAly|YPGc`_I4hrO$7ptHwIQ8Fr^0}IvS_)T+gzNUUfNvPTwSiV734J(nc1mXnWg=%BBIJA zO9}0V)B+E0>NhfyAWB>}0SFJt{0IkE9WjA-)DTjg2`X&*Qi@J&v9Tyi$RQfZ#9e7sw3l_6lm0 zsA25BDTr9LDF!gnDF{)$L`bX#1EhS>zJ`AUCx>%!TMoS5&pmhSXHIiNkG9pqe(`CK zBE=mtuE4zfl>n240FAv09*CDC`24sXHGBi8$;wG%THj%@NpoD3`1m;%{s|LGhp66s z!a5;JUR#8)@Z*I50K?`s^9h?d(Kx4dJ;$clC24=3==Z*j< zHOaj`4&(7+qmCFg%9od)fE52Y6FiGlYcP{N{9D=>_gN{-8o0+Q>T)u+bgYihW$kj@ z3{6tIP>_czWo%W1fIsSP??}!#Sgk)zsK7;yHp55qmj*)*t9-;ofv&R879K!~s9m1P z>3M?y$@tw4kb$y3>fgc;@R7_#X+hBdNQx>Tf7%tjx5z#{@UST$qRvyvX-~ph?Cw)F zU2+{*xK?%2*Yf6G+)5PhN5O(LyBTP`Uf7EzC-Fo?f-ZIep#U=ZotuDBHnTys|Lm@2 z4weRg0o|u<@&DZ~FxM72qrfyMuMY52=ah;^r|@S3;KV0;#yMEc{_%zLV(?32Sr?W$ z>YhcD)5MSw1IK;q8CH`{EB?8ZMo;_#)|1LphafB0AR>dQpt;WhsNAEor(%nq*z|U= z-|1l7agW3Fg!xdNYH*6m%?}t$s8(u;3W6VwxbD zZ`(0@`;!^F=}hQbW9`r9xksEz4@*{f@xR^x9+>Q`>5LTUN%Nq6P7z@kjMd0*`z3Hg zt^+A$S3BI1Ls-0B7bPxg@;S)=zA12%95hWO*vU1D<7Cb-1ewv`xMIQN#v9Y{Uq+TR zCt{Bs+)SM`<9X%ViaF=oC#WP)svG0xjLP{@9l0#Lj4%uR<~+RP?EGycy+0}nHt5a_ zNa?~!&C>EvI(JB)zRu;J$X%FmK&G34RPOKGdVpPofhFFCr4kpz1D3eD=47QfM=uBE z%!$LzN}71Qhr~0WapBx_`bcLJp@24gLfx}?10MjY=M8%`#>V~Q;MjDXQA^C;eUHN& zOA9wL-ha$cX#AvT`2%T2n5#Mix)!bhtulKW@thwBTMfPOr*?mYCmtxFkJ^+>VN87S z`R1>|{Lo-4;zgdK!C9#jYZFgajldjQkGGU|tWoPNP6yE z_NCP)AR!5BK7Jb%c)8{lj=z}EpZ5S_7HizIw>T-X4fUP61GeaASlq9pZD|&@~sP|q0mUt@_gG0oD)@E^1Ik{DWg2#eZbwY1xtJs=F;ojw{+W7Hk!xGxj z0mj!Vf}uLPi+0Qg9rV+9#v571Me)~H6#m0thV3Qor}lC=*BzzPW8Oor3HTXM^oE?_{K9vI2sP7 zTxWi#pEMIE4uf22t0fw~3QI+|Vh5E;Ry(6#v=>K7V%bC;otB{@j^$5l6B%zNblPkc zx$h%(xd3IzpOh8c_m*rxP8{ElwIJ_UwC*tgXShn*6vM-Tk+jbX>fV#8hw_BG)fwd_nLPB-xfEO+i{cB_2%jr80+dQ zE5*e}IGfvzmJ6Jrn~%;hIjx;*aQYC^@vb6U)KTrb71-Nj0eBAH@_7`DL0(HJ zwu&xd7jjVXvIflxy{#@{6(zl12SUupP6EWUs7Jo$JIlH86DtKv5> zY9qQ*X@9gwzivp3UlP_`l9FE)*=-7eUy)c{5tZ=)ej{|AxbF11WAF-kt;>z$Z!3Ko zHADQM#A%!pZ8r!GgSr-JFR$kKO~){dTD+L#5PsAO^JK9)I1=CP9(1Oi&;+X2Q)Vr( zM(uY-?aw?GM=~~b^C#Ne5JPieW5n{X*%X} zpbH^$$^Uck6Y=%ilqU+{m#2WGD>{IuV@>p0Uz+g-eKtv|MXgc?k2ALpr z9Tk&v6HIi3AEJ9oCg2Fy=%t~X$W%(WALxt3mzCakB>YPJ0c^AFa+t$KP|$hWH9Fct zDvgUxec~v09D{F;g-g(j&l#${szlV7zuHsWWwv4L#4+Rl5X<&CwP3lR7ERBxHb>~zuXlQUEQ za9O(*;od>aCrC8Xd=?>jDDSV!4L3r_{0zNt7T_jUwI3JJ;VmvdFBE+Wx0GB06bA%6 z>W%;d+UINx(X?i7)pD+JN`pv2ce%mxLg3_ak$-pXVKwb&!kaZRk}bV$9C>({dBP8K zq-f$FM%MN)*Ij}1lZb*Q0lGL0k<{lCNTDC~llk!G5!pP3XGQthfyRSD{ zVTfv2_~S-IU+Yby^R;uju7#a;a7J4WbF_0rTIP(CjuMpRXRG?FUU)1buk6De%{q*e zl^CfC*N-D!d4Uwkwnbf_U4~an^^11L3tc9Wk6fBJ@Q^cGP8(_Wn|$;DpBFJ8P-6a!tF>3;^o(jB4lI}d( zBCdMBuU@v3|4Jj?yNr1tJXom-u254>ello*4%0mCLT)YID-U>0M|xnKP)tkM%?o&= z=H(oD2|>fxkv_t&)nFe7eBUrMfP)eS)57DnxT}eonc6inDD1A4E#8KS%drc&)OA8v z!2$&c*NDtZDHIC=0|HpJXlf}t6ECGv8pUrHSgcAYV-KW8X(4qD^i%_62t<^R3a2Gz zia}Q><02VOP{WOl4WS(pD@(B`-An_9b2y63R}wW#T98aV%-o$#{0*5j1mVK*5-qJDlk%l#v7_piaA>~9pZCT4Gx z`+u)&`dYd0pNIbSl5GFe8T@Q{-RtG-}Xz<3$EIex_8t;qOhhm6LAMnv);e)5-WmV-M)-oS9gSV4Zt zV?VIjK@I;uMn#PQ^I5%s;UK9Pc6(vaFxb$pfaHyz#h|6LIId=7OjGS#Tpzc0ePZ99 z?4`u~dsYwZ+<$T!7&kl-8NA^d1R*u)J-KgLUOWwe;obE9btS(5;Nl&NGolts7>aMX za+9@=Wur-P!Hw92Gi4JP5e6~$d2ieZ8%~%vdZUU_!OrN*<%%K*))FR%+VOux%-ll({AlnvZ)5)AHd9#4_og0& z@v|tzeA~NfpKib+jKF&_NEn}kwT$UP)nKluKXtA(H=EV+jZSehCf1)$Rh^VeE?B^U zn$8S*S3jheGdqQd8iVJLn`}2el;r+L!mxr} zC8DR4NewlP8nDr-S+*^w)T%jle7o@0s_S1f^z?6{{eqz1zJ-JTcZLoP4gKw32O7i# z>pxcS|2lYdnW!iLH4S+j6;z%ovucB5Bw;XOVPYgS$X;mCJmmOqq@0qW!Q#X-=1g-0 z8RLh}(WIAeomUQ9O}AiW&Y`)3>b@-r2O%mS8YVz1AfM(zh)K!O1G9`7BL$gnx7Xjz zf2`WKJjT3VpS!e87-_gTYsOf2Qvv}<4c0uJL z_`?VHI%V;qqvC6n{-86X>!j2x_;XI6Dy{wc-8(|g7Z~i;Eh(%QXrNMD2rF$)(!bb+ z>kvVU7qSIWpq-tg7WlXA;Z@kBvu&59v58*h17p{+<%r?^f_J2~<&e7*wl4LjH%&D` z$yCI9)tCXK1kRxO_qbnDA=Hr{lcVF{f@N-lk>xg~vx(uRev6F00iK4_7iH?drja)b)Qfk_>%Y%q4V3S*kIg7x%6*mws=u?g{9K?!R~t1Umq|CT9a=m@CT3iHcpMr(`-mKbnW`3j0~6 zL5r;IaUn3%oOM9^Fs{Xe9|D~)l^kmMl}`HgH>F7jd3M1KKrJ zP+}7v!?@b&m!V;s1JE~C{w_Eaq~aN~0~v+1#cbP@n_V@%g4{>%SKQFf$Q13|W<6Fz z?SUZBhk}8nYM8VZV+kT23p=O!pYewnR?7f?DR!i-!XwCJ$!elS4q`L%9hm-+rBOL` zgkXLnF=|y+D{KSvqO%j(VhB&DXe3iZVA2|% zil{;nR+yJ7h!lCQdO8`nKDwmw&MebJO9P8B117?|3T6Fu#;S_}3)M`U53^ijAAA4| z>r3eG+m!HJJyH}g^h$6)QKsDy;Ksvp>lBxL(b%Bt$5Wz=&skEuId@J}2HPb18k%JX z*DO8Wh*Fy-jGdEZ|JK|#5LBfqI5AeNz2Hb>=$$sTGlo+kgwwTbPagnKp9ZWws{{P=L|ecj@QxDIRdCA7$MJVx#f)+B zX6*4Vlc4sDZmoUV_r-aRDfqnd9bG5@FNMo|P<|$#@pM&{Gt#^mY>UaY!#gV!M~nH! zMkn>LPKk5brGg)7Nr!;I>fy|Km3H-$hBGcSt9PF(PSu-I{-+#kUOXh-Do;Rv^?4mr z;)GOO!`@oLnlA6yGHl%t8>pD&b3?G+_ceLrRDjOauXpq=)cKpwomr(6QTdestOK2S zr}7%}NTTU)>>Wg5lr`=%_LZ?l0={e<$5jl4`fUugKknS}SZ|RIF{T*@rn+tCC-@_r z$mt`E_NQ|2kmj z76zoDN8jXuKje$NLq$#K(5diqlvYAefYCLIFa0@HXeTj?-_`^^R0!mks$=@v@itPw z4)%&@8xCXa@EWw+Mb9bdq$e8e(&R5yVkg=W=czc2wkH~>Ha`<{M-2c?41^jlN!iqN zws(}rD2DMPiDyC;4y(-oy)HxEPXfA32=hVC^dU#d;CC4Zzwkm+*=vmhNA8pgI5nyf zG<#lHmIIn}ZA5atH^xdABj|FmGFT)Rf>L7Pk~=ouBg!ccRBY`d+a(R8g3PT~ZnUX8 zQ0D|s$W7{-_sR$}@lL=Gohh;s>XJ?sBQ5i18cTw4l`^e0HMGgMoE&`l>u!lOfmzdK?-3@WbnHSe3q{W= z)Y{=TOi@Bun2d2!N?-?c_u+gRdIWUKV65Goka1Qxt}F?8x?i$Ixae`qqju8?TR#5K zUjEQTQ^ma}I#E>SxCu#RTG7CIRa2H}LX^&0XNHgK0{OF^#a&D7J!&vJS^T53AD~`F z6z5r=AY)R|znrR@I6s;=t|5o~>#lWRlThv7(l-53cRn4qiA0$2-!q!WRPHw5l;LQ{ zkh^(!3%0_%GVlO)IIE~aeA|JWyQYih)>}{q8iX9E*Y+UMju>(mQ$&dO1uN$_=7Y9h zefgGT$9;*TY@gAvN9Ig}HL-+m00bWF1in9O0uZ+xi%~}_o!wu5AD!VFW0#)68`jzq z?&ssbk?#X`Bi@T&$ae+A{}mKLw37anvHgfbg86qk_7xQ&lFkcI;Q(i9s3thRn=1oB zCaj^T^5gs?`U0v7bJ}y?2qeJK2BsN9HjqT04kybkbQx*J7~4t?3dT5mhJUz5Wh(t4 zn;dyv#a}q_Fbg)(UYa|Fav%}`e~kfkli4y%0g^%M7CL@7*#+4xvP3C*3C3wj4`861(on=U1Lyt1(> zEQnEzEjd&V4g%NW%Jz3L!Qgv2b$oyMl(|5IRhKq0SqbhAy*40|W#;j=5(fM&dgwmF zBwxw&TO_EImMbDB18Y=CN#L z$m;ra<8!I&$?8O7ajhEe-xv^@V@S$3$g9UBeK?aO$Osmuy}U3esxyAFq^J3|66Ss{ zl^n5wiK!70ni>Ei7K^(JMWh}{KgmDPlN$#%(YiDg8~(Ny7nXhy1;T@%>QvM6-qUGJ z$PPSOVJ@IKFf^O%b4;yX#%iCzhrbrHwLaFe3Bx0)(P-jllpOrfbl+pc`aH)e1x7@o zBtvB=@q=V7)K)p*azQqjE7$K~BS$ALGzV#t!t*mT_Ll*=wwci*^H}l>_^`$ewkk6r zG$8E+)#g#pmD;0>ah?PVR1E#qxP<(IuSW8U=-%ewENn@N=Ow?3l~GJRuuQ8=u^7m{ zQfZlef9d()1_23g-MgJe6Kw9Q7m3tA7s4OpD?`mZnhyou6 zB8i{?P)e(2vr8RIIt*5%qdsFt`1JpD?&=pdelBO5fWyu zymNKE-Ef)Ze6qBKDy@_v*PjE{L@|dsqZ^VYCra5pII8Hd;yJR0fqi%5{9VqICBF6T z&@0u8*CG;AsJW3JiQ9}-etDiHLm|j(;kLkv^8K^ZJ`%L7ZNh-QbD+&%gYTecnToh= zgXRFvq{tJn;Clu0$6;Ib@#Y?7$*I+u=@e9ftD@-Bi;Vl&Bc;PsXj~UPo*KuAjZhd(K_Jwn2NS*B)=oHrp1GW-q;QYbe~Jyp<~;_y)5av&zc@ z>#XHd60b^juK_CXaYZ>P?pp#esN{DRNvsD+NGV{RxmvAyN%EIgqxEa4P)NNe`y=4C z3bZq|bzt4p%+beD#?~>ydD*ykXAAMPIr@WJ_Y>kz)0F-+L0zOVr`d=#zZobgWoY)3SiQI_b<2j}U8G%VgwQrp@qp15Tq?gT&$Y)gwn zphrw{S$cLk@&T#xK_c07j$pQsxWb=mGYez)H9D_Mt0U7*Ra2w2eZJ%njq`nco&j~8 z-xZ<=L)K5VIUej;?r`TLhRa!>P>CI(Um@yh?bgi3J;Uom<2h=8>h^hCwr2<7-3FWY zT>Gv&YbeAv(N|a`%JBpppBCWG_{`1QXm$?OzE}J)uj~ce>|MfX3)|hJi?DlFdFQkoKpWP}tY{v+!5X?E-{`&J zTw-J2+6cyADTh$W~u+=>Rwh0wkmvbP5=h+Ps^x9x9#WXAJ#2iGQuDDza z$(Zg>)M=emlSl{<2GZ#SwO=n12fr9W;l-%e97DieiSbFv}b9f3El%0_F@W5}#s#Qso1jvok(x_gl21(sVkMzMiwT9t$vpxa3T zGPej(!d4>oT}06<4k|=WT@r5*6Qex*j)gQKpJ%-@leEiXG8s3%#YxCIk7`!KyOju= z$}YI$ltdTi=o?3d1N-cqka6PELUKHBPkHcPvt}qpDa=X|n8avc=H9O*W2YXYR~j`G zanh6}>Mc!$sm7HQ;!Rh0P7-v^52=>`&sS1H;s_p>f{y)VK(I`!baa{1rW8Gh%#fDG zqQ&XBQ>}r;`AQXQDVK`ey~f+so~?_1(9MDaFJTXSn&v2*=Wo$pl7KIJ4(H(WmGKTi zs~3j*F{>^DvO=8(+&f~jPC(Vzc^zx5%D`J~KILhLsqPT;V}%2WqX2CZd+{>BLwgQ) zlUEZkU(g-dOPOER2;V58Xf}_;1_!tc7C*K#TH~Hf1+(F~`7NO$ z=9BNK%#+xu%Hu2_dLcT2cV8{3vJmnJ01YW6i^+&40#7`(sz0AGT>x z)r+b+h;Dn}+fmdituOAe_s@WO&R(BnJu$R#?kf_4jx%=7x+o(io1vwcSeT7I^EImX zlf5mTh^n3YfK>9W5^|nQK*7Fl`puPBNvfKPl5U@}%6@tHJ2sKj$&?DlnYIRynp#^0sV+e3gt$iPi31&+6C<#Kj)*eec~X- z>&gS>6{5^iPaT;EXD)~J@k39B>$ZM}{bAOWU)NCtX5H%P6;#(omXXBP_9sGzAk@m^SO0RFJq-{e}PM(w#l0v}A|)_ALeW|9|Nc05a6h z{<&{IH`eRd5@f=HKv^LCQN=YSzlkKw62jBW7gEeZB~n()B-WB_fO>JxhBN8eX#h-sQ#3z4O&m3y7wT;zI(i-#B?H6)13>77sC6hGte9f#25n5aE#QSu9- zm;xnVU)AMPh1!HWu}#VW!ZbobruS#L;(_+Sh+l$+4b8|_*X@A~aGi!j#_hjdl(kOX zRVA=QI-lU8OC9Pogp){qCQgl$LE2Rzx>8vbWfS*Jf(Z$QO`}$83e?97JZP`@vR4+$ zMEVou1PQA3dZ)#iJ1yRSkYd(YRTUCb6@*I~I+5l{FMkC3XE0F#x=dk^AU}l`)JM<7 zO&)|d#gO)0F>#kAcOtIT7}I1dNp_>fv-hXye6JeI6Qzq&zB?;8=K+_4ZD$(M{ENf} zUE4+d#)?n!k;%l4Ac$g-H;DB+7+ROaJ%Bc^*60-S~6Is$K5UUyoB9c%4YqrDBeRZ1VJ=YZnOy*Z~EG{cGq{0+QXj+h~ z<{kdM`n6fgBYkmLMZ3;2M3#?&QSoPvew(IxmhB z9?pOR%#f+)&VDST>^8AXS71R(HMYM<;9HSNI+8BXMc9k=31&nC(+)O_YZYaU68vh| zT@5;aQeE$D@ewzHI-DCx9!aXc7JGPfOsK>FXiiJ^(LE zH6zGOe7q*qh7i{lSighdgVh!CM0%l}EVHEoIOWgl`|qjkSRY3EmBTL2xesbFDEnmIIjuiqZ1hFvM+<3tp0k zd87M6t?d75k)sTL#NhY9(+mkhs2>Q+Dyks}5#az2hk=CcJsb&{2sltT&?vxO%vrsV zUtm21Oxw?xTDKAyiu>Cml-a5Ca*vPOihKWP*QTIXNMlp@gHe-NtXC^PE;W`^wvsTiT~ zJ*j32P*tARq&rj&g!K{n8=p>dujgg27f7=R=yzJ)#cuWQ*0IJe_kBRfmFZOB^*m8W z;3|bWrV3dya_fN%>eVU7)b@Z9;?r-Mu9v&gcMosU9`Z!0;S8}G(5csmIc2wab&@Z8 zif_%J!e)8B%m1_RGGX<@7fHNJ;{VX~&%u>NUE4RBq&v2qbjP;Yv2EM7vpY@)JGO1x zwr$(CzTD6Ky!D;)o;tgB)vmSn`g7Hsb6n%Peq%b3Yin9%9R0D-1o9^!gWeN;j4*7& zYk)Z$hpf$WX7*iH){@b;v(5b6h4F5ALYSXU`F+E$BzAkQ1237qvfu= z*{eIdfiRTE51!D^lzhZtQx!z-y`|%HR_5pt$hz_wN3fQiGVBI)PtkfuU$3;*p-)ht?I_wJVW}2#TA51fIpw z91ed`Q6LHah6qMv*p#S(gA?*FXTJCtdHH_6e*WlYUVqwVI48J$(xxnNW=OR{CW9oB zPYt;u^TvTYQo8ZC+Qb{r9sWrG1BaL-*a|>ifO{5Zh|e5WKP`f@E$f()KStTf8Fv+ou4QV?g4ieUzsohR*Xqze-nz3XrGb)j(YTCR{6fJQgpV1M|8MHXtoyViC%7QAo2zq5j~K$OR%h^a3dR z9=p!4O7q`%WL~^y$~R6Mk~~3kF8$IO7@W2`j1z-*3s?wiJT(m=Me#iyXcW0Ib9h*= zQpZ@b88gxfzK;0c{p4R&a#?V)rMkO@A&>1 z;q4_2D+^~TH^`vrGnr@l2Wc!bc?00jnh_YqYp~ z*!s^4z??g6F%Jp?GW;Dxlb8DO6Ak45wD~~(KR!$#Nm=vo=>MZ^Hnp~+6(RoL-RJ2U zG>D|^@o%|P%MMos=@Yng$u-H<)JVyKRXbN2xMr z?amXhvU}BIu-s+h0Y)#4A03@o!EAyQUptBbl-+ApbREq!dnjgQ(FModQ*tKqpAfng4}KcimGJqSl~q&pdDd7 zwRgWf+T$t>CE(Im_t)#fl+svwutKMxQ+-BzynzVN4o3HtQ4N+%r`=T8JRPO?` zTpRUKG|P04Dbz*8o~TU>_dMeU-MwsO>TAn)Y5j~QhLWfgJFF8^8Y$uDl5^-<^VZOv zT!Ylj2jt5-M~Mjr)`WF}pTOarnkA&q3Sv)?Fo`P)XFBt`(Jd}@*lq}1*lM1Idqm)` zoX*7D+zVS{^6K0ES*2!r6{TAHYB&KfKgmZ}L||+StdrGf*-*DyV(;|+jBx`s5{)+R zm5~sIF0cw=%-vaw1?G?!ZI6%^GlBWnX3|q#hn{@0if&Z*5U?{s0R-=2Mwxs@_tWQj zZ?dbju|LNi@|m=z6@MVkWGE8kK4s4HN@w{%{TSsHj(-cK)XUZK_)F~Un_CD7$vaM3 z^dbR9w;8#I)q^93fE*EN#JH^?!InSG%lOy79IClwQ!7V9nA< z_7v;qw|fw%IiBtGV;mZHcfT4=?%j}ZIpRJs3{#D!rtiQJ>iV!fOPibh#Gfk#zg+CB zG`{||e_*HH!p4qP!E4AZVN33@w#)u~KkcA-*`we>euXqs3GFI)itz-z)(WuDI$diC z{fY7X6W5GFfhnGPH^&+si!7|PldXu0{fVz|fY_hFkIS^G^3+6KJp1>IgVt`F3c78lE&yN7H07hiXX^OpiI3*U=+ z;}JQE(hy2TQK&sQgtR5oBuNGJHlZ0rSUqsoGh9__6!*VjnFlee+Q@G+Lk7(Mz0xK9 zzb2aRWef!{C5I}2Hq=$8)LME*Wf`heH3GYaR zO4HSG@vqjPyJX03gx>vYL=^zd0ms?IwCU7{6Ii>rv6he#ylf*8Y|VNrVkPDb#w&-R z6qakUT%5_!!_*hQMI<6~j{V3lfV391${XBfdqd)ElZekSZdUylFJL3S6fo*7h{Gw? zraKK-5NGDtFLi*QG2XVV>1D{Ed4NrK8w#q$532FR5UHqDRrgIZxcTyp?+AMZT{lpd zwEdnum#CIh%0nitI3Hk2q1+^t!o!=p%%d7KszyjSuhA&E zd_4o}FZOftQU(^|U*Lb#~cfF^JEz84d%^jue7(u-RD3%jv-=2@Eogc;o6 zAk86EuRX@fPuD2@h{194YD{WE`%93cCrDu*l4m!evHK4coIVk4Ni3^i382%7n^-=8 zKRDm}S4RYOz+MXU?5e~4l=1f_a&n21nY@EOZkS_5vdiiA2(TfH5SJMaU?{{}R| z2%FvFYf(OQ%wA?C9HQM{1*gu~A-)<&xk}xWchk5+|M5SGty8gDY?W_Ujo7zp@c(bS zO&aq@#Qtv+@%wdzY)YF)gZWf!Q&}e^3Pe%%_dWU?opzAk}M1)hsry4%kj7G^WzkgReovx4QT( z+BP;+Y@FXV$pP-gvWglP?s<lg*@~-ojUI>);NI4P3RdN>@qgwjov}- zQgUmG1D96}tVjgHaUo|JscTk72NyO)JRNV^paH^Nf0ss0D}2CUtz4!0!Eu7;d$JQ| zz~Hqhw%f=u!;aMEo*N%0K<9G?`f0SKOT%(!jxdyo_AQ2<3_#Ar7InHAQ-Gtehj;5dL~FJ3t?nt!D)gq!6NC z4*}5VEJ-FCZcrv*%EO`9nW8oJv{cTNhdJcbY)-CYazDE%56 zA6Eq}wk7?p{eQ0x z77sYh2omjNpYFA!DV5S-TfR*?RY&>54FXmrHbg3I&_|dhrt?yVW)>!ApvLK9 zMCV>yP6RFM)l=_HoN3fpn(CsX$hjcJS2y%Jwv)}j9hFG8SR1e#UuE{a zu+6x~R@5y}qIOFZysG}(rR0ewRT8jMf9g3MtMXkergVRE!rWU~+Ejk+N%*BOE&$M0 z1ZlD+A2t64P8{CL@ZgfWJJx= zxA##cGb%ck7h?t1$yXB62+Ag;6ad=S^$%PTR$f2`r*jK8=}_BZrlIYzlI&3um(c%} zy~rabR++0|Ftwghb68G#F959~3gSkbEsLXT>RP$p)Lk|XcsJ6Po-e72AE}x_ZkLU+ zw?%g&gizfKz~iu{PRP{q-=x2^fK zI>bShNP6!+6i#lsEA|^ubP$A<$Q5^{%&4oGrJWFI9vD_AsyG2sIH-zZqG+?1wpnW~ zZUem&ki|HGXk(~^Wx3?zK>#_m=zUs&QySCl92s98)9jz8dQ!$Al&NAHvw0;$@-|){ zOlVPcqoDEWd%o@SB}=BR+{JTg;8<=`=@7ZJH?p2#)`}ZOxo~AJb5WXx4pw5qp0~kI z(W!$CM>^#LJGdWu=*Q(2c#jeLVMz_$OETsCVIaUAT!>60b>*~(6F}NzAm$cY=%Q!B zq9{f;vUDm(r7rSjeg?i-1#bzQcbHR`>yNi|f2QjT&5zRz-`tXEp6qx&t6ff>D!QMu z9Q1#|StC_l&)r-KA{!s?;o$9-=a&{r54WEd^7&L4v$w7>k_o0k>v!28g!G6`(JPLm z^(l0Q2hUv`T&mcly#P5nCKr!Iinh$FH1mHbuXw1V5T!bk<$my2v8tL}u>xLNv4nnf z<)*QYPOpoE9yo^CwhKSUuL0@g^8C(!!Z>L|iaxRV zM(4f_K3k@@ps+7%!62&+pgRLld)|gx_>}zzSpnd+bAn11z+Or3OCvKSd?Q1SQ(mc}vIE=~OB)qSTEf=D76B;XO|!eC zV$?L9jpK%0MvUM(ktR5FLol?_bJOTp4jV}>VpJsX@e;9>SN^i?tY-JtvZt4WtT?v> zOVN7C`4plt$yN?J*o7fqo;8UGNen)kyId7ts)jt4{D33z8fm-_#tQ!Z^wz|(g@@*z zh7!G`AkC8KrJX@0uc{$WS`Uzb%AzqS)`sE;S4AsJSCa%55lTG~vmb1&OqGl7qSdwi zOeRFa3O~EdwUNEu+K7T(kdBun;7ZoFyuq}9Mq+#Taag}?tb7mTx&W+L0Hn9^7H~R{%>mB)LhsM#FX%a_BM!ZG+=(dgk?W;&p zF4=7xoy=_V+!6mwgx+eRF8X86$k)LSRC9$#NZvS(ZLVv&p;d`?t?%hoP@top`@h-+ z&m11-=d$}*E|;8lP@nZJc-Ds#L);VazJh;$1^~!z^y)*G7}VN<;D#{BqHZy0>QtnO z5{QeE^o^*SbnxF6$JyB^FB1?%Nu?0;l06!}h^S*{o`@(%QV!$SYsN}t_sYJZmQtg) z%6@@L9?x-_qlg^YA0AIv*?u8~^Y2tS_j>XVLJ+nun5Q_x0k8aZVrBgw42%!`=ZNsZ zc>sK!Oz|YOpyz3UWIX09E^xd3Vom24uK6lt7TG?+dtq{Wk7+j?8G$SPX`xIyxuI;) zG=VMs=}=ke3}x$pn7M12?BB;K>zn^dy5ju2df8{6>9Y{i9PC!w7o25x5(e~T5RO1NEp1P3Qi%eg}iuPa6( zdr3KdgIoPz%Yk?MNU+wd-U_(r$D+7q71P8Wzx z4&UyCX=)$%+Bxs%-%3hFKehwNmz_^&E_J5^PQ{*U=s+LBFrNPnO_`N<%VCS>8U^wb zd&gX3;<=JT14cfi0=vkxrJr$olb``&&tAR!D4l}OX1!g<$`mbfii_dd6c55SUW!34l5$mO z)ju<)5ouS?u~zF`)`i66%#lGYwaPFzxh&i%60IZGLQOSU%g`$6e3@qO-wlSIX60uhPv^#JOx#-ArRlB0+nHjNpv~J&+kR^D%30@)HmQDQHrtHb z)4Vut-pX~BfaM*qJS0m*l};ehV4=tg5v|2omYr#4;w0V!x{nqc$y)11l+^}>3$ndK z6P)&Jobb8+Qk2RlLyvyy!C_c3M3R^C#;Ayy%Ce=&HkMDKeB_V*&T~h?WOs)!P0ijx zC*N(b=bA)%j$IMv%9JSpN9ETQ%IFgYXG}NQRq}Tr*KfGCn1_MElR8D!xmZESKs-eo zt)umZ7)K-qaAY|ZIGvIs!W%QBAskL=CI@o*kA= zHJo8;HY0_*BRQ5N!dOv9?cnL!wk``2W5D{~G&XtwZmg}uh-7jwRS#)N2(^-ncxnGV z8e;}9&Mb%)k*ime9o8scv|KFb8jUOe3x270w};nS+E5#!!x;y-`Tz#X&qm2sHR^Ba z9ZnMJOqKGg?DD{m@Xj9FsWWMT3UkTUS7ByqMbM9_qj5mjWOrqndQEd7!#_MzNaLK7 zlO|(;V5<^xE4z`fJ>vs>6PG?!&oA=rSvfdc5b9|Q!3NnrbyEX$_xy2bqBi}9Qd>5g z7eXx}Wtm-=j!E3BcA`$%2ZgccCP{f_X*0biXb!Jt2aIlXGm?p#Qs9%?PB~WDD}mq*W&zM$b2SH5v;1N znm|vf;?%N|&nk4mW8_Y06CR@z=$IgL;i_&Q7bJ-GvVsNZ>t$CcUk$HZM1wVH>y|XF z4>(+HSxOqG0TwmD_v#R`2LAY&#+L%-ib5pFD!A2P58WQtI?*fYgQ%XM8OKmlVz&lp z=zY17hD?C4=Y9`+k%iq-tB7f%u3;;KxU8*4U&DHlyh$(j$tYH0cGGGWn|Nj_8qkbg z;nX-dc%%6~lPb<5D%11pD)1{BU4*r6_5N_5rbIj{sy&zQ9V%$$(p5vd>%(xRGF4)v zAI?vh1k_iLEqc64iXZo20W;F_P1GCTBgo3UzC6A)5`?#8w@tZ0y%mT}12alXq?AQsR-n1R8VWN_-PV zc;e(O{Ch~GRbyEcV$M8dPfxC#mS9J>jEcF>ge%1gXmmk*>5@~5q&-`{6t4k9@BU@7 ze7o;!bP1@sjn}a4f_2WKxl&?k2s{jTiWwO^ckAL4ALd9^J1(eQDCtaSaY1@}?CYD> zqb*;mTtWKwve<^>{a5O2w?Ugp=3lS?hMTv}DkPi;)%2Qch)w0E6J@Tl*mHS`#N=n< zxG6@dvl8yVP1|Y~mo~6pc}f6m`X>pK?6ANt^=Il$gKj3cLoPy`;LApS43AAhQvYY% zP4=72>}tXyfAbx{jT-^1>)1z#ceKZtGTmo)Z^$T!T~TL1NlsIO0bvQThICj9Hl?z? zAe@x;DOwAvRh$OvK}~=7m_@Np0%rNCsx_a~yXAbwNMS2_r`W=t%LbsLK#fbLs%fAF zJ@6EAPnD3fb?zT)J3St=lWQlR0yGB+F)cPJ)dihgsi^M_0~fHpW9pt{AThr9et*YD zfSl%^I+G}QxvGndLPjU0(cPD8AwBzO%t2yA9E^|V{W3$Ri^ZqLH+=&dgNI3>n&#?? zR%mfNN-ejQc}`;D-X9>le!7P@aY)@F?(+b{Qm9&_g?dD~u!#8(o?OVn*n8UAigMzS zpGRK%naaTMbu@Btfh+dWn^qBr+~(aAg0aeYBz z@T4bc}?fR8rK?+UDQqg22F0}xCE-}wQFWJ$FV9)n0oybWNZ&0aQj{7FGI&giea zHG`*+b*SawAxS87tj?GQ8G5td?>@gXH>R$L$B2mzaKX$`;xnX9XE5jApJ0={9>yuVD8 zF3kO{X2o_@isp?0=1pOgKy)Y7PHJR_Y6(kNDT(8^JdiYBJ5@7mN=Y%ADYZHROEji4 zUiN+$R`z(+Dam0{UWYJi!n1ByQwen_frQ_o4Z5~~Fc;rT4k0ww?{|CpDGBDdsB8wW zTMAH$Egrz>g0HzDIwV7?eB`L0Q^CGl0o~Sjuk4r&IG6VczL#@=$;97Ii^U85{-Qtz z<|-mAqxkTwr=AWTDC2FnvM~MdHX5t$Y5X1YBTXf>KNs&JujZ|~bx{fZ=6om#-qScp z&<83HQD0)9`NxSO}Krg#>;-sR-4e(t`~}Ty&e{K zeWI*~G1QVb;t&G!0@e)79qh+JrS2uByabz9QUNywG0oT ztYOmJzFoa8TfA5Wn~+zv0K(O<6`nr^^eGz?Uey_Zr^VO%Xtgk zh!R4&3r0!N?2z1pGs$^i+req|3-JLlKx0fSY7$0&71Z*@4f!jc_R7NV2Mfvpkif$> zbSK2qIEerwO3NzVt8a5UrYd!UQBP&rEcR-Mk-sEbF3!*X*SVb&`;h;Py}SfvMFUad z7~`}Uh6##|`94Y+rz#R16yyZ(P(6oRbv__06rD~}j|2hG1M>L*ZhMPid-l-)$Rsf` zSYA8)3j+^Ih4Z)u0v6Lf1ai&lB*B0O_a@W{G_9jGZ7~9e5&5NE-IOD|a_$ zDokw>Qwigr9L@l}6v?j*lz6xk>ViLP;yLRyzgH-Tjng9H@z1TY49(uk0}n_k6V)g# zSg~oZq=XTq{((}mii)Q=gvH}7Fij?tq7U+5+tI{9i-t?HERK-uVWe2E`>{t}C|cYP zEAI*X!{II%b(buS#1!wM0WdogarH`%#cd^pigU7t$1BzS&yP->D9#iIYuS7=&eymG zeQ6|GCYi~sS=W{`+}pRrha2(2_rxXCjRLC?<4Y z&}Dx~k5Gpy@Tj9jk|!h;BLpq_X%^!Q(MCkIPlne9VQwN4n*spP@)hvIb(5>v?fvMM z6{J<$G#!oI?np{E>4WP@JT_j+87d=pt`VI6)&I(X@(0NA;tCho0|P-F#)v6MsEj*% z$V{Q1X1gAIel;D|f4qkrK|0L;?A*XY(okbtrYIO=Bqk9Kx>xloJc9CC6<2Y$NIucG zh8DZZbWrE2m{0*4N*6`Q=K&^9imYtA@M|H?N86twli633{S^NU(!DMJD3lJP7r=B3 z<(72jD)$UGy(PgEiN2{{&)b&eDtF(iF&0y(n0J->dXUEu>iJpYa!Hilnz%Ib&yTwplJ#lO%y}6kL(O^sBw(F1-$3BZwsgBYc3yrpz*#) zk{2L;tjKdaELOY*t(ICW&P>lIRrSJzw!K7nh?Mqqo z8)<}pM12{yU?tsLvyT~)9H2Olp_C_1?NQglv5x@?mMQf5f83IuCz$e(I`Gii@MuA| zla1X3*YDwi#O7;Z5jyNk^y$x0gU(^F+K!7@MJ5;JGG(Lx0nz24Mv!V-u?WZ;#YViV@>FvNh*lT#d-x;1p3+!&&n zpe?H5_y0r@Ys#*tvJ?yPBs@^PsW8ef?b09=vW_nE_}vEayCsoLHv~o_O0vbEdxEvJ zLjGxSWD=j*t)^6YA}{B2>7oXc`h~!R8XFhjzTT0*CXxDE2b|=Z`b6jBa~?dzC$ff(%L+a(-D7snWgY3RWRz!l(2xo<7rDt>VkkP!+l?)0{*LWB&e)?yL+*|GDt284g8`Nzd4gJQWKFFRA7n}v4X72XgTT>OSZ8# zZ7du8=NMYZXcbB1dfwLqF$#q4;9|4bDLw2NH}v-2*9(B&n$O9VcnnJEbm^zJNzSc@ zC!N(j4w-5+`#=0VvSl3#)x=N96)gDaex0pZ_)r_vnz-xsL zYf2i5<h12nkmc`Hkv&(1^=EcR0*$)wyYs?)}> zYClLs@_wWLn7Bu1J)*$UjO0q?UAa+M%E5?oiO8#cg?nRIM@zYI1ZVZ@XugTZLLAa% zafRISBp6^5Q5q^qES^8bSlb6*zm6otG(`&(0L#e+-1vRj!Fy5gA($z^rJLYxE`VhV zcANfWM*6iTBXNT4u{){|n9QX0WXZu&Ee07(gaP!HgrANT=({wQoW#T&%9WoPbS=0` zJG`vK9Mfip;zo8405nMFT!4 zTYNn#Dj5}L4o6UymOB%r1^Q48pv}6Mui6kEoBR~pQS*kk<4KUHWL-i#r};=^wZniy zQ-s)`spUou1s&tsE1Y;QctWWAMeJ+nqFSCZ>v9!xc*2D&*TrNu>ieqVV1V4uSQjhR z!jxLEMffye8tZ|n^EJ`f_EA@Y=+AvRQq1Ty(Ce+Mb2rtgXm=W~LJe6LL|Bz=lV;*O@ z2*)eDR?EDgt>esYAvTyZ{{z$nz#~3^zkj$@S5)NWv8TNv(_U;5&(dLkHUI%bneA=c znE14Qc1fS!e=m#>tDR_WXNh(%RPsxgJ3>47=aK;`(IF>=ggWcwjJIC)%HY^4`X*Su z;@~MI;4RP<(nWCwmq#|R?^6Ax3Vomm;lDsvebDv{%Xc0^dJ(ara{x5E3pv8*kY&eH zg}oapaQEcgorlls0u&3#SXD$yB9GQg-Z^1SlVq_f5hQ&{Byz4#-zYLWqmjQ#@0q3s zqF8g-BrW)!jHAtyOj%A;;eki35H3hQ-rPgoy>NDLM=2uIip|~Q?^Ibj*R+fee<2QQ zmHHTSl1W!s%PzeMgaCWm;<}lJfrG{ww&cW^DMJ3NzxQLt2)3wR9HQ*vyk!qZgmy5U zrD_$|*;LkzN12giN6wS1Ue%bG6qM3OHwB2Wfj23+YF3w$-Um1MBW;SYAyzB%RZ?B# zeeC%KUQrCvsNmZ~M9uxQ-YL&IzkTmid)? zJ}M6&A293N#p@&=(dZo_uZ&Z$`B}H`*aw1=mtT0JPfwm8k!-ZhzlHOOgosw)qeT4hx4s zC&R#xko;y5EQkI@0*V6eEwy-}S_cLei7}()o1hbF}#%FisF^2gqbk7i&KBeigh9 zjwD&0L|wg0fJNXQavqCCFrfF0OGu|c2DddrTt$qhT{gfezC$I)n5Fy?#vQGJa+CCz zCHSn-Muy9ceK9d*^h^#}EOS?3RWa_xXKFNdDcZFrO@-0sXTC5EGR_Aq0^V?2>aveLkIhn}WhR5w_^$+6cu%isa`cK74=z8Xl8w zL9n)8&0Y)wQTCp5v&Ex14c=A6;A+S7&q7NMA^qE-umU3-KFaJSTvOH^mZZTwd@v92 zAmX&~O$Evoxg~|af&f41OdTWy+>!lUpuCsjZ{;%)WJwmZxFz$(B}SpzkzZ+~IS-MF zLLQ!lKskw4+Zo!chh6FMMFy!~PkZ}w3cxz+3a;idzIh2$nfeB*3#frrDO?YqavclD zMj%WJ0PkrDYs8*t)npLW(F6!=$(|V!i3{_{223s0fT;BU;Tp;{C$d<* zQB#)J;(o8)iBC-IHTAo3nMqdI+E}q9NfoTXk7w07S;LbQK4_A0o~gBQ@S78JVD+oF z7vGMU=>rm=n*DMSWsmJJ&q-@qWxP07%w#y&`}pIj9ZSZXXW*Z2-9$2P5`IQgoRG8I z4bBvtD9LX#3)m6hN*ZTX&}A|lkHEVFR&pTbr#ZkjGkN~$Vc;lh&BI3~RGzOj{|PdF67I#Z70^b z;_K#1sr@@uhxH6@3U8C)j$BOF4q0U+JM1+@$EU}0+wsK4R`<1W7(;N>}Nk8iG1Uemh)F3BWHB0NSs{dSY2#R2wVuT&VO;~G@ zhJ{5Y)rxaJijr}FKf&pwiFV2D?&p|~VGxXgj|`SDjt%x0X9mZC9fUbwhX2zN*FIdZ z_>63{4QS>*cT7uRp!oAq^GdDIraI)pRAww3XEL_?FVvXyWa+FKl%1-T3Nn^Xp3RYo zfNZ$FhxxweY8wNd9ab9u!dNMkt`#~B+du|h3f%Ow%gtjZV9nXON0ka+7gdsmp<=q~ zQNQhvEKTN8iK3FOF++puzQoY_@3~%lu+Es>GJwWq^Ln`SdGz%CsHIobpXi7ob4>Ur z=y;$+8mti$fSr-t!-3w_{JF9_f-wV+hFFu*sh2ZB@NreQVl=tzKoI%_wGHf2beoyuOUa5G!R08TYGM@D!xIa{`OT6R2}jQFNc@H@sW%1Ci`>kfB{|Yc?ljcE zoFA^D@s}1eDZ-5L;(=`Q!YQ6X{dt6 z@ACgtcX|`c*f5w;sHouBjsW;pc=$PxWuXi0Pxqkak8J(B z_WxQz%2IMxLwo+qvt}o=3zoWf0*L7b#a+GAOeLgcb9(JK$G0`-Q3U4e7AhfW`Lo|(S=o~(6@0% zgIt3Y4#KJxF(nVqSvJt3Y{`>&YfN`VL0ZK{lM{CL0-KXrM#o}*^pgXU0iYxF2W}e; z-fXg{YM3n2ngk(yghXZ+4eos4MW6;UlKUm4(0Ee$SC)({dSIR6NW78FP>{JQlZifd zLA>;e|B7^1H+_qhYqdGOW>_t~q`^V0zJfhFk@u>ix>EcGqj>m@MSOiZwc@cRoAU?S zs`#g;s{-kY@0&spPi4G(G(h90iFo=-!0xyx3fX{o9B(r1WXOB$AJs&>V5g$I^hD}M z&Zb_i_zl_uiW|-`Ds2(pB?I?b{w3I`t%P2Pmf1ZtKC{aUF}-z8^C9m8)rNU_B5kpc zr0ZDEbV+gYJ#WoApgAjnS=Xq*4wcQ${<&mjLCMO|$c#V}ZJ$a$Ct$>c2>CtNhX2+c ze)@|Ec#G2nkz;_KMSrtW%m=(3{&&yfYktg`OLK>QTm3gWPkxYWSFY#a-02>k>QGf` zLehR?)f9F!`w?oz+81397en$)!a+jm=MOLQ?Ok4TSlLaXy4MWCn?k&XGonuVLiURM ztIAyBN>$9sS`Ij(1VBL58rZ=$Za=xqL?zioj_Fb~8R;|GQKBuPy~t&0jWf3x0_5R6 z5&L#KD(Zn+H#()%j#k?CrAW3I9=vtKiLAueBi*|5(o9l5Ld|b0NJ`3SQ8DYHMJsou zc&4fWWiB;7!-#EG;RlpU8G<7qYa_wl^Vz*+fmi@oLhv|BC!qeH7zOwK)d*@0+7v2e z3OT}S1`y45f@(Q<{bN|Wldvq&%x*1w%><~C(wpJsuw*0<($8Iu=!SZ$jewpy)d9WY zJ5fXUL`T08{)X$tICHcbaTB&kZh^@1sx7T&LFMC-esI!p{l=O#)Jry3_23>jCB%aB zA*p;+ z@$`55(Rc6-zer;U5xM!sw*P7kqN`1*-W;9Ng1S+)?qs=Cc8Lf$O4~^1dN77ko}-Jx}R(c?|6ve`oOU z5a&drNMa?y%B~pO;B!;maW&?C_0%R>Chq^`GSHYuXkWYr4AxgIXt-5xIdrlS$tF=- zWj%I!1eo_071+ybHe)J5o=h%S4q)$Ss#+{YpdnC`PrvSad`)`{sNy5uzpTGqTL&F3 zArN09TS10I=)|5aVeyoOD2h}2RTJF^_|MA~xG^PN7%HFt)}|Dluoa!}V|gY1>B0Z; zrLfrcBXo}u=LH0HY482w`KQyCKx7Qv1c)R^ z_@{;A18SBGei%?^lP|EMyUKa=n>(vfrd4kQ`H+~jYeIog0ue<@Ttf*lQZW}r@*f*V+)#2ktjeK!Zku#yc_nz)ePvSnatN8=v1=} zTUxY@|V0IMdf61W#sS+Av(Ilb&tKs~QmHIC>I!e;?2O0#x z6V_eZq~WpcQTtK4)=P@prf6dNKGT#8O)yPR6AZop>pYU|KCD2(bXHb^$$;qu9-JOr z7}SoU(UF=0x#F9dF<>Zg50aZbG{#vh2CfYJx}k9I&x3@0*?PFhNU4vM`Ig0aQdZv9 zwoH7kG|zOdnu?}6A0CWA=%TaMs(%8Q8(D4aPERG>4i4F_Mhi5VM&{QmwUx$HE@U#C zlGt77>{_W38g?+Hxpk%nt(ByxsIQyqy7YBkY6Y*tSKVu<;w-e9t)nRuiyXC>M_z%8 zvGt3!}ha zu9~=b5xwR;$FwEs2wLf5CUX-ToU+V$-tu>{#|_m`q*!J~<@$>jGph?Jl8X%{nw5@7 zJ?^%W2F&m}{*Sl6?QvFt@J?(9ixx;f%xm>?11QL#{ljPRPqZuaKfdC=f*Y+SQ;Fht z;cyuRR^&VIr3F&DAH4P3&TPDtI(Jt+r$n}>s3I^2ONtqU6d;C)~owpvO< zi7k;@bt(8{@6HGUEdiXx*-MTopT}r4gq^f~p-#Ba0t+XHWmcz>P025&+N%k)fp5ho zC&2lz%g00IMQKtBjYJCzORc$hnX`^1^QK}oCAg;H>`IKEt8@JV3?=}m?4PPqs6I^f zPuThsx)F%{eBgpkM;VQ8+v>$87Z=h4bHIxuj*E@;@oK#CClEn{E@blOQPGA-Sa2gq zKLv&TeHH&;w@hSAsuEfUd&Wc7P2O|q~M zE8}*^M8mh&F4Ly5)?IzJY)Iiz5#XXe6?pJ>p(K5ExSE2$;Vyg6XSq1vA!vJchr8yl zn$O3tv-00*2aScSs1QMK^ViC!HwJZ@z1C?yuL`!DY-7(%HWC0AS4GaawMv>Tb#`k+ zoYu8ned<}7u!jar=~n(Xx}HO)LOPf9IR`_@P49cD|f8N#h+)L)_S%@ z1ymYtnWZ2D(P@AzWLtHbYFZ?#sra*E72@XEwoh|n&HVdUb2NZ!$A{-C8

%J`OI|L+q>CS)+SyjZr>otVWGcqLMz(hGp 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 z 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

9hiuhm7{DaYsY6!7A{{7}ywsyoWEGK?t5~n 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

    QFLhVVq#rr}0I+()9(PCceSkf<@>_;0 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%0Ds#cFkl9=JJrGFIB>f2mioSF!m8r zv(w+>{zXOZ_d;*2V405Z^M+;BR9P!Z~Z)6k` z*F#5%Z6CE?72APG9hiE9g#0E^Px8}G{)?W8eXNh*v(6Xq9ibeOzLJdPu|6aNvoOT_ zG^&S)ogfBCv{#1d{PD|O2%9ot8@Df^IKf^LrgH|a={KcK`{2E$HZF4m#%*KFVs9tL zV%mx2A+B~aKKpL28;4D2?|RZF99o+x$MZHO?hxw>{dJc`kiQeUv34JgiRq!3_W!am?l?sYQ!F`myip*iL*Pi2n8k6HTDpPh!2KcAgu@mB;P_K-6#A% z5e_{*R?7wg1cdJYYT^8&D3E0LFDe{hX=BXz{|Q|Gs0?JPY+0_UqWK{112`^(V-2-F zLA@oJ7b6v*a1%O$c(lisZgq?$w8tcJjNFh`16m?sWY(MutqQGj5hZ|8^b(op*|kP* z)PH-UoF24fdyAm8T3;t!I~^}wo#^v6DRBUh@s^|B{xmvG9Q;G8Nh8+JNfpR}6>FnM zMK%uF+1a#=bmLP!U=ebE?LE6%hQLjq2JR=yM&6l4Q_Y9B`M7)BqRV*rO`QQ} zTuOoq626&6?kVScj*%3{!lHvArkMZ&7bOg z-|pN@d-QQ3$ZUDL${&!U@0H+|1<6CruOHg07lw%9x6y$E(n>;h`j;uTU|kvsi+nXf z$Y#tH?9qR?Pwoi|9DdV_a(~#E}(eN^@7}n``j|`~#H(TvzCA zs{93)cBFKQab~XUD%V6|^sGweZ<`C!?MXvszFAtja{p`?#tB3)S3(<9E z3x5VeXv{QgQtc}jk7^l|k94D}mQ@{+e0rXJ_$*N~2_L9)urz#e`O8p&F5%7zDW;t4 z9LQA5D+l+}R=PjA<0%2$ZBy%?q(|3AhMtW#3?Ukpqt*`#t2DD`$&G=^A& z>5nbJ)2srzW?z|i$kA~utNybbfoShK+iWp>vNbLf@ux#gxrmc5JJam zu{9HpyU_t9YfRFn5(EPfz4=`jeGsH35x0#|voUdze8&{3+t$buQJsqME^;j`Ci~|N z^9|jUvM95Wt5dm1+-PrL44vB~wNy5jCt=1#S9@$lf(6i)a{SLpCxwfYc|3fnBHU#v zF>%>9ZCPduHN!@)7wfRFo-g8xa8zcOaBWZff37{HVqsshqykj~ny zPL4c8LKuXClmdpb>?c=e#lKz1EcXtou!Lj>~nOA-R*IY-ZOYUG_U&%UsK^8Y9w;ISh9Z-ZIAt~5T!jzjry9$gUo6d z!=lbY%3dK#kuuP^_nS5)jg-cKg0i|N5n~FYF~~WEG;D0Fr_LL?EMoj7yijxaifgk^ z-Q{ggLp(kw(f3h{;wc8BciW+DO3YbKO;=ZhDV&Cf=zAR^kRf8lRxYiUisI|+D75EW5ExT3{FjQpc&eBBynK8)TgS9 zI+g`i7x#IT0Qj~k#aZ%Va1I%XP7D+ZREBw$p?hIKtxXy)3pwy-N=n&(z82P+n-nDH^3~7nml}yNXph=hI{{nSM&s& z@$L`%9kS!Sgj9;O*(yqcGr9;ytQaT@Rc(Yu=R|kSr(wz~hr@;Vex6O3d6esujBqqr z52=}jFlv=+@be0!VHJ0OH3O2YYY2a_P)f?u%lGD<;t@mu2>XMO1S7^PbxB0+-+!D} zOLh?w-5Cr71o$=4{YUWa|LDDa`6mOw_DcZ!lfwSaDeWGeKt@=AzJR*lnwnBKm(l20s#~X`ADLMCRd8taAz;C|VyN7=gVH29X^-h!3%=)8llIz~`V-LQm((BtnG~&I z!H0&vmXXK2@?}GwHB%l|4k93B-KBR$r1zI2$TJ1umIII2Ch`7QamJJ_N<`Wgh6EBb z#jbb(lE~sO6i%Ur3cNa*A=I;t4tivsI-s^7mhCJ3+C~Go*ok+3Ziro0534pI%g8zP zE@B|^CHcgsiypi~8yq{NfDii%{G$c81L#pl>9lZ_bY zt)kYq=PB=KeF^%Td{Knz>LvGAs2I)x8`$W2!N84>r{FE#FNAN@^DAN}y4tBiVKBSPl zK4Lxu-xLCb8}o0!b|7{E*l)kwfi%HP(LWs9^m)W|sRK#JOE)+M-@ivtD^v=P*9wwH zoCb&xpd7QH+(Tl&hEcx;VZTP9dUg64{qjHPZ@Xaes8(P8SoE(yeg}s@1Nkq9Bm=gdLkj;V ze*P0(le_;yK?A&%bsSMuzH-Dkm-q|cA}?hr;(3%GGO>YSc?pPY4M^gvk~Iy_Eh7YT zffqKWPX%Z;Eg%d6L%0z9gV>B78>yPujPIbIB&JSyTaG`QR&z$q4>z8??|7!(>>ro- z0iTfFobz9D!7k7SbFC-e%MUai<8wQxZhu25!mZ#w)&Z>Do3%O6-KkdFa z2jSyE%~Hf29}E+X#n6=mY=)hMmo6IW1gKrKQewHN_yt`|tmc+ytxYDN^wt35DfmT& z#s}0t>Hv0F4uPY07U}X7q0BcVkJwoHSkF_eQG(}`i$yVan&zDTctLP@M#pC{-8U#f z5&=$ylu1^4Zg8FrLFlxt2Z~#a6I55tzC0@JBbpY03P@=j0eyJYIRe%cy{YmXyDX<+ zs6#O2@&u(;Z%fUgBvDvcg+b2D_U&Q$aH-4h|zRf&3HtAi`JC~dIB zbA%lvN=fq+qe@)ji(%<1#q5C9P;c4$H@NBToMW^$b7TKI4dy;qM#6#nKSb zTZ@mtx6}+YJf<}67M{He!Ps}?lF`$L(6bo)#A=)ubkO$Ox}!`oE4%MK7y zOx&PEuU7fp8863FUI8D$FJd8+db8I;dgjJH*&?1)?>nk$M}aU;RYM45FE734X4o&qBs>ZAmS!|7W8pM>QJxArNiB`8WN`q1{xgzO?9tG}zt%;t zU*Z=3&&&e+8oAs5Glmmop`n4B50H!h^9s2747vVa=K33C-M=O<_7n2_zdq!HLRI{i z=?no?{vVSR8j1$+Jww?T{crYLMvJ4Vh6yM(#*N5X-B_KUB&Z3sZxtOPXzs$eiR+ND zor_6oDx}xLb)t!CK@+mYOSjmgeAtQ=>nz#Hfj?b-aZ;iQVx@dv|76QkTbpZAsUEmz z*AeI6znohyomXC4{Ld4%pl+BGb-BocN8i0KF!yIK{8JwRPYetNuX8`)gbckcep@(t z+AC2kE%^j3$xYV}fEj2OM>H1yOkADA{VL#ln|;^+v5`uhG~42207{%TVm*$=vY~-d zN|@Qslsz$4qcoaOcjBwekV!6mTmhy@+`%(+E@LWHN^|ptp{(i`PGWb$o1#9DqE^kd zzNDC5Sy!L~6iP-&;6t=gX8-0Z1Yt-&tpZ)5?f^^PIl&g%FUYd`!s%s>H~pMa7iPjZ z^jsm13~06B#*^;ZVJO=9X5thVSDViL%>G*jEg)ZeIRt6Y*~H<**#BeWr1v!8DDIbO zCuO2eJdII7CD+;OY+)du@eQbf;$1||nM0wnXgh5gAli8bBzPoo(Ksw1Xi_*SM#drh zL=jqRVJ7?Zw=?`i{%U&_B;UkO%y_05QEmgnWwuScSl|zCtM;XUHRVqzouV>{Zo6{zpDy(N5Oj6(z46+p>u=5KfySL#N=m$#_vp9&ExJ*cSxESW z+zR+~dD_ZdOCp$y&vSh=B%qDRM@^WPrXhKEI`=th7H4E66l>~J1YBfM#ZxXZf~rOL;d7S1S_uc; zF)8S9aeHe|GqDh$YGjKNwEMRut@Fd1_14bwCaZP!4S7&dB$Jz)(Fl!rt)4VmHl5@; z0o}#0o)cz#Ylv-$w=W^#CvNHfW5%G>^54}vG_18nQt)(_Rls+BC+7oS1Swp|7en9K z82ExLUzUvo03p*@uozvo<}^byxDXRuFJ8R^lsD9R*YjSv?DWBo4<;v%t!p0&Ns-%g zR>P}KGyYvY1Ch^gLqpv;czgqjJzLzg01F5aj?P!;TTZ?b45xR%9K>Ti9&7n>gfp^N zRQcE~Wa(zV5k_Ia_(Ai)z|jpPpPN$0`FYY|TAGD(7_E(?J@@7I#$>O`5;9@`#NW5h zwA#VJOg4YpDF2J$uvbrQFXSf&2&mKKL#b3R8?^o9RicGCo)X5pL?(-V{ah+nz)147 z3g**}Pf<_0sR;2#I$!n|L4h#Y8;wu)LwD-3y5*V6<&~I;>m{ZXj7NKJa1TErw(({n zEuWIZO+b{ejMF2}AKLg!e?#nuYneQMtCaKA1v+~8*wr$sv#-Yn`$KnP#vS2t_!tpJ zNhm*`GQ-u2>)E$UrYdw>0&HIzutrNc!ud1HWTecSTF(}`z@ad2{Jk{X^qNK2-sSw{ zMd*-ZWqw7eF11s;D_Iq*ooth{g?Y5Jn^F5+(Zu zf7M5gLC1pM(zw`lrITv$GxR2{e25I^bKG8WubFqUM+)Wk&Mv+A5~H+ZclXMHNHT(+ zP}~|zTI^bm?;4EuRVkgt|HCjSQq8jb;I|il9r8OZ-JpaL(W9vKkIg^OUO&&Q+6OxE zLeB=;@sLR-JAD2oT4n=|0UprM5~hx!N=tnfZpD3ibamQw)Vq2XdBRnblQfmP_zucH z_a9z^i@6%8C9Agk-7C{Y%4PN};`ujoxrpTw>`HwpuDPyHYJbL`P1xe_azyd%ZgukELH?R(e~pn64Un4GZv9p0C~DFtLN@JbQ||1 zi5(Z!jmqr{dt-bHbMXuq#g2S@#fuNxYpo)6@CTTt2f5;DqmrcXr=e5%5cv@4g6$ae0~q1j(15V_rHZo23m7E__3tvRM?TW0*$gJN zuYzVCQ7aHAXhOQWX{PVp#nG0-9eZd`)8@7lh2J6n9oS|G%Q(PHzTQ(GsHYvHHKwj> zt(*xwHP=nQ(~!^`&Up?Iw68d{-?773q-u0TD-J24|9zpZnTk|7{Ec2VDe+xWgqHZ{ zkIJXezNzwqYXIKZQEDH^&{7amSO2#zh-wqyP_W~%u-DIsdv%AxG`@5Uh+?Io9)+QJ zJ>#9uBv@u0?G}AX2W`S*98m+xu>6IdnbRT+Z%PKMAEV99g)}wJ2P+j0MfU4NW|syPd5noI{fSCzzlyI8H7p|Y2okbLg;C*kEXY`mO@Y~Kg}5NU z9rLE>cmOMno4_9$umsj#@gkzs3U8`E%wmutHUNI;LArf)YK!!wzNe7@I(@7bKfTfeb(x3>4oc@NTQT!^2 z_89jM3&_m_Lx=ZdEE`LsDlr@O)ZW_dp~#1&!4VKS`?_iN5cs}!LZd(Ab@~x9Ek?WK zNie_ySVlh0Wg1*6iC%_$yLNNBw>CprbexpxkTww5O!JeO&V?oKp8Y&yH$+DCHhOdb1&_ zn$>RD#My$?u8P$z0WP~fYO;JZr1q`{6NZ|$`Vr{P?bRPCFC&$pn?qSTg)BXk+cJmy zxYr|5Rkbv9ymO0f>GDpWlm_Nh3-n~=%H5bP7PL5}?+pbOzDeKU{~DUb>HLn?2EfS} z+BoeSnxVv#oYI&nstGCu=IONZNn5?_(W96BMlJ1>-V;@_B=BU2}iH%yg7qz$2j zQ^|V@tr%@5P(CzUenZE)=lS^0kSf3tv z)J7dv3C{?GxvYYb)hX)Ik66vdF2(dmoQYX@i>0AC`&ZVqO5ik}Hv)b&V-D)Qh*Mr? zoa|g%iSShs%RLYM3}deBhlOU@miX9xx_OHaW##l$KFdRJi54Ki~=)`d_+dTb-X2ZzBsUEvnYaHseeMMZ4DLPkcqQxowg`jmqTf{Ym zw_#&lz%>axp7c)X{_F52i`BNUc-+&h+MWMn*()LI=hLj*IN<2G_;BkO`%dOH z)p(YVR?t>MiLEYbfz`6JNK1;XPtv?dWuER#a-ykfj$|%u7D8P5C8+#;R};VPp}yoLxT|MK&7M@@=pZwxj`^K%quvGGQ!f=9E;B)qxEQ9Sci#OZK)EZ*FIf z;*7aD#*f{j*W&x%mRH^^LG(_1c&E1axsyV zxv91al{DYN^O?cMgYF()=J-|`^ zLdGJ&GaOkd9^XRrsPVf;rO(EG!EL1f@3_@j|mgPl?nJG0Ta!p%9_(Td&;S zLh#Krb2>IBRE{=%!2{cv>@@Ke8oxCFYE{f`Fz^-@%4~>x%JO<$fc-%I11o? zITB(q7m?ln>g!41soK82?y#>Z^E{KtkfBmMlm>;@pg|g_S1KZrp$Snh8i|zML{zU( zgfdkc%ql{J43Q!#B%~t$b&nH{`o8Puckf>FUTg2Q_C06sd-%O-B}3EgW;B;LUpKmN zP1Wx|$3C0Zg-yYv#*%J|GY z_0eN~BXh~A0A6)TqpA(6of_Xii>&|b-}LTiYGgR?#q4eIbLu~qF1FvL?yO&LXX(f) zX)>wQ&TO-Y{dc*@Mi)ue`Yk-R9qSh_?RiSSr`;uU<%?QSi-TQ?cd~l5OO@E@WL@S{3xIhP%bTtzYR%^GW-6E3+)0+gB8B-SkQ!(iJa>ElRx~ zxZS)wcd6%cgT=v5Ja%2!x;8=Pp@mw+vSSMS?)Ya-Zrs1{HofDn$JIXNf*KKB)x`%y zzCVwtT=L4s%wbt<{Pu>)EkoJ{lI5>;KU<|N59B>R#j7WY`y`jgDoYXbwOYGxYAh`J zYvE_5>BrhjrCN6FHMz3d*t!ZeW5zjnfdL%*Sy4@p*R= z!l(Roa7R>CaFc~(pijjD-Q)SC1yA?O-gVH;`#UGU(a?aM6!5che&42NIm<6!MOyE< zSH19`W?C5>YtFp!egb!+-oXmRd4;EX=r0@9vJ%sU^X*goH?5dGBs#C3@0P_e7rAZ^ zvDxk#E$7T7c%5b)nxs>6+~Qv7=2nvlQLej_qjD0`^y|{{^N*(|9TH938MI1r-;BLC zo@D8izIfsOz$|W;VTM<0lV6n44K14)iMP++zW;c@@J0Ie`^8$Dx=bbORmy6WWfk=e z6fBEZt+BbTQ88_$k-y_ItKe(&)}x_()n?U8?B*KlT)7})H9PSiAzO`aE?4*3FHb77 zEc!1Xp)O2pPg%gyZL7>AaPu_ZB|n|xjy+U*c3jsoT`J1Iam8t&+g_3zGFb`{ldQHp z-#c*HID3uAePuu1g^zpV8eM$D9X;zSif4Y=-q*M;u2=p6#s%{P5u9DW9^Rwhdp?`VXl&paPQtn|4JzX}RGszy3J;XX@` zC@ATT4_GUQpJ5Z3$l5tvWQ3DhM*hoX;eLVukGA$PUOA7Z3U{N3x$ zXUcH#?<`nV6*yP@{OlBGm8E78F-tp)=QxLKyjhxeY*WU&j1arcQZr#5Jl(vd=*BTF zJ^r0e@2iC89dw{s2AvJlagkCUv^Oo?sc_3l%E3aj?&i8f5?bu+2suf;lF|*L9&tNZ zT!Btk`JQLa-IS(yOP~KjkJwZ_*E6SU{DaoLfE!xV?>`PTocLJ(fMw8}<@Yq`x7unC zHl>usWT^Ue>({2e9>FKHJIS50c{fZ|84oOPl)P zz=^ld>^$9;_FtBVyGV@lOy0?22YmRu< z#y#;1(rDgZt?ZL5!acOQzs74l&;Ccru}rpwySZViUtBn!qDS4FkU3YfBQClX?a&Pj z*U|boG34IrkR;#gMu+@10o&q)J+?{l%CDmY{8!lA*z+}JicI-uyO5&u@=((^=|N}FE;lky3yC{B`sL|QDl*9v z>IjH{wwoIsc~CsRk&?m2M>iE8>$Z3r%|U=Atjbm>i_W3&Ft@cmmW_UC6W>m+7 ze!O+uEOF0)T-8ZN3qCwJ{9wAb+0?i+CySVu2Q{;m9!VUH?^kfVb}7Iy>Wy8CbkOdp zQ%;23f0g|Ke)lF$-8&($XT{m2Nufmp#{wl1Z%gbj@o#W$+9kW@JI|oYv?;z9kEU7| z3T4EsU)Nr}KdjqdqT|w$Sveg7Mqh0B&TJ@b=DN8lxMhdn>n5MO4n6bgPEg{vP4W`rp26g4;%b>ectEV;W?!UbFc zMQ^UaLEHDuM}`&)^f>(^6H<{Z;ub%#Mo=(#GJeZ-MYr_tqm8o<&x%{Mqc1S`XsMmx z;HG{x-*4RS6?phOn3i94E-#&yd-5l-ly!T1Dp(HgQ>IWhh{4W}^aH6ZAvSR?BIyTH z8V{%;v2<=l)XO)4i!MeRzNIM!J49-7&^+wVU@I{0(P%iD!8YK(&PAi?xO=!cZ*lO# zCJeSFGZJox;?Q~|&fo!-&|D--KXwi$$h&SiK57VjNrP1Kg+*`anbzQgZ*yio3(xpcil5KG%4rAJe$dui1>d^mfr=P4&YS{iq7gXpp?Xm3ehZjTg9)>f_j|2cH=F- zefiKE9SIt3xAu4gxT*<#gN0~1J)nd5yrc*X>rR^Q?Q$0M9)}IhniSniKRA@(rP{(+ zARlScg=qLdC6dH?PZ1NK{PZYDQ|UjG@ABKq!~-yhi}Mx)8kqR|v7 z^Z`o4^a0Nx*-1}fK6ylvJ3fo#K{gc@@$`l@DAc`O6lU*yx2UW~N6f}2u=xl`9 zMMwy%7QhI;dVCyOZy^gi6(D|WR*jhW7-y8PJv~e#REiMJc@E*oABBh$UXp(asyfeb z=#;R|MlSf-_m@b9K>2e}if6~5a(|(kIH>LChfxYu$dDc$IYI}=b;jj2!qhOxI zfxBl=d?0a^U<*(BA%*=)$?l&h1?f`PeqngS?+?N)q+eLBGQiG_8^L0WG9*D5ype-B zbmJF>2VXBkssyHlg9%O;#ptoPMDW8h#81TNrlNY7FO0uCkUmW*_HieV^7xb^6+&8c zIY{fgGm1IF&m}o3O<1uno(_Y`lbc4HO_A1-Hp+8YfJ=(tAw=$d0V3`1jiMjEKyrj_ zOO^E6Ux449!8~3-ktX_Jlw7p}X%Xa=)4W38z;L@LK7P2ZeN2#JGbt_s99aQLHR9nsY60|#1G?Zuk{Z22hK!Yd zWb0KUc!gkm{0gX&P7-jiwiX#Pwq7M$ZEU(Aj;aP(;k7_@J(Gmj)k3M4FTq`P;FBnQ zx;S222M)eo&w=P*tvPfd4nzo7)WNj8-NpgCFar7sb~QY>4mi%$BTdGSgA7hb2oN9s zT92d&R}E|wT^%I?TLvM6Or>~NPKJr~8;~^CJ;ac~rcI#3_%)a&Gi4Mmj$bvBJ`Zqv znpX)CbZaa$QglbByj)gJ!KnrwScPf*OFTH~m znF-`F62gbO-jTK+>wt`~Jppg*M4Gs)gPdli_ujr=2C*~chb1c|6d#i~q*_?76GWa% z<1~y3Q=EK0h@66u=R!*Qi^9^IIjs2gTO@&hax;Z-)LSwm#?3y|qXX5wOMU!w?z}(3 zw1B>^Y@{Li#|&~q^v?Hw$oyWAT_;hL3qe}o^xB=xoPb|9L$%EL*WE7NZ&}WCpzi~N zsY7jD!w9`FQRj%x{rD>*r4s1HK|U-*#=M$dkI*B9HQTmq-#pK0i-U{1+qNBEs?;_X z{z$F~q$QbNJRqtV3IWxv_?m`UM0sLjGnmziRC!wjbC zl<~`$ywo*3S;F8WC~(y9PBk3m6T|T>NRMG4BIq6K3 z5xbgbso+oTWY$e{+UoZY^luSFMwwzIV=XD#9Ww>6c^j~&*pGsE@X0n(#)XSq57lL9 zv^U@&1B#4`8%VD>w4&(@H6OB---^TuA5G7ggquP8Sy;qSXM(^Hf>ss_MS`O`IocPW z7zGL91;2XWb5LgyM}`}W4eI3l8cdoi^d8M5^kr^+lo0?u<%cI->rpISaB7rR5{JKs z@ZYm{w0o&?ue=+CyFezSE;v-rjbRY`)9k{RIw1g_ku3b^2U8B$bRsdr2=l^_78@|a z7_v6i<*v~LtqRubg8mA_4PxMw$NRd-8W-FJ0(IkAI6#7>gr9bi-$9x<;JpbXSP{N@ z5PH^}U3YmMj;Cc@DN-7DyCB$OG5n;;J z1gzf;B#Sag61Q$r`Sk4?e08AQ3(5#p`RRKEtvY_vO%Bu=j)>d`ESx0GQpXBk5Ie-S^Z>C#-0vWps3TfK=@KWlEJS1z`1Y<(b6RR^sFDu@3Tf& zKOV-ddV!Erks{v12H}MTaIz}42-siz0QPKK zgmDpTqSd%DX*c$OC$+v?u0b?64@ceq>yRf7dymBY;V7ux*wbHBOL*4*|1#i&`yXnp z-JTO7v77~jG)#RcKx1BpnM09(n2`9EuQO}YpC zH-6(kxtAn8!zNPNnH#_#=1T(WNPcT`gWa*fANm{rHh+X;ezIgn(~=PvNLYPvSORwD z8kUO#IAF~{5}XWRV%Cpre*kyEH`Fn&ABW)rGhYx=zr@BSz*>XkbH6Mfm*8gK(<&O|n zPKHcToCs2Hd_(+%@x)bm{OB7PzaWR8P{Tg~NpyGuM`daO!eOZpLr}?&mwksEvHmFm z5-0Q$l-6{%EWNM7_3@?+RE*9j<0I(Ak>wnXfP}gFRi01rDas^5Cz24lG(< Hahm@FU8x@3 delta 102082 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 ljGun24F=(S^3>7B{IQFs3KVo&2&4u4M 0) { try { flushInternal(); @@ -291,9 +268,7 @@ public class BufferedChannel implements ReadableByteChannel, WritableByteChannel exception = e; } } - } finally { - writeLock.unlock(); - } + } // 关闭底层通道 @@ -322,20 +297,14 @@ public class BufferedChannel implements ReadableByteChannel, WritableByteChannel } // 清理缓冲区状态 - readLock.lock(); - try { + readBuffer.clear(); readBuffer.limit(0); // 标记为已清空 - } finally { - readLock.unlock(); - } - writeLock.lock(); - try { + + writeBuffer.clear(); - } finally { - writeLock.unlock(); - } + // 设置关闭状态 inputShutdown.set(true); @@ -351,13 +320,10 @@ public class BufferedChannel implements ReadableByteChannel, WritableByteChannel */ public void shutdownInput() throws IOException { inputShutdown.set(true); - readLock.lock(); - try { + readBuffer.clear(); readBuffer.limit(0); - } finally { - readLock.unlock(); - } + if (inputChannel instanceof SocketChannel) { ((SocketChannel) inputChannel).shutdownInput(); @@ -366,14 +332,11 @@ public class BufferedChannel implements ReadableByteChannel, WritableByteChannel public void shutdownOutput() throws IOException { outputShutdown.set(true); - writeLock.lock(); - try { + if (writeBuffer.position() > 0) { flushInternal(); } - } finally { - writeLock.unlock(); - } + if (outputChannel instanceof SocketChannel) { ((SocketChannel) outputChannel).shutdownOutput(); @@ -382,7 +345,7 @@ public class BufferedChannel implements ReadableByteChannel, WritableByteChannel @Override public boolean isOpen() { - return !closed.get() && + return (inputChannel == null || inputChannel.isOpen()) && (outputChannel == null || outputChannel.isOpen()); } @@ -391,51 +354,39 @@ public class BufferedChannel implements ReadableByteChannel, WritableByteChannel * 检查是否还有可读数据(包括缓冲区中的) */ public boolean hasRemaining() throws IOException { - if (closed.get() || inputShutdown.get()) { + if ( inputShutdown.get()) { return false; } - readLock.lock(); - try { + return readBuffer.hasRemaining() || (inputChannel != null && inputChannel.isOpen()); - } finally { - readLock.unlock(); - } + } /** * 获取缓冲区状态信息(用于调试) */ public String getBufferState() { - readLock.lock(); - writeLock.lock(); - try { + return String.format( "ReadBuffer[pos=%d, lim=%d, cap=%d], WriteBuffer[pos=%d, lim=%d, cap=%d], " + "closed=%b, inputShutdown=%b, outputShutdown=%b", readBuffer.position(), readBuffer.limit(), readBuffer.capacity(), - writeBuffer.position(), writeBuffer.limit(), writeBuffer.capacity(), - closed.get(), inputShutdown.get(), outputShutdown.get() + writeBuffer.position(), writeBuffer.limit(), writeBuffer.capacity(), inputShutdown.get(), outputShutdown.get() ); - } finally { - writeLock.unlock(); - readLock.unlock(); - } + } // 其他方法保持不变... public int available() throws IOException { - if (closed.get() || inputShutdown.get()) { + if ( inputShutdown.get()) { return 0; } - readLock.lock(); - try { + return readBuffer.remaining(); - } finally { - readLock.unlock(); - } + } public long skip(long n) throws IOException { diff --git a/src/org/kne/cloud/network/ByteBufferAllocator.java b/src/org/kne/cloud/network/ByteBufferAllocator.java index 739246c..6a0e7c2 100644 --- a/src/org/kne/cloud/network/ByteBufferAllocator.java +++ b/src/org/kne/cloud/network/ByteBufferAllocator.java @@ -1,26 +1,10 @@ package org.kne.cloud.network; import java.lang.foreign.Arena; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.SegmentAllocator; -import java.lang.ref.Cleaner; -import java.lang.ref.PhantomReference; -import java.lang.ref.Reference; -import java.lang.ref.ReferenceQueue; -import java.lang.ref.WeakReference; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.nio.BufferOverflowException; import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicReference; -import org.kne.debug.TimeDebugger; import org.kne.membandboost.MembandBoost; -import jdk.internal.misc.Unsafe; public class ByteBufferAllocator { public ByteBufferAllocator(boolean isDirect) { @@ -43,31 +27,8 @@ public class ByteBufferAllocator { throw new InternalError(); return buf; } - private static jdk.internal.misc.Unsafe usf; - private static Method meth; - static { - Class name; - try { - name = Class.forName("jdk.internal.misc.Unsafe"); - Field field = name.getDeclaredField("theUnsafe"); - field.setAccessible(true); - usf= (Unsafe) field.get(null); - meth=name.getMethod("allocateUninitializedArray", Class.class,int.class); - - } catch (java.lang.reflect.InaccessibleObjectException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - } - public static byte[] allocateUninitializedArray(int capacity) { - if(usf!=null) { - return (byte[]) usf.allocateUninitializedArray(byte.class, capacity); - }else { - return new byte[capacity]; - } - } - + + public static ByteBuffer allocateHeap(int capacity) { /*if(capacity<=2048) { return MembandBoost.allocateUninitializedHeapBufferBlocked(capacity); @@ -75,10 +36,6 @@ public class ByteBufferAllocator { return MembandBoost.allocateUninitializedHeapBuffer(capacity); //} } - public static ByteBuffer allocateHeap0(int capacity) { - return ByteBuffer.wrap((byte[])allocateUninitializedArray(capacity)) ; - } - } diff --git a/src/org/kne/cloud/network/DatagramServerSocket.java b/src/org/kne/cloud/network/DatagramServerSocket.java index f2e999a..670dfce 100644 --- a/src/org/kne/cloud/network/DatagramServerSocket.java +++ b/src/org/kne/cloud/network/DatagramServerSocket.java @@ -1,34 +1,24 @@ package org.kne.cloud.network; import java.io.IOException; -import java.io.InterruptedIOException; import java.net.DatagramPacket; import java.net.DatagramSocket; -import java.net.DatagramSocketImpl; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.NetworkInterface; -import java.net.ServerSocket; import java.net.SocketAddress; import java.net.SocketException; import java.net.SocketTimeoutException; -import java.util.Collections; import java.util.Enumeration; -import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Set; -import java.util.Vector; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.Flow.Subscriber; import java.util.concurrent.locks.LockSupport; -import org.kne.cloud.network.klalb.DATATPacket; -import org.kne.cloud.network.klalb.KLALBRemoteLine; - public class DatagramServerSocket implements java.io.Closeable{ public static final ByteArrayPool dataarraypool=new ByteArrayPool(100, 65535); @@ -93,10 +83,7 @@ public class DatagramServerSocket implements java.io.Closeable{ if (backlog < 1) backlog = 50; - @SuppressWarnings("removal") - SecurityManager security = System.getSecurityManager(); - if (security != null) - security.checkListen(epoint.getPort()); + synchronized (stateLock) { if (closed) diff --git a/src/org/kne/cloud/network/DirectBufferedArena.java b/src/org/kne/cloud/network/DirectBufferedArena.java deleted file mode 100644 index 9fb0fe2..0000000 --- a/src/org/kne/cloud/network/DirectBufferedArena.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.kne.cloud.network; - -import java.lang.foreign.Arena; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySegment.Scope; -import java.lang.ref.PhantomReference; -import java.lang.ref.Reference; -import java.lang.ref.ReferenceQueue; -import java.nio.ByteBuffer; -import java.util.concurrent.atomic.AtomicLong; -import java.util.concurrent.atomic.AtomicReference; -import java.util.concurrent.locks.ReentrantLock; - -public class DirectBufferedArena implements Arena{ - private static long blockSize=1024*1024L; - private volatile PreAlloc buffer; - public static long getBlockSize() { - return blockSize; - } - - - - public static void setBlockSize(long blockSizex) { - blockSize = blockSizex; - } - - - - - private class PreAlloc{ - private MemorySegment segment; - private AtomicLong pos=new AtomicLong(0); - private AtomicLong refs=new AtomicLong(0); - public MemorySegment getSegment() { - return segment; - } - public AtomicLong getPos() { - return pos; - } - public PreAlloc(MemorySegment segment) { - super(); - this.segment = segment; - } - public long byteSize() { - return segment.byteSize(); - } - public AtomicLong getRefs() { - return refs; - } - - } - - private void allocateNew(long blockSize2) { - MemorySegment raw=MemorySegment.ofArray(ByteBufferAllocator.allocateUninitializedArray((int) blockSize2)); - buffer=new PreAlloc(raw); - - } - - - public DirectBufferedArena() { - super(); - allocateNew(blockSize); - } - - @Override - public MemorySegment allocate(long byteSize, long byteAlignment) { - if(byteSize>blockSize) - throw new IndexOutOfBoundsException("byteSize can't large than buffer block"); - long pos; - PreAlloc bufferx; - do{ - bufferx=this.buffer; - pos=bufferx.getPos().getAndAdd(byteSize); - if(pos+byteSize>bufferx.byteSize()) { - allocateNew(blockSize); - }else { - break; - } - }while(true); - bufferx.getRefs().incrementAndGet(); - MemorySegment sliced=bufferx.getSegment().asSlice(pos, byteSize); - return sliced; - - } - - @Override - public Scope scope() { - return null; - } - - @Override - public void close() { - } - public static DirectBufferedArena ofBuffered() { - return new DirectBufferedArena(); - } - -} diff --git a/src/org/kne/cloud/network/HeapBufferedArena.java b/src/org/kne/cloud/network/HeapBufferedArena.java deleted file mode 100644 index c532219..0000000 --- a/src/org/kne/cloud/network/HeapBufferedArena.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.kne.cloud.network; - -import java.lang.foreign.Arena; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySegment.Scope; -import java.lang.ref.PhantomReference; -import java.lang.ref.Reference; -import java.lang.ref.ReferenceQueue; -import java.nio.ByteBuffer; -import java.util.concurrent.atomic.AtomicLong; -import java.util.concurrent.atomic.AtomicReference; -import java.util.concurrent.locks.ReentrantLock; - -public class HeapBufferedArena implements Arena{ - private static long blockSize=32768L; - private MemorySegment segment; - private long pos=0; - - - - - public static void setBlockSize(long blockSizex) { - blockSize = blockSizex; - } - - - - - private void allocateNew(long blockSize2) { - segment=MemorySegment.ofArray(ByteBufferAllocator.allocateUninitializedArray((int) blockSize2)); - pos=0; - } - - - public HeapBufferedArena() { - super(); - allocateNew(blockSize); - } - - @Override - public MemorySegment allocate(long byteSize, long byteAlignment) { - if(byteSize>blockSize) - return MemorySegment.ofArray(ByteBufferAllocator.allocateUninitializedArray((int) byteSize)); - do{ - long newpos=pos+byteSize; - if(newpos>blockSize) { - allocateNew(blockSize); - }else { - MemorySegment ms=segment.asSlice(pos, byteSize); - pos=newpos; - return ms; - } - }while(true); - - } - - @Override - public Scope scope() { - return null; - } - - @Override - public void close() { - } - public static HeapBufferedArena ofBuffered() { - return new HeapBufferedArena(); - } - -} diff --git a/src/org/kne/cloud/network/IPMulticastDiscovery.java b/src/org/kne/cloud/network/IPMulticastDiscovery.java index 0b491bf..f540110 100644 --- a/src/org/kne/cloud/network/IPMulticastDiscovery.java +++ b/src/org/kne/cloud/network/IPMulticastDiscovery.java @@ -15,16 +15,14 @@ import java.net.NetworkInterface; import java.net.NoRouteToHostException; import java.net.SocketException; import java.net.UnknownHostException; -import java.time.Duration; import java.util.Enumeration; import java.util.HashSet; import java.util.Iterator; import java.util.List; -import java.util.Set; import java.util.UUID; import java.util.function.Consumer; -public class IPMulticastDiscovery extends Thread implements Closeable, AutoCloseable { +public class IPMulticastDiscovery implements Closeable, AutoCloseable { private static final boolean debug=false; private MulticastSocket soc; @@ -79,9 +77,7 @@ public class IPMulticastDiscovery extends Thread implements Closeable, AutoClose this.timeInterval=timeInterval; } - @Override - public void run() { - Thread.currentThread().setName("线路发现线程"); + public void start() { ThreadTool.makeVDaemonThreadIfSupport("线路通知线程", () -> { try { @@ -143,6 +139,7 @@ public class IPMulticastDiscovery extends Thread implements Closeable, AutoClose }).start(); + ThreadTool.makeVDaemonThreadIfSupport("线路发现线程",()->{ try { loop:while (!closed) { try { @@ -199,6 +196,7 @@ public class IPMulticastDiscovery extends Thread implements Closeable, AutoClose e.printStackTrace(); } } + }); } @Override diff --git a/src/org/kne/cloud/network/MemorySegmentPool.java b/src/org/kne/cloud/network/MemorySegmentPool.java deleted file mode 100644 index 51ff5ff..0000000 --- a/src/org/kne/cloud/network/MemorySegmentPool.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.kne.cloud.network; - -import java.lang.foreign.Arena; -import java.lang.foreign.MemorySegment; -import java.nio.ByteBuffer; -import java.util.Queue; -import java.util.concurrent.ArrayBlockingQueue; -import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicReferenceArray; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; - -import org.kne.concurrent.SpinLock; -import org.kne.debug.TimeDebugger; - - -public class MemorySegmentPool { - private AtomicReferenceArray< MemorySegment> rec; - private volatile AtomicInteger pos=new AtomicInteger( 0); - //private Lock lock=new SpinLock(); - - private int maxcount; - private long length; - private int mcj; - private boolean direct; - public MemorySegmentPool(int maxcount, long length,boolean direct) { - super(); - this.maxcount = maxcount; - this.length = length; - this.direct=direct; - rec=new AtomicReferenceArray(maxcount); - mcj= rec.length()-1; - } - public MemorySegmentPool(int maxcount, int length) { - this(maxcount, length, true); - } - public void back(MemorySegment b) { - if(b.byteSize()!=length) - throw new IllegalArgumentException("wrong length"); - - - if(pos.get()<=mcj) { - int d=pos.getAndIncrement(); - if(d>mcj) - d=mcj; - if(d<0) - d=0; - rec.compareAndSet(d,null,b); - } - - } - public MemorySegment borrow() { - MemorySegment b=null; - - if(pos.get()>0) { - int d=pos.decrementAndGet(); - if(d>mcj) - d=mcj; - if(d<0) - d=0; - b=rec.getAndSet(d,null); - } - - if(b==null) { - //ByteBufferAllocator.t.interrupt(); - if(direct) { - b=((jdk.internal.foreign.ArenaImpl)Arena.ofAuto()).allocateNoInit(length,1); - System.out.println(length); - }else { - b=MemorySegment.ofArray(new byte[(int) length]); - } - } - return b; - } - public int getMaxCount() { - return maxcount; - } - public long getLength() { - return length; - } - -} diff --git a/src/org/kne/cloud/network/NetworkPacket.java b/src/org/kne/cloud/network/NetworkPacket.java index d0aef06..0815c0e 100644 --- a/src/org/kne/cloud/network/NetworkPacket.java +++ b/src/org/kne/cloud/network/NetworkPacket.java @@ -3,53 +3,12 @@ package org.kne.cloud.network; import java.io.IOException; import java.nio.channels.ReadableByteChannel; import java.nio.channels.WritableByteChannel; -import java.util.concurrent.atomic.AtomicLong; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; - -import org.kne.cloud.network.klalb.KLALBPacket; -import org.kne.debug.TimeDebugger; public abstract class NetworkPacket{ - private static final boolean debugPassport=false; public static final ByteBufferAllocator bufferAllocator=new ByteBufferAllocator(true); - //public static final ByteArrayPool dataarraypool_65535=new ByteArrayPool(10000, 65535); - - //public static final ByteBufferPool databufferpool_65535=new ByteBufferPool(10000, 65535,false); - - //public static final ByteBufferPool databufferpool_2048=new ByteBufferPool(10000, 2048,false); - - //public static final ByteBufferPool databufferpool_40=new ByteBufferPool(10000, 40,false); - - - private final TimeDebugger passport; - { - if(debugPassport) { - passport=new TimeDebugger(); - passport.putTime(getClass().getSimpleName()+ "_create"); - }else { - passport=null; - } - } - - public final void putTimePassport(String label) { - if(passport!=null) { - passport.putTime(label); - } - } - - public final void printPassport() { - if(passport!=null) { - passport.printWithTimeFilter(100000000L); - } - - } - - - public abstract long getTotalLength(); diff --git a/src/org/kne/cloud/network/ProtocolDetectorServerSocket.java b/src/org/kne/cloud/network/ProtocolDetectorServerSocket.java index 4e0b766..af60406 100644 --- a/src/org/kne/cloud/network/ProtocolDetectorServerSocket.java +++ b/src/org/kne/cloud/network/ProtocolDetectorServerSocket.java @@ -29,7 +29,7 @@ public class ProtocolDetectorServerSocket extends FilterServerSocket { public ProtocolDetectorSocket accept() throws IOException { ProtocolDetectorSocket s=(ProtocolDetectorSocket) super.accept(); int sot=s.getSoTimeout(); - s.setSoTimeout(1000); + s.setSoTimeout(200); InputStream ins=s.getInputStream(); ProtocolStack psd= protocolDetector.detect(ins); s.setSoTimeout(sot); diff --git a/src/org/kne/cloud/network/SocketChannelListener.java b/src/org/kne/cloud/network/SocketChannelListener.java index 892d81b..8fb3702 100644 --- a/src/org/kne/cloud/network/SocketChannelListener.java +++ b/src/org/kne/cloud/network/SocketChannelListener.java @@ -2,17 +2,12 @@ package org.kne.cloud.network; import java.io.Closeable; import java.io.IOException; -import java.net.InetAddress; -import java.net.ServerSocket; -import java.net.Socket; import java.net.SocketException; import java.net.UnknownHostException; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.util.function.Consumer; -import javax.net.ServerSocketFactory; - public class SocketChannelListener implements Closeable,AutoCloseable{ protected ServerSocketChannel serverSocketChannel; public ServerSocketChannel getServerSocketChannel() { @@ -28,7 +23,7 @@ public class SocketChannelListener implements Closeable,AutoCloseable{ while(flag){ try { SocketChannel soce=serverSocketChannel.accept(); - ThreadTool.makePThreadIfSupport("端口请求处理线程",()->{ + ThreadTool.makeVThreadIfSupport("端口请求处理线程",()->{ if(con!=null) { try { con.accept(soce); diff --git a/src/org/kne/cloud/network/SocketListener.java b/src/org/kne/cloud/network/SocketListener.java index be7298d..fd2213d 100644 --- a/src/org/kne/cloud/network/SocketListener.java +++ b/src/org/kne/cloud/network/SocketListener.java @@ -26,7 +26,7 @@ public class SocketListener implements Closeable,AutoCloseable{ while(flag){ try { Socket soce=serverSocket.accept(); - ThreadTool.makePThreadIfSupport("端口监听线程",()->{ + ThreadTool.makeVThreadIfSupport("端口监听线程",()->{ if(con!=null) { try { con.accept(soce); @@ -66,7 +66,7 @@ public class SocketListener implements Closeable,AutoCloseable{ protected void open() throws UnknownHostException, IOException { if(serverSocket==null) serverSocket=multipurposeSocketAddress.listenServerSocket(); - new Thread(r).start(); + ThreadTool.makeVThread("端口监听线程", r).start(); } public void close() { flag=false; diff --git a/src/org/kne/cloud/network/congestion/ArrayListMessageBatcher.java b/src/org/kne/cloud/network/congestion/ArrayListMessageBatcher.java index d5828e4..73445e5 100644 --- a/src/org/kne/cloud/network/congestion/ArrayListMessageBatcher.java +++ b/src/org/kne/cloud/network/congestion/ArrayListMessageBatcher.java @@ -2,13 +2,9 @@ package org.kne.cloud.network.congestion; import java.lang.ref.Cleaner; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.LockSupport; -import java.util.concurrent.locks.ReentrantLock; import java.util.function.Consumer; import org.kne.cloud.network.ThreadTool; @@ -78,11 +74,11 @@ public class ArrayListMessageBatcher implements MessageBatcher{ impl.close(); } public static void main(String[] args) throws InterruptedException { - for(;;){ + /*for(;;){ ArrayListMessageBatchermes=new ArrayListMessageBatcher<>(10, 1000000L); System.gc(); - } - /*ArrayListMessageBatchermes=new ArrayListMessageBatcher<>(10, 1000000L); + }*/ + ArrayListMessageBatchermes=new ArrayListMessageBatcher<>(10, 1000000L); mes.setConsumer((x)->{System.out.println(x);}); int n=0; for(;;){ @@ -91,7 +87,7 @@ public class ArrayListMessageBatcher implements MessageBatcher{ mes.putMessage(n++); mes.putMessage(n++); Thread.sleep(1); - }*/ + } } } class ArrayListMessageBatcherReleaser extends Releaser>{ @@ -114,18 +110,17 @@ class ArrayListMessageBatcherReleaser extends Releaser> consumer; private final Thread batchThread; - private final AtomicBoolean closed; + private final AtomicBoolean closed = new AtomicBoolean(false); private long firstTime; /** * 构造函数 * @param batchSize 批量大小,当消息达到此数量时触发发送 - * @param maxDelayMillis 最大延迟时间(毫秒),即使消息数量不足也会触发发送 + * @param maxDelay 最大延迟时间(毫秒),即使消息数量不足也会触发发送 */ public ArrayListMessageBatcher0(int batchSize, long maxDelay) { this.batchSize = batchSize; this.maxDelay = maxDelay; - this.closed = new AtomicBoolean(false); // 创建并启动批量处理线程 this.batchThread = ThreadTool.makeVDaemonThread("ArrayListMessageBatcher Thread", this ); diff --git a/src/org/kne/cloud/network/congestion/BBRCongestionAlgorithm.java b/src/org/kne/cloud/network/congestion/BBRCongestionAlgorithm.java index a87d424..1317607 100644 --- a/src/org/kne/cloud/network/congestion/BBRCongestionAlgorithm.java +++ b/src/org/kne/cloud/network/congestion/BBRCongestionAlgorithm.java @@ -1,7 +1,5 @@ package org.kne.cloud.network.congestion; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.BiConsumer; import java.util.function.Consumer; public class BBRCongestionAlgorithm implements CongestionAlgorithm ,DetnetCongestionAlgorithm{ @@ -12,9 +10,7 @@ public class BBRCongestionAlgorithm implements CongestionAlgorithm ,DetnetConges private static long MIN_WINDOW = 16384; private Consumer windowControlConsumer; - private BiConsumer speedControlConsumer; - private AtomicBoolean firstUpdate = new AtomicBoolean(true); private long MIN_RTTVAR = 5000000L; private volatile long RTTMin = 1000000000L; private volatile long RTTVar = 1000000000L; @@ -26,23 +22,19 @@ public class BBRCongestionAlgorithm implements CongestionAlgorithm ,DetnetConges private volatile long window=MIN_WINDOW; - private volatile long speed=MIN_SPEED; private volatile long maxwindow=99999999999L; private long congressSpeed=MIN_SPEED; private double MIN_GAIN=1.05; private double MAX_GAIN=1.20;//2.8853900817779 private double windowGain=MIN_GAIN; - private double speedGain=MAX_GAIN;//1.20 MAX_GAIN + private double burstLimit=1.20; @Override public void reset() { window = MIN_WINDOW; if (windowControlConsumer != null) { windowControlConsumer.accept(window); } - speed = MIN_SPEED; - if (speedControlConsumer != null) { - speedControlConsumer.accept(speed, BURST_TIME); - } + windowGain=MAX_GAIN; } @@ -51,10 +43,7 @@ public class BBRCongestionAlgorithm implements CongestionAlgorithm ,DetnetConges this.windowControlConsumer = windowControlConsumer; } - @Override - public void setSpeedControlConsumer(BiConsumer speedControlConsumer) { - this.speedControlConsumer = speedControlConsumer; - } + private long RTTstartTime = System.nanoTime(); private long bandwidth; @@ -65,14 +54,9 @@ public class BBRCongestionAlgorithm implements CongestionAlgorithm ,DetnetConges } else { RTTMin = (RTTMin * 99999 + latencyns) / 100000; } - if (firstUpdate.compareAndSet(true, false)) { - RTTAvg = latencyns; - RTTVar = latencyns / 2; - RTTAvg2 = latencyns; - } else { - RTTVar = (RTTVar * 3 + Math.abs(RTTAvg - latencyns)) / 4; - RTTAvg = (RTTAvg * 7 + latencyns) / 8; - } + RTTVar = (RTTVar * 3 + Math.abs(RTTAvg - latencyns)) / 4; + RTTAvg = (RTTAvg * 7 + latencyns) / 8; + RTO = RTTAvg + Math.max(MIN_RTTVAR, RTTVar * 4);// RTTVar*4 RTTTotal += latencyns; @@ -100,14 +84,10 @@ public class BBRCongestionAlgorithm implements CongestionAlgorithm ,DetnetConges } else { congressSpeed = (congressSpeed * 49 + bandwidth) / 50; } - speed=(long) (congressSpeed * speedGain)+MIN_SPEED ; window= ((long) (congressSpeed*windowGain )*(RTTMin+BIAS)/1000000000L)+MIN_WINDOW; if (windowControlConsumer != null) { windowControlConsumer.accept(window); } - if (speedControlConsumer != null) { - speedControlConsumer.accept(speed, BURST_TIME); - } } } @@ -124,6 +104,7 @@ public class BBRCongestionAlgorithm implements CongestionAlgorithm ,DetnetConges @Override public void setCurrentWindowUsed(long used) { + this.maxwindow = (long) (used*burstLimit) + MIN_WINDOW; } @@ -138,7 +119,6 @@ public class BBRCongestionAlgorithm implements CongestionAlgorithm ,DetnetConges @Override public void setUpperDelayBound(double upper) { MAX_GAIN=upper; - speedGain=MAX_GAIN; } @Override @@ -146,5 +126,14 @@ public class BBRCongestionAlgorithm implements CongestionAlgorithm ,DetnetConges MIN_GAIN=lower; windowGain=MIN_GAIN; } + @Override + public void setBurstLimit(double limit) { + burstLimit=limit; + } + + @Override + public String getName() { + return "BBR"; + } } diff --git a/src/org/kne/cloud/network/congestion/BBRVegasCongressAlgorithm.java b/src/org/kne/cloud/network/congestion/BBRVegasCongressAlgorithm.java deleted file mode 100644 index c9068f6..0000000 --- a/src/org/kne/cloud/network/congestion/BBRVegasCongressAlgorithm.java +++ /dev/null @@ -1,150 +0,0 @@ -package org.kne.cloud.network.congestion; - -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.BiConsumer; -import java.util.function.Consumer; - -public class BBRVegasCongressAlgorithm implements CongestionAlgorithm { - - private static final long BURST_TIME = 2000000L; - private static final long BIAS = 2000000L; - private static long MIN_SPEED = 128 * 1024L; - private static long MIN_WINDOW = 8192; - - private Consumer windowControlConsumer; - private BiConsumer speedControlConsumer; - - private AtomicBoolean firstUpdate = new AtomicBoolean(true); - private long MIN_RTTVAR = 50000000L; - private volatile long RTTMin = 1000000000L; - private volatile long RTTVar = 1000000000L; - private volatile long RTTAvg = 1000000000L; - private volatile long RTTAvg2 = 1000000000L; - private volatile long RTTTotal = 0; - private volatile long RTTCount = 0; - private volatile long RTO = 1000000000L; - - - private volatile long window=MIN_WINDOW; - private volatile long speed=MIN_SPEED; - private volatile long maxwindow=99999999999L; - private long congressSpeed=MIN_SPEED; - private double MAX_GAIN=2.8853900817779;//2.8853900817779 - private double MIN_GAIN=1.1; - private double gain=MAX_GAIN; - @Override - public void reset() { - window = MIN_WINDOW; - if (windowControlConsumer != null) { - windowControlConsumer.accept(window); - } - speed = MIN_SPEED; - if (speedControlConsumer != null) { - speedControlConsumer.accept(speed, BURST_TIME); - } - gain=MAX_GAIN; - } - - @Override - public void setWindowControlConsumer(Consumer windowControlConsumer) { - this.windowControlConsumer = windowControlConsumer; - } - - @Override - public void setSpeedControlConsumer(BiConsumer speedControlConsumer) { - this.speedControlConsumer = speedControlConsumer; - } - - private long RTTstartTime = System.nanoTime(); - @Override - public synchronized void putAck(long packetSize, long latencyns, boolean ecn) { - if (latencyns <= RTTMin) { - RTTMin = latencyns; - } else { - RTTMin = (RTTMin * 99999 + latencyns) / 100000; - } - if (firstUpdate.compareAndSet(true, false)) { - RTTAvg = latencyns; - RTTVar = latencyns / 2; - RTTAvg2 = latencyns; - } else { - RTTVar = (RTTVar * 3 + Math.abs(RTTAvg - latencyns)) / 4; - RTTAvg = (RTTAvg * 7 + latencyns) / 8; - } - RTO = RTTAvg + Math.max(MIN_RTTVAR, RTTVar * 4);// RTTVar*4 - - RTTTotal += latencyns; - RTTCount++; - long curr=System.nanoTime(); - if(curr-RTTstartTime>RTTMin) { - if(RTTCount>0) { - RTTAvg2=(RTTAvg2+RTTTotal/RTTCount)/2; - RTTTotal=0; - RTTCount=0; - } - long RTTAvg2x=Math.max(RTTAvg2-BIAS,RTTMin); - double excepted=window/(double)RTTMin; - double actual=window/(double)RTTAvg2x; - double diff=(excepted-actual)*RTTMin; - if(diff>65536*3+3) { - gain-=0.0005; - } - if(diff<65536*3+1) { - gain+=0.0005; - } - if(gain>=MAX_GAIN){ - gain=MAX_GAIN; - //System.out.println("window:"+window); - } - if(gain= congressSpeed) { - congressSpeed = (congressSpeed * 49 + bandwidth) / 50; - } else { - congressSpeed = (congressSpeed *2 + bandwidth) / 3; - }*/ - if (bandwidth >= congressSpeed) { - //congressSpeed = bandwidth; - congressSpeed = (congressSpeed + bandwidth) / 2; - } else { - congressSpeed = (congressSpeed * 49 + bandwidth) / 50; - } - speed=Math.max(MIN_SPEED,(long) (congressSpeed * gain)) ; - window=Math.max( (Math.max(MIN_SPEED,(long) (congressSpeed*gain ))*Math.max(2000000L,RTTMin)/1000000000L),MIN_WINDOW); - if (windowControlConsumer != null) { - windowControlConsumer.accept(window); - } - if (speedControlConsumer != null) { - speedControlConsumer.accept(speed, BURST_TIME); - } - //System.out.println(gain); - //System.out.println(bandwidth+" "+congressSpeed+" "+window); - } - -} diff --git a/src/org/kne/cloud/network/congestion/CongestionAlgorithm.java b/src/org/kne/cloud/network/congestion/CongestionAlgorithm.java index 9f46731..ec41593 100644 --- a/src/org/kne/cloud/network/congestion/CongestionAlgorithm.java +++ b/src/org/kne/cloud/network/congestion/CongestionAlgorithm.java @@ -1,16 +1,18 @@ package org.kne.cloud.network.congestion; -import java.util.function.BiConsumer; import java.util.function.Consumer; public interface CongestionAlgorithm { public void reset(); public void setWindowControlConsumer(ConsumerwindowControlConsumer); - public void setSpeedControlConsumer(BiConsumerspeedControlConsumer); - public void putAck(long packetSize,long latencyns,boolean ecn); + public void putAck(long packetSize,long RTTns,boolean ecn); + default public void putAck(long packetSize,long RTTns,long OWDup,boolean ecn) { + putAck(packetSize,RTTns,ecn); + } public void putLoss(long packetSize,long lossns,int losscounter); public void setCurrentWindowUsed(long maxwindow); public void setCurrentBandwidth(long bandwidth); public long getRTO(); + public String getName(); } diff --git a/src/org/kne/cloud/network/congestion/DCTCP2CongestionAlgorithm.java b/src/org/kne/cloud/network/congestion/DCTCP2CongestionAlgorithm.java index c6cf508..611b9e5 100644 --- a/src/org/kne/cloud/network/congestion/DCTCP2CongestionAlgorithm.java +++ b/src/org/kne/cloud/network/congestion/DCTCP2CongestionAlgorithm.java @@ -1,44 +1,33 @@ package org.kne.cloud.network.congestion; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicLong; -import java.util.concurrent.locks.ReentrantLock; -import java.util.function.BiConsumer; import java.util.function.Consumer; +import org.jctools.counters.FixedSizeStripedLongCounter; +import org.kne.cloud.network.klalb.KLALBUtils; + public class DCTCP2CongestionAlgorithm implements CongestionAlgorithm { private static final long BURST_TIME = 1000000L; private static final long BIAS = 2000000L; - private static long MIN_SPEED = 64 * 1024L; - private static long MIN_WINDOW = 32768; + private static long MIN_WINDOW = 8192; private Consumer windowControlConsumer; - private BiConsumer speedControlConsumer; - private AtomicBoolean firstUpdate = new AtomicBoolean(true); - private long MIN_RTTVAR = 400000000L; - private volatile long RTTMin = 1000000000L; + private long MIN_RTTVAR = 100000000L; private volatile long RTTVar = 1000000000L; private volatile long RTTAvg = 1000000000L; private double ECNAvg2 = 0L; private double alpha=0; - private volatile AtomicLong ECNSize = new AtomicLong(0); - private volatile AtomicLong TotalSize = new AtomicLong(0); - private volatile long RTO = 1000000000L; + private volatile FixedSizeStripedLongCounter ECNSize = KLALBUtils.createCounter(); + private volatile FixedSizeStripedLongCounter TotalSize = KLALBUtils.createCounter(); + private volatile long RTO = 500000000L; private volatile long window=MIN_WINDOW; - private volatile long windowUsed=MIN_WINDOW; + private volatile long maxwindow = 99999999999L; private volatile long congressWindowSize=MIN_WINDOW; - private volatile long speed=MIN_SPEED; - private long congressSpeed=MIN_SPEED; private long RTTstartTime = System.nanoTime(); - private long bandwidth=MIN_SPEED; - private double MAX_GAIN=1.5;//2.8853900817779 - private double MIN_GAIN=1.2; - private double gain=MAX_GAIN; @Override public void reset() { @@ -46,11 +35,6 @@ public class DCTCP2CongestionAlgorithm implements CongestionAlgorithm { if (windowControlConsumer != null) { windowControlConsumer.accept(window); } - speed = MIN_SPEED; - if (speedControlConsumer != null) { - speedControlConsumer.accept(speed, BURST_TIME); - } - gain=MAX_GAIN; } @Override @@ -58,73 +42,44 @@ public class DCTCP2CongestionAlgorithm implements CongestionAlgorithm { this.windowControlConsumer = windowControlConsumer; } - @Override - public void setSpeedControlConsumer(BiConsumer speedControlConsumer) { - this.speedControlConsumer = speedControlConsumer; - } @Override public synchronized void putAck(long packetSize, long latencyns, boolean ecn) { - if (latencyns <= RTTMin) { - RTTMin = latencyns; - } else { - RTTMin = (RTTMin * 99999 + latencyns) / 100000; - } - if (firstUpdate.compareAndSet(true, false)) { - RTTAvg = latencyns; - RTTVar = latencyns / 2; - } else { - RTTVar = (RTTVar * 3 + Math.abs(RTTAvg - latencyns)) / 4; - RTTAvg = (RTTAvg * 7 + latencyns) / 8; - } + + + RTTVar = (RTTVar * 3 + Math.abs(RTTAvg - latencyns)) / 4; + RTTAvg = (RTTAvg * 7 + latencyns) / 8; + RTO = RTTAvg + Math.max(MIN_RTTVAR, RTTVar * 4);// RTTVar*4 if(ecn) { - ECNSize.addAndGet(packetSize); + ECNSize.inc(packetSize); } - TotalSize.addAndGet(packetSize); + TotalSize.inc(packetSize); long curr=System.nanoTime(); if(curr-RTTstartTime>(RTTAvg+BIAS)) { RTTstartTime=curr; - long totalSize=TotalSize.getAndSet(0); - long ecnSize=ECNSize.getAndSet(0); + long totalSize=TotalSize.getAndReset(); + long ecnSize=ECNSize.getAndReset(); if(totalSize!=0) { ECNAvg2=ecnSize/(double)totalSize; - alpha=(alpha*15+ECNAvg2)/16; + alpha=(alpha*7+ECNAvg2)/8; } if(ECNAvg2>0.5) { - gain=MIN_GAIN; - if(congressWindowSize>MIN_WINDOW) { congressWindowSize-=200; - updateWindowSize(); - } - }else if(ECNAvg2>0.1){ - if(windowUsed*3L>=congressWindowSize) { + }else if(ECNAvg2>0.01){ congressWindowSize+=200; - updateWindowSize(); - } }else { - if(windowUsed*3L>=congressWindowSize) { - congressWindowSize+=8000; - updateWindowSize(); - } + congressWindowSize+=4000; } //System.out.println(ECNAvg2); //System.out.println(speed+" "+window); - if (bandwidth >= congressSpeed) { - congressSpeed = bandwidth; - } else { - congressSpeed = (congressSpeed * 99 + bandwidth) / 100; - } - speed=Math.max(MIN_SPEED,(long) (congressSpeed * gain)) ; - if (speedControlConsumer != null) { - speedControlConsumer.accept(speed, BURST_TIME); - } + updateWindowSize(); } @@ -132,6 +87,11 @@ public class DCTCP2CongestionAlgorithm implements CongestionAlgorithm { } private void updateWindowSize() { + if(congressWindowSizemaxwindow) { + congressWindowSize=maxwindow; + } window=Math.max( congressWindowSize,MIN_WINDOW); if (windowControlConsumer != null) { windowControlConsumer.accept(window); @@ -150,12 +110,17 @@ public class DCTCP2CongestionAlgorithm implements CongestionAlgorithm { @Override public void setCurrentWindowUsed(long used) { - this.windowUsed=used; + this.maxwindow=(long) (used*1.5)+MIN_WINDOW; } @Override public void setCurrentBandwidth(long bandwidth) { - this.bandwidth=bandwidth; + + } + + @Override + public String getName() { + return "DCTCP2"; } } diff --git a/src/org/kne/cloud/network/congestion/DCTCPCongestionAlgorithm.java b/src/org/kne/cloud/network/congestion/DCTCPCongestionAlgorithm.java index 361596c..936b431 100644 --- a/src/org/kne/cloud/network/congestion/DCTCPCongestionAlgorithm.java +++ b/src/org/kne/cloud/network/congestion/DCTCPCongestionAlgorithm.java @@ -2,8 +2,6 @@ package org.kne.cloud.network.congestion; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; -import java.util.concurrent.locks.ReentrantLock; -import java.util.function.BiConsumer; import java.util.function.Consumer; public class DCTCPCongestionAlgorithm implements CongestionAlgorithm { @@ -11,13 +9,12 @@ public class DCTCPCongestionAlgorithm implements CongestionAlgorithm { private static final long BURST_TIME = 1000000L; private static final long BIAS = 2000000L; private static long MIN_SPEED = 64 * 1024L; - private static long MIN_WINDOW = 32768; + private static long MIN_WINDOW = 8192; private Consumer windowControlConsumer; - private BiConsumer speedControlConsumer; private AtomicBoolean firstUpdate = new AtomicBoolean(true); - private long MIN_RTTVAR = 400000000L; + private long MIN_RTTVAR = 100000000L; private volatile long RTTMin = 1000000000L; private volatile long RTTVar = 1000000000L; private volatile long RTTAvg = 1000000000L; @@ -31,14 +28,10 @@ public class DCTCPCongestionAlgorithm implements CongestionAlgorithm { private volatile long window=MIN_WINDOW; private volatile long windowUsed=MIN_WINDOW; private volatile long congressWindowSize=MIN_WINDOW; - private volatile long speed=MIN_SPEED; - private long congressSpeed=MIN_SPEED; private long RTTstartTime = System.nanoTime(); - private long bandwidth=MIN_SPEED; private double MAX_GAIN=2.8853900817779;//2.8853900817779 private double MIN_GAIN=1.2; - private double gain=MAX_GAIN; @Override public void reset() { @@ -46,11 +39,6 @@ public class DCTCPCongestionAlgorithm implements CongestionAlgorithm { if (windowControlConsumer != null) { windowControlConsumer.accept(window); } - speed = MIN_SPEED; - if (speedControlConsumer != null) { - speedControlConsumer.accept(speed, BURST_TIME); - } - gain=MAX_GAIN; } @Override @@ -58,10 +46,6 @@ public class DCTCPCongestionAlgorithm implements CongestionAlgorithm { this.windowControlConsumer = windowControlConsumer; } - @Override - public void setSpeedControlConsumer(BiConsumer speedControlConsumer) { - this.speedControlConsumer = speedControlConsumer; - } @Override public synchronized void putAck(long packetSize, long latencyns, boolean ecn) { @@ -86,7 +70,7 @@ public class DCTCPCongestionAlgorithm implements CongestionAlgorithm { long curr=System.nanoTime(); - if(curr-RTTstartTime>(RTTAvg+BIAS)) { + if(curr-RTTstartTime>Math.max(BIAS, 2*RTTMin)) { RTTstartTime=curr; long totalSize=TotalSize.getAndSet(0); @@ -94,37 +78,23 @@ public class DCTCPCongestionAlgorithm implements CongestionAlgorithm { if(totalSize!=0) { ECNAvg2=ecnSize/(double)totalSize; alpha=(alpha*15+ECNAvg2)/16; + //System.out.println(ECNAvg2); } - if(ECNAvg2>0.6) { - gain=MIN_GAIN; + if(ECNAvg2>0.5) { if(congressWindowSize>MIN_WINDOW) { congressWindowSize=Math.max(MIN_WINDOW,(long) (congressWindowSize*(1-alpha/10))); updateWindowSize(); } - }else if(ECNAvg2>0.2){ - if(windowUsed*3L>=congressWindowSize) { - congressWindowSize+=200; - updateWindowSize(); - } }else { if(windowUsed*3L>=congressWindowSize) { - congressWindowSize+=8000; + congressWindowSize+=4000; updateWindowSize(); } } //System.out.println(ECNAvg2); //System.out.println(speed+" "+window); - if (bandwidth >= congressSpeed) { - congressSpeed = bandwidth; - } else { - congressSpeed = (congressSpeed * 99 + bandwidth) / 100; - } - speed=Math.max(MIN_SPEED,(long) (congressSpeed * gain)) ; - if (speedControlConsumer != null) { - speedControlConsumer.accept(speed, BURST_TIME); - } } @@ -155,7 +125,14 @@ public class DCTCPCongestionAlgorithm implements CongestionAlgorithm { @Override public void setCurrentBandwidth(long bandwidth) { - this.bandwidth=bandwidth; + } + @Override + public String getName() { + return "DCTCP"; + } + + + } diff --git a/src/org/kne/cloud/network/congestion/DetnetCongestionAlgorithm.java b/src/org/kne/cloud/network/congestion/DetnetCongestionAlgorithm.java index 9d2bce1..83d401a 100644 --- a/src/org/kne/cloud/network/congestion/DetnetCongestionAlgorithm.java +++ b/src/org/kne/cloud/network/congestion/DetnetCongestionAlgorithm.java @@ -3,4 +3,5 @@ package org.kne.cloud.network.congestion; public interface DetnetCongestionAlgorithm extends CongestionAlgorithm { public void setUpperDelayBound(double upper); public void setLowerDelayBound(double lower); + public void setBurstLimit(double limit); } diff --git a/src/org/kne/cloud/network/congestion/EmptyCongestionAlgorithm.java b/src/org/kne/cloud/network/congestion/NOCongestionAlgorithm.java similarity index 73% rename from src/org/kne/cloud/network/congestion/EmptyCongestionAlgorithm.java rename to src/org/kne/cloud/network/congestion/NOCongestionAlgorithm.java index 373aaab..a736748 100644 --- a/src/org/kne/cloud/network/congestion/EmptyCongestionAlgorithm.java +++ b/src/org/kne/cloud/network/congestion/NOCongestionAlgorithm.java @@ -1,9 +1,8 @@ package org.kne.cloud.network.congestion; -import java.util.function.BiConsumer; import java.util.function.Consumer; -public class EmptyCongestionAlgorithm implements CongestionAlgorithm{ +public class NOCongestionAlgorithm implements CongestionAlgorithm{ private long timeout; @@ -23,11 +22,7 @@ public class EmptyCongestionAlgorithm implements CongestionAlgorithm{ } - @Override - public void setSpeedControlConsumer(BiConsumer speedControlConsumer) { - // TODO 自动生成的方法存根 - - } + @Override public void putAck(long packetSize, long latencyns, boolean ecn) { @@ -53,7 +48,7 @@ public class EmptyCongestionAlgorithm implements CongestionAlgorithm{ } - public EmptyCongestionAlgorithm(long timeout) { + public NOCongestionAlgorithm(long timeout) { super(); this.timeout = timeout; } @@ -63,4 +58,9 @@ public class EmptyCongestionAlgorithm implements CongestionAlgorithm{ return timeout; } + @Override + public String getName() { + return "NO"; + } + } diff --git a/src/org/kne/cloud/network/congestion/ReceiveByteSlidingWindow.java b/src/org/kne/cloud/network/congestion/ReceiveByteSlidingWindow.java deleted file mode 100644 index 8185309..0000000 --- a/src/org/kne/cloud/network/congestion/ReceiveByteSlidingWindow.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.kne.cloud.network.congestion; - -import java.util.Objects; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicLong; -import java.util.concurrent.atomic.AtomicReferenceArray; - -public class ReceiveByteSlidingWindow { - private AtomicReferenceArray array; - private AtomicInteger windowSize =new AtomicInteger(); - private AtomicLong windowPosition=new AtomicLong(); - - public int getWindowSize() { - return windowSize.get(); - } - - public void setWindowSize(int windowSize) { - this.windowSize.set(windowSize); - } - - public long getWindowPosition() { - return windowPosition.get(); - } - - public void setWindowPosition(long windowPosition) { - this.windowPosition.set(windowPosition); - } - - public ReceiveByteSlidingWindow(int capacity){ - array=new AtomicReferenceArray(capacity); - } - - public boolean push(E object) { - Objects.requireNonNull(object); - if(array.get((int) ((windowPosition.get()-windowSize.get())%array.length()))==null ) { - array.set((int) (windowPosition.getAndIncrement()%array.length()), object); - return true; - } - return false; - } - - public E pull(long number) { - return array.getAndSet((int) (number%array.length()), null); - } -} diff --git a/src/org/kne/cloud/network/congestion/SendByteSlidingWindow.java b/src/org/kne/cloud/network/congestion/SendByteSlidingWindow.java deleted file mode 100644 index 653443c..0000000 --- a/src/org/kne/cloud/network/congestion/SendByteSlidingWindow.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.kne.cloud.network.congestion; - -import java.util.Iterator; -import java.util.Objects; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicLong; -import java.util.concurrent.atomic.AtomicReferenceArray; - -public class SendByteSlidingWindow implements Iterable{ - private Object[] array; - private volatile int windowSize ; - private volatile long windowPosition; - - public int getWindowSize() { - return windowSize; - } - - public void setWindowSize(int windowSize) { - this.windowSize=windowSize; - } - - public long getWindowPosition() { - return windowPosition; - } - - public void setWindowPosition(long windowPosition) { - this.windowPosition=windowPosition; - } - - public SendByteSlidingWindow(int capacity,int windowSize){ - if(windowSize>capacity) { - throw new IllegalArgumentException("windowSize>capacity!"); - } - array= new Object[capacity]; - this.windowSize=windowSize; - } - - public boolean checkPush() { - if(array[calcPosition(windowPosition-windowSize)]==null ) { - return true; - } - return false; - } - - public void push(E object) { - - array[calcPosition(windowPosition)]= object; - } - - public E remove(long number) { - if(number=windowPosition-windowSize) { - int indp=calcPosition(number); - E old=(E) array[indp]; - array[indp]=null; - return old; - }else { - return null; - } - } - - public boolean isEmpty() { - for (long i = windowPosition-windowSize; i < windowPosition; i++) { - if(array[calcPosition(i)]!=null) { - return false; - } - } - return true; - } - - public E get(long number) { - if(number=windowPosition-windowSize) { - return (E) array[calcPosition(number)]; - }else { - return null; - } - } - - @Override - public Iterator iterator() { - return new Iterator() { - private long pointer=windowPosition-windowSize; - @Override - public boolean hasNext() { - return pointer implements Closeable, AutoCloseable { - private Map> sendMap = new ConcurrentHashMap<>(1024, 0.2f); - private AtomicLong sendmapWindowUsed=new AtomicLong(0); - //private LongAdder sendmapWindowUsed = new LongAdder(); + private ThreadParker tp=new ThreadParker(); + + private Map> sendMap = new ConcurrentHashMap<>(2048); + private AtomicLong sendWindowUsed=new AtomicLong(0); + //private LongAdder sendWindowUsed = new LongAdder(); private int headerCalibrate = 0; @@ -36,14 +33,14 @@ public class SendPacketSlidingWindow implements Clos private Consumer resendConsumer; private Consumer closingConsumer; - private volatile boolean closed = false; private ResendChecker checker = new ResendChecker(); - private AtomicLong windowSize = new AtomicLong(); private Lock lock; private Condition condition; private boolean removeAtResend; + private volatile long windowSize =0; + private volatile boolean closed = false; public SendPacketSlidingWindow(CongestionAlgorithm algorithm, long windowSize) { this(algorithm, windowSize, 0, true); @@ -58,17 +55,17 @@ public class SendPacketSlidingWindow implements Clos this.headerCalibrate = headerCalibrate; this.removeAtResend = removeAtResend; this.algorithm = algorithm; - this.windowSize.set(windowSize); + this.windowSize=windowSize; Thread t = ThreadTool.makeVThread("重路由计时器线程", checker); t.start(); } public long getWindowSize() { - return windowSize.get(); + return windowSize; } public void setWindowSize(long windowSize) { - this.windowSize.set(windowSize); + this.windowSize=windowSize; } public Consumer getResendConsumer() { @@ -87,8 +84,8 @@ public class SendPacketSlidingWindow implements Clos this.closingConsumer = closingConsumer; } - public long getSendmapWindowUsed() { - return sendmapWindowUsed.get(); + public long getSendWindowUsed() { + return sendWindowUsed.get(); } public int getHeaderCalibrate() { @@ -99,20 +96,38 @@ public class SendPacketSlidingWindow implements Clos return algorithm; } - public boolean isCongress(IPv6Packet iPv6Packet, double scale) { - boolean congress = sendmapWindowUsed.get() > windowSize.get() * scale; + public boolean isCongestion( double scale) { + boolean congress = sendWindowUsed.get() > windowSize * scale; return congress; } + public boolean isCongestion() { + boolean congress = sendWindowUsed.get() > windowSize ; + return congress; + } + + public void waitForAvaliable() throws SocketException { + while(isCongestion()) { + if(closed) { + throw new SocketException("Send window closed!"); + } + tp.parkNanos(1000000L); + } + } + public void putBlocked(K sequence, V packet) throws SocketException { + waitForAvaliable(); + put(sequence,packet); + } + public void put(K sequence, V packet) { - SendItem newitem = new SendItem(packet); + SendItem newitem = new SendItem(packet,headerCalibrate); SendItem old = sendMap.put(sequence, newitem); long dx=0; if (old != null) { - dx=-(old.getPacketLength() + headerCalibrate); + dx=-old.getPacketLength() ; } - long newWindow =sendmapWindowUsed.addAndGet(newitem.getPacketLength() + headerCalibrate+dx); + long newWindow =sendWindowUsed.addAndGet(newitem.getPacketLength() +dx); algorithm.setCurrentWindowUsed(newWindow); } public V ack(K sequence) { @@ -122,10 +137,11 @@ public class SendPacketSlidingWindow implements Clos public V ack(K sequence,boolean ecn) { SendItem ipv6; if ((ipv6 = sendMap.remove(sequence)) != null) { - long newWindow =sendmapWindowUsed.addAndGet(-(ipv6.getPacketLength() + headerCalibrate)); + long newWindow =sendWindowUsed.addAndGet(-ipv6.getPacketLength() ); algorithm.setCurrentWindowUsed(newWindow); long RTTC = System.nanoTime() - ipv6.getSendtime(); algorithm.putAck(ipv6.getPacketLength(), RTTC, ecn); + tp.unpark(); // System.out.println("remove:"+aseq.getSequence()+" "+sendMap.size()); Lock lockx = lock; if (lockx != null) { @@ -146,6 +162,34 @@ public class SendPacketSlidingWindow implements Clos } } + public V ack(K sequence,boolean ecn,long OWDdown) { + SendItem ipv6; + if ((ipv6 = sendMap.remove(sequence)) != null) { + long newWindow =sendWindowUsed.addAndGet(-ipv6.getPacketLength() ); + algorithm.setCurrentWindowUsed(newWindow); + long RTTC = System.nanoTime() - ipv6.getSendtime(); + algorithm.putAck(ipv6.getPacketLength(), RTTC,OWDdown, ecn); + tp.unpark(); + // System.out.println("remove:"+aseq.getSequence()+" "+sendMap.size()); + Lock lockx = lock; + if (lockx != null) { + lockx.lock(); + try { + Condition cds = condition; + if (cds != null) { + cds.signalAll(); + } + } finally { + lockx.unlock(); + } + } + return ipv6.getPacket(); + } else { + // System.out.println("miss:"+aseq.getSequence()+" "+sendMap.size()); + return null; + } + } + private class ResendChecker implements Runnable { @Override @@ -159,8 +203,9 @@ public class SendPacketSlidingWindow implements Clos if (current - sitm.getSendtime() > algorithm.getRTO()) { if (removeAtResend) { iterator.remove(); - long newWindow = sendmapWindowUsed.addAndGet((int) -(sitm.getPacketLength() + headerCalibrate)); + long newWindow = sendWindowUsed.addAndGet((int) -sitm.getPacketLength() ); algorithm.setCurrentWindowUsed(newWindow); + tp.unpark(); } else { sitm.setSendtime(current); } @@ -183,7 +228,7 @@ public class SendPacketSlidingWindow implements Clos } } sendMap.clear(); - sendmapWindowUsed.set(0); + sendWindowUsed.set(0); } } @@ -215,7 +260,20 @@ public class SendPacketSlidingWindow implements Clos @Override public String toString() { - return "SendPacketSlidingWindow [sendmapWindowUsed=" + sendmapWindowUsed + ", windowSize=" + windowSize + "]"; + return "SendPacketSlidingWindow [sendWindowUsed=" + sendWindowUsed + ", windowSize=" + windowSize + ", closed=" + + closed + "]"; } + public void waitForEmpty() throws SocketException { + while(!isEmpty()) { + if(isClosed()) { + throw new SocketException("Send window closed!"); + } + tp.parkNanos(1000000L); + } + } + + + + } diff --git a/src/org/kne/cloud/network/congestion/Vegas2CongestionAlgorithm.java b/src/org/kne/cloud/network/congestion/Vegas2CongestionAlgorithm.java index f52d4ac..fc8bc39 100644 --- a/src/org/kne/cloud/network/congestion/Vegas2CongestionAlgorithm.java +++ b/src/org/kne/cloud/network/congestion/Vegas2CongestionAlgorithm.java @@ -1,7 +1,5 @@ package org.kne.cloud.network.congestion; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.BiConsumer; import java.util.function.Consumer; public class Vegas2CongestionAlgorithm implements CongestionAlgorithm,DetnetCongestionAlgorithm { @@ -9,19 +7,15 @@ public class Vegas2CongestionAlgorithm implements CongestionAlgorithm,DetnetCong // 可配置的时延膨胀比上下限 - Vegas2.0核心参数 private double delayUpperBound = 1.20; // RTT上限为基础RTT的1.2倍 private double delayLowerBound = 1.15; // RTT下限为基础RTT的1.05倍 + private double burstLimit=1.20; private static final long BURST_TIME = 2000000L; - private static final long BIAS = 500000L; - private static long MIN_SPEED = 256 * 1024L; + private static final long BIAS = 1000000L; private static long MIN_WINDOW = 16384; - // 新增:窗口调整参数(可基于当前窗口大小动态调整) - private static final double WINDOW_ADJUST_FACTOR = 0.01; // 1%的窗口调整幅度 private Consumer windowControlConsumer; - private BiConsumer speedControlConsumer; - private AtomicBoolean firstUpdate = new AtomicBoolean(true); private long MIN_RTTVAR = 30000000L; private volatile long RTTMin = 1000000000L; // BaseRTT private volatile long RTTVar = 1000000000L; @@ -31,12 +25,15 @@ public class Vegas2CongestionAlgorithm implements CongestionAlgorithm,DetnetCong private volatile long RTTCount = 0; private volatile long RTO = 1000000000L; + + private volatile long OWDTotal = 0; + private volatile long OWDCount = 0; + private volatile long OWDAvg2 = 1000000000L; // 当前平滑OWD + private volatile long OWDMin = 1000000000L; // BaseRTT + private volatile long window = MIN_WINDOW; private volatile long window2 = MIN_WINDOW; - private volatile long speed = MIN_SPEED; private volatile long maxwindow = 99999999999L; - private long congressSpeed=MIN_SPEED; - public Vegas2CongestionAlgorithm() { reset(); } @@ -47,10 +44,7 @@ public class Vegas2CongestionAlgorithm implements CongestionAlgorithm,DetnetCong if (windowControlConsumer != null) { windowControlConsumer.accept(window); } - speed = MIN_SPEED; - if (speedControlConsumer != null) { - speedControlConsumer.accept(speed, BURST_TIME); - } + } @Override @@ -58,15 +52,17 @@ public class Vegas2CongestionAlgorithm implements CongestionAlgorithm,DetnetCong this.windowControlConsumer = windowControlConsumer; } - @Override - public void setSpeedControlConsumer(BiConsumer speedControlConsumer) { - this.speedControlConsumer = speedControlConsumer; - } + private long RTTstartTime = System.nanoTime(); - @Override - public synchronized void putAck(long packetSize, long latencyns, boolean ecn) { + + + @Override + public void putAck(long packetSize, long RTTns, long OWDup, boolean ecn) { + if(RTTns<0) { + throw new IllegalArgumentException("RTT:"+ RTTns+" is negative!"); + } // 处理ECN信号 - 将其视为强烈的拥塞信号 if (ecn) { // 当收到ECN时,更激进地减少窗口 @@ -77,35 +73,128 @@ public class Vegas2CongestionAlgorithm implements CongestionAlgorithm,DetnetCong } // 更新最小RTT(BaseRTT) - if (latencyns <= RTTMin) { - RTTMin = latencyns; + if (RTTns <= RTTMin) { + RTTMin = RTTns; } else { // 缓慢适应:当网络路径真正变化时,BaseRTT应能缓慢更新 // 这里使用极慢的衰减因子,只有在持续观测到更低RTT时才快速更新 - RTTMin = (RTTMin * 9999 + latencyns) / 10000; + RTTMin = (RTTMin * 999 + RTTns) / 1000; + } + + // 更新最小OWD(BaseOWD) + if (OWDup <= OWDMin) { + OWDMin = OWDup; + } else { + // 缓慢适应:当网络路径真正变化时,BaseRTT应能缓慢更新 + // 这里使用极慢的衰减因子,只有在持续观测到更低RTT时才快速更新 + OWDMin = (OWDMin * 999 + OWDup) / 1000; } // 更新平滑RTT估计 - if (firstUpdate.compareAndSet(true, false)) { - RTTAvg = latencyns; - RTTVar = latencyns / 2; - RTTAvg2 = latencyns; - } else { - RTTVar = (RTTVar * 3 + Math.abs(RTTAvg - latencyns)) / 4; - RTTAvg = (RTTAvg * 7 + latencyns) / 8; - } + + RTTVar = (RTTVar * 3 + Math.abs(RTTAvg - RTTns)) / 4; + RTTAvg = (RTTAvg * 7 + RTTns) / 8; + RTO = RTTAvg + Math.max(MIN_RTTVAR, RTTVar * 4); - RTTTotal += latencyns; + RTTTotal += RTTns; + RTTCount++; + + OWDTotal += OWDup; + OWDCount++; + + long curr = System.nanoTime(); + // 每个RTT周期调整一次窗口(使用当前估计的RTT) + if (curr - RTTstartTime > Math.max(BIAS, 2*RTTMin)) { + long RTTCountx=RTTCount; + if (RTTCountx > 0) { + long currentRTT = RTTTotal / RTTCountx; + //RTTAvg2 = (RTTAvg2 * 3 + currentRTT) / 4; // 平滑当前RTT + RTTAvg2=currentRTT; + RTTTotal = 0; + RTTCount = 0; + } + + long OWDCountx=OWDCount; + if (OWDCountx > 0) { + long currentOWD = OWDTotal / OWDCountx; + OWDAvg2=currentOWD; + OWDTotal = 0; + OWDCount = 0; + } + + + // ================== Vegas2.0核心逻辑 ================== + // 1. 计算时延膨胀比 + double delayRatio = (double) OWDAvg2 / (double) Math.max(BIAS, OWDMin); + //System.out.println(delayRatio+" "+RTTAvg2/1000000.0+" "+RTTMin/1000000.0); + // 2. 基于比值的窗口调整(取代原来的基于差值的调整) + if (delayRatio > delayUpperBound) { + // 时延过高:减小窗口,减少幅度与超标程度成正比 + window2 -= 4096; + } else if (delayRatio < delayLowerBound) { + // 时延过低:增大窗口,增加幅度与低于目标程度成正比 + window2 += 4096; + } else { + + } + // =================================================== + + + + + updateWindowSize(); + RTTstartTime = curr; + + + + + } + } + + @Override + public void putAck(long packetSize, long RTTns, boolean ecn) { + if(RTTns<0) { + throw new IllegalArgumentException("RTT:"+ RTTns+" is negative!"); + } + // 处理ECN信号 - 将其视为强烈的拥塞信号 + if (ecn) { + // 当收到ECN时,更激进地减少窗口 + window2 = Math.max(0, window2 * 3 / 4); + if (windowControlConsumer != null) { + windowControlConsumer.accept(window2); + } + } + + // 更新最小RTT(BaseRTT) + if (RTTns <= RTTMin) { + RTTMin = RTTns; + } else { + // 缓慢适应:当网络路径真正变化时,BaseRTT应能缓慢更新 + // 这里使用极慢的衰减因子,只有在持续观测到更低RTT时才快速更新 + RTTMin = (RTTMin * 999 + RTTns) / 1000; + } + + // 更新平滑RTT估计 + + RTTVar = (RTTVar * 3 + Math.abs(RTTAvg - RTTns)) / 4; + RTTAvg = (RTTAvg * 7 + RTTns) / 8; + + + RTO = RTTAvg + Math.max(MIN_RTTVAR, RTTVar * 4); + + RTTTotal += RTTns; RTTCount++; long curr = System.nanoTime(); // 每个RTT周期调整一次窗口(使用当前估计的RTT) - if (curr - RTTstartTime > Math.max(BIAS, RTTMin)) { - if (RTTCount > 0) { - long currentRTT = RTTTotal / RTTCount; - RTTAvg2 = (RTTAvg2 * 3 + currentRTT) / 4; // 平滑当前RTT + if (curr - RTTstartTime > Math.max(BIAS, 2*RTTMin)) { + long RTTCountx=RTTCount; + if (RTTCountx > 0) { + long currentRTT = RTTTotal / RTTCountx; + //RTTAvg2 = (RTTAvg2 * 3 + currentRTT) / 4; // 平滑当前RTT + RTTAvg2=currentRTT; RTTTotal = 0; RTTCount = 0; } @@ -113,64 +202,47 @@ public class Vegas2CongestionAlgorithm implements CongestionAlgorithm,DetnetCong // ================== Vegas2.0核心逻辑 ================== // 1. 计算时延膨胀比 double delayRatio = (double) RTTAvg2 / (double) Math.max(BIAS, RTTMin); - + //System.out.println(delayRatio+" "+RTTAvg2/1000000.0+" "+RTTMin/1000000.0); // 2. 基于比值的窗口调整(取代原来的基于差值的调整) - long adjustStep = Math.max(512, (long)(window2 * WINDOW_ADJUST_FACTOR)); - if (delayRatio > delayUpperBound) { // 时延过高:减小窗口,减少幅度与超标程度成正比 - double exceedRatio = delayRatio / delayUpperBound; - window2 -= (long)(adjustStep * exceedRatio); + window2 -= 4096; } else if (delayRatio < delayLowerBound) { // 时延过低:增大窗口,增加幅度与低于目标程度成正比 - double belowRatio = delayLowerBound / delayRatio; - window2 += (long)(adjustStep * belowRatio); + window2 += 4096; } else { - // 在理想区间内:微调以维持稳定 - // 计算目标RTT = BaseRTT × 目标膨胀比 - long targetRTT = (long)(Math.max(BIAS, RTTMin) * (delayLowerBound + delayUpperBound) / 2.0); - - if (RTTAvg2 > targetRTT) { - // 略高于目标:小幅减少 - window2 = Math.max(0, window2 - 256); - } else if (RTTAvg2 < targetRTT) { - // 略低于目标:小幅增加 - window2 = Math.min(maxwindow, window2 + 256); - } - // 非常接近目标:保持窗口不变 + } // =================================================== - // 窗口边界检查 - if (window2 >= maxwindow) { - window2 = maxwindow; - } - if (window2 < 0) { - window2 = 0; - } + + + updateWindowSize(); RTTstartTime = curr; - if (bandwidth >= congressSpeed) { - congressSpeed = bandwidth; - //congressSpeed = (congressSpeed + bandwidth) / 2; - } else { - congressSpeed = (congressSpeed * 49 + bandwidth) / 50; - } - // 速度计算:基于当前窗口和RTT,考虑一个安全边界 - // 使用目标膨胀比而非固定1.2倍,确保与窗口控制逻辑一致 - window=window2+MIN_WINDOW; - speed=(long) (congressSpeed * delayUpperBound)+MIN_SPEED ; - if (windowControlConsumer != null) { - windowControlConsumer.accept(window); - } - if (speedControlConsumer != null) { - speedControlConsumer.accept(speed, BURST_TIME); - } + } } + + private void updateWindowSize() { + // 窗口边界检查 + if (window2 >= maxwindow) { + window2 = maxwindow; + } + if (window2 < 0) { + window2 = 0; + } + // 速度计算:基于当前窗口和RTT,考虑一个安全边界 + // 使用目标膨胀比而非固定1.2倍,确保与窗口控制逻辑一致 + window=window2+MIN_WINDOW; + + if (windowControlConsumer != null) { + windowControlConsumer.accept(window); + } + } @Override public void putLoss(long packetSize, long lossns, int losscounter) { @@ -183,14 +255,12 @@ public class Vegas2CongestionAlgorithm implements CongestionAlgorithm,DetnetCong @Override public void setCurrentWindowUsed(long used) { - this.maxwindow = used * 16 + 65536; + this.maxwindow = (long) (used * burstLimit )+ MIN_WINDOW; } - private long bandwidth; @Override public void setCurrentBandwidth(long bandwidth) { // 可选:基于已知带宽信息调整参数 - this.bandwidth=bandwidth; } // 新增方法:获取当前状态信息(用于监控和调试) @@ -215,4 +285,14 @@ public class Vegas2CongestionAlgorithm implements CongestionAlgorithm,DetnetCong public void setLowerDelayBound(double lower) { delayLowerBound=lower; } + + @Override + public void setBurstLimit(double limit) { + burstLimit=limit; + } + @Override + public String getName() { + return "Vegas2"; + } + } \ No newline at end of file diff --git a/src/org/kne/cloud/network/ipv6/AbstractIPv6NetworkLink.java b/src/org/kne/cloud/network/ipv6/AbstractIPv6NetworkLink.java index 778c40c..f6bafc6 100644 --- a/src/org/kne/cloud/network/ipv6/AbstractIPv6NetworkLink.java +++ b/src/org/kne/cloud/network/ipv6/AbstractIPv6NetworkLink.java @@ -1,16 +1,9 @@ package org.kne.cloud.network.ipv6; -import java.io.IOException; -import java.net.Inet6Address; -import java.util.List; import java.util.concurrent.CopyOnWriteArraySet; -import java.util.concurrent.locks.Condition; -import java.util.concurrent.locks.Lock; import java.util.function.BiConsumer; -import java.util.function.Consumer; import java.util.function.Supplier; -import org.kne.cloud.network.klalb.KLALBRemoteLine; import org.kne.cloud.network.srv6.SRv6Router; public abstract class AbstractIPv6NetworkLink implements IPv6NetworkLink { diff --git a/src/org/kne/cloud/network/ipv6/ControlledIPv6NetworkLink.java b/src/org/kne/cloud/network/ipv6/ControlledIPv6NetworkLink.java index 14b3884..ddcd3ff 100644 --- a/src/org/kne/cloud/network/ipv6/ControlledIPv6NetworkLink.java +++ b/src/org/kne/cloud/network/ipv6/ControlledIPv6NetworkLink.java @@ -6,11 +6,10 @@ import java.util.function.Consumer; public interface ControlledIPv6NetworkLink extends IPv6NetworkLink { - public boolean isCongress(IPv6Packet iPv6Packet,double scale); + public boolean isCongestion(IPv6Packet iPv6Packet,double scale); public default boolean isCongress(IPv6Packet iPv6Packet) { - return isCongress(iPv6Packet, 1.0); + return isCongestion(iPv6Packet, 1.0); } void setRerouteConsumer(Consumer rerouteConsumer); - public boolean isReachSpeedLimit(IPv6Packet iPv6Packet); public void setCongressCondition(Lock lock,Condition condition); } diff --git a/src/org/kne/cloud/network/ipv6/ICMPv6Packet.java b/src/org/kne/cloud/network/ipv6/ICMPv6Packet.java index 34c5ae2..785705c 100644 --- a/src/org/kne/cloud/network/ipv6/ICMPv6Packet.java +++ b/src/org/kne/cloud/network/ipv6/ICMPv6Packet.java @@ -34,7 +34,7 @@ public class ICMPv6Packet extends IPv6Payload { private boolean isDefault; protected ICMPv6Packet(ByteBuffer header,boolean isDefault) { - super(ICMPv6_PROTOCOL_NUMBER, false); + super(ICMPv6_PROTOCOL_NUMBER); this.header=header; this.isDefault=isDefault; @@ -45,7 +45,7 @@ public class ICMPv6Packet extends IPv6Payload { } protected ICMPv6Packet(int type, int code,boolean isDefault) { - super(ICMPv6_PROTOCOL_NUMBER, false); + super(ICMPv6_PROTOCOL_NUMBER); header = NetworkPacket.bufferAllocator.allocate(ICMPv6_HEADER_LENGTH); getHeader().put((byte) type); getHeader().put((byte) code); diff --git a/src/org/kne/cloud/network/ipv6/IPv6Packet.java b/src/org/kne/cloud/network/ipv6/IPv6Packet.java index ab94b65..f84638f 100644 --- a/src/org/kne/cloud/network/ipv6/IPv6Packet.java +++ b/src/org/kne/cloud/network/ipv6/IPv6Packet.java @@ -4,32 +4,21 @@ import java.io.EOFException; import java.io.IOException; import java.io.StreamCorruptedException; import java.net.Inet6Address; -import java.net.InetAddress; import java.net.UnknownHostException; import java.nio.ByteBuffer; import java.nio.channels.ReadableByteChannel; import java.nio.channels.WritableByteChannel; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.UUID; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; -import org.kne.cloud.network.ByteBufferAllocator; import org.kne.cloud.network.NetworkPacket; -import org.kne.cloud.network.ipv6.IPv6Packet.IPv6ExtHeader; -import org.kne.cloud.network.ipv6.IPv6Packet.IPv6SegmentRoutingHeader; import org.kne.cloud.network.klalb.KLALBPacket; +import org.kne.cloud.network.kltp.KLTPPacket; import org.kne.cloud.network.srv6.IPv6SegmentRoutingTLV; -import org.kne.cloud.network.srv6.IpV6RoutingSRHData; -import org.kne.cloud.network.srv6.SRv6Pad1TLV; -import org.kne.cloud.network.srv6.SRv6PadNTLV; -import org.kne.cloud.network.srv6.SRv6StreamSequenceTLV; -import org.kne.cloud.network.srv6.SRv6TLV; import org.kne.cloud.network.tcp.UDPPacket; import org.kne.io.KNEChannels; -import org.pcap4j.packet.namednumber.IpNumber; /** * IPv6数据包类,继承自NetworkPacket,用于处理IPv6网络数据包 @@ -231,15 +220,7 @@ public class IPv6Packet extends NetworkPacket { nextHeader == ICMPv6; } - private IPv6NetworkLink previousLink; - - public IPv6NetworkLink getPreviousLink() { - return previousLink; - } - - public void setPreviousLink(IPv6NetworkLink previousLink) { - this.previousLink = previousLink; - } + // TTL是否已减少的标志 private boolean TTLdecreased = false; @@ -318,7 +299,10 @@ public class IPv6Packet extends NetworkPacket { * @return 流量类别 */ public int getTrafficClass() { - return (IPv6header.get(0) << 4) & (IPv6header.get(1) >>> 4) & BIT_MASK_LOW_8_BITS; + // 读取字节 0 和字节 1 组成一个 short(16 位) + short firstTwoBytes = IPv6header.getShort(0); + // 提取 Traffic Class:高 4 位(Version)去掉,剩下就是 8 位 Traffic Class + return (firstTwoBytes & 0x0FF0) >>> 4; } /** @@ -326,8 +310,14 @@ public class IPv6Packet extends NetworkPacket { * @param trafficClass 流量类别 */ public void setTrafficClass(int trafficClass) { - IPv6header.put(0, (byte) (IPv6header.get(0) & BIT_MASK_HIGH_4_BITS | (trafficClass >>> 4))); - IPv6header.put(1, (byte) (IPv6header.get(1) & BIT_MASK_LOW_4_BITS | ((trafficClass & BIT_MASK_LOW_4_BITS) << 4))); + // 读取当前的两个字节 + short firstTwoBytes = IPv6header.getShort(0); + // 清除原来的 Traffic Class 位(将中间 8 位清零) + short cleared = (short) (firstTwoBytes & 0xF00F); // 保留高 4 位和低 4 位 + // 组合新的 Traffic Class + short newValue = (short) (cleared | ((trafficClass & 0xFF) << 4)); + // 一次性写回 + IPv6header.putShort(0, newValue); } /** @@ -349,7 +339,11 @@ public class IPv6Packet extends NetworkPacket { * 标记CE(拥塞经历) */ public void markCE() { - IPv6header.put(1, (byte) (IPv6header.get(1) | 0b00110000)); + byte g=IPv6header.get(1); + if((g& 0b00110000) != 0) { + // 启用ECN + IPv6header.put(1, (byte) ( g| 0b00110000)); + } // new Exception().printStackTrace(); } @@ -366,7 +360,10 @@ public class IPv6Packet extends NetworkPacket { * @return 流标签 */ public int getFlowLabel() { - return ((IPv6header.get(1) & BIT_MASK_LOW_4_BITS) << 16) | (IPv6header.getShort(2) & BIT_MASK_LOW_16_BITS); + // 读取前 4 个字节(32 位) + int firstWord = IPv6header.getInt(0); + // 提取 Flow Label:高 12 位(Version + Traffic Class)去掉,剩下低 20 位 + return firstWord & 0x000FFFFF; } /** @@ -374,8 +371,14 @@ public class IPv6Packet extends NetworkPacket { * @param flowLabel 流标签 */ public void setFlowLabel(int flowLabel) { - IPv6header.put(1, (byte) (IPv6header.get(1) & BIT_MASK_HIGH_4_BITS | (flowLabel >>> 16))); - IPv6header.putShort(2, (short) flowLabel); + // 读取当前前 4 个字节 + int firstWord = IPv6header.getInt(0); + // 清除原来的 Flow Label(将低 20 位清零) + int cleared = firstWord & 0xFFF00000; // 保留高 12 位 + // 组合新的 Flow Label(只取低 20 位) + int newWord = cleared | (flowLabel & 0x000FFFFF); + // 一次性写回 + IPv6header.putInt(0, newWord); } /** @@ -461,7 +464,6 @@ public class IPv6Packet extends NetworkPacket { /** * 获取原始源地址字节数组 - * @param sourceAddress 用于存储源地址的字节数组 * @return */ public IPv6Address getSourceAddress() { @@ -479,7 +481,6 @@ public class IPv6Packet extends NetworkPacket { /** * 获取原始目标地址字节数组 - * @param destinationAddress 用于存储目标地址的字节数组 */ public IPv6Address getDestinationAddress() { return IPv6Address.valueOf(DESTINATION_ADDRESS_OFFSET,IPv6header); @@ -707,13 +708,12 @@ public class IPv6Packet extends NetworkPacket { KLALBPacket kp = KLALBPacket.readKLALBPacketFromChannel(din); this.payload = kp; break loop; - case EXPERIMENTAL_1: // 空负载 - IPv6Payload epld = new IPv6EmptyPayload(); - epld.readFromChannel(din, payloadlength); + case KLTPPacket.KLTP_PROTOCOL_NUMBER: //KLTP协议 + IPv6Payload epld = KLTPPacket.readKLTPPacketFromChannel(din); this.payload = epld; break loop; default: // 其他协议类型 - IPv6Payload pld = new IPv6Payload(nextheader); + IPv6Payload pld = new IPv6DefaultPayload(nextheader); pld.readFromChannel(din, payloadlength); this.payload = pld; break loop; @@ -754,56 +754,28 @@ public class IPv6Packet extends NetworkPacket { /** * IPv6负载数据类 */ - public static class IPv6Payload extends NetworkPacket { - private ByteBuffer data; + public static abstract class IPv6Payload extends NetworkPacket { - private boolean onDefault = true; private IPv6Packet parent; - public ByteBuffer getData() { - return data; - } - private int protocolNumber; + + public IPv6Payload(int protocolNumber) { - this(protocolNumber, true); + this.protocolNumber=protocolNumber; } - protected IPv6Payload(int protocolNumber, boolean isonDefault) { - this.protocolNumber = protocolNumber; - this.onDefault = isonDefault; - if (onDefault) - this.data = NetworkPacket.bufferAllocator.allocate(65535); - } + public int getProtocolNumber() { return protocolNumber; } - public long getTotalLength() { - return data.limit(); - } - @Override - public void writeToChannel(WritableByteChannel dto) throws IOException { - if (onDefault) - dto.write(data.slice(0, data.limit())); - } - - @Override - public void readFromChannel(ReadableByteChannel din, long length) throws IOException { - if (onDefault) { - data.limit((int) length); - while (data.hasRemaining()) { - if (din.read(data) == -1) { - throw new EOFException(); - } - } - } - } + @Override protected boolean needEndPosition() { @@ -817,31 +789,37 @@ public class IPv6Packet extends NetworkPacket { return parent; } } + + public static class IPv6DefaultPayload extends IPv6Payload{ - /** - * 空IPv6负载数据类 - */ - public static class IPv6EmptyPayload extends IPv6Payload { - - public IPv6EmptyPayload() { - super(EXPERIMENTAL_1, false); + private ByteBuffer data; + public ByteBuffer getData() { + return data; } - - @Override + public IPv6DefaultPayload(int protocolNumber) { + super(protocolNumber); + this.data = NetworkPacket.bufferAllocator.allocate(65535); + } public long getTotalLength() { - return 0; + return data.limit(); } - @Override public void writeToChannel(WritableByteChannel dto) throws IOException { - + dto.write(data.slice(0, data.limit())); } @Override public void readFromChannel(ReadableByteChannel din, long length) throws IOException { - + data.limit((int) length); + while (data.hasRemaining()) { + if (din.read(data) == -1) { + throw new EOFException(); + } + } } } + + /** * IPv6扩展头部基类 @@ -1131,12 +1109,16 @@ public class IPv6Packet extends NetworkPacket { public IPv6SegmentRoutingHeader(List segs) { this(); this.addresses.addAll(segs); - int ln = addresses.size() - 1; - setLastEntry(ln); - setSegmentsLeft(ln); + resetSegmentPos(); } - public int getLastEntry() { + public void resetSegmentPos() { + int ln = addresses.size() - 1; + setLastEntry(ln); + setSegmentsLeft(ln); + } + + public int getLastEntry() { return getData().get(4) & BIT_MASK_LOW_8_BITS; } diff --git a/src/org/kne/cloud/network/ipv6/IPv6TUNLoopbackNetworkLink.java b/src/org/kne/cloud/network/ipv6/IPv6TUNLoopbackNetworkLink.java index fbd3cd6..33a8ea2 100644 --- a/src/org/kne/cloud/network/ipv6/IPv6TUNLoopbackNetworkLink.java +++ b/src/org/kne/cloud/network/ipv6/IPv6TUNLoopbackNetworkLink.java @@ -8,7 +8,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.LockSupport; @@ -22,12 +21,7 @@ import org.kne.cloud.network.klalb.CONST; import org.kne.cloud.network.monitor.SpeedAndTrafficMonitorDataImpl; import org.kne.cloud.network.srv6.DetNetSRv6TLV; import org.kne.cloud.network.srv6.IPv6SegmentRoutingTLV; -import org.kne.cloud.network.srv6.IpV6RoutingSRHData; -import org.kne.cloud.network.srv6.PacketConsumer; -import org.kne.cloud.network.srv6.SRv6PacketReorder; import org.kne.cloud.network.srv6.SRv6Router; -import org.kne.cloud.network.srv6.SRv6StreamSequenceTLV; -import org.kne.cloud.network.srv6.SRv6TLV; import org.kne.cloud.network.tun.InetAddressRow; import org.kne.cloud.network.tun.TUNChannel; import org.kne.cloud.network.tun.TUNNetworkDevice; @@ -94,7 +88,7 @@ public class IPv6TUNLoopbackNetworkLink extends AbstractIPv6NetworkLink con.accept(IPv6TUNLoopbackNetworkLink.this, () -> { UUID pid = ipp.getPacketID(); if (pid != null) { - monitor.getUploadBandwidth().recordPacket(pid, (int) ipp.getTotalLength()); + monitor.getUploadBandwidth().recordPacket(pid,1, (int) ipp.getTotalLength()); } // ipp.setDisposeAfterSend(true); // ipp.getPayload().setDisposeAfterSend(true); @@ -203,23 +197,14 @@ public class IPv6TUNLoopbackNetworkLink extends AbstractIPv6NetworkLink pack.writeToChannel(KNEChannels.newWritableChannel(tmp)); UUID pid = pack.getPacketID(); if (pid != null) { - monitor.getUploadBandwidth().recordPacket(pid, (int) pack.getTotalLength()); + monitor.getUploadBandwidth().recordPacket(pid, 1,(int) pack.getTotalLength()); } tmp.flip(); sendQueue.add(tmp); LockSupport.unpark(tr); } - private SRv6StreamSequenceTLV getStreamSequenceTLV(IpV6RoutingSRHData srh) { - List stv = srh.getTlvs(); - for (Iterator iterator = stv.iterator(); iterator.hasNext();) { - SRv6TLV sRv6TLV = (SRv6TLV) iterator.next(); - if (sRv6TLV.getType() == SRv6TLV.SEQS) { - return (SRv6StreamSequenceTLV) sRv6TLV; - } - } - return null; - } + @Override public boolean isLoopBack() { @@ -282,11 +267,11 @@ public class IPv6TUNLoopbackNetworkLink extends AbstractIPv6NetworkLink for (Iterator iteratorx = getNeighborsInfo().iterator(); iteratorx.hasNext();) { Neighbor addresses = (Neighbor) iteratorx.next(); RouteItem ri = new RouteItem(new IPv6AddressGroup(addresses.getAddress().getAddress(), 128), - addresses.getAddress().getAddress(), this, "Direct", 0, 128, addresses.getMonitor(), "D", false); + addresses.getAddress().getAddress(), this, "Direct", 0, 128, null, "D", false); rlist.add(ri); RouteItem ris = new RouteItem(addresses.getLocator(), addresses.getLocator().getAddress(), this, - "KLALB SRv6", 13, 128, addresses.getMonitor(), "D", false); + "KLALB SRv6", 13, 128, null, "D", false); rlist.add(ris); } diff --git a/src/org/kne/cloud/network/ipv6/LoopbackIPv6NetworkLink.java b/src/org/kne/cloud/network/ipv6/LoopbackIPv6NetworkLink.java index 33e8ef8..c8695f7 100644 --- a/src/org/kne/cloud/network/ipv6/LoopbackIPv6NetworkLink.java +++ b/src/org/kne/cloud/network/ipv6/LoopbackIPv6NetworkLink.java @@ -1,19 +1,13 @@ package org.kne.cloud.network.ipv6; import java.io.IOException; -import java.net.Inet6Address; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.locks.Condition; -import java.util.concurrent.locks.Lock; import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Supplier; -import org.kne.cloud.network.srv6.PacketConsumer; import org.kne.cloud.network.srv6.SRv6Router; public class LoopbackIPv6NetworkLink extends AbstractIPv6NetworkLink implements IPv6NetworkLink { @@ -28,9 +22,9 @@ public class LoopbackIPv6NetworkLink extends AbstractIPv6NetworkLink implements this.fallbackLink = fallbackLink; } - private Map protocolNumberRegister = new ConcurrentHashMap<>(256 * 2); + private IPv6ProtocolRegister[] protocolNumberRegister = new IPv6ProtocolRegister[256]; - public Map getProtocolNumberRegister() { + public IPv6ProtocolRegister[] getProtocolNumberRegister() { return protocolNumberRegister; } @@ -46,9 +40,9 @@ public class LoopbackIPv6NetworkLink extends AbstractIPv6NetworkLink implements @Override public void sendPacket(IPv6Packet pack, IPv6Address next) throws IOException { - PacketConsumer pcm= protocolNumberRegister.get(pack.getPayload().getProtocolNumber()); + IPv6ProtocolRegister pcm= protocolNumberRegister[pack.getPayload().getProtocolNumber()]; if (pcm != null) { - if(!pcm.accept(pack)) { + if(!pcm.onaccept(pack)) { if(fallbackLink!=null) { fallbackLink.sendPacket(pack, next); } @@ -110,13 +104,13 @@ public class LoopbackIPv6NetworkLink extends AbstractIPv6NetworkLink implements for (Iterator iteratorx = getNeighborsInfo().iterator(); iteratorx.hasNext();) { Neighbor addresses = (Neighbor) iteratorx.next(); RouteItem ri = new RouteItem(new IPv6AddressGroup(addresses.getAddress().getAddress(), 128), - addresses.getAddress().getAddress(), this, "Direct", 0, 128, addresses.getMonitor(), "D", + addresses.getAddress().getAddress(), this, "Direct", 0, 128, null, "D", false); rlist.add(ri); RouteItem ris = new RouteItem(addresses.getLocator(), addresses.getLocator().getAddress(), this, "KLALB SRv6", 13, 128, - addresses.getMonitor(), "D", false); + null, "D", false); rlist.add(ris); } diff --git a/src/org/kne/cloud/network/ipv6/RouteItem.java b/src/org/kne/cloud/network/ipv6/RouteItem.java index 2c51cc1..4e3c67f 100644 --- a/src/org/kne/cloud/network/ipv6/RouteItem.java +++ b/src/org/kne/cloud/network/ipv6/RouteItem.java @@ -1,14 +1,7 @@ package org.kne.cloud.network.ipv6; -import java.net.Inet6Address; -import java.net.InetAddress; import java.util.Objects; - - -import org.kne.cloud.network.ipv6.IPv6NetworkLink; -import org.kne.cloud.network.ipv6.IPv6AddressGroup; -import org.kne.cloud.network.monitor.DelayMonitorData; -import org.kne.cloud.network.monitor.MonitorData; +import java.util.function.Supplier; public class RouteItem implements Comparable,Cloneable{ private IPv6AddressGroup destination; @@ -18,14 +11,11 @@ public class RouteItem implements Comparable,Cloneable{ private int pre; private long cost; private String flag; - private MonitorData monitor; + private Supplier costSupplier; private boolean isLoopback; public String getFlag() { return flag; } - public MonitorData getMonitor() { - return monitor; - } @Override public int hashCode() { return Objects.hash(cost, destination, destlink, flag, nexthop, pre, proto); @@ -56,7 +46,7 @@ public class RouteItem implements Comparable,Cloneable{ this.isLoopback=isLoopback; } public RouteItem(IPv6AddressGroup destination, IPv6Address nexthop, IPv6NetworkLink destlink, String proto, int pre, - long cost,MonitorData monitor,String flag,boolean isLoopback) { + long cost,Supplier costSupplier,String flag,boolean isLoopback) { super(); this.destination = destination; this.nexthop = nexthop; @@ -64,7 +54,7 @@ public class RouteItem implements Comparable,Cloneable{ this.proto = proto; this.pre = pre; this.cost = cost; - this.monitor=monitor; + this.costSupplier=costSupplier; this.flag=flag; this.isLoopback=isLoopback; } @@ -99,6 +89,7 @@ public class RouteItem implements Comparable,Cloneable{ public boolean checkMatch(byte[] ia) { return destination.checkMatch(ia); }*/ + @Override public int compareTo(RouteItem o) { int v1=destination.compareTo(o.destination); @@ -110,22 +101,23 @@ public class RouteItem implements Comparable,Cloneable{ int v3=Long.compare(cost, o.cost); return v3; } + public Supplier getCostSupplier() { + return costSupplier; + } @Override public Object clone() { try { RouteItem ri=(RouteItem) super.clone(); - if(monitor!=null) - ri.monitor=(MonitorData) monitor.clone(); return ri; } catch (CloneNotSupportedException e) { e.printStackTrace(); return null; } } - - public void preSort() { - if(monitor!=null) { - cost=((DelayMonitorData)monitor).getOutDelay(); + //在排序前调用,计算cost + public void updateCost() { + if(costSupplier!=null) { + cost=costSupplier.get(); } } public boolean ECMPequals(RouteItem prevr) { diff --git a/src/org/kne/cloud/network/ipv6/TLV.java b/src/org/kne/cloud/network/ipv6/TLV.java index da83dda..20be70c 100644 --- a/src/org/kne/cloud/network/ipv6/TLV.java +++ b/src/org/kne/cloud/network/ipv6/TLV.java @@ -43,7 +43,7 @@ public static final int PAD1=0; private boolean isDefault; - protected volatile ByteBuffer header; + protected ByteBuffer header; private ByteBuffer data; diff --git a/src/org/kne/cloud/network/klalb/BindableKLALBPacketConsumer.java b/src/org/kne/cloud/network/klalb/BindableConsumer.java similarity index 69% rename from src/org/kne/cloud/network/klalb/BindableKLALBPacketConsumer.java rename to src/org/kne/cloud/network/klalb/BindableConsumer.java index 913d48e..4a5c7d4 100644 --- a/src/org/kne/cloud/network/klalb/BindableKLALBPacketConsumer.java +++ b/src/org/kne/cloud/network/klalb/BindableConsumer.java @@ -1,9 +1,9 @@ package org.kne.cloud.network.klalb; import java.net.InetAddress; -import java.net.ServerSocket; +import java.util.function.Consumer; -public interface BindableKLALBPacketConsumer extends PacketConsumer { +public interface BindableConsumer extends Consumer { public InetAddress getRemoteInetAddress() ; public InetAddress getLocalInetAddress() ; public int getPort() ; diff --git a/src/org/kne/cloud/network/klalb/CONST.java b/src/org/kne/cloud/network/klalb/CONST.java index 822420a..fbddc50 100644 --- a/src/org/kne/cloud/network/klalb/CONST.java +++ b/src/org/kne/cloud/network/klalb/CONST.java @@ -18,4 +18,6 @@ public class CONST { public static final int linepanelheight = 41; public static final int settingheight = 30; public static final int dialwidth = 150; + public static final int windowwidth = 1200; + public static final int windowheight = 800; } diff --git a/src/org/kne/cloud/network/klalb/DATATPacket.java b/src/org/kne/cloud/network/klalb/DATATPacket.java index f386468..ff76593 100644 --- a/src/org/kne/cloud/network/klalb/DATATPacket.java +++ b/src/org/kne/cloud/network/klalb/DATATPacket.java @@ -6,6 +6,7 @@ import java.nio.ByteBuffer; import java.nio.channels.ReadableByteChannel; import java.nio.channels.WritableByteChannel; import java.util.Arrays; +import java.util.concurrent.atomic.AtomicInteger; import org.kne.cloud.network.NetworkPacket; @@ -101,7 +102,16 @@ public class DATATPacket extends KLALBPacket implements PortPacket{ public int getSize() { return dataBuffer.limit(); } + private int sendCounter=0; + public int getSendCounter() { + return sendCounter; + } + + public void incSendCounter() { + sendCounter++; + } + @Override public void writeToChannel(WritableByteChannel dto) throws IOException { klalbHeader.put(17, (byte) getSendCounter()); @@ -126,6 +136,6 @@ public class DATATPacket extends KLALBPacket implements PortPacket{ } dataBuffer.flip(); } - + } diff --git a/src/org/kne/cloud/network/klalb/KLALBController.java b/src/org/kne/cloud/network/klalb/KLALBController.java index 13e6750..4ad7189 100644 --- a/src/org/kne/cloud/network/klalb/KLALBController.java +++ b/src/org/kne/cloud/network/klalb/KLALBController.java @@ -7,42 +7,30 @@ import java.net.Inet6Address; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.NetworkInterface; -import java.net.NoRouteToHostException; import java.net.SocketException; import java.net.SocketTimeoutException; import java.net.UnknownHostException; -import java.nio.ByteBuffer; -import java.nio.channels.ReadableByteChannel; -import java.nio.channels.WritableByteChannel; -import java.security.SecureRandom; import java.util.ArrayList; -import java.util.Collections; import java.util.Enumeration; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Map.Entry; -import java.util.Scanner; import java.util.Set; import java.util.Timer; import java.util.TimerTask; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; -import java.util.concurrent.Executor; -import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ThreadFactory; import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.LockSupport; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.function.BiConsumer; import java.util.function.Consumer; -import org.kne.cloud.clock.AdjustedNanoClock; import org.kne.cloud.clock.HighAccuracyClock; import org.kne.cloud.network.IPMulticastDiscovery; import org.kne.cloud.network.MultipurposeSocketAddress; @@ -50,41 +38,27 @@ import org.kne.cloud.network.PortPair; import org.kne.cloud.network.SocketType; import org.kne.cloud.network.ThreadTool; import org.kne.cloud.network.ipv6.IPv6Address; +import org.kne.cloud.network.ipv6.IPv6AddressGroup; import org.kne.cloud.network.ipv6.IPv6NetworkLink; import org.kne.cloud.network.ipv6.IPv6Packet; -import org.kne.cloud.network.ipv6.IPv6Packet.IPv6ExtHeader; -import org.kne.cloud.network.ipv6.IPv6Packet.IPv6Payload; import org.kne.cloud.network.ipv6.IPv6TUNLoopbackNetworkLink; -import org.kne.cloud.network.ipv6.IPv6AddressGroup; -import org.kne.cloud.network.ipv6.LoopbackIPv6NetworkLink; import org.kne.cloud.network.ipv6.Neighbor; -import org.kne.cloud.network.ipv6.PacketID; +import org.kne.cloud.network.kltp.KLTPPacket; +import org.kne.cloud.network.kltp.KLTPProtocolRegister; import org.kne.cloud.network.monitor.HashMapTimestampMonitor; -import org.kne.cloud.network.monitor.MonitorData; import org.kne.cloud.network.monitor.SpeedAndTrafficMonitorDataImpl; -import org.kne.cloud.network.monitor.TimestampMonitor; import org.kne.cloud.network.ntp.NTPContext; import org.kne.cloud.network.ntp.NTPv4Packet; import org.kne.cloud.network.ntp.NTPv4Protocol; import org.kne.cloud.network.ntp.NTPv4Protocol.NTPPeer; -import org.kne.cloud.network.srv6.JsonDataPacket; import org.kne.cloud.network.srv6.KLALBRoutingProtocol; import org.kne.cloud.network.srv6.KLALBRoutingProtocolAPIClient; import org.kne.cloud.network.srv6.KLALBRoutingProtocolAPIServer; -import org.kne.cloud.network.srv6.KLALBRoutingProtocolJsonData; -import org.kne.cloud.network.srv6.PacketConsumer; import org.kne.cloud.network.srv6.SRv6Router; import org.kne.cloud.network.srv6.SRv6RouterListener; import org.kne.cloud.network.tcp.UDPPacket; +import org.kne.cloud.network.tcp.UDPProtocolRegister; import org.kne.cloud.network.te.BandwidthDistributer; -import org.kne.cloud.network.te.DWRRLoadingBalanceAlgorithm; -import org.kne.concurrent.DisruptorExecutor; -import org.kne.concurrent.HighPerformanceExecutor; -import org.kne.io.KNEChannels; -import org.pcap4j.packet.IpV6Packet.IpV6Header; - -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; public class KLALBController { private UUID nodeuuid=UUID.randomUUID(); @@ -93,14 +67,14 @@ public class KLALBController { public HighAccuracyClock getClock() { return clock; } - + private final long TIME_WINDOW=5000000000L; private SpeedAndTrafficMonitorDataImpl linkMonitor = new SpeedAndTrafficMonitorDataImpl( - new HashMapTimestampMonitor(HighAccuracyClock.SYSTEM_CLOCK, "up", 100, 500000000L), - new HashMapTimestampMonitor(HighAccuracyClock.SYSTEM_CLOCK, "down", 100, 500000000L)); + new HashMapTimestampMonitor(HighAccuracyClock.SYSTEM_CLOCK, "up", 100,TIME_WINDOW ), + new HashMapTimestampMonitor(HighAccuracyClock.SYSTEM_CLOCK, "down", 100, TIME_WINDOW)); private SpeedAndTrafficMonitorDataImpl datatMonitor = new SpeedAndTrafficMonitorDataImpl( - new HashMapTimestampMonitor(HighAccuracyClock.SYSTEM_CLOCK, "up", 100, 500000000L), - new HashMapTimestampMonitor(HighAccuracyClock.SYSTEM_CLOCK, "down", 100, 500000000L)); + new HashMapTimestampMonitor(HighAccuracyClock.SYSTEM_CLOCK, "up", 100, TIME_WINDOW), + new HashMapTimestampMonitor(HighAccuracyClock.SYSTEM_CLOCK, "down", 100, TIME_WINDOW)); private List selflineTable = new ArrayList<>(); @@ -123,6 +97,17 @@ public class KLALBController { public List getDnsAddresses() { return dnsAddresses; } + private ScheduledExecutorService scheduleTimer=Executors.newScheduledThreadPool(Runtime.getRuntime().availableProcessors(),new ThreadFactory() { + + @Override + public Thread newThread(Runnable r) { + return ThreadTool.makeVDaemonThreadIfSupport("计时器线程", r); + } + }); + + public ScheduledExecutorService getScheduleTimer() { + return scheduleTimer; + } private Timer twk = new Timer("网卡检测扫描计时器", true); @@ -193,8 +178,8 @@ public class KLALBController { Set st = new HashSet<>(); for (Iterator iterator = srv6Router.getLinkTabel().iterator(); iterator.hasNext();) { IPv6NetworkLink link = iterator.next(); - if (link instanceof KLALBRemoteLine) { - KLALBRemoteLine multipurposeSocketAddress = (KLALBRemoteLine) link; + if (link instanceof KLALBRemoteLink) { + KLALBRemoteLink multipurposeSocketAddress = (KLALBRemoteLink) link; if (multipurposeSocketAddress.getSocketAddress() != null) st.add(multipurposeSocketAddress.getSocketAddress()); } @@ -206,8 +191,8 @@ public class KLALBController { } for (Iterator iterator = srv6Router.getLinkTabel().iterator(); iterator.hasNext();) { IPv6NetworkLink link = iterator.next(); - if (link instanceof KLALBRemoteLine) { - KLALBRemoteLine reml = (KLALBRemoteLine) link; + if (link instanceof KLALBRemoteLink) { + KLALBRemoteLink reml = (KLALBRemoteLink) link; if (reml.getSocketAddress() != null) { if (reml.getBindAddress() != null || reml.getRemoteVaddr() != null) try { @@ -237,6 +222,8 @@ public class KLALBController { updateBroadcastNetworkInterface(); } catch (SocketException e) { + }catch (Exception e) { + e.printStackTrace(); } } @@ -448,21 +435,11 @@ public class KLALBController { return datagramSocketType; } - // private Supplier selflineTableSupplier=()->{return null;}; - - /* - * public Supplier getSelflineTableSupplier() { return - * selflineTableSupplier; } - * - * public void setSelflineTableSupplier(Supplier selflineTableSupplier) - * { this.selflineTableSupplier = selflineTableSupplier; } - */ public List getSelflineTable() { return selflineTable; } - // private Inet6AddressGroup self; public IPv6AddressGroup getSelf() { return srv6Router.getLocator(); @@ -474,30 +451,14 @@ public class KLALBController { return srv6Router.getLinkTabel(); } - private PortBinder streamPortBinder = new PortBinder(this); - private PortBinder datagramPortBinder = new PortBinder(this); - - private PortBinder rawPortBinder = new PortBinder(this); - - protected PortBinder getStreamPortBinder() { - return streamPortBinder; - } - - protected PortBinder getDatagramPortBinder() { - return datagramPortBinder; - } - - protected PortBinder getRawPortBinder() { - return rawPortBinder; - } public void reconnectImmediately() { for (Iterator iterator = srv6Router.getLinkTabel().iterator(); iterator.hasNext();) { IPv6NetworkLink val = iterator.next(); - if (val instanceof KLALBRemoteLine) { + if (val instanceof KLALBRemoteLink) { - KLALBRemoteLine klalbRemoteLine = (KLALBRemoteLine) val; + KLALBRemoteLink klalbRemoteLine = (KLALBRemoteLink) val; klalbRemoteLine.reconnectImmediately(); } } @@ -510,34 +471,17 @@ public class KLALBController { private KLALBRoutingProtocolAPIClient apiClient; private KLALBControllerConfigItem configItem; - - /* - * private PacketReceiver prc = new PacketReceiver(); private class - * PacketReceiver implements Consumer { - * - * @Override public void accept(KLALBPacket rec) { switch (rec.getType()) { case - * KLALBPacket.ADDLINES: ADDLINESPacket lpt = (ADDLINESPacket) rec; String s = - * lpt.getLines(); ThreadTool.makeVDaemonThreadIfSupport("线路添加任务", () -> { - * Scanner scn = new Scanner(s); while (scn.hasNext()) { String sn = - * scn.nextLine(); MultipurposeSocketAddress msa = new - * MultipurposeSocketAddress(sn); addRemoteLines(msa); - * - * } }).start(); break; default: break; - * - * } } - * - * } - */ + public void addRemoteLines(List select) { for (MultipurposeSocketAddress target : select) { addRemoteLines(target); } } - public List addRemoteLines(MultipurposeSocketAddress target) { + public List addRemoteLines(MultipurposeSocketAddress target) { lineslock.writeLock().lock(); try { - List added = new ArrayList<>(); + List added = new ArrayList<>(); try { Enumeration eu = NetworkInterface.getNetworkInterfaces(); while (eu.hasMoreElements()) { @@ -583,7 +527,7 @@ public class KLALBController { count=1; } for(int i=0;i removeRemoteLines(MultipurposeSocketAddress mpsa) { + public List removeRemoteLines(MultipurposeSocketAddress mpsa) { - List rmved = new ArrayList<>(); + List rmved = new ArrayList<>(); for (Iterator iterator = srv6Router.getLinkTabel().iterator(); iterator.hasNext();) { IPv6NetworkLink link = iterator.next(); - if (link instanceof KLALBRemoteLine) { - KLALBRemoteLine klalbRemoteLine = (KLALBRemoteLine) link; + if (link instanceof KLALBRemoteLink) { + KLALBRemoteLink klalbRemoteLine = (KLALBRemoteLink) link; if (mpsa.equals(klalbRemoteLine.getSocketAddress())) { klalbRemoteLine.close(); rmved.add(klalbRemoteLine); @@ -626,11 +570,11 @@ public class KLALBController { } public Inet6Address getRemoteVaddrBySocketAddress(MultipurposeSocketAddress target) throws SocketTimeoutException { - KLALBRemoteLine kr = null; + KLALBRemoteLink kr = null; for (Iterator iterator = srv6Router.getLinkTabel().iterator(); iterator.hasNext();) { IPv6NetworkLink link = iterator.next(); - if (link instanceof KLALBRemoteLine) { - KLALBRemoteLine klalbRemoteLine = (KLALBRemoteLine) link; + if (link instanceof KLALBRemoteLink) { + KLALBRemoteLink klalbRemoteLine = (KLALBRemoteLink) link; if (target.equals(klalbRemoteLine.getSocketAddress()) && klalbRemoteLine.getBindAddress() == null) { kr = klalbRemoteLine; break; @@ -639,7 +583,7 @@ public class KLALBController { } if (kr == null) { - kr = new KLALBRemoteLine(this, target); + kr = new KLALBRemoteLink(this, target); addRemoteLine(kr); kr.waitForRemoteVaddrAvaliable(20000); } else { @@ -653,8 +597,8 @@ public class KLALBController { boolean b = false; for (Iterator iterator = srv6Router.getLinkTabel().iterator(); iterator.hasNext();) { IPv6NetworkLink link = iterator.next(); - if (link instanceof KLALBRemoteLine) { - KLALBRemoteLine klalbRemoteLine = (KLALBRemoteLine) link; + if (link instanceof KLALBRemoteLink) { + KLALBRemoteLink klalbRemoteLine = (KLALBRemoteLink) link; if (bind.equals2(klalbRemoteLine.getBindAddress()) && target.equals2(klalbRemoteLine.getSocketAddress())) { b = true; @@ -669,8 +613,8 @@ public class KLALBController { boolean b = false; for (Iterator iterator = srv6Router.getLinkTabel().iterator(); iterator.hasNext();) { IPv6NetworkLink link = iterator.next(); - if (link instanceof KLALBRemoteLine) { - KLALBRemoteLine klalbRemoteLine = (KLALBRemoteLine) link; + if (link instanceof KLALBRemoteLink) { + KLALBRemoteLink klalbRemoteLine = (KLALBRemoteLink) link; if (target.equals(klalbRemoteLine.getSocketAddress())) { b = true; break; @@ -680,12 +624,9 @@ public class KLALBController { return b; } - public void addRemoteLine(KLALBRemoteLine krs) { + public void addRemoteLine(KLALBRemoteLink krs) { lineslock.writeLock().lock(); try { - krs.setLocalVaddrSupplier(() -> { - return getSelf(); - }); krs.startIO(); String selflineTable = generateSelfLineTable(); if (selflineTable != null && !selflineTable.equals("")) @@ -706,63 +647,26 @@ public class KLALBController { return sbd.toString(); } - private class UDPProtocolPacketConsumer implements PacketConsumer { - - @Override - public boolean accept(IPv6Packet packx) throws IOException { - - IPv6Payload pl = packx.getPayload(); - packx.putTimePassport("unpacked"); - packx.printPassport(); - if (pl instanceof UDPPacket) { - UDPPacket rec = (UDPPacket) pl; - if (showpacket) - System.out.println("UDP_RX:" + rec); - IPv6Address srcA = packx.getSourceAddress(); - PortPacket pt = (PortPacket) rec; - if (datagramPortBinder.distributePacketToConsumer(srcA, pt)) { - return true; - } - } - return false; - // packx.dispose(); - // }); - } + + + private UDPProtocolRegister udpr; + public UDPProtocolRegister getUDPregister() { + return udpr; + } + + private KLTPProtocolRegister kltpr; + public KLTPProtocolRegister getKLTPregister() { + return kltpr; } - private class KLALBProtocolPacketConsumer implements PacketConsumer { - @Override - public boolean accept(IPv6Packet packx) throws IOException { - IPv6Payload pl = packx.getPayload(); - packx.putTimePassport("unpacked"); - packx.printPassport(); - if (pl instanceof KLALBPacket) { - KLALBPacket rec = (KLALBPacket) pl; - if (showpacket) - System.out.println("KLALB_RX:" + rec); - if (rec instanceof PortPacket) { - rec.setCE(packx.isCE()); - IPv6Address srcA = packx.getSourceAddress(); - PortPacket pt = (PortPacket) rec; - if (streamPortBinder.distributePacketToConsumer(srcA, pt)) { - } else { - if (!(pt instanceof RSTPacket)) { - srv6Router.enqueuePacketSendTask(() -> { - return createPacketToAddress(srcA, 0, new RSTPacket(pt.getDstPort(), pt.getSrcPort()), - 2); - }); - } - } - } - } - return true; - // packx.dispose(); - } + private PortBinder rawPortBinder ; + protected PortBinder getRawPortBinder() { + return rawPortBinder; } - + private void loadSRv6ProtocolStack(IPv6AddressGroup selfx, boolean enableVirtualAdapter) { srv6Router = new SRv6Router(selfx, clock); srv6Router.runKLALBRouteProtocol(); @@ -770,11 +674,12 @@ public class KLALBController { routingProtocol.addReceiver((addr, packet) -> { }); - + rawPortBinder= new PortBinder(this.getSelf().getAddress()); System.out.println(" Loaded: SRv6 Stack"); String name=(configItem!=null)?configItem.getTUNName():CONST.KLALB_S_RV6; if (enableVirtualAdapter&&(name!=null)) { + Thread t=new Thread(()->{ try { IPv6TUNLoopbackNetworkLink tunlink = new IPv6TUNLoopbackNetworkLink(name, new IPv6AddressGroup(srv6Router.getLocator().getAddress(), 32), SRv6Router.MTU, dnsAddresses); @@ -787,18 +692,23 @@ public class KLALBController { System.err.println("挂载虚拟网卡失败,可能是无管理员权限?请尝试使用管理员权限运行软件"); e.printStackTrace(); } + }); + t.start(); }else { System.out.println(" Tun Adapter Disbaled"); } - srv6Router.getinLoopback().getProtocolNumberRegister().put(UDPPacket.UDP_PROTOCOL_NUMBER, - new UDPProtocolPacketConsumer()); + udpr=new UDPProtocolRegister(this); + srv6Router.getinLoopback().getProtocolNumberRegister()[UDPPacket.UDP_PROTOCOL_NUMBER]= + udpr; System.out.println(" Loaded: UDP Protocol"); - srv6Router.getinLoopback().getProtocolNumberRegister().put(KLALBPacket.KLALB_PROTOCOL_NUMBER, - new KLALBProtocolPacketConsumer()); - System.out.println(" Loaded: KLALB Protocol"); + kltpr=new KLTPProtocolRegister(this); + srv6Router.getinLoopback().getProtocolNumberRegister()[KLTPPacket.KLTP_PROTOCOL_NUMBER]= + kltpr; + System.out.println(" Loaded: KLTP Protocol"); String iproxyname = "KLALB_" + UUID.randomUUID(); registerToProxyTypeAs(iproxyname); + System.out.println(" Loaded: KLALB Protocol"); NTPContext context = new NTPContext(clock); context.syncToSystem(); @@ -812,7 +722,6 @@ public class KLALBController { public void onLinkChanged(SRv6Router router, IPv6NetworkLink link) { List nb = router.getNeighbors(); - // System.out.println("srv6 ip"+nb); Set sp = nvc.getPeers(); for (Neighbor neighbor : nb) { if (neighbor.getLocator() != null) @@ -873,6 +782,17 @@ public class KLALBController { } protected void initKLALB(boolean enableVirtualAdapter, IPv6AddressGroup selfg) { + ThreadTool.makeVDaemonThread("线路性能采样线程", ()->{ + while(true) { + linkMonitor.update(); + datatMonitor.update(); + try { + Thread.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + }).start(); loadSRv6ProtocolStack(selfg, enableVirtualAdapter); loadController(); } @@ -973,7 +893,7 @@ public class KLALBController { public void run() { if (srv6Router != null) { srv6Router.getLinkTabel().removeIf((v) -> { - return (v instanceof KLALBRemoteLine) && ((KLALBRemoteLine) v).isClosed(); + return (v instanceof KLALBRemoteLink) && ((KLALBRemoteLink) v).isClosed(); }); srv6Router.updateRouteTabel(); } @@ -992,13 +912,12 @@ public class KLALBController { }, 10, 10); } - protected IPv6Packet createPacketToAddress(IPv6Address addr, int flowlabel, IPv6Packet.IPv6Payload packet) { + public IPv6Packet createPacketToAddress(IPv6Address addr, int flowlabel, IPv6Packet.IPv6Payload packet) { return createPacketToAddress(addr, flowlabel, packet, 1); } - protected IPv6Packet createPacketToAddress(IPv6Address addr, int flowlabel, IPv6Packet.IPv6Payload packet, + public IPv6Packet createPacketToAddress(IPv6Address addr, int flowlabel, IPv6Packet.IPv6Payload packet, int count) { - // HighPerformanceExecutor.defaultExecutor.execute(() -> { IPv6Packet ipv = new IPv6Packet(); @@ -1006,23 +925,17 @@ public class KLALBController { System.out.println("KLALB_TX:" + packet); ipv.setVersion(6); - ipv.setTrafficClass(0); + ipv.setTrafficClass(0b10); ipv.setFlowLabel(flowlabel); ipv.setHopLimit(255); ipv.setSourceAddress(getSelf().getAddress()); ipv.setDestinationAddress(addr); - ipv.enableECN(); - ipv.setPayload(packet); packet.setParent(ipv); - if (packet instanceof KLALBPacket) - ((KLALBPacket) packet).incSendCounter(); + - packet.putTimePassport("packedInIPv6"); - packet.printPassport(); - ipv.putTimePassport("packed"); return ipv; } @@ -1088,19 +1001,11 @@ public class KLALBController { } - private Timer t = new Timer("数据包重传计时器", true); + - protected Timer getResendTimer() { - return t; - } - - private Timer t2 = new Timer("数据包粘包计时器", true); private List listens = new CopyOnWriteArrayList<>(); - public Timer getNagleTimer() { - return t2; - } public void registerToProxyTypeAs(String proxyname) { MultipurposeSocketAddress.getSocketTypeRegister().put(proxyname + "_Stream", streamSocketType); @@ -1117,34 +1022,15 @@ public class KLALBController { private KLALBRoutingProtocol routingProtocol; public List getNTPTable() { - return ntptable;// nvc2.getPeers().add(new NTPPeer("{UDP}106.55.184.199:123", - // NTPv4Packet.NTP_CLIENT)); + return ntptable; } public KLALBControllerConfigItem getConfigItem() { return configItem; } - /* - * @Override public void listen(MultipurposeSocketAddress msa) { // TODO - * 自动生成的方法存根 - * - * } - * - * @Override public void unlisten(MultipurposeSocketAddress msc) { // TODO - * 自动生成的方法存根 - * - * } - * - * @Override public void connect(MultipurposeSocketAddress msa) { // TODO - * 自动生成的方法存根 - * - * } - * - * @Override public void unconnect(MultipurposeSocketAddress msc) { // TODO - * 自动生成的方法存根 - * - * } - */ + + + } diff --git a/src/org/kne/cloud/network/klalb/KLALBControllerConfigItem.java b/src/org/kne/cloud/network/klalb/KLALBControllerConfigItem.java index 1043faf..0178a84 100644 --- a/src/org/kne/cloud/network/klalb/KLALBControllerConfigItem.java +++ b/src/org/kne/cloud/network/klalb/KLALBControllerConfigItem.java @@ -1,16 +1,11 @@ package org.kne.cloud.network.klalb; import java.net.InetAddress; -import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import org.kne.cloud.network.MultipurposeSocketAddress; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - public class KLALBControllerConfigItem extends KLALBConfigItem { private String language; private boolean nogui; @@ -26,6 +21,7 @@ public class KLALBControllerConfigItem extends KLALBConfigItem { private boolean denyLineTableQuery=false; private boolean denyLineTableBroadcast=false; private String congestionAlgorithm="BBR"; + private double burstLimit=1.20; private double delayUpperBound=1.20; private double delayLowerBound=1.15; private long nagleDelayTime=1000000L; @@ -205,6 +201,18 @@ public class KLALBControllerConfigItem extends KLALBConfigItem { } + + + + + public double getBurstLimit() { + return burstLimit; + } + + + public void setBurstLimit(double burstLimit) { + this.burstLimit = burstLimit; + } public double getDelayUpperBound() { diff --git a/src/org/kne/cloud/network/klalb/KLALBInputStream.java b/src/org/kne/cloud/network/klalb/KLALBInputStream.java index f431a5f..d1f36d2 100644 --- a/src/org/kne/cloud/network/klalb/KLALBInputStream.java +++ b/src/org/kne/cloud/network/klalb/KLALBInputStream.java @@ -1,13 +1,9 @@ package org.kne.cloud.network.klalb; -import static org.kne.cloud.network.klalb.KLALBPacket.*; -import java.io.DataInput; import java.io.DataInputStream; -import java.io.EOFException; import java.io.IOException; import java.io.InputStream; import java.io.StreamCorruptedException; -import java.net.Inet6Address; import java.nio.ByteBuffer; import java.nio.channels.Channels; import java.nio.channels.ReadableByteChannel; @@ -24,7 +20,7 @@ public class KLALBInputStream extends DataInputStream { readFully(b); String s=new String(b,"ascii"); if(!s.equals("KLALB")) { - throw new StreamCorruptedException("no KLALB format"); + throw new StreamCorruptedException("remote protocol is no KLALB format"); } int bv=readInt(); int mv=readInt(); diff --git a/src/org/kne/cloud/network/klalb/KLALBMain.java b/src/org/kne/cloud/network/klalb/KLALBMain.java index 6df36ef..ba10b7e 100644 --- a/src/org/kne/cloud/network/klalb/KLALBMain.java +++ b/src/org/kne/cloud/network/klalb/KLALBMain.java @@ -4,7 +4,6 @@ import java.io.File; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.channels.ServerSocketChannel; -import java.nio.channels.SocketChannel; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; @@ -12,20 +11,17 @@ import java.util.List; import java.util.NoSuchElementException; import java.util.Scanner; -import javax.swing.JFrame; - import org.kne.cloud.network.MultipurposeSocketAddress; import org.kne.cloud.network.SocketChannelListener; -import org.kne.cloud.network.SocketListener; import org.kne.cloud.network.ipv6.IPv6NetworkLink; import org.kne.cloud.network.ipv6.RouteItem; import org.kne.cloud.network.klalb.ui.KLALBStateGUI3; import org.kne.cloud.network.klalb.ui.UIEnv; import org.kne.cloud.network.perf.Kperf; import org.kne.cloud.network.perf.NodeBenchmark; -import org.kne.debug.Debuger; import org.kne.debug.TimeDebugger; import org.kne.membandboost.MembandBenchmark; +import org.kne.membandboost.ObjectPoolBandwidthTest; public class KLALBMain { public static KLALBStateGUI3 ksg; @@ -90,8 +86,9 @@ public class KLALBMain { System.out.println(" links-add : add link"); System.out.println(" links-remove : remove link"); System.out.println(" links-reconnect: reconnect all link"); + System.out.println(" kltp-state: query kltp states"); System.out.println(" route: display internal route table"); - System.out.println(" kperf : Porformance benchmark"); + System.out.println(" kperf : performance benchmark"); System.out.println(" exit: Exit"); break; @@ -104,12 +101,13 @@ public class KLALBMain { break; case "links-state": System.out.println("links state:"); - System.out.println("状态\t上传流量\t下载流量\t上传速度\t下载速度\t上传延迟\t下载延迟\t上传抖动\t下载抖动"); + //System.out.println("状态\t上传流量\t下载流量\t上传速度\t下载速度\t上传延迟\t下载延迟\t上传抖动\t下载抖动"); + System.out.println("state\tspd↑\tspd↓\tPPS↑\tPPS↓\tdelay↑\tdelay↓\tjitter↑\tjitter↓"); synchronized (kpcje.getKlalbController().getLines()) { for (Iterator iterator = kpcje.getKlalbController().getLines().iterator(); iterator.hasNext();) { IPv6NetworkLink link=iterator.next(); - if(link instanceof KLALBRemoteLine) { - KLALBRemoteLine hostPort = (KLALBRemoteLine) link; + if(link instanceof KLALBRemoteLink) { + KLALBRemoteLink hostPort = (KLALBRemoteLink) link; System.out.println(hostPort .toString()); } } @@ -118,31 +116,34 @@ public class KLALBMain { case "links-add": if(sc.length>=2) { MultipurposeSocketAddress mpsa=new MultipurposeSocketAddress(sc[1]); - Listaddl=kpcje.getKlalbController().addRemoteLines(mpsa); + Listaddl=kpcje.getKlalbController().addRemoteLines(mpsa); if(addl.isEmpty()) { - System.out.println("添加失败,线路已存在!"); + //System.out.println("添加失败,线路已存在!"); + System.out.println("link already exist!"); }else { - for (Iterator iterator = addl.iterator(); iterator.hasNext();) { - KLALBRemoteLine klalbRemoteLine = (KLALBRemoteLine) iterator.next(); + for (Iterator iterator = addl.iterator(); iterator.hasNext();) { + KLALBRemoteLink klalbRemoteLine = (KLALBRemoteLink) iterator.next(); - System.out.println("添加成功:"+klalbRemoteLine.getMonitor().getName()); + //System.out.println("添加成功:"+klalbRemoteLine.getMonitor().getName()); + System.out.println("Successfully added: "+klalbRemoteLine.getName()); } } }else { - System.out.println("请输入要添加地址:端口!"); + // System.out.println("请输入要添加地址:端口!"); + System.out.println("Input Address:port"); } break; case "links-remove": if(sc.length>=2) { MultipurposeSocketAddress mpsa=new MultipurposeSocketAddress(sc[1]); - Listrmvl=kpcje.getKlalbController().removeRemoteLines(mpsa); + Listrmvl=kpcje.getKlalbController().removeRemoteLines(mpsa); if(rmvl.isEmpty()) { System.out.println("No matched link has been found."); }else { for (Iterator iterator = rmvl.iterator(); iterator.hasNext();) { - KLALBRemoteLine klalbRemoteLine = (KLALBRemoteLine) iterator.next(); + KLALBRemoteLink klalbRemoteLine = (KLALBRemoteLink) iterator.next(); - System.out.println("Successfully removed: "+klalbRemoteLine.getMonitor().getName()); + System.out.println("Successfully removed: "+klalbRemoteLine.getName()); } } }else { @@ -157,6 +158,9 @@ public class KLALBMain { System.out.println("Trying to reconnect all links."); kpcje.getKlalbController().reconnectImmediately(); break; + case "kltp-state": + System.out.println(kpcje.getKlalbController().getKLTPregister().toString()); + break; case "route": List lri=new ArrayList<>( kpcje.getKlalbController().getIpv6Router().getCurrentRouteTabel()); Collections.sort(lri); @@ -178,9 +182,13 @@ public class KLALBMain { } break; - case "memcpy": + case "membandbenchmark": MembandBenchmark.main(args); break; + case "memqueuebenchmark": + + ObjectPoolBandwidthTest.main(args); + break; //case "$$SYSTEM:": //System.out.println(); //break; diff --git a/src/org/kne/cloud/network/klalb/KLALBPacket.java b/src/org/kne/cloud/network/klalb/KLALBPacket.java index 04815b4..03c8124 100644 --- a/src/org/kne/cloud/network/klalb/KLALBPacket.java +++ b/src/org/kne/cloud/network/klalb/KLALBPacket.java @@ -9,10 +9,6 @@ import java.nio.ByteBuffer; import java.nio.channels.Channels; import java.nio.channels.ReadableByteChannel; import java.nio.channels.WritableByteChannel; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicLong; import org.kne.cloud.network.NetworkPacket; import org.kne.cloud.network.ipv6.IPv6Packet; @@ -52,13 +48,13 @@ public abstract class KLALBPacket extends IPv6Packet.IPv6Payload { protected ByteBuffer klalbHeader; protected KLALBPacket(ByteBuffer klalbHeader,int headerLength) { - super(KLALB_PROTOCOL_NUMBER,false); + super(KLALB_PROTOCOL_NUMBER); this.klalbHeader = klalbHeader; this.headerLength=headerLength; } public KLALBPacket(int type,int headerLength) { - super(KLALB_PROTOCOL_NUMBER,false); + super(KLALB_PROTOCOL_NUMBER); klalbHeader=NetworkPacket.bufferAllocator.allocate(headerLength); klalbHeader.put((byte) type); this.headerLength=headerLength; @@ -113,24 +109,6 @@ public abstract class KLALBPacket extends IPv6Packet.IPv6Payload { return headerLength; } - - - //private List sendRecord=new ArrayList<>(2); - - private AtomicInteger sendCounter=new AtomicInteger(0); - - public int getSendCounter() { - return sendCounter.get(); - } - - public void incSendCounter() { - sendCounter.incrementAndGet(); - } - /*public List getSendRecord() { - return sendRecord; - }*/ - - protected ByteBuffer getKLALBHeader() { return klalbHeader; } diff --git a/src/org/kne/cloud/network/klalb/KLALBProtocolDetectSocketListener.java b/src/org/kne/cloud/network/klalb/KLALBProtocolDetectSocketListener.java index 9a40ec8..55a92e2 100644 --- a/src/org/kne/cloud/network/klalb/KLALBProtocolDetectSocketListener.java +++ b/src/org/kne/cloud/network/klalb/KLALBProtocolDetectSocketListener.java @@ -44,9 +44,9 @@ public class KLALBProtocolDetectSocketListener extends SocketListener { super.setCon((soc)->{ ProtocolDetectorSocket pds=(ProtocolDetectorSocket) soc; if(!pds.getProtocolStack().isEmpty()&&pds.getProtocolStack().pop().getName().equals("KLALB")) { - KLALBRemoteLine krs=null; + KLALBRemoteLink krs=null; try { - krs = new KLALBRemoteLine(klalbController,new StreamKLALBPacketLink(pds)); + krs = new KLALBRemoteLink(klalbController,new StreamKLALBPacketLink(pds)); klalbController.addRemoteLine(krs); } catch (Exception e) { e.printStackTrace(); diff --git a/src/org/kne/cloud/network/klalb/KLALBProxySystem.java b/src/org/kne/cloud/network/klalb/KLALBProxySystem.java index 73ed0f4..dadba00 100644 --- a/src/org/kne/cloud/network/klalb/KLALBProxySystem.java +++ b/src/org/kne/cloud/network/klalb/KLALBProxySystem.java @@ -5,39 +5,20 @@ import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; -import java.net.Inet6Address; -import java.net.InetAddress; import java.net.InetSocketAddress; -import java.net.NetworkInterface; -import java.net.Socket; -import java.net.SocketException; -import java.net.SocketTimeoutException; -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.HashMap; import java.util.HashSet; -import java.util.Hashtable; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; import org.kne.cloud.network.*; import org.kne.cloud.network.klalb.ui.KLALBStateGUI3; import org.kne.cloud.network.klalb.ui.Language; import org.kne.cloud.network.klalb.ui.UIEnv; -import org.kne.cloud.network.minecraft.MinecraftSocketBridge; import java.util.Set; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.google.gson.JsonArray; import com.google.gson.JsonElement; -import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import com.google.gson.JsonPrimitive; public class KLALBProxySystem { private Set proxys=new HashSet<>(); @@ -158,9 +139,9 @@ public class KLALBProxySystem { tcpl.setCon((soc)->{ - KLALBRemoteLine krs=null; + KLALBRemoteLink krs=null; try { - krs = new KLALBRemoteLine(klalbController,new StreamChannelKLALBPacketLink(soc)); + krs = new KLALBRemoteLink(klalbController,new StreamChannelKLALBPacketLink(soc)); klalbController.addRemoteLine(krs); } catch (IOException e) { e.printStackTrace(); @@ -181,9 +162,9 @@ public class KLALBProxySystem { udpl.setCon((soc)->{ - KLALBRemoteLine krs=null; + KLALBRemoteLink krs=null; try { - krs = new KLALBRemoteLine(klalbController,new SplitedDatagramKLALBPacketLink(soc)); + krs = new KLALBRemoteLink(klalbController,new SplitedDatagramKLALBPacketLink(soc)); klalbController.addRemoteLine(krs); } catch (IOException e) { e.printStackTrace(); diff --git a/src/org/kne/cloud/network/klalb/KLALBRemoteLine.java b/src/org/kne/cloud/network/klalb/KLALBRemoteLink.java similarity index 75% rename from src/org/kne/cloud/network/klalb/KLALBRemoteLine.java rename to src/org/kne/cloud/network/klalb/KLALBRemoteLink.java index e062b37..335a004 100644 --- a/src/org/kne/cloud/network/klalb/KLALBRemoteLine.java +++ b/src/org/kne/cloud/network/klalb/KLALBRemoteLink.java @@ -1,80 +1,55 @@ package org.kne.cloud.network.klalb; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; import java.io.IOException; -import java.io.PrintStream; import java.io.StreamCorruptedException; -import java.lang.ModuleLayer.Controller; -import java.math.BigInteger; -import java.net.Inet6Address; -import java.net.InetAddress; import java.net.SocketTimeoutException; -import java.net.UnknownHostException; import java.nio.channels.UnresolvedAddressException; import java.security.SecureRandom; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Queue; import java.util.UUID; -import java.util.concurrent.ArrayBlockingQueue; -import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.PriorityBlockingQueue; import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.LongAdder; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.LockSupport; -import java.util.concurrent.locks.ReentrantLock; -import java.util.function.BiConsumer; import java.util.function.Consumer; -import java.util.function.Supplier; +import org.jctools.queues.MpscArrayQueue; import org.kne.cloud.clock.HighAccuracyClock; import org.kne.cloud.clock.NTPTimestamps; import org.kne.cloud.clock.ReliabilityBackoffTimeClock; import org.kne.cloud.clock.WatchDogTimer; import org.kne.cloud.network.MultipurposeSocketAddress; -import org.kne.cloud.network.SpeedLimiter; import org.kne.cloud.network.ThreadTool; import org.kne.cloud.network.congestion.BBRCongestionAlgorithm; import org.kne.cloud.network.congestion.CongestionAlgorithm; +import org.kne.cloud.network.congestion.CongestionAlgorithms; import org.kne.cloud.network.congestion.DetnetCongestionAlgorithm; import org.kne.cloud.network.congestion.SendPacketSlidingWindow; -import org.kne.cloud.network.congestion.Vegas2CongestionAlgorithm; import org.kne.cloud.network.ipv6.ControlledIPv6NetworkLink; -import org.kne.cloud.network.ipv6.ICMPv6PostcardPacket; import org.kne.cloud.network.ipv6.IPv6Address; import org.kne.cloud.network.ipv6.IPv6HopByHopTLV; -import org.kne.cloud.network.ipv6.IPv6NetworkLink; import org.kne.cloud.network.ipv6.IPv6Packet; -import org.kne.cloud.network.ipv6.IPv6Packet.IPv6EmptyPayload; import org.kne.cloud.network.ipv6.IPv6Packet.IPv6HopByHopHeader; -import org.kne.cloud.network.ipv6.IPv6Packet.IPv6SegmentRoutingHeader; import org.kne.cloud.network.ipv6.IPv6AddressGroup; import org.kne.cloud.network.ipv6.KLALBOAMHopByHopTLV; import org.kne.cloud.network.ipv6.KLALBPassportHopByHopTLV; import org.kne.cloud.network.ipv6.Neighbor; -import org.kne.cloud.network.ipv6.PacketID; -import org.kne.cloud.network.ipv6.PacketIDGenerator; import org.kne.cloud.network.ipv6.PostcardEntry; import org.kne.cloud.network.ipv6.RouteItem; -import org.kne.cloud.network.monitor.MonitorData; +import org.kne.cloud.network.monitor.CostSupplierFactory; +import org.kne.cloud.network.monitor.DelayMonitorData; +import org.kne.cloud.network.monitor.LinkStatus; import org.kne.cloud.network.monitor.SpeedAndTrafficAndDelayMonitorDataImpl; import org.kne.cloud.network.perf.TESTNPacket; -import org.kne.cloud.network.srv6.ACKSEQSSegmentRoutingTLV; -import org.kne.cloud.network.srv6.IPv6SegmentRoutingTLV; -import org.kne.cloud.network.srv6.SRv6Router; import org.kne.cloud.network.te.BandwidthDistributer; -import org.kne.concurrent.HighPerformanceExecutor; import org.kne.concurrent.SpinLock; import org.kne.concurrent.ThreadParker; import org.kne.math.Long128; -import com.github.f4b6a3.uuid.UuidCreator; - -public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implements ControlledIPv6NetworkLink { +public class KLALBRemoteLink extends AbstractControlledIPv6NetworkLink implements ControlledIPv6NetworkLink { private static final int HEADER_CALIBRATE = 40; @@ -84,8 +59,6 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement private volatile boolean closed = false; - private volatile Supplier localVaddrSupplier; - private volatile KLALBController klalbController; public KLALBController getKlalbController() { @@ -93,14 +66,6 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement } - public Supplier getLocalVaddrSupplier() { - return localVaddrSupplier; - } - - public void setLocalVaddrSupplier(Supplier localVaddrSupplier) { - this.localVaddrSupplier = localVaddrSupplier; - } - private volatile IPv6AddressGroup remoteVaddr; public IPv6AddressGroup getRemoteVaddr() { @@ -128,9 +93,11 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement } public String toString() { - return remoteVaddr + "\t" + monitor.toString(); + return remoteVaddr + "\t" +name+"\n" +status+"\t"+monitor.toString(); } + private String name; + private LinkStatus status=new LinkStatus(); private SpeedAndTrafficAndDelayMonitorDataImpl monitor; private volatile KLALBPacketLink kplink; private MultipurposeSocketAddress bindAddress; @@ -167,20 +134,20 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement return peerAddress; } - public KLALBRemoteLine(KLALBController controller, MultipurposeSocketAddress mpa, IPv6AddressGroup address) { + public KLALBRemoteLink(KLALBController controller, MultipurposeSocketAddress mpa, IPv6AddressGroup address) { this(controller,mpa, null,address); } - public KLALBRemoteLine(KLALBController controller,KLALBPacketLink kpl, IPv6AddressGroup address) { + public KLALBRemoteLink(KLALBController controller,KLALBPacketLink kpl, IPv6AddressGroup address) { this.klalbController=controller; sysclk = klalbController.getClock(); this.kplink = kpl; this.addressGroup = address; monitor=new SpeedAndTrafficAndDelayMonitorDataImpl(sysclk); - monitor.setName(kpl.toString()); + name=kpl.toString(); } - private KLALBRemoteLine(KLALBController controller,MultipurposeSocketAddress mpa, MultipurposeSocketAddress bindaddr, IPv6AddressGroup address) { + private KLALBRemoteLink(KLALBController controller,MultipurposeSocketAddress mpa, MultipurposeSocketAddress bindaddr, IPv6AddressGroup address) { this.klalbController=controller; sysclk = klalbController.getClock(); this.socketAddress = mpa; @@ -188,22 +155,22 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement this.addressGroup = address; monitor=new SpeedAndTrafficAndDelayMonitorDataImpl(sysclk); if (bindaddr == null) { - monitor.setName("→" + mpa.toString()); + name="→" + mpa.toString(); } else { - monitor.setName(bindaddr.toString() + "→" + mpa.toString()); + name=bindaddr.toString() + "→" + mpa.toString(); } } - public KLALBRemoteLine(KLALBController controller,MultipurposeSocketAddress mpa, MultipurposeSocketAddress bind) { + public KLALBRemoteLink(KLALBController controller,MultipurposeSocketAddress mpa, MultipurposeSocketAddress bind) { this(controller,mpa, bind, null); } - public KLALBRemoteLine(KLALBController controller,MultipurposeSocketAddress mpa) { + public KLALBRemoteLink(KLALBController controller,MultipurposeSocketAddress mpa) { this(controller,mpa, (IPv6AddressGroup) null); } - public KLALBRemoteLine(KLALBController controller,KLALBPacketLink link) { + public KLALBRemoteLink(KLALBController controller,KLALBPacketLink link) { this(controller,link, (IPv6AddressGroup) null); } @@ -216,10 +183,8 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement private class RemoteSender implements Runnable { - - private SpeedLimiter speedLimit = new SpeedLimiter(256 * 1024L, 10 * 1000000L);// 50*1000000L - private ConcurrentLinkedQueue sendQueue = new ConcurrentLinkedQueue(); + private MpscArrayQueue sendQueue = new MpscArrayQueue(8192); private WatchDogTimer watchdog = new WatchDogTimer(400000000L); private ThreadParker tlock = new ThreadParker(); @@ -227,6 +192,8 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement private volatile long time = System.nanoTime(); private volatile long pingInterval = 100000000L; + private Lock sendLock=new SpinLock(); + private boolean checkPingTime() { long cu = System.nanoTime(); if (cu - time > pingInterval) { @@ -239,7 +206,7 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement } - public ConcurrentLinkedQueue getSendQueue() { + public Queue getSendQueue() { return sendQueue; } @@ -275,8 +242,8 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement } writeKLALBPacketToKPL(new VADDRREQPacket()); writeKLALBPacketToKPL(new VADDRREQPacket()); - writeKLALBPacketToKPL(new VADDRPacket(localVaddrSupplier.get())); - writeKLALBPacketToKPL(new VADDRPacket(localVaddrSupplier.get())); + writeKLALBPacketToKPL(new VADDRPacket(klalbController.getSelf())); + writeKLALBPacketToKPL(new VADDRPacket(klalbController.getSelf())); kplink.flush(); while ((!kplink.isClosed()) && (!closed)) { if (checkPingTime()) { @@ -286,22 +253,38 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement if (peerAddress == null) sendPacket(new ADDRREQPacket()); - } - KLALBPacket tkpp = sendQueue.poll(); - - if (tkpp != null) { - kplink.writeKLALBPacket(tkpp); - watchdog.feed(); + }/*sendLock.lock(); + int n; + try { + n = sendQueue.drain((tkpp)->{ + try { + kplink.writeKLALBPacket(tkpp); + } catch (IOException e) { + throw new RuntimeException(e); + } + },100); + }finally { + sendLock.unlock(); + } + if (n>0) { + watchdog.feed(); } else { tlock.parkNanos(1000000L); - } + }*/ long curr=System.nanoTime(); if(curr-flushTime>=flushInterval) { flushTime=curr; + sendLock.lock(); + try { kplink.flush(); + watchdog.feed(); + }finally { + sendLock.unlock(); + } } - Thread.yield(); + tlock.parkNanos(1000000L); + } } catch (StreamCorruptedException sce) { sce.printStackTrace(); @@ -323,10 +306,39 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement boolean b=sendQueue.add(blk); if(b) { tlock.unpark(); - speedLimit.forceTransmit(blk.getTotalLength()); } return b; } + + + public void sendDirect(KLALBPacket blk) { + sendLock.lock(); + try { + writeKLALBPacketToKPL(blk); + } catch (IOException | UnresolvedAddressException e) { + if (debug) + e.printStackTrace(); + try { + kplink.close(); + } catch (IOException ex) { + ex.printStackTrace(); + } + tpk.unpark(); + }finally { + sendLock.unlock(); + } + watchdog.feed(); + tlock.unpark(); + } + + + public long getQueueUsed() { + long used=0; + for(KLALBPacket pack:sendQueue) { + used+=pack.getTotalLength(); + } + return used; + } } @@ -334,6 +346,7 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement private WatchDogTimer watchdog = new WatchDogTimer(400000000L); private long rtt=Long.MAX_VALUE/1024; + private long rttMin=Long.MAX_VALUE/1024; AtomicBoolean fst = new AtomicBoolean(true); //ReentrantLock readLock = new ReentrantLock(); @@ -348,7 +361,7 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement } watchdog.feed(); KLALBPacket kpp = kppb; - SRv6Router.getDefaultExecutor().execute(() -> { + //SRv6Router.getDefaultExecutor().execute(() -> { debugShowPacket("RX", kpp); UUID val = null; long delay = Long.MAX_VALUE / 1024; @@ -402,19 +415,25 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement long DsndDelay = prcv.subtract(psnd).longValue(); long DrcvDelay = local.subtract(posnd).longValue(); - // System.out.println(DsndDelayFactor+" "+DrcvDelayFactor); + // System.out.println(DsndDelay+" "+DrcvDelay); rtt = DsndDelay + DrcvDelay; + if(rtt= 0 && DrcvDelay >= 0) { delay = DrcvDelay; - monitor.getUploadBandwidth().recordPacket(KLALBUtils.createGlobalUUID(), psnd, 0, DsndDelay); - // System.out.println(local); + monitor.recordUploadDelay(DsndDelay); + //sysclk.adjustClock(Long128.valueOf( DsndDelay-DrcvDelay), 0.001); } else { long Dfallback = rtt / 2; if (Dfallback >= 0) { delay = Dfallback; - monitor.getUploadBandwidth().recordPacket(KLALBUtils.createGlobalUUID(), psnd, 0, Dfallback); + monitor.recordUploadDelay(Dfallback); } + sysclk.adjustClock(Long128.valueOf( DsndDelay-DrcvDelay), 0.1); } algorithm.setCurrentBandwidth(png.getDownSpeed()); @@ -437,11 +456,11 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement if (ardg2 != null) addressGroup = ardg2; } - KLALBRemoteLine.this.onAddressUpdate(); + KLALBRemoteLink.this.onAddressUpdate(); break; case KLALBPacket.VADDRREQ: - sendPacket(new VADDRPacket(localVaddrSupplier.get())); + sendPacket(new VADDRPacket(klalbController.getSelf())); break; case KLALBPacket.VADDR: IPv6AddressGroup vdr = ((VADDRPacket) kpp).getVaddr(); @@ -450,10 +469,10 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement sendPacket(new VADDRACKPacket()); if (fst.compareAndSet(true, false)) { // coll.resetCoolingTime(); - monitor.setState(MonitorData.UP); - KLALBRemoteLine.this.onOnlineStateUpdate(); + status.setState(LinkStatus.UP); + KLALBRemoteLink.this.onOnlineStateUpdate(); } - KLALBRemoteLine.this.onLocatorUpdate(); + KLALBRemoteLink.this.onLocatorUpdate(); break; case KLALBPacket.VADDRACK: @@ -464,19 +483,16 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement IPv6OverKLALBPacket ivk = (IPv6OverKLALBPacket) kpp; IPv6Packet iv6 = ivk.getIPv6Packet(); - ivk.putTimePassport("unpacked"); - ivk.printPassport(); - iv6.putTimePassport("unpackFromLink"); if (getSrv6Router() != null) { - getSrv6Router().onReceive(KLALBRemoteLine.this, iv6); + getSrv6Router().onReceive(KLALBRemoteLink.this, iv6); } KLALBOAMHopByHopTLV ktlv = null; - List ptlv = new ArrayList<>(); long btimes = 0; IPv6HopByHopHeader hop = iv6.getHopByHopHeader(); if (hop != null) { + List ptlv = new ArrayList<>(); List tlvs = hop.getTlvs(); for (IPv6HopByHopTLV tlv : tlvs) { if (tlv instanceof KLALBOAMHopByHopTLV) { @@ -488,14 +504,13 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement ptlv.add(btimes + ((KLALBPassportHopByHopTLV) tlv).getTimestampOffsetLong()); } } - } if (ptlv.size() >= 2) { long delta = ptlv.get(ptlv.size() - 1) - ptlv.get(ptlv.size() - 2); long deltaxnanos = (long) (delta * 1000000000.0 / (1L << 32)); if (deltaxnanos > 0) - //System.out.println(deltaxnanos); delay = deltaxnanos; } + } break; @@ -503,12 +518,17 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement long length = kpp.getTotalLength(); UUID pid = val == null ? KLALBUtils.createGlobalUUID() : val; - monitor.getDownloadBandwidth().recordPacket(pid, (int) length, delay); - if (klalbController != null) { - klalbController.getLinkMonitor().getDownloadBandwidth().recordPacket(pid, (int) length, - delay); + //monitor.getDownloadBandwidth().recordPacket(pid,0,1, delay); + if(delay!=Long.MAX_VALUE / 1024) { + monitor.recordDownloadDelay(delay); + //System.out.println(name+" "+delay); } - }); + monitor.recordDownloadPacket((int)length); + if (klalbController != null) { + //klalbController.getLinkMonitor().getDownloadBandwidth().recordPacket(pid, (int) length,delay); + klalbController.getLinkMonitor().recordDownloadPacket((int)length); + } + //}); } } catch (StreamCorruptedException sce) { sce.printStackTrace(); @@ -533,16 +553,37 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement public long getRTT() { return rtt; } + public long getRTTMin() { + return rttMin; + } } private ThreadParker tpk=new ThreadParker(); private StateManager stateManager; + private MonitorUpdater monitorUpdater; + private class MonitorUpdater implements Runnable{ + @Override + public void run() { + while (!closed) { + status.updateReliability(); + monitor.update(); + try { + Thread.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + } + + } + + } + private RemoteSender sender; + private RemoteReceiver receiver; private class StateManager implements Runnable { private Thread currThread; - private RemoteSender sender; - private RemoteReceiver receiver; @Override public void run() { currThread = Thread.currentThread(); @@ -580,10 +621,7 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement sender = new RemoteSender(); receiver = new RemoteReceiver(); - algorithm.setSpeedControlConsumer((speed, bursttime) -> { - sender.speedLimit.setLimitspeed(speed); - sender.speedLimit.setBrustTime(bursttime); - }); + sendWindow = new SendPacketSlidingWindow(algorithm, 65535, HEADER_CALIBRATE); sendWindow.setResendConsumer(rerouteConsumer); @@ -604,6 +642,10 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement if(klalbController!=null&& klalbController.getConfigItem()!=null) { KLALBControllerConfigItem config=klalbController.getConfigItem(); if(algorithm instanceof DetnetCongestionAlgorithm) { + double v0=config.getBurstLimit(); + if(v0!=0) { + ((DetnetCongestionAlgorithm)algorithm).setBurstLimit(v0); + } double v1=config.getDelayUpperBound(); if(v1!=0) { ((DetnetCongestionAlgorithm)algorithm).setUpperDelayBound(v1); @@ -619,8 +661,13 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement } boolean b = sender.getWatchdog().isBarking() || receiver.getWatchdog().isBarking(); - boolean isup= (!b)&&(receiver.getRTT()<1000000000L); - monitor.setState(isup?MonitorData.UP:MonitorData.UNSTABLE); + boolean isup= (!b)&&(receiver.getRTT()<1000000000L);//&&(receiver.getRTT() bandwidthDistributer = new BandwidthDistributer(); - + BandwidthDistributer bandwidthDistributer=new BandwidthDistributer<>(); @Override public List getNeighborsInfo() { List hs = new ArrayList<>(1); if (peerAddress != null) { hs.add(new Neighbor(peerAddress, remoteVaddr, monitor, bandwidthDistributer)); - // System.out.println(peerAddress+" "+addressGroup); } return hs; } - private volatile int inputchachesize = 8192 * 4000; - private volatile int outputchachesize = 8192 * 240;// 500 private Consumer rerouteConsumer; @Override public void sendPacket(IPv6Packet pack, IPv6Address inet6Address) throws IOException { // 只有已连接的链路才能传输数据 - if (monitor.getState() == MonitorData.UP) { + if (status.getState() == LinkStatus.UP) { - // if(inet6Address.equals(remoteVaddr.getAddress())||inet6Address.equals(peerAddress.getAddress())) - // { - // 获得数据包的IPv6逐跳扩展头部 IPv6HopByHopHeader hop = pack.getHopByHopHeader(); UUID val = null; @@ -835,20 +870,15 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement } if (val != null) { - if (!(pack.getPayload() instanceof ICMPv6PostcardPacket)) { + //if (!(pack.getPayload() instanceof ICMPv6PostcardPacket)) { // 放入滑动窗口中并记录缓冲区大小占用 sendWindow.put(val, pack); - } + //} } } - // 捎带发送反方向的ACK给对方发送过来的数据包,减小设备性能开销 - /* - * if(srh!=null) { addACKSEQToSRH(srh,10); } - */ - // 发送数据包 - + sendIPv6PacketToLink(pack, val); - // } + } else { if (rerouteConsumer != null) { @@ -864,8 +894,6 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement private void sendIPv6PacketToLink(IPv6Packet pack, UUID val) { IPv6OverKLALBPacket kipv6 = new IPv6OverKLALBPacket(pack); - pack.putTimePassport("packdInLink"); - pack.printPassport(); sendPacketToLink(kipv6, val); } @@ -874,34 +902,25 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement } @Override - public boolean isCongress(IPv6Packet iPv6Packet, double scale) { + public boolean isCongestion(IPv6Packet iPv6Packet, double scale) { SendPacketSlidingWindow sw = sendWindow; if (sw != null) { - boolean cong = (scale <= 1.0) && (monitor.getOutDelay() / (monitor.getOutDelayMin() + 1000000L) > 2); - - return cong || sw.isCongress(iPv6Packet, scale); + return sw.isCongestion( scale); } else { return true; } } - @Override - public boolean isReachSpeedLimit(IPv6Packet iPv6Packet) { - //boolean xcongress = !speedLimit.checkTransmit(iPv6Packet.getTotalLength()); - //return xcongress; - return false; - } - @Override public String getName() { - return monitor.getName(); + return name; } @Override public boolean isUp() { - return (!isClosed()) && (getMonitor().getState() == MonitorData.UP) ; + return (!isClosed()) && (status.getState() == LinkStatus.UP) ; } @Override @@ -916,12 +935,12 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement for (Iterator iteratorx = getNeighborsInfo().iterator(); iteratorx.hasNext();) { Neighbor addresses = (Neighbor) iteratorx.next(); RouteItem ri = new RouteItem(new IPv6AddressGroup(addresses.getAddress().getAddress(), 128), - addresses.getAddress().getAddress(), this, "Direct", 0, 128, addresses.getMonitor(), "D", false); + addresses.getAddress().getAddress(), this, "Direct", 0, 128,CostSupplierFactory.expectedDelaySupplier((DelayMonitorData) addresses.getMonitor(),status,algorithm::getRTO), "D", false); rlist.add(ri); if (addresses.getLocator() != null) { RouteItem ris = new RouteItem(addresses.getLocator(), addresses.getLocator().getAddress(), this, - "KLALB SRv6", 13, 128, addresses.getMonitor(), "D", false); + "KLALB SRv6", 13, 128,CostSupplierFactory.expectedDelaySupplier((DelayMonitorData) addresses.getMonitor(),status,algorithm::getRTO), "D", false); rlist.add(ris); } } @@ -939,9 +958,30 @@ public class KLALBRemoteLine extends AbstractControlledIPv6NetworkLink implement if (deltaxnanos > 0) { Long128 psnd = NTPTimestamps.ntp128BitToNanosTimestamp( NTPTimestamps.inferNtp64To128(postcard.getTimestampBase(), sysclk.getCurrentTimeNTP128())); - monitor.getUploadBandwidth().recordPacket(KLALBUtils.createGlobalUUID(), psnd, 0, deltaxnanos); + monitor.recordUploadDelay(deltaxnanos); } - sendWindow.ack(postcard.getPacketUUID()); + sendWindow.ack(postcard.getPacketUUID(),false,deltaxnanos); + } + + public int getState() { + return status.getState(); + } + + + public SendPacketSlidingWindow getWindow() { + return sendWindow; + } + + + public long getQueueUsed() { + if(sender==null) { + return 0; + } + return sender.getQueueUsed(); + } + + + } diff --git a/src/org/kne/cloud/network/klalb/KLALBRemoteManagement.java b/src/org/kne/cloud/network/klalb/KLALBRemoteManagement.java index 49592b1..34fcf96 100644 --- a/src/org/kne/cloud/network/klalb/KLALBRemoteManagement.java +++ b/src/org/kne/cloud/network/klalb/KLALBRemoteManagement.java @@ -1,21 +1,17 @@ package org.kne.cloud.network.klalb; import java.io.IOException; -import java.net.SocketException; import java.net.SocketTimeoutException; import java.nio.charset.Charset; import java.util.Iterator; import java.util.List; -import java.util.Set; import org.kne.cloud.network.MultipurposeSocketAddress; -import org.kne.cloud.network.Proxy; import org.kne.cloud.network.SocketListener; import org.kne.cloud.network.ipv6.IPv6NetworkLink; -import org.kne.cloud.network.monitor.MonitorData; +import org.kne.cloud.network.monitor.LinkStatus; import com.google.gson.JsonArray; -import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.JsonPrimitive; @@ -69,15 +65,15 @@ public class KLALBRemoteManagement { synchronized (lineslist) { for (Iterator iterator = lineslist.iterator(); iterator.hasNext();) { IPv6NetworkLink link=iterator.next(); - if(!(link instanceof KLALBRemoteLine)) { + if(!(link instanceof KLALBRemoteLink)) { continue; } - KLALBRemoteLine klalbRemoteLine = (KLALBRemoteLine) link; + KLALBRemoteLink klalbRemoteLine = (KLALBRemoteLink) link; if(klalbRemoteLine.getSocketAddress()==null) continue; JsonObject jklbrl=new JsonObject(); jklbrl.addProperty("ipport", klalbRemoteLine.getSocketAddress().toString()); - jklbrl.addProperty("state",MonitorData.parseStateToString( klalbRemoteLine.getMonitor().getState())); + jklbrl.addProperty("state",LinkStatus.stateToString( klalbRemoteLine.getState())); jklbrl.addProperty("Vaddr", klalbRemoteLine.getRemoteVaddr().getAddress().toString()); diff --git a/src/org/kne/cloud/network/klalb/KLALBUtils.java b/src/org/kne/cloud/network/klalb/KLALBUtils.java index aa5e407..fdacab2 100644 --- a/src/org/kne/cloud/network/klalb/KLALBUtils.java +++ b/src/org/kne/cloud/network/klalb/KLALBUtils.java @@ -10,10 +10,11 @@ import java.net.UnknownHostException; import java.security.SecureRandom; import java.util.List; import java.util.UUID; -import java.util.concurrent.LinkedBlockingQueue; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.jctools.counters.CountersFactory; +import org.jctools.counters.FixedSizeStripedLongCounter; import org.kne.cloud.network.MultipurposeSocketAddress; import org.kne.cloud.network.ipv6.IPv6Address; @@ -385,20 +386,17 @@ public static String parseAbbrIPv6(String IPv6Str) { private final long id; private long counter=0; - private UUID randUUID=UUID.randomUUID(); - private long time=System.nanoTime(); - private static final long INTERVAL=1000000L; + private long randUUIDh; + private long randUUIDl; + private static SecureRandom sr=new SecureRandom(); public UUIDGenarator(long threadId) { this.id=threadId; + randUUIDh=sr.nextLong(); + randUUIDl=sr.nextLong(); } public UUID genarateUUID() { - long curr=System.nanoTime(); - if(curr-time>INTERVAL) { - time=curr; - randUUID=UUID.randomUUID(); - } - long h=randUUID.getMostSignificantBits()^id; - long l=randUUID.getLeastSignificantBits()^counter; + long h=randUUIDh^id; + long l=randUUIDl^counter; UUID ret=new UUID(h, l); counter++; @@ -413,4 +411,9 @@ public static String parseAbbrIPv6(String IPv6Str) { //return UUID.randomUUID(); return gens.get().genarateUUID(); } + + + public static FixedSizeStripedLongCounter createCounter() { + return CountersFactory.createFixedSizeStripedCounter(Runtime.getRuntime().availableProcessors()); + } } diff --git a/src/org/kne/cloud/network/klalb/KLALBVirtualDatagramSocketImpl.java b/src/org/kne/cloud/network/klalb/KLALBVirtualDatagramSocketImpl.java index dd422cf..d9d13e0 100644 --- a/src/org/kne/cloud/network/klalb/KLALBVirtualDatagramSocketImpl.java +++ b/src/org/kne/cloud/network/klalb/KLALBVirtualDatagramSocketImpl.java @@ -3,7 +3,6 @@ package org.kne.cloud.network.klalb; import java.io.IOException; import java.net.BindException; import java.net.DatagramPacket; -import java.net.DatagramSocketImpl; import java.net.Inet4Address; import java.net.Inet6Address; import java.net.InetAddress; @@ -18,15 +17,12 @@ import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.LockSupport; -import org.kne.cloud.network.NetworkPacket; import org.kne.cloud.network.VirtualDatagramSocketImpl; import org.kne.cloud.network.ipv6.IPv6Address; import org.kne.cloud.network.ipv6.IPv6Packet; import org.kne.cloud.network.tcp.UDPPacket; -import org.kne.concurrent.HighPerformanceExecutor; -import org.kne.io.KNEChannels; -public class KLALBVirtualDatagramSocketImpl extends VirtualDatagramSocketImpl implements BindableKLALBPacketConsumer{ +public class KLALBVirtualDatagramSocketImpl extends VirtualDatagramSocketImpl implements BindableConsumer{ private KLALBController controller; @@ -89,8 +85,8 @@ public class KLALBVirtualDatagramSocketImpl extends VirtualDatagramSocketImpl im localaddr = (Inet6Address) host; localPort=port; if(!ignoreBindCheck) - controller.getDatagramPortBinder().bind(this); - controller.getDatagramPortBinder().listen(this); + controller.getUDPregister().bind(this); + controller.getUDPregister().listen(this); } @Override @@ -137,12 +133,10 @@ public class KLALBVirtualDatagramSocketImpl extends VirtualDatagramSocketImpl im p.setLength(buffer.limit()); } - @Override protected void setTTL(byte ttl) throws IOException { this.ttl=ttl; } - @Override protected byte getTTL() throws IOException { return (byte) ttl; } @@ -183,9 +177,9 @@ public class KLALBVirtualDatagramSocketImpl extends VirtualDatagramSocketImpl im @Override protected void close() { - controller.getDatagramPortBinder().unlisten(this); + controller.getUDPregister().unlisten(this); if(!ignoreBindCheck) - controller.getDatagramPortBinder().unbind(this); + controller.getUDPregister().unbind(this); closed=true; } @@ -218,14 +212,16 @@ public class KLALBVirtualDatagramSocketImpl extends VirtualDatagramSocketImpl im private Queue recvQueue = new ConcurrentLinkedQueue(); private AtomicInteger recvQueueUsed=new AtomicInteger(0); @Override - public void accept(IPv6Address t,NetworkPacket np) { - UDPPacket u=(UDPPacket) np; + public void accept(IPv6Packet t) { + if(t.getPayload() instanceof UDPPacket) { + UDPPacket u=(UDPPacket) t.getPayload(); if(recvQueueUsed.get()<=inputchachesize) { if(recvQueue.offer(u)) { recvQueueUsed.addAndGet((int) u.getDataLength()); LockSupport.unpark(parkThread); } } + } } @Override diff --git a/src/org/kne/cloud/network/klalb/KLALBVirtualRawSocketImpl.java b/src/org/kne/cloud/network/klalb/KLALBVirtualRawSocketImpl.java index d29ef9f..933b103 100644 --- a/src/org/kne/cloud/network/klalb/KLALBVirtualRawSocketImpl.java +++ b/src/org/kne/cloud/network/klalb/KLALBVirtualRawSocketImpl.java @@ -16,26 +16,19 @@ import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.LockSupport; import java.util.function.BiConsumer; -import java.util.function.Consumer; import java.util.function.Supplier; -import org.kne.cloud.network.ByteBufferAllocator; -import org.kne.cloud.network.NetworkPacket; -import org.kne.cloud.network.RawSocketImpl; -import org.kne.cloud.network.ThreadTool; import org.kne.cloud.network.VirtualRawSocketImpl; import org.kne.cloud.network.ipv6.IPv6Packet; -import org.kne.cloud.network.ipv6.IPv6Packet.IPv6Payload; +import org.kne.cloud.network.ipv6.IPv6Packet.IPv6DefaultPayload; +import org.kne.cloud.network.ipv6.IPv6ProtocolRegister; import org.kne.cloud.network.ipv6.IPv6Address; import org.kne.cloud.network.ipv6.IPv6AddressGroup; import org.kne.cloud.network.ipv6.IPv6NetworkLink; import org.kne.cloud.network.ipv6.LoopbackIPv6NetworkLink; -import org.kne.cloud.network.srv6.PacketConsumer; -import org.kne.cloud.network.srv6.SRv6Router; -import org.kne.concurrent.HighPerformanceExecutor; import org.kne.io.KNEChannels; -public class KLALBVirtualRawSocketImpl extends VirtualRawSocketImpl implements PacketConsumer{ +public class KLALBVirtualRawSocketImpl extends VirtualRawSocketImpl implements IPv6ProtocolRegister{ private boolean ipHeaderInclude=false; @@ -123,7 +116,7 @@ public class KLALBVirtualRawSocketImpl extends VirtualRawSocketImpl implements P @Override protected void close() { - link.getProtocolNumberRegister().remove(bindProtocolNumber); + link.getProtocolNumberRegister()[bindProtocolNumber]=null; } @Override @@ -156,8 +149,10 @@ public class KLALBVirtualRawSocketImpl extends VirtualRawSocketImpl implements P localaddr=(Inet6Address) address; this.bindProtocolNumber=protocolNumber; - if(link.getProtocolNumberRegister().putIfAbsent(protocolNumber, this)!=null) { + if(link.getProtocolNumberRegister()[protocolNumber]!=null) { throw new BindException("protocol number already bind"); + }else { + link.getProtocolNumberRegister()[protocolNumber]=this; } } @@ -191,7 +186,7 @@ public class KLALBVirtualRawSocketImpl extends VirtualRawSocketImpl implements P if(ipHeaderInclude) { }else { - IPv6Payload pl=new IPv6Payload(bindProtocolNumber); + IPv6DefaultPayload pl=new IPv6DefaultPayload(bindProtocolNumber); pl.getData().put(buf); pl.getData().flip(); BiConsumer>cons=link.getReceiveConsumer(); @@ -281,7 +276,7 @@ public class KLALBVirtualRawSocketImpl extends VirtualRawSocketImpl implements P private AtomicInteger recvQueueUsed=new AtomicInteger(0); @Override - public boolean accept(IPv6Packet packx) throws IOException { + public boolean onaccept(IPv6Packet packx) throws IOException { if(recvQueueUsed.get()<=inputchachesize) { if(recvQueue.offer(packx)) { recvQueueUsed.addAndGet((int) packx.getPayload().getTotalLength()); diff --git a/src/org/kne/cloud/network/klalb/KLALBVirtualSocketChannel.java b/src/org/kne/cloud/network/klalb/KLALBVirtualSocketChannel.java index 62321de..8e9a3fb 100644 --- a/src/org/kne/cloud/network/klalb/KLALBVirtualSocketChannel.java +++ b/src/org/kne/cloud/network/klalb/KLALBVirtualSocketChannel.java @@ -7,11 +7,9 @@ import java.net.SocketException; import java.net.SocketOption; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; -import java.nio.channels.spi.SelectorProvider; import java.util.Set; - -import org.kne.cloud.network.klalb.KLALBVirtualSocketImpl.KVSIInputStream; -import org.kne.cloud.network.klalb.KLALBVirtualSocketImpl.KVSIOutputStream; +import org.kne.cloud.network.kltp.KLTPInputStream; +import org.kne.cloud.network.kltp.KLTPOutputStream; public class KLALBVirtualSocketChannel extends SocketChannel{ @@ -110,22 +108,22 @@ public class KLALBVirtualSocketChannel extends SocketChannel{ @Override public int read(ByteBuffer dst) throws IOException { - return ((KVSIInputStream)socket.getInputStream()).read(dst); + return ((KLTPInputStream)socket.getInputStream()).read(dst); } @Override public long read(ByteBuffer[] dsts, int offset, int length) throws IOException { - return ((KVSIInputStream)socket.getInputStream()).read(dsts,offset,length); + return ((KLTPInputStream)socket.getInputStream()).read(dsts,offset,length); } @Override public int write(ByteBuffer src) throws IOException { - return ((KVSIOutputStream)socket.getOutputStream()).write(src); + return ((KLTPOutputStream)socket.getOutputStream()).write(src); } @Override public long write(ByteBuffer[] srcs, int offset, int length) throws IOException { - return ((KVSIOutputStream)socket.getOutputStream()).write(srcs,offset,length); + return ((KLTPOutputStream)socket.getOutputStream()).write(srcs,offset,length); } @Override @@ -146,13 +144,13 @@ public class KLALBVirtualSocketChannel extends SocketChannel{ } public boolean isAutoFlush() throws IOException { - return ((KVSIOutputStream)socket.getOutputStream()).isAutoFlush(); + return ((KLTPOutputStream)socket.getOutputStream()).isAutoFlush(); } public void setAutoFlush(boolean b) throws IOException { - ((KVSIOutputStream)socket.getOutputStream()).setAutoFlush(b); + ((KLTPOutputStream)socket.getOutputStream()).setAutoFlush(b); } public void flush() throws IOException { - ((KVSIOutputStream)socket.getOutputStream()).flush(); + ((KLTPOutputStream)socket.getOutputStream()).flush(); } } diff --git a/src/org/kne/cloud/network/klalb/KLALBVirtualSocketImpl.java b/src/org/kne/cloud/network/klalb/KLALBVirtualSocketImpl.java index 66cc9ad..c1ec57b 100644 --- a/src/org/kne/cloud/network/klalb/KLALBVirtualSocketImpl.java +++ b/src/org/kne/cloud/network/klalb/KLALBVirtualSocketImpl.java @@ -15,205 +15,43 @@ import java.net.SocketException; import java.net.SocketImpl; import java.net.SocketOptions; import java.net.SocketTimeoutException; -import java.nio.ByteBuffer; -import java.nio.channels.ReadableByteChannel; -import java.nio.channels.WritableByteChannel; -import java.util.Iterator; -import java.util.Map; -import java.util.TimerTask; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicReference; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; -import java.util.zip.Deflater; -import java.util.zip.DeflaterOutputStream; -import java.util.zip.Inflater; -import java.util.zip.InflaterInputStream; -import org.kne.cloud.clock.HighAccuracyClock; -import org.kne.cloud.network.NetworkPacket; -import org.kne.cloud.network.PortPair; -import org.kne.cloud.network.SpeedLimiter; import org.kne.cloud.network.VirtualSocketImpl; -import org.kne.cloud.network.congestion.CongestionAlgorithm; -import org.kne.cloud.network.congestion.DCTCP2CongestionAlgorithm; -import org.kne.cloud.network.congestion.SendPacketSlidingWindow; import org.kne.cloud.network.ipv6.IPv6Address; -import org.kne.cloud.network.ipv6.PacketID; -import org.kne.cloud.network.ipv6.PacketIDGenerator; -import org.kne.cloud.network.monitor.SpeedAndTrafficAndDelayMonitorDataImpl; -import org.kne.concurrent.SpinLock; -import org.kne.concurrent.ThreadParker; - -import com.github.f4b6a3.uuid.UuidCreator; - -public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements BindableKLALBPacketConsumer{ - - private static final int HEADER_CALIBRATE = 100; - /* - private PrintStream dbg; - { - try { - dbg= new PrintStream("debug.csv"); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - - } - */ +import org.kne.cloud.network.kltp.KLTPInputStream; +import org.kne.cloud.network.kltp.KLTPOutputStream; +import org.kne.cloud.network.kltp.KLTPSessionPacket; +public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements BindableConsumer{ private static final boolean debug = false; - //private SpeedAndTrafficAndDelayMonitorDataImpl socketMonitor=new SpeedAndTrafficAndDelayMonitorDataImpl(HighAccuracyClock.SYSTEM_CLOCK); - - //private SpeedAndTrafficAndDelayMonitorDataImpl socketRawMonitor=new SpeedAndTrafficAndDelayMonitorDataImpl(HighAccuracyClock.SYSTEM_CLOCK); + private static final int DEFAULT_TIMEOUT=10000; private KLALBController controller; - - //60000 30 30 - private final int MTU=8192; - private final long MIN_RTTVAR=200000000L; - private final long MIN_LIMIT_SPEED=128*1024L; - private final long REACK_INTERVAL = 100000000L; - - - private SpeedLimiter spdlmt=new SpeedLimiter(MIN_LIMIT_SPEED,1000000L); - protected IPv6Address remoteaddr; protected IPv6Address localaddr=IPv6Address.UNSPECIFIED; - private BlockingQueue backlogQueue; - private ReentrantLock backlogQueuelock=new ReentrantLock(); - private ThreadParker sendDequeLock=new ThreadParker(); - private Map recvMap = new ConcurrentHashMap(1024); - private AtomicInteger recvWindowUsed=new AtomicInteger(0); + private volatile KLTPInputStream vin; + private volatile KLTPOutputStream vout; - private ThreadParker sendthread=new ThreadParker(); + private boolean ignoreBindCheck; + private boolean connected; - - private boolean connectionPending; - private TimerTask flowControlTask=new FlowControlTask(); - private PortPair portp; - - private InputStream vin; - private OutputStream vout; - - private boolean closed; - private KVSIInputStream kvsii; - private KVSIOutputStream kvsio; + private BlockingQueue backlogQueue; - private boolean nodelay=false; - private long delaytime=2; - private int inputchachesize =128* 1024*1024; - private int outputchachesize = 128* 1024*1024; - - private CongestionAlgorithm algorithm=new DCTCP2CongestionAlgorithm(); - private SendPacketSlidingWindowsendMap=new SendPacketSlidingWindow<>(algorithm, 4*MTU,HEADER_CALIBRATE,false); - { - sendMap.setResendConsumer((dtp)->{ - if(dtp.getSendCounter()>=10) { - System.err.println("send error!"); - try { - close0(true); - } catch (IOException e) { - e.printStackTrace(); - } - } - - controller.getIpv6Router().enqueuePacketSendTask(()->{ - long length= dtp.getTotalLength(); - //socketRawMonitor.getUploadBandwidth().recordPacket(pidg.generate(), (int) length); - spdlmt.forceTransmit(length); - //System.out.println("第"+(dtp.getSendCounter()-1)+"次重传:"+dtp); - return controller.createPacketToAddress( remoteaddr,0,dtp,1); - }); - }); + protected boolean isListening() { + return backlogQueue != null; } - private volatile long requestSpeedOld=MIN_LIMIT_SPEED; - - - - - - - private long inputcount = 0; - private volatile long peerAvaliableRcvWindow = MTU*40; - private volatile long congestionWindow= MTU*40; - private long outputcount = 0; - - - - //private volatile long RunningSpeed=spdlmt.getLimitspeed(); - - - - - - - - protected int getInputchachesize() { - return inputchachesize; - } - - protected void setInputchachesize(int inputchachesize) { - this.inputchachesize = inputchachesize; - } - - protected int getOutputchachesize() { - return outputchachesize; - } - - protected void setOutputchachesize(int outputchachesize) { - this.outputchachesize = outputchachesize; - } - - - - public long getDelaytime() { - return delaytime; - } - - public void setDelaytime(long delaytime) { - this.delaytime = delaytime; - } - - - private class FlowControlTask extends TimerTask{ - - @Override - public void run() { - if(getLocalPort()!=0&&getPort()!=0) - if(!remoteaddr.isAnyLocalAddress()) - controller.getIpv6Router().enqueuePacketSendTask(()->{ - return controller.createPacketToAddress( remoteaddr,0, new ACKTPacket(getLocalPort(),getPort(), -1, - getAvaliableRcvWindow(),false,0,0)); - }); - - } - - - - } - - private long getAvaliableRcvWindow() { - return Math.max(0, inputchachesize-recvWindowUsed.get()); - } - - protected boolean isListening() { - return backlogQueue != null; - } public KLALBController getController() { return controller; @@ -221,13 +59,12 @@ public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements Bindabl public KLALBVirtualSocketImpl(KLALBController kc) { super(); this.controller = kc; - this.delaytime=kc.getConfigItem().getNagleDelayTime(); } @Override public void setOption(int optID, Object value) throws SocketException { switch(optID) { - case SocketOptions.TCP_NODELAY: + /*case SocketOptions.TCP_NODELAY: nodelay=(boolean) value; break; case SocketOptions.SO_RCVBUF: @@ -235,6 +72,9 @@ public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements Bindabl break; case SocketOptions.SO_SNDBUF: outputchachesize=(int)value; + break;*/ + case SocketOptions.SO_TIMEOUT: + vin.setSoTimeout((int)value); break; } } @@ -242,12 +82,14 @@ public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements Bindabl @Override public Object getOption(int optID) throws SocketException { switch(optID) { - case SocketOptions.TCP_NODELAY: + /*case SocketOptions.TCP_NODELAY: return nodelay; case SocketOptions.SO_RCVBUF: return inputchachesize; case SocketOptions.SO_SNDBUF: - return outputchachesize; + return outputchachesize;*/ + case SocketOptions.SO_TIMEOUT: + return vin.getSoTimeout(); case SocketOptions.SO_BINDADDR: return localaddr; default: @@ -270,7 +112,7 @@ public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements Bindabl @Override protected void connect(InetAddress address, int port) throws IOException { - connect(new InetSocketAddress(address, port), 10000); + connect(new InetSocketAddress(address, port), DEFAULT_TIMEOUT); } @@ -278,92 +120,49 @@ public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements Bindabl @Override protected void connect(SocketAddress address, int timeout) throws IOException { if(!ignoreBindCheck) - if (!controller.getStreamPortBinder().checkIsBind(this)) { - bind(Inet6Address.getByName("::0"), 0); - } - port = ((InetSocketAddress) address).getPort(); - this.address = (Inet6Address) ((InetSocketAddress) address).getAddress(); - this.remoteaddr=IPv6Address.valueOf(this.address); - - if(connected) - throw new SocketException("already connected"); - controller.getStreamPortBinder().connect(this); - - connectionPending=true; - - //controller.sendPacketToAddress((Inet6Address) this.remoteaddr, new SYNTPacket(localport, port), 0,1); - try { - getKVSIOutputStream().write(compress); - if(compress==1) { - vout=new DeflaterOutputStream(getKVSIOutputStream(), new Deflater(Deflater.BEST_COMPRESSION, true), MTU, true); - }else { - vout = getKVSIOutputStream(); + if (!controller.getKLTPregister().checkIsBind(this)) { + bind(Inet6Address.getByName("::0"), 0); } - getKVSIOutputStream().forceFlush(); - getKVSIOutputStream().waitForAllAcknowledged(timeout); - getKVSIOutputStream().unlockNagle(); - - - int comp=getKVSIInputStream().read(); - if(comp==1) { - vin=new InflaterInputStream(getKVSIInputStream(),new Inflater(true),MTU); - }else { - vin = getKVSIInputStream(); - } - - connected=true; - - PortPair portpx=new PortPair(localport, port); - controller.registerDistUpdateConsumer(remoteaddr, portpx, (c)->{ - //System.out.println(c); - spdlmt.setLimitspeed(Math.max(MIN_LIMIT_SPEED,c)); - }); - //updateBandwidthReq(MIN_LIMIT_SPEED); - algorithm.setSpeedControlConsumer((speed,burst)->{ - if(debug) - System.out.println("speed:"+speed); - if(portp!=null) { - if(speed>requestSpeedOld*1.01||speed(timeout*1000000L)) { + throw new SocketTimeoutException("connect time out"); } } - spdlmt.setBrustTime(burst); - }); - algorithm.setWindowControlConsumer((window)->{ - if(debug) - System.out.println("window:"+window); - congestionWindow=window; - updateWindowSize(); - }); - algorithm.reset(); - this.portp=portpx; + + connected=true; + - }catch(SocketTimeoutException e) { - throw new SocketTimeoutException("connect time out"); - }catch(NoRouteToHostException e) { - throw e; - }catch(SocketException e) { - e.printStackTrace(); - throw new ConnectException("connect refused"); - }finally { - connectionPending=false; - } - controller.getResendTimer().schedule(flowControlTask, 5000, 5000); - } - private void updateBandwidthReq(long requestSpeed) { - if(remoteaddr!=null&&portp!=null) - controller.updateBandwidthRequest(remoteaddr, portp,requestSpeed ); + + }catch(NoRouteToHostException e) { + throw e; + }catch(SocketException e) { + e.printStackTrace(); + throw new ConnectException("connect refused"); + }finally { + //connectionPending=false; + } } - public boolean isConnectionPending() { - return connectionPending; - } - //private volatile boolean connecting = false; - - /*public boolean isConnecting() { - return connecting; - }*/ @Override protected void bind(InetAddress host, int port) throws IOException { bind(host,port,false); @@ -381,8 +180,10 @@ public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements Bindabl localaddr = IPv6Address.valueOf( host); localport=port; this.ignoreBindCheck=ignoreBindCheck; - if(!ignoreBindCheck) - controller.getStreamPortBinder().bind(this); + if(!ignoreBindCheck) { + controller.getKLTPregister().bind(this); + } + //System.out.println("绑定:"+host.getHostAddress()+":"+localport); } @Override @@ -393,15 +194,16 @@ public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements Bindabl @Override protected void listen(int backlog) throws IOException { backlogQueue = new ArrayBlockingQueue<>(backlog); - controller.getStreamPortBinder().listen(this); + controller.getKLTPregister().listen(this); address=localaddr.toInet6Address(); } @Override protected void accept(SocketImpl s) throws IOException { + //System.out.println("Enter accept============================="); KLALBVirtualSocketImpl kvsi = (KLALBVirtualSocketImpl) s; - Object[] p=null; + KLTPSessionPacket p=null; while(true) { if (isClosed()) throw new SocketException("Socket is closed"); @@ -415,605 +217,29 @@ public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements Bindabl e.printStackTrace(); } } - InetSocketAddress isa = (InetSocketAddress) p[0]; - kvsi.inputchachesize=inputchachesize; - kvsi.outputchachesize=outputchachesize; - - kvsi.address = isa.getAddress(); - kvsi.remoteaddr=IPv6Address.valueOf( isa.getAddress()); + + System.out.println(p); + KLTPInputStream input=p.getInputstream(); + kvsi.address = input.getRemoteAddress().toInet6Address(); + kvsi.remoteaddr=input.getRemoteAddress(); kvsi.bind(localaddr.toInet6Address(), localport,true); - kvsi.accept((IPv6Address) p[1],(KLALBPacket) p[2]); - kvsi.connect(isa, 5000); - /*kvsi.port = isa.getPort(); - kvsi.localport = localport; - kvsi.localaddr = localaddr;*/ + kvsi.accept(p); + kvsi.connect(new InetSocketAddress(kvsi.address, p.getSrcPort()),10); + //System.out.println("Exit accept============================="); } - - protected class KVSIInputStream extends InputStream implements ReadableByteChannel{ - - private DATATPacket dataPack = null; - //private int count = 0; - - private boolean shutdown=false; - @Override - public int read() throws IOException { - if (dataPack == null ) { - nextPacket(); - } - if (dataPack.getSize() == 0) { - return -1; - } else { - int ret= dataPack.getDataBuffer().get() & 0xff; - if(!dataPack.getDataBuffer().hasRemaining()) { - //dataPack.dispose(); - dataPack=null; - } - //System.out.println("read:"+1); - return ret; - } - } - private long reAckTime=System.nanoTime(); - private DATATPacket nextPacket() throws IOException { - //count = 0; - while (true) { - if (isClosed()) - throw new SocketException("Socket is closed"); - - DATATPacket dtp2 = recvMap.get(inputcount); - if (dtp2 != null) { - long oldcount= inputcount++; - recvMap.remove(oldcount); - int g=recvWindowUsed.addAndGet(-dtp2.getSize()); - long curt=System.nanoTime(); - if(g<=0&(curt-reAckTime)>REACK_INTERVAL) { - reAckTime=curt; - flowControlTask.run(); - } - //System.out.println("PULL:"+dtp2); - dataPack = dtp2; - int size=dtp2.getSize(); - //socketMonitor.getDownloadBandwidth().recordPacket(pid, size); - controller.getDatatMonitor().getDownloadBandwidth().recordPacket(KLALBUtils.createGlobalUUID(), size); - //checkFlowControl(dtp2); - break; - - } - sendDequeLock.parkNanos(1000000); - } - //System.out.println("sorted:"+dataPack); - return dataPack; - } - /*private void checkFlowControl(DATATPacket dtp2) throws IOException { - if(recvQueue.size() >= inputchachesize/MTU-4) { - controller.sendPacketToAddress(remoteaddr,0,KLALB_PROTOCOL_NUMBER, new ACKTPacket(dtp2.getDport(), dtp2.getSport(), dtp2.getNumber(), - true,dtp2.getSendcount())); - } - }*/ - - - @Override - public int read(ByteBuffer dst) throws IOException { - int oldlmt=dst.limit(); - try { - - - if (dataPack == null ) { - nextPacket(); - } - if (dataPack.getSize() == 0) { - return -1; - } else { - int len = Math.min(dst.remaining(), available()); - dst.limit(dst.position()+len); - dst.put( dataPack.getDataBuffer().get()) ; - if(!dataPack.getDataBuffer().hasRemaining()) { - dataPack.putTimePassport("unpacked"); - dataPack.printPassport(); - //dataPack.dispose(); - dataPack=null; - } - } - int i = 1; - try { - while (dst.hasRemaining()) { - - if (dataPack == null ) { - nextPacket(); - } - if (dataPack.getSize() == 0) { - break; - } - int min=Math.min(dataPack.getDataBuffer().remaining(), dst.remaining()); - int oldlm=dataPack.getDataBuffer().limit(); - dataPack.getDataBuffer().limit(dataPack.getDataBuffer().position()+min); - dst.put(dataPack.getDataBuffer()); - dataPack.getDataBuffer().limit(oldlm); - i+=min; - //b[off + i]= dtp.getData()[count++] ; - if(!dataPack.getDataBuffer().hasRemaining()) { - dataPack.putTimePassport("unpacked"); - dataPack.printPassport(); - //dataPack.dispose(); - dataPack=null; - } - - } - } catch (IOException ee) { - } - return i; - }finally { - dst.limit(oldlmt); - } - } - - - @Override - public int read(byte[] b, int off, int len) throws IOException { - if (b == null) { - throw new NullPointerException(); - } else if (off < 0 || len < 0 || len > b.length - off) { - throw new IndexOutOfBoundsException(); - } else if (len == 0) { - return 0; - } - - - - if (dataPack == null ) { - nextPacket(); - } - if (dataPack.getSize() == 0) { - return -1; - } else { - len = Math.min(len, available()); - b[off]= dataPack.getDataBuffer().get() ; - if(!dataPack.getDataBuffer().hasRemaining()) { - dataPack.putTimePassport("unpacked"); - dataPack.printPassport(); - //dataPack.dispose(); - dataPack=null; - } - } - int i = 1; - try { - while (i < len) { - - if (dataPack == null ) { - nextPacket(); - } - if (dataPack.getSize() == 0) { - break; - } - int remainD=len-i; - int min=Math.min(dataPack.getDataBuffer().remaining(), remainD); - dataPack.getDataBuffer().get(b, off+i, min); - i+=min; - //b[off + i]= dtp.getData()[count++] ; - if(!dataPack.getDataBuffer().hasRemaining()) { - dataPack.putTimePassport("unpacked"); - dataPack.printPassport(); - //dataPack.dispose(); - dataPack=null; - } - - } - } catch (IOException ee) { - } - return i; - } - - @Override - public void close() throws IOException { - try { - close0(); - }finally { - getKVSIOutputStream().close0(); - } - } - private void close0() throws IOException{ - - } - @Override - public int available() throws IOException { - int i = recvWindowUsed.get(); - /*for(DATATPacket V:recvQueue) { - i+=(V.getSize()); - }*/ - if (dataPack != null) - i+=dataPack.getDataBuffer().remaining(); - return i; - } - - @Override - public boolean isOpen() { - return !closed; - } - - - public long read(ByteBuffer[] dsts, int offset, int length) throws IOException { - long lth=0; - for(int i=offset;i0) { - int remainD=dataPack.getDataBuffer().remaining(); - int min=Math.min(len, remainD); - dataPack.getDataBuffer().put(b, off, min); - - off+=min; - len-=min; - if (!dataPack.getDataBuffer().hasRemaining()) {//1429?5773?8669 - flush0(); - } - } - - if(dataPack!=null&& dataPack.getDataBuffer().position()>0) { - if(autoFlush) - delayFlush(); - } - }finally { - if(olock!=null) - olock.unlock(); - } - } - - private int writeWithoutFlush(ByteBuffer src)throws IOException { - if (isClosed()) - throw new SocketException("Socket is closed"); - int counter=0; - if(olock!=null) - olock.lock(); - try { - - while(src.hasRemaining()) { - int min=Math.min(src.remaining(), dataPack.getDataBuffer().remaining()); - int olm=src.limit(); - src.limit(src.position()+min); - dataPack.getDataBuffer().put(src); - counter+=min; - src.limit(olm); - - if (!dataPack.getDataBuffer().hasRemaining()) {//1429?5773?8669 - flush0(); - } - } - - - }finally { - if(olock!=null) - olock.unlock(); - } - return counter; - } - - @Override - public int write(ByteBuffer src) throws IOException { - if (isClosed()) - throw new SocketException("Socket is closed"); - int counter=0; - if(olock!=null) - olock.lock(); - try { - - while(src.hasRemaining()) { - int min=Math.min(src.remaining(), dataPack.getDataBuffer().remaining()); - int olm=src.limit(); - src.limit(src.position()+min); - dataPack.getDataBuffer().put(src); - counter+=min; - src.limit(olm); - - if (!dataPack.getDataBuffer().hasRemaining()) {//1429?5773?8669 - flush0(); - } - } - - if(dataPack!=null&& dataPack.getDataBuffer().position()>0) { - if(autoFlush) - delayFlush(); - } - }finally { - if(olock!=null) - olock.unlock(); - } - return counter; - } - - - private void createDataPack() { - if(dataPack==null) { - dataPack=new DATATPacket(localport, port, outputcount++, MTU); - dataPack.putTimePassport("buildHeader"); - } - } - public void waitForAllAcknowledged(int timeout) throws IOException { - long start=System.nanoTime(); - while(true){ - if (isClosed()) - throw new SocketException("Socket is closed"); - if(sendMap.isEmpty()) - break; - if(timeout!=0&&(System.nanoTime()-start>timeout*1000000L)) - throw new SocketTimeoutException("wait for acknowledged timout"); - sendthread.parkNanos(1000000L); - } - } - AtomicReference ioe=new AtomicReference<>(); - private volatile TimerTask tt; - - @Override - public void flush() throws IOException { - if(olock!=null) - olock.lock(); - try { - if((delaytime<=0)||locked) { - flush0(); - }else { - delayFlush(); - } - }finally { - if(olock!=null) - olock.unlock(); - } - } - public void forceFlush() throws IOException{ - if(olock!=null) - olock.lock(); - try { - flush0(); - }finally { - if(olock!=null) - olock.unlock(); - } - } - public void delayFlush()throws IOException{ - if(tt==null) { - tt= new TimerTask() { - - @Override - public void run() { - if(isClosed()) - cancel(); - try { - if(olock!=null) - olock.lock(); - try { - flush0(); - }finally { - if(olock!=null) - olock.unlock(); - } - } catch (IOException e) { - ioe.set(e); - } - } - }; - getController().getNagleTimer().schedule(tt, delaytime/1000000L); - } - - IOException ioex=ioe.get(); - if(ioex!=null) { - ioex.fillInStackTrace(); - throw ioex; - } - } - - private void flush0() throws IOException { - if (dataPack!=null&&dataPack.getDataBuffer().position() > 0) { - if(tt!=null) { - tt.cancel(); - tt=null; - } - dataPack.putTimePassport("packed"); - dataPack.putTimePassport("waitForAvaliable"); - while(true){ - if (isClosed()) - throw new SocketException("Socket is closed"); - boolean b=sendMap.isCongress(null, 1.0); - if(!b) - break; - sendthread.parkNanos(1000000L); - } - dataPack.putTimePassport("waitForWindow"); - DATATPacket pack=dataPack; - dataPack=null; - pack.getDataBuffer().flip(); - - - //spdlmt.transmit(pack.getDataBuffer().limit()); - controller.getIpv6Router().enqueuePacketSendTask(()->{ - sendMap.put(pack.getNumber(),pack); - - int size= pack.getDataBuffer().limit(); - //socketMonitor.getUploadBandwidth().recordPacket(pid, size); - controller.getDatatMonitor().getUploadBandwidth().recordPacket(KLALBUtils.createGlobalUUID(), size); - - //socketRawMonitor.getUploadBandwidth().recordPacket(pid, size); - return controller.createPacketToAddress(remoteaddr,0,pack); - - }); - - createDataPack(); - - - - - } - } - @Override - public void close() throws IOException { - try { - close0(); - }finally { - getKVSIInputStream().close0(); - } - } - private void close0() throws IOException { - //outputclosed=true; - if(isClosed()) - return; - if(olock!=null) - olock.lock(); - try { - flush0(); - }finally { - if(olock!=null) - olock.unlock(); - } - - DATATPacket pack=new DATATPacket(localport, port, outputcount++,MTU); - pack.getDataBuffer(). flip(); - controller.getIpv6Router().enqueuePacketSendTask(()->{ - return controller.createPacketToAddress(remoteaddr,0,pack); - }); - /*sendmaplock.readLock().lock(); - try{*/ - sendMap.put(pack.getNumber(),pack); - /*}finally { - sendmaplock.readLock().unlock(); - }*/ - try { - while(true){ - if (isClosed()) - throw new SocketException("Socket is closed"); - //System.out.println(sendmap.size()); - if(sendMap.isEmpty()) - break; - sendthread.parkNanos(1000000L); - } - - }finally { - if(tt!=null) - tt.cancel(); - } - } - @Override - public boolean isOpen() { - return !closed; - } - public boolean isAutoFlush() { - return autoFlush; - } - public void setAutoFlush(boolean b) { - autoFlush=b; - } - public long write(ByteBuffer[] srcs, int offset, int length) throws IOException { - long lth=0; - for(int i=offset;i0) { - if(autoFlush) - flush(); - } - return lth; - } - - } - - private KVSIInputStream getKVSIInputStream() { - if(kvsii==null) - kvsii=new KVSIInputStream(); - return kvsii; - } @Override public InputStream getInputStream() throws IOException { - /*if (vin == null) { - vin = getKVSIInputStream(); - int val= vin.read(); - if(val==1) { - vin=new InflaterInputStream(vin,new Inflater(true),LIMIT); - } - }*/ + return vin; } - private KVSIOutputStream getKVSIOutputStream() { - if(kvsio==null) - kvsio=new KVSIOutputStream(); - return kvsio; - } + @Override public OutputStream getOutputStream() throws IOException { - /*if (vout == null) { - vout = getKVSIOutputStream(); - vout.write(compress); - ((KVSIOutputStream) vout).forceFlush(); - if(compress==1) { - vout=new DeflaterOutputStream(vout, new Deflater(Deflater.BEST_COMPRESSION, true), LIMIT, true); - } - }*/ return vout; } @@ -1035,48 +261,41 @@ public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements Bindabl } @Override - protected void setPerformancePreferences(int connectionTime, int latency, int bandwidth) { - super.setPerformancePreferences(connectionTime, latency, bandwidth); + public String toString() { + return "KLALBVirtualSocketImpl [vin=" + vin + ", vout=" + vout + "]"; } + + @Override protected void close() throws IOException { - close0(true); - } - - private void close0(boolean b) throws IOException { -//new Exception().printStackTrace(); - if ( !isClosed()) { - closed = true; - - if(!isListening() ) { - flowControlTask.cancel(); - sendMap.close(); - if(b) - if(remoteaddr!=null) { - controller.getIpv6Router().enqueuePacketSendTask(()->{ - return controller.createPacketToAddress(remoteaddr,0, new RSTPacket(super.localport, super.port), - 2); - }); - } - controller.getStreamPortBinder().disconnect(this); - if(portp!=null) { - PortPair portpx=portp; - portp=null; - controller.updateBandwidthRequest(remoteaddr, portpx, 0L); - controller.registerDistUpdateConsumer(remoteaddr, portpx, null); - } - }else { - //System.out.println("unlisten"+getLocalPort()); - controller.getStreamPortBinder().unlisten(this); - } - if(!ignoreBindCheck) - controller.getStreamPortBinder() .unbind(this); + //new Exception().printStackTrace(); + closed=true; + try { + if(vout!=null) + vout.close(); + }finally { + if(vin!=null) + vin.close(); + + if(!isListening() ) { + + controller.getKLTPregister().disconnect(this); + + }else { + //System.out.println("unlisten"+getLocalPort()); + controller.getKLTPregister().unlisten(this); + } + if(!ignoreBindCheck) + controller.getKLTPregister() .unbind(this); } + } - private boolean isClosed() { + + + private boolean isClosed() {//||(vin!=null&&vin.isClosed())&&(vout!=null&&vout.isClosed()) return closed; } @@ -1093,154 +312,22 @@ public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements Bindabl @Override - public void accept(IPv6Address from,NetworkPacket np) { - KLALBPacket u=(KLALBPacket) np; - try { - //System.out.println(this+" "+u); - switch (u.getType()) { - case KLALBPacket.RST: - //reseted.countDown(); - if(!isListening()) - close0(false); - break; - case KLALBPacket.DATAT: - DATATPacket dtp = (DATATPacket) u; - - acceptDATA(from, dtp); - break; - case KLALBPacket.ACKT: - ACKTPacket ackt = (ACKTPacket) u; - acceptACK(from, ackt); - break; - - default: - break; - } - } catch (IOException e) { - e.printStackTrace(); - } + public void accept(KLTPSessionPacket stream) { + if(isListening()) { + if(!backlogQueue.contains(stream)) { + backlogQueue.add(stream); + System.out.println("添加到监听队列:"+stream); + } + }else { + System.out.println("匹配反向连接:"+stream); + if(this.vin==null) { + this.vin=stream.getInputstream(); + } + } } - private void acceptDATA(IPv6Address from, DATATPacket dtp) throws BindException, IOException { - //socketRawMonitor.getDownloadBandwidth().recordPacket(pidg.generate(), length); - if(isListening()) { - if(dtp.getNumber()==0) { - backlogQueuelock.lock(); - try{ - - //controller.getStreamPortBinder().checkIsConnected(new Pair); - InetSocketAddress is=new InetSocketAddress(from.toInet6Address(), dtp.getSrcPort()); - AtomicBoolean ab=new AtomicBoolean(true); - for (Iterator iterator = backlogQueue.iterator(); iterator.hasNext();) { - Object[] objects = (Object[]) iterator.next(); - if(is.equals(objects[0])) { - ab.set(false); - break; - } - } - if(ab.get()) { - if(controller.getStreamPortBinder().checkIsConnect(this,new InetSocketAddress(from.toInet6Address(), dtp.getSrcPort()))) { - ab.set(false); - } - } - - - if(ab.get()) - if(backlogQueue.offer(new Object[] { is,from,dtp})) { - /* controller.sendPacketToAddress(from.getRemoteVaddr(), new ACKTPacket(dtp.getDport(), dtp.getSport(),dtp.getNumber(),true,0), - 0,2);*/ - }else { - controller.getIpv6Router().enqueuePacketSendTask(()->{ - return controller.createPacketToAddress(from,0, new RSTPacket(dtp.getDstPort(), dtp.getSrcPort()), - 2); - }); - } - - }finally { - backlogQueuelock.unlock(); - } - }else { - controller.getIpv6Router().enqueuePacketSendTask(()->{ - return controller.createPacketToAddress(from,0, new RSTPacket(dtp.getDstPort(), dtp.getSrcPort()), - 2); - }); - } - }else { - //System.out.println(dtp.isCE()); - controller.getIpv6Router().enqueuePacketSendTask(()->{ - return controller.createPacketToAddress(from,0, new ACKTPacket(dtp.getDstPort(), dtp.getSrcPort(), dtp.getNumber(), - getAvaliableRcvWindow(),dtp.isCE(),0,dtp.getSendcount()), 1); - }); - boolean added=false; - - long number=dtp.getNumber(); - - /*inputchachelock.lock(); - try {*/ - if (number >= inputcount) { - - recvWindowUsed.addAndGet(dtp.getSize()); - if(recvMap.putIfAbsent (dtp.getNumber(), dtp)!=null) { - recvWindowUsed.addAndGet(-dtp.getSize()); - } - added=true; - - - - - - - }else { - //dtp.dispose(); - } - - - - if(added) { - sendDequeLock.unpark(); - } - - //dbg.println(from.getMonitor()+","+dtp.getNumber()); - } - } - - private void acceptACK(IPv6Address from, ACKTPacket ackt) throws IOException { - if(isListening()) { - controller.getIpv6Router().enqueuePacketSendTask(()->{ - return controller.createPacketToAddress(from,0, new RSTPacket(ackt.getDstPort(), ackt.getSrcPort()), - 2); - }); - }else { - peerAvaliableRcvWindow = ackt.getAvaliableRcvWindow(); - updateWindowSize(); - long bwrcv=ackt.getRcvSpeed(); - if(debug) - System.out.println("bwrcv:"+bwrcv); - algorithm.setCurrentBandwidth(bwrcv); - - - - - - - DATATPacket kl=null; - - - kl=sendMap.ack(ackt.getNumber(),ackt.isCongress()); - - - - - } - } - - private void updateWindowSize() { - sendMap.setWindowSize(Math.min(peerAvaliableRcvWindow, congestionWindow)); - - if(sendthread!=null) - sendthread.unpark(); - } + @Override public InetAddress getRemoteInetAddress() { @@ -1256,6 +343,20 @@ public class KLALBVirtualSocketImpl extends VirtualSocketImpl implements Bindabl public void setLocalPort(int i) { localport=i; } + + + public void setCompress(int i) { + // TODO 自动生成的方法存根 + + } + public int getCompress() { + // TODO 自动生成的方法存根 + return 0; + } + public boolean isConnectionPending() { + // TODO 自动生成的方法存根 + return false; + } diff --git a/src/org/kne/cloud/network/klalb/LineDecitionComparator.java b/src/org/kne/cloud/network/klalb/LineDecitionComparator.java index edc5af2..a1e719c 100644 --- a/src/org/kne/cloud/network/klalb/LineDecitionComparator.java +++ b/src/org/kne/cloud/network/klalb/LineDecitionComparator.java @@ -1,18 +1,16 @@ package org.kne.cloud.network.klalb; -import java.net.SocketException; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.concurrent.atomic.AtomicLong; -public class LineDecitionComparator implements Comparator { - private Map predictedlatencys=new HashMap<>(); - public LineDecitionComparator (List krs,KLALBPacket curr,int priority) { - for (Iterator iterator = krs.iterator(); iterator.hasNext();) { - KLALBRemoteLine klalbRemoteSocket = (KLALBRemoteLine) iterator.next(); +public class LineDecitionComparator implements Comparator { + private Map predictedlatencys=new HashMap<>(); + public LineDecitionComparator (List krs,KLALBPacket curr,int priority) { + for (Iterator iterator = krs.iterator(); iterator.hasNext();) { + KLALBRemoteLink klalbRemoteSocket = (KLALBRemoteLink) iterator.next(); long x=klalbRemoteSocket.getMonitor().getOutDelay(); //long x=klalbRemoteSocket.getMonitor().getLatency()>>1; /*long al=0; @@ -32,12 +30,12 @@ public class LineDecitionComparator implements Comparator { predictedlatencys.put(klalbRemoteSocket, x); } } - public Map getPredictedlatencys() { + public Map getPredictedlatencys() { return predictedlatencys; } @Override - public int compare(KLALBRemoteLine o1, KLALBRemoteLine o2) { + public int compare(KLALBRemoteLink o1, KLALBRemoteLink o2) { long t1=predictedlatencys.get(o1); long t2=predictedlatencys.get(o2); if(t1>t2) { diff --git a/src/org/kne/cloud/network/klalb/PacketConsumer.java b/src/org/kne/cloud/network/klalb/PacketConsumer.java deleted file mode 100644 index 8d62a68..0000000 --- a/src/org/kne/cloud/network/klalb/PacketConsumer.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.kne.cloud.network.klalb; - -import java.net.Inet6Address; -import java.util.function.BiConsumer; -import java.util.function.Consumer; - -import org.kne.cloud.network.NetworkPacket; -import org.kne.cloud.network.ipv6.IPv6Address; - -public interface PacketConsumer extends BiConsumer { - -} diff --git a/src/org/kne/cloud/network/klalb/PortBinder.java b/src/org/kne/cloud/network/klalb/PortBinder.java index 02627a1..7bf70c4 100644 --- a/src/org/kne/cloud/network/klalb/PortBinder.java +++ b/src/org/kne/cloud/network/klalb/PortBinder.java @@ -1,43 +1,34 @@ package org.kne.cloud.network.klalb; import java.net.BindException; -import java.net.Inet6Address; -import java.net.InetAddress; import java.net.InetSocketAddress; -import java.net.ServerSocket; -import java.net.Socket; -import java.net.SocketTimeoutException; -import java.net.UnknownHostException; -import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; -import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.kne.cloud.network.IPv6SocketAddress; -import org.kne.cloud.network.NetworkPacket; import org.kne.cloud.network.ipv6.IPv6Address; import com.google.gson.internal.Pair; -public class PortBinder { - private KLALBController controller; - public PortBinder(KLALBController controller) { +public class PortBinder { + private IPv6Address selfAddress; + public PortBinder(IPv6Address selfAddress) { super(); - this.controller = controller; + this.selfAddress = selfAddress; } private ReentrantReadWriteLock bindMaplock=new ReentrantReadWriteLock(); - private MapbindMap=new ConcurrentHashMap<>(1024,0.2f); + private Map>bindMap=new ConcurrentHashMap<>(2048); private ReentrantReadWriteLock listenMaplock=new ReentrantReadWriteLock(); - private MaplistenMap=new ConcurrentHashMap<>(1024,0.2f); + private Map>listenMap=new ConcurrentHashMap<>(2048); private ReentrantReadWriteLock connectMaplock=new ReentrantReadWriteLock(); - private Map,BindableKLALBPacketConsumer>connectMap=new ConcurrentHashMap<>(1024,0.2f); + private Map,BindableConsumer>connectMap=new ConcurrentHashMap<>(2048); private volatile int portn=65535; - public void bind(BindableKLALBPacketConsumer ks) throws BindException { + public void bind(BindableConsumer ks) throws BindException { bindMaplock.writeLock().lock(); try { int pold=ks.getLocalPort(); @@ -86,7 +77,7 @@ public class PortBinder { } } - public void unbind(BindableKLALBPacketConsumer ks) { + public void unbind(BindableConsumer ks) { bindMaplock.writeLock().lock(); try { removeAsValue(bindMap, ks); @@ -94,7 +85,7 @@ public class PortBinder { bindMaplock.writeLock().unlock(); } } - public void connect(BindableKLALBPacketConsumer ks) throws BindException { + public void connect(BindableConsumer ks) throws BindException { connectMaplock.writeLock().lock(); try { connectMap.put(new Pair( new IPv6SocketAddress(IPv6Address.valueOf(ks.getLocalInetAddress()), ks.getLocalPort()), new IPv6SocketAddress(IPv6Address.valueOf(ks.getRemoteInetAddress()), ks.getPort())),ks); @@ -102,7 +93,7 @@ public class PortBinder { connectMaplock.writeLock().unlock(); } } - public void disconnect(BindableKLALBPacketConsumer ks) { + public void disconnect(BindableConsumer ks) { connectMaplock.writeLock().lock(); try { removeAsValue(connectMap, ks); @@ -111,7 +102,7 @@ public class PortBinder { } } - public void listen(BindableKLALBPacketConsumer ks) throws BindException { + public void listen(BindableConsumer ks) throws BindException { listenMaplock.writeLock().lock(); try { listenMap.put(new IPv6SocketAddress(IPv6Address.valueOf(ks.getLocalInetAddress()), ks.getLocalPort()),ks); @@ -119,7 +110,7 @@ public class PortBinder { listenMaplock.writeLock().unlock(); } } - public void unlisten(BindableKLALBPacketConsumer ks) { + public void unlisten(BindableConsumer ks) { /*System.out.println(listenMap); new RuntimeException("!").printStackTrace();*/ listenMaplock.writeLock().lock(); @@ -201,40 +192,68 @@ public class PortBinder { } return b; }*/ - public boolean distributePacketToConsumer(IPv6Address srcAddr,PortPacket packet) { - IPv6SocketAddress local=new IPv6SocketAddress(controller.getSelf().getAddress(), packet.getDstPort()); - IPv6SocketAddress remote=new IPv6SocketAddress(srcAddr, packet.getSrcPort()); - BindableKLALBPacketConsumer bkc=connectMap.get(new Pair(local, remote)); + public BindableConsumer distributePacketToConsumer(IPv6Address srcAddr, PortPacket packet) { + int dst=packet.getDstPort(); + int src=packet.getSrcPort(); + IPv6SocketAddress local=new IPv6SocketAddress( selfAddress,dst); + IPv6SocketAddress remote=new IPv6SocketAddress(srcAddr, src); + BindableConsumer bkc=connectMap.get(new Pair(local, remote)); if(bkc!=null) { - bkc.accept(srcAddr, (NetworkPacket) packet); - return true; + return bkc; } - IPv6SocketAddress localany=new IPv6SocketAddress(IPv6Address.UNSPECIFIED, packet.getDstPort()); + IPv6SocketAddress localany=new IPv6SocketAddress(IPv6Address.UNSPECIFIED, dst); bkc=connectMap.get(new Pair(localany, remote)); if(bkc!=null) { - bkc.accept(srcAddr, (NetworkPacket) packet); - return true; + return bkc; } bkc=listenMap.get(local); if(bkc!=null) { - bkc.accept(srcAddr, (NetworkPacket) packet); - return true; + return bkc; } bkc=listenMap.get(localany); if(bkc!=null) { - bkc.accept(srcAddr, (NetworkPacket) packet); - return true; + return bkc; } - return false; + return null; } - public boolean checkIsBind(BindableKLALBPacketConsumer klalbVirtualSocketImpl) { + public boolean checkIsBind(BindableConsumer klalbVirtualSocketImpl) { return bindMap.containsValue(klalbVirtualSocketImpl); } - public boolean checkIsConnect(BindableKLALBPacketConsumer kservers,InetSocketAddress isaf) throws BindException { + public boolean checkIsConnect(BindableConsumer kservers,InetSocketAddress isaf) throws BindException { return connectMap.containsKey(new Pair( new IPv6SocketAddress(IPv6Address.valueOf( kservers.getLocalInetAddress()), kservers.getLocalPort()),IPv6SocketAddress.valueOf( isaf))); } + public String toString() { + StringBuilder sb=new StringBuilder(); + sb.append("connectMap: Local<->Remote\n"); + for(Entry, BindableConsumer> p:connectMap.entrySet()) { + sb.append(p.getKey().first); + sb.append("<->"); + sb.append(p.getKey().second); + sb.append(" "); + sb.append(p.getValue()); + sb.append('\n'); + } + + sb.append("bindMap: Local\n"); + for(Entry> p:bindMap.entrySet()) { + sb.append(p); + sb.append(" "); + sb.append(p.getValue()); + sb.append('\n'); + } + + sb.append("listenMap: Local\n"); + for(Entry> p:listenMap.entrySet()) { + sb.append(p); + sb.append(" "); + sb.append(p.getValue()); + sb.append('\n'); + } + return sb.toString(); + + } } \ No newline at end of file diff --git a/src/org/kne/cloud/network/klalb/SendItem.java b/src/org/kne/cloud/network/klalb/SendItem.java index 82ef2e4..ecc79ee 100644 --- a/src/org/kne/cloud/network/klalb/SendItem.java +++ b/src/org/kne/cloud/network/klalb/SendItem.java @@ -14,6 +14,11 @@ public class SendItem { this.packetLength=packet.getTotalLength(); } + public SendItem(T packet,int headerCalibrate) { + this.packet=packet; + this.packetLength=packet.getTotalLength()+headerCalibrate; + } + public T getPacket() { return packet; } @@ -29,5 +34,10 @@ public class SendItem { public void setSendtime(long sendtimex) { this.sendtime=sendtimex; } + + @Override + public String toString() { + return "SendItem [packetLength=" + packetLength + ", packet=" + packet + ", sendtime=" + sendtime + "]"; + } } diff --git a/src/org/kne/cloud/network/klalb/StreamChannelKLALBPacketLink.java b/src/org/kne/cloud/network/klalb/StreamChannelKLALBPacketLink.java index 15153f0..405dd65 100644 --- a/src/org/kne/cloud/network/klalb/StreamChannelKLALBPacketLink.java +++ b/src/org/kne/cloud/network/klalb/StreamChannelKLALBPacketLink.java @@ -1,39 +1,21 @@ package org.kne.cloud.network.klalb; -import java.io.BufferedOutputStream; -import java.io.EOFException; import java.io.IOException; -import java.io.InputStream; -import java.io.InterruptedIOException; import java.io.StreamCorruptedException; import java.net.InetSocketAddress; -import java.net.ProtocolFamily; -import java.net.Socket; import java.net.SocketException; -import java.net.SocketOption; -import java.net.SocketOptions; -import java.net.StandardProtocolFamily; import java.net.StandardSocketOptions; -import java.nio.Buffer; import java.nio.ByteBuffer; -import java.nio.channels.AsynchronousSocketChannel; import java.nio.channels.Channels; import java.nio.channels.GatheringByteChannel; -import java.nio.channels.ReadableByteChannel; import java.nio.channels.ScatteringByteChannel; import java.nio.channels.SocketChannel; -import java.nio.channels.WritableByteChannel; -import java.util.List; -import java.util.Timer; -import java.util.TimerTask; import java.util.concurrent.atomic.AtomicLong; import org.kne.cloud.network.BufferedChannel; -import org.kne.cloud.network.ByteBufferAllocator; import org.kne.cloud.network.MultipurposeSocketAddress; import org.kne.cloud.network.NetworkPacket; import org.kne.cloud.network.ThreadTool; -import org.kne.cloud.network.TimeoutTimer; import org.kne.io.KNEChannels; public class StreamChannelKLALBPacketLink extends AbstractKLALBPacketLink implements KLALBPacketLink { @@ -64,7 +46,8 @@ public class StreamChannelKLALBPacketLink extends AbstractKLALBPacketLink implem public String toString() { try { return new MultipurposeSocketAddress("TCP",(InetSocketAddress)connectSocket.getLocalAddress())+"←"+new MultipurposeSocketAddress("TCP",(InetSocketAddress)connectSocket.getRemoteAddress()); - } catch (IOException e) { + } catch (Exception e) { + e.printStackTrace(); return "?←?"; } } @@ -184,19 +167,20 @@ public class StreamChannelKLALBPacketLink extends AbstractKLALBPacketLink implem @Override public void writeKLALBPacket(KLALBPacket kp) throws IOException { - ByteBuffer szeWrite=NetworkPacket.bufferAllocator.allocate(4); + /*ByteBuffer szeWrite=NetworkPacket.bufferAllocator.allocate(4); szeWrite.limit(4); //szeWrite.clear(); int length=(int) kp.getTotalLength(); - szeWrite.putInt(length); + szeWrite.putInt(0,length); szeWrite.flip(); - writableChannel.write(szeWrite); + writableChannel.write(szeWrite);*/ if(debug) { + int length=(int) kp.getTotalLength(); AtomicLong al=new AtomicLong(0); KLALBPacket.writeKLALBPacketToChannel(new MonitoredChannel(writableChannel,null,new AtomicLong[] { al}), kp); if(length!=al.get()) { @@ -212,19 +196,23 @@ public class StreamChannelKLALBPacketLink extends AbstractKLALBPacketLink implem private void checkflush() throws IOException { if(writableChannel instanceof BufferedChannel) { ((BufferedChannel) writableChannel).flush(); + }else if(writableChannel instanceof KLALBVirtualSocketChannel) { + ((KLALBVirtualSocketChannel) writableChannel).flush(); + } } @Override public KLALBPacket readKLALBPacket() throws IOException { - ByteBuffer szeWrite=NetworkPacket.bufferAllocator.allocate(4); + /*ByteBuffer szeWrite=NetworkPacket.bufferAllocator.allocate(4); szeWrite.limit(4); KNEChannels.readFully(readableChannel, szeWrite); szeWrite.flip(); - int readSize=szeWrite.getInt(); + int readSize=szeWrite.getInt();*/ KLALBPacket kp=KLALBPacket.readKLALBPacketFromChannel(readableChannel); if(debug) { + int readSize=0; long kpl=kp.getTotalLength(); if(kpl!=readSize) { throw new StreamCorruptedException(kp+" packet length error:"+kpl+"!="+readSize); diff --git a/src/org/kne/cloud/network/klalb/ui/DialPanel.java b/src/org/kne/cloud/network/klalb/ui/DialPanel.java index a7d264d..44974de 100644 --- a/src/org/kne/cloud/network/klalb/ui/DialPanel.java +++ b/src/org/kne/cloud/network/klalb/ui/DialPanel.java @@ -3,8 +3,8 @@ package org.kne.cloud.network.klalb.ui; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; +import java.awt.FlowLayout; -import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; @@ -20,101 +20,114 @@ import org.jfree.chart.plot.dial.StandardDialRange; import org.jfree.chart.plot.dial.StandardDialScale; import org.jfree.chart.title.TextTitle; import org.jfree.data.general.DefaultValueDataset; +import org.kne.ui.LinearGradientColor; public class DialPanel extends JPanel { - private DialTextAnnotation textAnnotation; - private DialPlot plot; + private static final int SEGMENTS = 100; // 渐变色分段数,越高越平滑 + private static final double INNER_RADIUS = 0.85; + private static final double OUTER_RADIUS = 0.90; - public DialPanel(int size,String title,DefaultValueDataset primary, DefaultValueDataset secondary, - Color pointerColor, Color outlineColor) { - plot=createDialPlot(primary,secondary,pointerColor,outlineColor); + private DialTextAnnotation textAnnotation; + private DialPlot plot; + + public DialPanel(int size, String title, DefaultValueDataset primary, + DefaultValueDataset secondary, Color pointerColor, Color outlineColor) { + JPanel jp = new JPanel(); + jp.setLayout(new FlowLayout(FlowLayout.CENTER, 1, 1)); + plot = createDialPlot(primary, secondary, pointerColor, outlineColor); textAnnotation = new DialTextAnnotation(""); textAnnotation.setFont(UIEnv.getFont().deriveFont(20.0f)); plot.addLayer(textAnnotation); - setLayout(new BorderLayout()); - add(createChartPanel (createChart(plot),new Dimension(size, size)),BorderLayout.CENTER); - JLabel jlb=new JLabel(title); - jlb.setFont(UIEnv.getFont().deriveFont(16.0f)); - jlb.setHorizontalAlignment(SwingConstants.CENTER); - add(jlb,BorderLayout.SOUTH); - } - - public DialTextAnnotation getTextAnnotation() { - return textAnnotation; - } + jp.setLayout(new BorderLayout()); + Dimension dim = new Dimension(size, size); + jp.add(createChartPanel(createChart(plot), dim), BorderLayout.CENTER); + JLabel jlb = new JLabel(title); + jlb.setFont(UIEnv.getFont().deriveFont(16.0f)); + jlb.setHorizontalAlignment(SwingConstants.CENTER); + jp.add(jlb, BorderLayout.SOUTH); + add(jp); + } - /** + public DialTextAnnotation getTextAnnotation() { + return textAnnotation; + } + + /** * 创建图表面板 - * @param dashSize */ private ChartPanel createChartPanel(JFreeChart chart, Dimension dashSize) { ChartPanel panel = new ChartPanel(chart); panel.setPreferredSize(dashSize); - panel.setSize(panel.getPreferredSize()); + panel.setSize(dashSize); panel.setBackground(Color.WHITE); panel.setBorder(new LineBorder(Color.LIGHT_GRAY)); return panel; } - /** + + /** * 创建图表 */ private JFreeChart createChart(DialPlot plot) { JFreeChart chart = new JFreeChart(plot); chart.setBorderPaint(Color.WHITE); - chart.setTitle((TextTitle)null); + chart.setTitle((TextTitle) null); plot.setView(0, 0, 1, 1); return chart; } - /** + + /** * 创建仪表盘图表 */ - private DialPlot createDialPlot(DefaultValueDataset primary, DefaultValueDataset secondary, - Color pointerColor, Color outlineColor) { + private DialPlot createDialPlot(DefaultValueDataset primary, DefaultValueDataset secondary, + Color pointerColor, Color outlineColor) { DialPlot plot = new DialPlot(); plot.setDataset(1, primary); plot.setDataset(0, secondary); - + StandardDialFrame frame = new StandardDialFrame(); frame.setVisible(false); plot.setDialFrame(frame); - + // 添加刻度 StandardDialScale scale = new StandardDialScale(0, 100, -120, -300, 10, 5); scale.setTickRadius(0.80); scale.setTickLabelsVisible(false); plot.addScale(0, scale); - - + + // 添加指针 addDialPointers(plot, pointerColor, outlineColor); - + return plot; } + /** - * 为仪表盘添加颜色范围 + * 添加渐变色范围(平滑过渡) + * 从绿色 → 黄色 → 红色,基于 KLALBUtils.getColorByLoadPercentage() */ - public void addDefaultDialRanges() { - // 绿色范围: 0-70% - StandardDialRange greenRange = new StandardDialRange(0, 70, Color.GREEN); - addDialRange( greenRange); - - // 黄色范围: 70-90% - StandardDialRange yellowRange = new StandardDialRange(70, 90, Color.YELLOW); - addDialRange( yellowRange); - - // 红色范围: 90-100% - StandardDialRange redRange = new StandardDialRange(90, 100, Color.RED); - addDialRange( redRange); + public void addGradientRanges(LinearGradientColor lgc) { + double segmentAngle = 100.0 / SEGMENTS; // 每个分段的角度跨度 + + for (int i = 0; i < SEGMENTS; i++) { + double start = i * segmentAngle; + double end = (i + 1) * segmentAngle; + // 计算当前分段对应的负载百分比(取分段的中点) + float loadPercent = (float) (start + segmentAngle / 2); + Color color = lgc.getColor(loadPercent/100); + + StandardDialRange range = new StandardDialRange(start, end, color); + addDialRange(range); + } } - private static final double INNER=0.85; - private static final double OUTER=0.90; - public void addDialRange( StandardDialRange greenRange) { - greenRange.setInnerRadius(INNER); - greenRange.setOuterRadius(OUTER); - plot.addLayer(greenRange); - } + + + public void addDialRange(StandardDialRange range) { + range.setInnerRadius(INNER_RADIUS); + range.setOuterRadius(OUTER_RADIUS); + plot.addLayer(range); + } /** * 为仪表盘添加指针 @@ -123,12 +136,12 @@ public class DialPanel extends JPanel { // 次要指针(透明) DialPointer.Pointer secondaryPointer = new DialPointer.Pointer(); secondaryPointer.setRadius(0.8); - secondaryPointer.setFillPaint(new Color(secondaryColor.getRed(), secondaryColor.getGreen(), - secondaryColor.getBlue(), 0)); + secondaryPointer.setFillPaint(new Color(secondaryColor.getRed(), secondaryColor.getGreen(), + secondaryColor.getBlue(), 0)); secondaryPointer.setOutlinePaint(secondaryColor); secondaryPointer.setDatasetIndex(0); plot.addLayer(secondaryPointer); - + // 主要指针 DialPointer.Pointer primaryPointer = new DialPointer.Pointer(); primaryPointer.setRadius(0.8); @@ -137,4 +150,4 @@ public class DialPanel extends JPanel { primaryPointer.setDatasetIndex(1); plot.addLayer(primaryPointer); } -} +} \ No newline at end of file diff --git a/src/org/kne/cloud/network/klalb/ui/KLALBStateGUI3.java b/src/org/kne/cloud/network/klalb/ui/KLALBStateGUI3.java index 7c99bd9..c96998b 100644 --- a/src/org/kne/cloud/network/klalb/ui/KLALBStateGUI3.java +++ b/src/org/kne/cloud/network/klalb/ui/KLALBStateGUI3.java @@ -16,11 +16,7 @@ import javax.swing.border.LineBorder; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import org.jfree.chart.ChartPanel; -import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.dial.*; -import org.jfree.chart.title.TextTitle; -import org.jfree.chart.ui.RectangleEdge; import org.jfree.data.general.DefaultValueDataset; import org.kne.cloud.clock.HighAccuracyClock; import org.kne.cloud.klalb.uitool.*; @@ -29,7 +25,8 @@ import org.kne.cloud.network.ipv6.IPv6Address; import org.kne.cloud.network.ipv6.IPv6NetworkLink; import org.kne.cloud.network.klalb.*; import org.kne.cloud.network.klalb.ui.GraphPanel.GraphNode; -import org.kne.cloud.network.monitor.MonitorData; +import org.kne.cloud.network.monitor.LinkStatus; +import org.kne.cloud.network.srv6.SRv6Router; import org.kne.ui.XFrame; import org.kne.ui.YScrollPane; @@ -58,6 +55,8 @@ public class KLALBStateGUI3 extends XFrame { private DefaultValueDataset downDataPPS; // 下行数据包速率 private DefaultValueDataset backplaneDelay; private DefaultValueDataset backplanePPS; + private DefaultValueDataset backplaneECNRate; + private DefaultValueDataset backplaneLossRate; // ==================== 仪表盘文本标注 ==================== private DialTextAnnotation upSpeedText; // 上行速度文本标注 @@ -66,6 +65,8 @@ public class KLALBStateGUI3 extends XFrame { private DialTextAnnotation downPPSText; // 下行包速率文本标注 private DialTextAnnotation backplaneDelayText; private DialTextAnnotation backplanePPSText; + private DialTextAnnotation backplaneECNRateText; + private DialTextAnnotation backplaneLossRateText; // ==================== UI组件 ==================== private YScrollPane ysp, yspc; // 可垂直滚动的面板 @@ -79,7 +80,8 @@ public class KLALBStateGUI3 extends XFrame { private JTextField textFieldLocate; // 定位地址输入框 private JTextField asnField2; // ASN显示框 private JTextArea dnsAreaSet; // DNS服务器设置区域 - private JComboBox comboCongress; // 拥塞控制算法选择框 + private JComboBox comboPerformance; // 性能策略选择框 + private JComboBox comboCongestion; // 拥塞控制算法选择框 private JTextField tcpListeningSet; // TCP监听设置 private JTextField udpListeningSet; // UDP监听设置 private JTextArea openLineTabelSet; // 开放线路表设置 @@ -105,8 +107,10 @@ public class KLALBStateGUI3 extends XFrame { private SliderSettingItem linkConnectionsCount; private SliderSettingItem nagleDelayTime; private SliderSettingItem linkNagleDelayTime; + private SliderSettingItem burstLimit; private SliderSettingItem delayHbound; private SliderSettingItem delayLbound; + private ComboSettingItem performanceStrategy; private ComboSettingItem congestions; // ==================== 构造方法 ==================== @@ -345,7 +349,7 @@ public class KLALBStateGUI3 extends XFrame { upSpeed = new DefaultValueDataset(0); upDataSpeed = new DefaultValueDataset(0); DialPanel dialup=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("uploadspeed"), upSpeed, upDataSpeed, Color.RED, new Color(127, 0, 0)); - dialup.addDefaultDialRanges(); + dialup.addGradientRanges(UIEnv.RANGE_1); upSpeedText =dialup.getTextAnnotation(); @@ -355,7 +359,7 @@ public class KLALBStateGUI3 extends XFrame { downSpeed = new DefaultValueDataset(0); downDataSpeed = new DefaultValueDataset(0); DialPanel dialdown=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("downloadspeed"), downSpeed, downDataSpeed, Color.GREEN, new Color(0, 127, 0)); - dialdown.addDefaultDialRanges(); + dialdown.addGradientRanges(UIEnv.RANGE_1); downSpeedText =dialdown.getTextAnnotation(); dashs.add(dialdown); @@ -369,7 +373,7 @@ public class KLALBStateGUI3 extends XFrame { upPPS = new DefaultValueDataset(0); upDataPPS = new DefaultValueDataset(0); DialPanel dialupPPS=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("uploadpps"), upPPS, upDataPPS, Color.RED, new Color(127, 0, 0)); - dialupPPS.addDefaultDialRanges(); + dialupPPS.addGradientRanges(UIEnv.RANGE_1); upPPSText = dialupPPS.getTextAnnotation(); dashs.add(dialupPPS); @@ -378,7 +382,7 @@ public class KLALBStateGUI3 extends XFrame { downPPS = new DefaultValueDataset(0); downDataPPS = new DefaultValueDataset(0); DialPanel dialdownPPS=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("downloadpps"), downPPS, downDataPPS, Color.GREEN, new Color(0, 127, 0)); - dialdownPPS.addDefaultDialRanges(); + dialdownPPS.addGradientRanges(UIEnv.RANGE_1); downPPSText = dialdownPPS.getTextAnnotation(); dashs.add(dialdownPPS); @@ -391,21 +395,8 @@ public class KLALBStateGUI3 extends XFrame { // 背板转发延迟仪表盘 backplaneDelay = new DefaultValueDataset(0); DialPanel dialupPPS=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("backplanedelay"), backplaneDelay, null, Color.BLUE, new Color(0, 0, 127)); - // 绿色范围: 0-1% - StandardDialRange greenRange = new StandardDialRange(0, 1, Color.GREEN); - dialupPPS.addDialRange( greenRange); - - // 黄色范围: 1-10% - StandardDialRange yellowRange = new StandardDialRange(1, 10, Color.YELLOW); - dialupPPS.addDialRange( yellowRange); - - // 红色范围: 10-50% - StandardDialRange redRange = new StandardDialRange(10, 50, Color.RED); - dialupPPS.addDialRange( redRange); - - StandardDialRange redblackRange = new StandardDialRange(50, 100, new Color(128, 0, 0)); - dialupPPS.addDialRange( redblackRange); + dialupPPS.addGradientRanges(UIEnv.RANGE_2); backplaneDelayText = dialupPPS.getTextAnnotation(); dashs.add(dialupPPS); @@ -413,10 +404,28 @@ public class KLALBStateGUI3 extends XFrame { // 背板PPS仪表盘 backplanePPS = new DefaultValueDataset(0); DialPanel backPPS=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("backplanepps"), backplanePPS, null, Color.BLUE, new Color(0, 0, 127)); - backPPS.addDefaultDialRanges(); + backPPS.addGradientRanges(UIEnv.RANGE_1); backplanePPSText = backPPS.getTextAnnotation(); dashs.add(backPPS); + + + backplaneECNRate = new DefaultValueDataset(0); + DialPanel ecnRate=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("backplaneecnrate"), backplaneECNRate, null, Color.BLUE, new Color(0, 0, 127)); + + ecnRate.addGradientRanges(UIEnv.RANGE_3); + + backplaneECNRateText = ecnRate.getTextAnnotation(); + dashs.add(ecnRate); + + + backplaneLossRate = new DefaultValueDataset(0); + DialPanel lossRate1=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("backplanelossrate"), backplaneLossRate, null, Color.BLUE, new Color(0, 0, 127)); + + lossRate1.addGradientRanges(UIEnv.RANGE_4); + backplaneLossRateText = lossRate1.getTextAnnotation(); + + dashs.add(lossRate1); } @@ -869,6 +878,21 @@ public class KLALBStateGUI3 extends XFrame { denyBroadcast=denyBroadcastc.getCheckBox(); settings.getView().add(denyBroadcastc); + //性能设置标题 + + SettingItem pshi = new SettingItem(UIEnv.getRsb().getString("performancesettings"), + UIEnv.getFont().deriveFont(20.0f).deriveFont(Font.BOLD), CONST.itemwidth, CONST.settingheight); + settings.getView().add(pshi); + + + performanceStrategy = new ComboSettingItem(UIEnv.getRsb().getString("performancestrategy"), + CONST.itemwidth, CONST.settingheight); + comboPerformance = performanceStrategy.getComboBox(); + comboPerformance.addItem("BBR"); + comboPerformance.addItem("Vegas2"); + settings.getView().add(performanceStrategy); + + // 高级设置标题 SettingItem hi = new SettingItem(UIEnv.getRsb().getString("advancedsettings"), UIEnv.getFont().deriveFont(20.0f).deriveFont(Font.BOLD), CONST.itemwidth, CONST.settingheight); @@ -909,27 +933,42 @@ public class KLALBStateGUI3 extends XFrame { congestions = new ComboSettingItem(UIEnv.getRsb().getString("congresscontrolalgorithm"), CONST.itemwidth, CONST.settingheight); - comboCongress = congestions.getComboBox(); - comboCongress.addItem("BBR"); - comboCongress.addItem("Vegas2"); + comboCongestion = congestions.getComboBox(); + comboCongestion.addItem("BBR"); + comboCongestion.addItem("Vegas2"); settings.getView().add(congestions); settings.updateScrool(); - + burstLimit= new SliderSettingItem(UIEnv.getRsb().getString("burstlimit"), + CONST.itemwidth, CONST.settingheight); + burstLimit.getSlider().setMaximum(1000); + burstLimit.getSlider().setValue(200); + settings.getView().add(burstLimit); delayHbound = new SliderSettingItem(UIEnv.getRsb().getString("delayupperbound"), CONST.itemwidth, CONST.settingheight); - delayHbound.getSlider().setMaximum(1000); + delayHbound.getSlider().setMaximum(300); delayHbound.getSlider().setValue(200); settings.getView().add(delayHbound); delayLbound = new SliderSettingItem(UIEnv.getRsb().getString("delaylowerbound"), CONST.itemwidth, CONST.settingheight); - delayLbound.getSlider().setMaximum(500); + delayLbound.getSlider().setMaximum(300); delayLbound.getSlider().setValue(150); settings.getView().add(delayLbound); + ChangeListener clb= new ChangeListener() { + + @Override + public void stateChanged(ChangeEvent e) { + int val=burstLimit.getSlider().getValue(); + burstLimit.getLabelx().setText(String.format("%.3f",1.0+val/1000.0)); + } + }; + clb.stateChanged(null); + burstLimit.getSlider().addChangeListener(clb); + ChangeListener clh= new ChangeListener() { @Override @@ -1142,6 +1181,8 @@ public class KLALBStateGUI3 extends XFrame { kck.setDenyLineTableBroadcast(denyBroadcast.isSelected()); kck.setCongestionAlgorithm((String) congestions.getComboBox().getSelectedItem()); + + kck.setBurstLimit(1.0+burstLimit.getSlider().getValue()/1000.0); kck.setDelayUpperBound(1.0+delayHbound.getSlider().getValue()/1000.0); @@ -1177,10 +1218,10 @@ public class KLALBStateGUI3 extends XFrame { // 遍历所有线路,更新或添加TPanel2 for (Object obj : kll) { IPv6NetworkLink link = (IPv6NetworkLink) obj; - if (!(link instanceof KLALBRemoteLine)) { + if (!(link instanceof KLALBRemoteLink)) { continue; } - KLALBRemoteLine ent = (KLALBRemoteLine) link; + KLALBRemoteLink ent = (KLALBRemoteLink) link; Component[] count = ysp.getView().getComponents(); boolean found = false; @@ -1190,7 +1231,7 @@ public class KLALBStateGUI3 extends XFrame { if (tp instanceof TPanel2) { if (((TPanel2) tp).getTunnel().equals(ent)) { tp.setVisible(showoffline.isSelected() || ( - ent.getMonitor().getState() != MonitorData.DOWN)); + ent.getState() != LinkStatus.DOWN)); found = true; break; } @@ -1201,7 +1242,7 @@ public class KLALBStateGUI3 extends XFrame { if (!found) { TPanel2 tp = new TPanel2(ent, kc); tp.setVisible(showoffline.isSelected() || ( - ent.getMonitor().getState()!= MonitorData.DOWN)); + ent.getState()!= LinkStatus.DOWN)); ysp.getView().add(tp); } } @@ -1318,6 +1359,37 @@ public class KLALBStateGUI3 extends XFrame { downDataPPS.setValue(Math.min(downDataPPS.getValue().doubleValue() * 0.98 + inPPSload1 * 0.02, 101.0)); } + SRv6Router router= kc.getIpv6Router(); + if(router!=null) { + // 更新背板延迟 + double backplaneTimev = router.getBackplaneTime()* 100.0/100000.0; + if (Double.isFinite(backplaneTimev)) { + backplaneDelayText.setLabel(KLALBUtils.convertUintNanoDefalut(router.getBackplaneTime()) + "s"); + backplaneDelay.setValue(Math.min(backplaneDelay.getValue().doubleValue() * 0.98 + backplaneTimev * 0.02, 101.0)); + } + + // 更新背板转发率 + double backplanePPSv = router.getBackplanePPS() * 100.0 / router.getBackplanePPSMax(); + if (Double.isFinite(backplanePPSv)) { + backplanePPSText.setLabel(KLALBUtils.convertUintDefalut(router.getBackplanePPS()) + "PPS"); + backplanePPS.setValue(Math.min(backplanePPS.getValue().doubleValue() * 0.98 + backplanePPSv * 0.02, 101.0)); + } + + // 更新背板ECN率 + double backplaneECNv = router.getECNRate() * 100.0 ; + if (Double.isFinite(backplaneECNv)) { + backplaneECNRateText.setLabel(String.format("%.1f",backplaneECNv) + "%"); + backplaneECNRate.setValue(Math.min(backplaneECNRate.getValue().doubleValue() * 0.98 + backplaneECNv * 0.02, 101.0)); + } + + // 更新背板ECN率 + double backplaneLossv = router.getLossRate() * 100.0 ; + if (Double.isFinite(backplaneLossv)) { + backplaneLossRateText.setLabel(String.format("%.1f",backplaneLossv) + "%"); + backplaneLossRate.setValue(Math.min(backplaneLossRate.getValue().doubleValue() * 0.98 + backplaneLossv * 0.02, 101.0)); + } + } + // 更新在线设备数 String contt = Long.toString(kc.getIpv6Router().getKlalbRouteProtol().getDevicesFound()); if (!contt.equals(devicesOnline.getText())) { @@ -1431,6 +1503,10 @@ public class KLALBStateGUI3 extends XFrame { }else { congestions.getComboBox().setSelectedItem(con); } + double ubb=kck.getBurstLimit(); + if(ubb!=0) + burstLimit.getSlider().setValue((int) Math.round((ubb-1.0)*1000)); + double ub=kck.getDelayUpperBound(); if(ub!=0) delayHbound.getSlider().setValue((int) Math.round((ub-1.0)*1000)); diff --git a/src/org/kne/cloud/network/klalb/ui/KperfGUI.java b/src/org/kne/cloud/network/klalb/ui/KperfGUI.java index 712ecb3..e1f6e06 100644 --- a/src/org/kne/cloud/network/klalb/ui/KperfGUI.java +++ b/src/org/kne/cloud/network/klalb/ui/KperfGUI.java @@ -6,17 +6,10 @@ import java.awt.Dimension; import javax.swing.border.LineBorder; -import org.jfree.chart.ChartPanel; -import org.jfree.chart.JFreeChart; -import org.jfree.chart.plot.dial.DialPlot; -import org.jfree.chart.plot.dial.DialPointer; import org.jfree.chart.plot.dial.DialTextAnnotation; -import org.jfree.chart.plot.dial.StandardDialFrame; -import org.jfree.chart.plot.dial.StandardDialRange; -import org.jfree.chart.plot.dial.StandardDialScale; -import org.jfree.chart.ui.RectangleEdge; import org.jfree.data.general.DefaultValueDataset; import org.kne.cloud.network.MultipurposeSocketAddress; +import org.kne.cloud.network.klalb.CONST; import org.kne.cloud.network.klalb.KLALBUtils; import org.kne.cloud.network.monitor.SpeedAndTrafficAndDelayMonitorDataImpl; import org.kne.cloud.network.perf.Kperf; @@ -24,12 +17,10 @@ import org.kne.cloud.network.perf.KperfReports; import org.kne.ui.XFrame; import javax.swing.JTabbedPane; import java.awt.BorderLayout; -import javax.swing.JMenuBar; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.JButton; -import javax.swing.JMenu; import java.awt.GridLayout; import java.awt.Image; @@ -43,7 +34,6 @@ import java.util.TimerTask; import java.awt.event.ActionEvent; import javax.swing.JLabel; import javax.imageio.ImageIO; -import javax.swing.BoxLayout; import java.awt.Font; import javax.swing.SwingConstants; import javax.swing.ImageIcon; @@ -59,7 +49,6 @@ public class KperfGUI extends XFrame{ private DefaultValueDataset upSpeed; private DefaultValueDataset upDataSpeed; private DialTextAnnotation upSpeedText; - private Dimension dashSize=new Dimension((int) (145 * 0.7), (int) (165 * 0.7)); private DefaultValueDataset downSpeed; private DefaultValueDataset downDataSpeed; private DialTextAnnotation downSpeedText; @@ -227,6 +216,8 @@ public class KperfGUI extends XFrame{ panel_6.add(downPPSLabel, BorderLayout.EAST); + + /* { upSpeed = new DefaultValueDataset(0); upDataSpeed = new DefaultValueDataset(0); @@ -466,7 +457,48 @@ public class KperfGUI extends XFrame{ cpup1.setBackground(Color.WHITE); cpup1.setBorder(new LineBorder(Color.LIGHT_GRAY)); panel_6.add(cpup1, BorderLayout.WEST); - } + }*/ + + + // 上行速度仪表盘 + upSpeed = new DefaultValueDataset(0); + upDataSpeed = new DefaultValueDataset(0); + DialPanel dialup=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("uploadspeed"), upSpeed, upDataSpeed, Color.RED, new Color(127, 0, 0)); + dialup.addGradientRanges(UIEnv.RANGE_1); + upSpeedText =dialup.getTextAnnotation(); + + + panel_3.add(dialup, BorderLayout.WEST); + + + // 下行速度仪表盘 + downSpeed = new DefaultValueDataset(0); + downDataSpeed = new DefaultValueDataset(0); + DialPanel dialdown=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("downloadspeed"), downSpeed, downDataSpeed, Color.GREEN, new Color(0, 127, 0)); + dialdown.addGradientRanges(UIEnv.RANGE_1); + downSpeedText =dialdown.getTextAnnotation(); + + panel_4.add(dialdown, BorderLayout.WEST); + + + // 上行包速率仪表盘 + upPPS = new DefaultValueDataset(0); + upDataPPS = new DefaultValueDataset(0); + DialPanel dialupPPS=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("uploadpps"), upPPS, upDataPPS, Color.RED, new Color(127, 0, 0)); + dialupPPS.addGradientRanges(UIEnv.RANGE_1); + upPPSText = dialupPPS.getTextAnnotation(); + + panel_5.add(dialupPPS, BorderLayout.WEST); + + // 下行包速率仪表盘 + downPPS = new DefaultValueDataset(0); + downDataPPS = new DefaultValueDataset(0); + DialPanel dialdownPPS=new DialPanel(CONST.dialwidth, UIEnv.getRsb().getString("downloadpps"), downPPS, downDataPPS, Color.GREEN, new Color(0, 127, 0)); + dialdownPPS.addGradientRanges(UIEnv.RANGE_1); + downPPSText = dialdownPPS.getTextAnnotation(); + + panel_6.add(dialdownPPS, BorderLayout.WEST); + JPanel panel_top = new JPanel(); panel_1.add(panel_top, BorderLayout.NORTH); panel_top.setLayout(new GridLayout(0, 2, 0, 0)); @@ -497,7 +529,8 @@ public class KperfGUI extends XFrame{ getTitlelabel().setForeground(Color.WHITE); setTitle(UIEnv.getRsb().getString("klalbperf")); - setSize((int)(1200*0.7),(int)( 800*0.7)); + setSize(CONST.windowwidth,CONST.windowheight ); + setResizable(false); setLocationRelativeTo(comp); tsk=new TimerTask() { @@ -576,6 +609,9 @@ public class KperfGUI extends XFrame{ } }); } + + + private Image icon2; private Image getIcon2() { if(icon2==null) diff --git a/src/org/kne/cloud/network/klalb/ui/LineMonitorGUI.java b/src/org/kne/cloud/network/klalb/ui/LineMonitorGUI.java index fbecc29..1cbfe79 100644 --- a/src/org/kne/cloud/network/klalb/ui/LineMonitorGUI.java +++ b/src/org/kne/cloud/network/klalb/ui/LineMonitorGUI.java @@ -1,37 +1,29 @@ package org.kne.cloud.network.klalb.ui; import java.awt.Color; -import java.awt.Component; import java.awt.Dimension; import java.awt.GridLayout; -import java.awt.Image; -import java.awt.Stroke; -import java.awt.image.BufferedImage; -import java.io.IOException; -import java.net.Inet6Address; import java.util.Date; import java.util.Timer; import java.util.TimerTask; +import java.util.UUID; -import javax.imageio.ImageIO; import javax.swing.JPanel; import javax.swing.border.LineBorder; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import org.jfree.chart.ChartFactory; -import org.jfree.chart.ChartPanel; -import org.jfree.chart.ChartRenderingInfo; import org.jfree.chart.JFreeChart; import org.jfree.data.time.Millisecond; -import org.jfree.data.time.RegularTimePeriod; -import org.jfree.data.time.TimePeriod; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; +import org.kne.cloud.network.congestion.SendPacketSlidingWindow; import org.kne.cloud.network.ipv6.IPv6Address; import org.kne.cloud.network.ipv6.IPv6AddressGroup; -import org.kne.cloud.network.klalb.KLALBRemoteLine; -import org.kne.cloud.network.monitor.MonitorData; +import org.kne.cloud.network.ipv6.IPv6Packet; +import org.kne.cloud.network.klalb.KLALBRemoteLink; +import org.kne.cloud.network.monitor.LinkStatus; import org.kne.cloud.network.monitor.TimestampMonitorValue; import org.kne.math.Long128; import org.kne.ui.XFrame; @@ -41,39 +33,42 @@ import java.awt.BorderLayout; import javax.swing.ImageIcon; import javax.swing.JLabel; -import javax.swing.JTextField; -import javax.swing.JButton; -import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; -import java.awt.event.ActionEvent; -import java.awt.Font; -import javax.swing.SwingConstants; import javax.swing.JSlider; public class LineMonitorGUI extends XFrame { private Timer timer; private Timer timer1; private Timer timer2; + private Timer timer3; private TimerTask tsk3; - private TimerTask tsk4, tsk5; + private TimerTask tsk4, tsk5,tsk6; private TimerTask d1; private TimerTask d2; + private TimerTask d3; private TimeSeries spdup = new TimeSeries(UIEnv.getRsb().getString("uploadspeed")); private TimeSeries spddown = new TimeSeries(UIEnv.getRsb().getString("downloadspeed")); private TimeSeries delayup = new TimeSeries(UIEnv.getRsb().getString("uploaddelay")); private TimeSeries delaydown = new TimeSeries(UIEnv.getRsb().getString("downloaddelay")); - // private TimeSeries delayupmin=new TimeSeries("Upload delay minimum"); - // private TimeSeries delaydownmin=new TimeSeries("Download delay minimum"); + private TimeSeries delayupmin=new TimeSeries(UIEnv.getRsb().getString("uploadbasedelay")); + private TimeSeries delaydownmin=new TimeSeries(UIEnv.getRsb().getString("downloadbasedelay")); + - private KLALBRemoteLine tr; + private TimeSeries bufferused = new TimeSeries(UIEnv.getRsb().getString("usedbuffer")); + private TimeSeries queueused = new TimeSeries(UIEnv.getRsb().getString("queueused")); + private TimeSeries buffermax = new TimeSeries(UIEnv.getRsb().getString("maxbuffer")); + + private KLALBRemoteLink tr; private JFreeChart jfc; private JFreeChart jfce; + private JFreeChart jbfc; private JLabel spdp; private JLabel delp; + private JLabel sbpdp; private long timeRange = 5000; private long[] values = new long[] { 1000, 2000, 5000, 10000, 20000, 50000, 100000, 200000, 500000, 1000000 }; private JPanel panel_1; @@ -81,20 +76,20 @@ public class LineMonitorGUI extends XFrame { // private ChartPanel delp; // private ChartPanel spdp; - public LineMonitorGUI(KLALBRemoteLine t) { + public LineMonitorGUI(KLALBRemoteLink t) { this.tr = t; setSize(1200, 780); setLocationRelativeTo(null); setIconImage(UIEnv.getIcon()); - setTitle("Line Monitor:" + t.getMonitor().getName()); + setTitle("Line Monitor:" + t.getName()); setTitleColor(UIEnv.getDefaultTitleColor()); getContentPane().setBackground(UIEnv.getDefaultBackgroundColor()); getTitlelabel().setFont(UIEnv.getFont().deriveFont(17.0f)); getTitlepanel().setBorder(new LineBorder(Color.LIGHT_GRAY)); JPanel jp = new JPanel(); - jp.setLayout(new GridLayout(2, 1)); + jp.setLayout(new GridLayout(2, 2)); getContentPane().add(jp); TimeSeriesCollection tsc = new TimeSeriesCollection(); @@ -110,12 +105,17 @@ public class LineMonitorGUI extends XFrame { spdp.setBorder(new LineBorder(Color.DARK_GRAY)); jp.add(spdp); + + + + TimeSeriesCollection tsce = new TimeSeriesCollection(); tsce.addSeries(delayup); tsce.addSeries(delaydown); - // tsce.addSeries(delayupmin); - // tsce.addSeries(delaydownmin); + tsce.addSeries(delayupmin); + tsce.addSeries(delaydownmin); + jfce = ChartFactory.createTimeSeriesChart(UIEnv.getRsb().getString("delaymonitor"), UIEnv.getRsb().getString("time") + "(s)", UIEnv.getRsb().getString("delay") + "(ms)", tsce); jfce.getXYPlot().setBackgroundPaint(Color.BLACK); @@ -124,17 +124,40 @@ public class LineMonitorGUI extends XFrame { BasicStroke dotted = new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 0, new float[] { 0, 6, 0, 6 }, 0); - /* - * jfce.getXYPlot().getRenderer().setSeriesPaint(2,Color.RED); - * jfce.getXYPlot().getRenderer().setSeriesStroke(2, dotted); - * jfce.getXYPlot().getRenderer().setSeriesPaint(3,Color.GREEN); - * jfce.getXYPlot().getRenderer().setSeriesStroke(3, dotted); - */ + + jfce.getXYPlot().getRenderer().setSeriesPaint(2,Color.RED); + jfce.getXYPlot().getRenderer().setSeriesStroke(2, dotted); + jfce.getXYPlot().getRenderer().setSeriesPaint(3,Color.GREEN); + jfce.getXYPlot().getRenderer().setSeriesStroke(3, dotted); + changeFont(jfce); delp = new JLabel(); delp.setBorder(new LineBorder(Color.DARK_GRAY)); jp.add(delp); + + + + + TimeSeriesCollection tbsc = new TimeSeriesCollection(); + tbsc.addSeries(bufferused); + tbsc.addSeries(queueused); + tbsc.addSeries(buffermax); + jbfc = ChartFactory.createTimeSeriesChart(UIEnv.getRsb().getString("bufferusagemonitor"), + UIEnv.getRsb().getString("time") + "(s)", UIEnv.getRsb().getString("buffer") + "(KB)", tbsc); + jbfc.getXYPlot().setBackgroundPaint(Color.BLACK); + jbfc.getXYPlot().getRenderer().setSeriesPaint(0, Color.BLUE); + jbfc.getXYPlot().getRenderer().setSeriesPaint(1, Color.MAGENTA); + jbfc.getXYPlot().getRenderer().setSeriesPaint(2, Color.CYAN); + changeFont(jbfc); + sbpdp = new JLabel(); + sbpdp.setBorder(new LineBorder(Color.DARK_GRAY)); + jp.add(sbpdp); + + + + + JPanel panel = new JPanel(); panel.setOpaque(false); getContentPane().add(panel, BorderLayout.NORTH); @@ -219,14 +242,25 @@ public class LineMonitorGUI extends XFrame { synchronized (jfc) { jfc.getXYPlot().getDomainAxis().setFixedAutoRange(timeRange); - spdup.setMaximumItemCount((int) timeRange); - spddown.setMaximumItemCount((int) timeRange); + spdup.setMaximumItemCount((int) timeRange/5); + spddown.setMaximumItemCount((int) timeRange/5); } synchronized (jfce) { jfce.getXYPlot().getDomainAxis().setFixedAutoRange(timeRange); - delayup.setMaximumItemCount((int) timeRange); - delaydown.setMaximumItemCount((int) timeRange); + delayup.setMaximumItemCount((int) timeRange/5); + delaydown.setMaximumItemCount((int) timeRange/5); + delayupmin.setMaximumItemCount((int) timeRange/5); + delaydownmin.setMaximumItemCount((int) timeRange/5); + } + + + synchronized (jbfc) { + + jbfc.getXYPlot().getDomainAxis().setFixedAutoRange(timeRange); + bufferused.setMaximumItemCount((int) timeRange/5); + buffermax.setMaximumItemCount((int) timeRange/5); + queueused.setMaximumItemCount((int) timeRange/5); } windowSelect.setText(timeRange / 1000 + "s"); } @@ -269,11 +303,31 @@ public class LineMonitorGUI extends XFrame { new Date(valdown.getTimestamp().divide(new Long128(1000000L)).longValue())); delaydown.addOrUpdate(ms2, valdown.getDelay() / 1000000.0); } + + Millisecond ms = new Millisecond( + new Date(tr.getMonitor().getClock().getCurrentTimeMillis())); + delayupmin.addOrUpdate(ms, tr.getMonitor().getOutDelayMin() / 1000000.0); + delaydownmin.addOrUpdate(ms, tr.getMonitor().getInDelayMin() / 1000000.0); } } } + private void recordBufferData() { + if (isVisible()) { + Millisecond ms = new Millisecond( + new Date(tr.getMonitor().getClock().getCurrentTimeMillis())); + synchronized (jbfc) { + SendPacketSlidingWindow window=tr.getWindow(); + if(window !=null) { + bufferused.addOrUpdate(ms, window.getSendWindowUsed() / 1024.0); + //queueused.addOrUpdate(ms, tr.getQueueUsed() / 1024.0); + buffermax.addOrUpdate(ms, window.getWindowSize() / 1024.0); + + } + } + } + } @Override public void setVisible(boolean b) { if (b) { @@ -281,6 +335,7 @@ public class LineMonitorGUI extends XFrame { timer = new Timer(); timer1 = new Timer(); timer2 = new Timer(); + timer3 = new Timer(); tsk3 = new TimerTask() { @Override @@ -303,6 +358,13 @@ public class LineMonitorGUI extends XFrame { recordDelayData(); } }; + tsk6 = new TimerTask() { + + @Override + public void run() { + recordBufferData(); + } + }; d1 = new TimerTask() { @Override @@ -330,11 +392,27 @@ public class LineMonitorGUI extends XFrame { } } }; + d3 = new TimerTask() { + + @Override + public void run() { + if (isVisible()) { + synchronized (jbfc) { + ImageIcon i3 = new ImageIcon( + jbfc.createBufferedImage(sbpdp.getWidth(), sbpdp.getHeight())); + sbpdp.setIcon(i3); + } + + } + } + }; timer.scheduleAtFixedRate(tsk3, 25, 25); - timer1.scheduleAtFixedRate(tsk4, 5, 5); + timer1.scheduleAtFixedRate(tsk4, 10, 10); timer1.scheduleAtFixedRate(d1, 25, 25); - timer2.scheduleAtFixedRate(tsk5, 1, 1); + timer2.scheduleAtFixedRate(tsk5, 10, 10); timer2.scheduleAtFixedRate(d2, 25, 25); + timer3.scheduleAtFixedRate(tsk6, 10, 10); + timer3.scheduleAtFixedRate(d3, 25, 25); } } else { @@ -348,6 +426,8 @@ public class LineMonitorGUI extends XFrame { d1.cancel(); if (d2 != null) d2.cancel(); + if (d3 != null) + d3.cancel(); if (timer != null) timer.cancel(); if (timer1 != null) @@ -355,20 +435,23 @@ public class LineMonitorGUI extends XFrame { if (timer2 != null) timer2.cancel(); + + if (timer3 != null) + timer3.cancel(); timer = null; } super.setVisible(b); } public void updateTraffic() { - switch (tr.getMonitor().getState()) { - case MonitorData.DOWN: + switch (tr.getState()) { + case LinkStatus.DOWN: getTitlelabel().setForeground(Color.RED); break; - case MonitorData.UNSTABLE: + case LinkStatus.UNSTABLE: getTitlelabel().setForeground(Color.YELLOW); break; - case MonitorData.UP: + case LinkStatus.UP: getTitlelabel().setForeground(Color.GREEN); break; diff --git a/src/org/kne/cloud/network/klalb/ui/TPanel2.java b/src/org/kne/cloud/network/klalb/ui/TPanel2.java index 44ddf93..eaac332 100644 --- a/src/org/kne/cloud/network/klalb/ui/TPanel2.java +++ b/src/org/kne/cloud/network/klalb/ui/TPanel2.java @@ -3,7 +3,6 @@ package org.kne.cloud.network.klalb.ui; import javax.swing.JPanel; import javax.swing.JLabel; import java.awt.BorderLayout; -import java.awt.Button; import java.awt.Color; import java.awt.Dimension; @@ -11,27 +10,22 @@ import javax.swing.SwingConstants; import javax.swing.border.LineBorder; import org.kne.cloud.network.MultipurposeSocketAddress; -import org.kne.cloud.network.ipv6.IPv6Address; import org.kne.cloud.network.ipv6.IPv6AddressGroup; import org.kne.cloud.network.klalb.CONST; import org.kne.cloud.network.klalb.KLALBController; -import org.kne.cloud.network.klalb.KLALBRemoteLine; +import org.kne.cloud.network.klalb.KLALBRemoteLink; import org.kne.cloud.network.klalb.KLALBUtils; -import org.kne.cloud.network.monitor.MonitorData; +import org.kne.cloud.network.monitor.LinkStatus; import java.awt.Font; import java.awt.Image; -import java.awt.MenuItem; import java.awt.Toolkit; import java.awt.datatransfer.StringSelection; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; -import java.awt.image.BufferedImage; import java.io.IOException; -import java.net.Inet6Address; -import java.net.SocketTimeoutException; import java.util.Objects; import javax.imageio.ImageIO; @@ -42,7 +36,7 @@ import javax.swing.JMenuItem; public class TPanel2 extends JPanel { private JLabel tname; private JLabel targup; - private KLALBRemoteLine tunnel; + private KLALBRemoteLink tunnel; private LineMonitorGUI mdg; private JMenuItem mntmNewMenuItem2; private JMenuItem mntmNewMenuItem3; @@ -75,14 +69,14 @@ public class TPanel2 extends JPanel { /** * @wbp.parser.constructor */ - public TPanel2(KLALBRemoteLine t,KLALBController kc) { + public TPanel2(KLALBRemoteLink t,KLALBController kc) { this.tunnel = t; //setOpaque(false); setBackground(Color.WHITE); setLayout(new BorderLayout(0, 0)); tname = new JLabel(); - tname.setText(t.getMonitor().getName()); + tname.setText(t.getName()); tname.setFont(new Font("宋体", Font.BOLD, 14)); targup = new JLabel(); @@ -311,8 +305,8 @@ public class TPanel2 extends JPanel { private void updateText() { - targup.setText(KLALBUtils. convertIBUint(tunnel.getMonitor().getOutTraffic()) + " " + KLALBUtils. convertIBUint(tunnel.getMonitor().getOutSpeed()) + "/s "+ KLALBUtils.convertUintNanoDefalut(tunnel.getMonitor().getOutDelay()) + "s"); - targdown.setText(KLALBUtils. convertIBUint(tunnel.getMonitor().getInTraffic()) + " " + KLALBUtils. convertIBUint(tunnel.getMonitor().getInSpeed()) + "/s " + KLALBUtils.convertUintNanoDefalut( tunnel.getMonitor().getInDelay()) + "s"); + targup.setText( KLALBUtils. convertIBUint(tunnel.getMonitor().getOutSpeed()) + "/s "+KLALBUtils. convertUintDefalut(tunnel.getMonitor().getOutPPS()) + "PPS "+ KLALBUtils.convertUintNanoDefalut(tunnel.getMonitor().getOutDelay()) + "s"); + targdown.setText(KLALBUtils. convertIBUint(tunnel.getMonitor().getInSpeed()) + "/s "+KLALBUtils. convertUintDefalut(tunnel.getMonitor().getInPPS()) + "PPS " + KLALBUtils.convertUintNanoDefalut( tunnel.getMonitor().getInDelay()) + "s"); if(tunnel.getMonitor().getOutSpeed()>4096||tunnel.getMonitor().getInSpeed()>4096) { lblNewLabel_2.setBackground(Color.ORANGE); @@ -321,22 +315,22 @@ public class TPanel2 extends JPanel { } } - public KLALBRemoteLine getTunnel() { + public KLALBRemoteLink getTunnel() { return tunnel; } public void updateTraffic() { - switch (tunnel.getMonitor().getState()) { - case MonitorData.DOWN: + switch (tunnel.getState()) { + case LinkStatus.DOWN: tname.setForeground(Color.RED); lblNewLabel_1.setBackground(Color.LIGHT_GRAY); break; - case MonitorData.UNSTABLE: + case LinkStatus.UNSTABLE: tname.setForeground(Color.YELLOW); lblNewLabel_1.setBackground(Color.LIGHT_GRAY); break; - case MonitorData.UP: + case LinkStatus.UP: tname.setForeground(Color.GREEN); lblNewLabel_1.setBackground(Color.GREEN); @@ -344,7 +338,7 @@ public class TPanel2 extends JPanel { default: break; } - if(tunnel.getMonitor().getState()!=MonitorData.DOWN) { + if(tunnel.getState()!=LinkStatus.DOWN) { IPv6AddressGroup unvar=tunnel.getRemoteVaddr(); diff --git a/src/org/kne/cloud/network/klalb/ui/UIEnv.java b/src/org/kne/cloud/network/klalb/ui/UIEnv.java index a526789..eabfc6b 100644 --- a/src/org/kne/cloud/network/klalb/ui/UIEnv.java +++ b/src/org/kne/cloud/network/klalb/ui/UIEnv.java @@ -1,32 +1,29 @@ package org.kne.cloud.network.klalb.ui; import java.awt.Color; -import java.awt.Cursor; import java.awt.Font; -import java.awt.FontFormatException; import java.awt.Image; -import java.awt.Point; import java.awt.Toolkit; -import java.awt.geom.AffineTransform; import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Locale; import java.util.PropertyResourceBundle; import java.util.ResourceBundle; import javax.swing.JButton; -import javax.swing.JColorChooser; import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; -import javax.swing.plaf.ColorChooserUI; + +import org.kne.ui.LinearGradientColor; public class UIEnv { private static Font font; private static Image icon ; private static Color defaultcolor=new Color(207,218,223);//new Color(207,218,223) private static Color selectedcolor=new Color(207/2,218/2,223/2); + static final LinearGradientColor RANGE_1=new LinearGradientColor(new float[] {0.0f,0.5f,0.8f,1.0f},new Color[] {Color.GREEN,Color.GREEN,Color.YELLOW,Color.RED}); + static final LinearGradientColor RANGE_2=new LinearGradientColor(new float[] {0.0f,0.05f,0.3f,0.6f,1.0f},new Color[] {Color.GREEN,Color.GREEN,Color.YELLOW,Color.RED,Color.BLACK}); + static final LinearGradientColor RANGE_3=new LinearGradientColor(new float[] {0.0f,0.02f,0.15f,0.5f,1.0f},new Color[] {Color.GREEN,Color.GREEN,Color.YELLOW,Color.RED,Color.BLACK}); + static final LinearGradientColor RANGE_4=new LinearGradientColor(new float[] {0.0f,0.01f,0.1f,1.0f},new Color[] {Color.GREEN,Color.YELLOW,Color.RED,Color.BLACK}); + + private static ResourceBundle rsb; public static void setRsb(String xrsb) throws IOException { rsb=new PropertyResourceBundle(UIEnv.class.getResourceAsStream("/klalb_"+xrsb+".properties")); diff --git a/src/org/kne/cloud/network/monitor/ArrayListTimestampMonitor.java b/src/org/kne/cloud/network/monitor/ArrayListTimestampMonitor.java index 60a18a6..a3549e0 100644 --- a/src/org/kne/cloud/network/monitor/ArrayListTimestampMonitor.java +++ b/src/org/kne/cloud/network/monitor/ArrayListTimestampMonitor.java @@ -1,13 +1,10 @@ package org.kne.cloud.network.monitor; -import java.math.BigInteger; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.atomic.AtomicLong; -import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.LongAdder; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -63,28 +60,32 @@ public class ArrayListTimestampMonitor implements TimestampMonitor { private volatile long prev = System.nanoTime(); - public boolean recordPacket(K key, int length) { - return recordPacket(key, clock.getCurrentTimeNanos(), length, Long.MAX_VALUE / 1024); + /*public boolean recordPacket(K key,int count, int length) { + return recordPacket(key, clock.getCurrentTimeNanos(),count, length, Long.MAX_VALUE / 1024); + }*/ + public boolean recordPacket(K key,int count, int length) { + return recordPacket(key,clock.getCurrentTimeNanos(),count,length); + } + + public boolean recordPacket(K key,int count, int length, long delay) { + return recordPacket(key, clock.getCurrentTimeNanos(),count, length, delay); } - public boolean recordPacket(K key, int length, long delay) { - return recordPacket(key, clock.getCurrentTimeNanos(), length, delay); - } - - public boolean recordPacket(K key, Long128 timestamp, int length) { - return recordPacket(key, timestamp, length, Long.MAX_VALUE / 1024); + public boolean recordPacket(K key, Long128 timestamp,int count, int length) { + return recordPacket(key, timestamp,count, length, Long.MAX_VALUE / 1024); } + /** * 记录数据包 - 使用插入排序保持列表有序,添加时间戳验证 */ - public boolean recordPacket(K key, Long128 timestamp, int length, long delay) { + public boolean recordPacket(K key, Long128 timestamp,int count, int length, long delay) { // 验证时间戳的合理性 validateTimestamp(timestamp); // 快速路径:尝试sequence=0 TimestampMonitorKey monitorKey = new TimestampMonitorKey<>(key, 0); - TimestampMonitorValue monitorValue = new TimestampMonitorValue(monitorKey, timestamp, length, delay); + TimestampMonitorValue monitorValue = new TimestampMonitorValue(monitorKey, timestamp,count, length, delay); autoCleanup(cleanupThreshold); rwLock.writeLock().lock(); @@ -327,7 +328,7 @@ public class ArrayListTimestampMonitor implements TimestampMonitor { /** * 从已排序的列表中计算包数 - 优化版本,只需要startTime */ - private long calculatePacketCountFromSortedList(List sortedList, Long128 startTime) { + /*private long calculatePacketCountFromSortedList(List sortedList, Long128 startTime) { if (sortedList.isEmpty()) { return 0; } @@ -340,8 +341,30 @@ public class ArrayListTimestampMonitor implements TimestampMonitor { // 计算从startIndex到末尾的所有包数(因为数据包不会来自未来) return sortedList.size() - startIndex; + }*/ + + private long calculatePacketCountFromSortedList(List sortedList, Long128 startTime) { + + if (sortedList.isEmpty()) { + return 0; } + // 使用二分查找找到第一个 >= startTime 的元素位置 + int startIndex = findFirstValidIndexFromSorted(sortedList, startTime); + + if (startIndex >= sortedList.size()) { + return 0; + } + + // 计算从startIndex到末尾的所有数据量(因为数据包不会来自未来) + long sum = 0; + for (int i = startIndex; i < sortedList.size(); i++) { + sum += sortedList.get(i).getCount(); + } + + return sum; + } + public long calculateBandwidth(long timeWindowNs) { return calculateBandwidth(clock.getCurrentTimeNanos(), timeWindowNs); } @@ -413,7 +436,7 @@ public class ArrayListTimestampMonitor implements TimestampMonitor { // 计算从startIndex到末尾的所有数据(因为数据包不会来自未来) for (int i = startIndex; i < sortedList.size(); i++) { TimestampMonitorValue value = sortedList.get(i); - stats.packetCount++; + stats.packetCount+=value.getCount(); stats.totalBytes += value.getLength(); if (stats.earliestTimestamp.equals(Long128.ZERO) @@ -490,7 +513,7 @@ public class ArrayListTimestampMonitor implements TimestampMonitor { 100, 200000000L); Thread t = new Thread(() -> { while (true) { - monitor.recordPacket(along.getAndIncrement(), 1000); + monitor.recordPacket(along.getAndIncrement(),1, 1000); } }); t.start(); diff --git a/src/org/kne/cloud/network/monitor/HashMapTimestampMonitor.java b/src/org/kne/cloud/network/monitor/HashMapTimestampMonitor.java index b46adca..b786b03 100644 --- a/src/org/kne/cloud/network/monitor/HashMapTimestampMonitor.java +++ b/src/org/kne/cloud/network/monitor/HashMapTimestampMonitor.java @@ -1,14 +1,9 @@ package org.kne.cloud.network.monitor; -import java.math.BigInteger; -import java.util.List; -import java.util.Map; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.LongAdder; -import java.util.stream.Collectors; import org.kne.cloud.clock.HighAccuracyClock; import org.kne.cloud.network.klalb.KLALBUtils; @@ -65,27 +60,31 @@ private String name; - public boolean recordPacket(K key, int length) { - return recordPacket(key,clock.getCurrentTimeNanos(),length); + public boolean recordPacket(K key, int count,int length) { + return recordPacket(key,clock.getCurrentTimeNanos(),count,length); } + + + @Override - public boolean recordPacket(K key, Long128 timestamp, int length) { - return recordPacket(key, timestamp, length, Long.MAX_VALUE/1024); + public boolean recordPacket(K key, Long128 timestamp, int count,int length) { + return recordPacket(key, timestamp,count, length, Long.MAX_VALUE/1024); } @Override - public boolean recordPacket(K key, int length, long delay) { - return recordPacket(key,clock.getCurrentTimeNanos(),length,delay); + public boolean recordPacket(K key,int count, int length, long delay) { + return recordPacket(key,clock.getCurrentTimeNanos(),count,length,delay); } + /** * 超高性能记录数据包 - 针对路由器优化 */ - public boolean recordPacket(K key, Long128 timestamp, int length, long delay) { + public boolean recordPacket(K key, Long128 timestamp,int count, int length, long delay) { autoCleanup(cleanupThreshold); // 快速路径:尝试sequence=0 TimestampMonitorKey monitorKey = new TimestampMonitorKey<>(key, 0); - TimestampMonitorValue monitorValue = new TimestampMonitorValue(monitorKey,timestamp, length,delay); + TimestampMonitorValue monitorValue = new TimestampMonitorValue(monitorKey,timestamp, count,length,delay); if (entries.putIfAbsent(monitorKey, monitorValue) == null) { totalDataSize.add(length); @@ -96,7 +95,7 @@ private String name; // 重试路径(极少执行) for (int sequence = 0; sequence < maxRetry; sequence++) { monitorKey = new TimestampMonitorKey<>(key, sequence); - monitorValue = new TimestampMonitorValue(monitorKey,timestamp, length); + monitorValue = new TimestampMonitorValue(monitorKey,timestamp,count, length); if (entries.putIfAbsent(monitorKey, monitorValue) == null) { totalDataSize.add(length); totalPackets.increment(); @@ -174,8 +173,9 @@ private String name; return entries.values().stream() .filter(value -> (value.getTimestamp() .compareTo( startTime )>=0)&& - (value.getTimestamp().compareTo( currentTime) <=0) ) - .count(); + (value.getTimestamp().compareTo( currentTime) <=0) ).mapToLong(TimestampMonitorValue::getCount) + .sum(); + // .count(); } public long calculateBandwidth(long timeWindowNs) { @@ -226,7 +226,7 @@ private String name; .collect( TrafficStats::new, (ts, value) -> { - ts.packetCount++; + ts.packetCount+=value.getCount(); ts.totalBytes += value.getLength(); if (ts.earliestTimestamp .equals(Long128.ZERO) || (value.getTimestamp() .compareTo( ts.earliestTimestamp)<0)) { ts.earliestTimestamp = value.getTimestamp(); @@ -277,7 +277,7 @@ private String name; Thread t=new Thread(()->{ long l=0; while(true) { - monitor.recordPacket(l++, 1000); + monitor.recordPacket(l++,1, 1000); } }); t.start(); diff --git a/src/org/kne/cloud/network/monitor/MonitorData.java b/src/org/kne/cloud/network/monitor/MonitorData.java index ee1f083..52ddaae 100644 --- a/src/org/kne/cloud/network/monitor/MonitorData.java +++ b/src/org/kne/cloud/network/monitor/MonitorData.java @@ -3,33 +3,12 @@ package org.kne.cloud.network.monitor; import java.util.function.Consumer; public interface MonitorData extends Cloneable { - public static final int DOWN=0; - public static final int UNSTABLE=1; - public static final int UP=2; public Consumer getChangeListener(); public void setChangeListener(Consumer changeListener); -public String getName(); -public void setName(String name); @Override public String toString(); -public int getState(); -public void setState(int state); - -public double getReliability(); - - public static String parseStateToString(int state) { - switch (state) { - case DOWN: - return "offline"; - case UNSTABLE: - return "unstable"; - case UP: - return "online"; - default: - throw new IllegalArgumentException("Unknown state:"+state); - } - } +public void update(); public Object clone() throws CloneNotSupportedException; } diff --git a/src/org/kne/cloud/network/monitor/MonitorDataImpl.java b/src/org/kne/cloud/network/monitor/MonitorDataImpl.java index 97c7741..2bfc368 100644 --- a/src/org/kne/cloud/network/monitor/MonitorDataImpl.java +++ b/src/org/kne/cloud/network/monitor/MonitorDataImpl.java @@ -1,45 +1,11 @@ package org.kne.cloud.network.monitor; -import java.util.Timer; -import java.util.TimerTask; import java.util.function.Consumer; -public class MonitorDataImpl implements MonitorData { - private String name; - - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - private static Timer timer=new Timer("Monitor Update Thread",true); - public MonitorDataImpl() { - timer.scheduleAtFixedRate(ptt, 0, 100); - } - public MonitorDataImpl(long period) { - timer.scheduleAtFixedRate(ptt, 0, period); - } -private TimerTask ptt=new TimerTask() { - - @Override - public void run() { +public abstract class MonitorDataImpl implements MonitorData { - reliability=(reliability*999+(state==UP?1:0))/1000; - } - }; - - @Override - protected void finalize() throws Throwable { - ptt.cancel(); - } - - - public static Timer getTimer() { - return timer; - } private ConsumerchangeListener; public Consumer getChangeListener() { @@ -48,42 +14,11 @@ private TimerTask ptt=new TimerTask() { public void setChangeListener(Consumer changeListener) { this.changeListener = changeListener; } - private volatile int state=0; - private double reliability=0.0; - public int getState() { - return state; - } - public void setState(int state) { - this.state = state; - } - private String getDsc() { - switch(state) { - case DOWN: - return "○离线"; - case UNSTABLE: - return "◐不稳定"; - case UP: - return "●在线"; - } - return null; - } + + -@Override - public String toString() { - StringBuilder sb=new StringBuilder(); - sb.append(name); - sb.append('\n'); - sb.append(getDsc()); - /*sb.append('\t'); - sb.append((int)(reliability*100)); - sb.append('%');*/ - return sb.toString(); - } -@Override -public double getReliability() { - return reliability; -} + @Override public Object clone() throws CloneNotSupportedException { return super.clone(); diff --git a/src/org/kne/cloud/network/monitor/SpeedAndTrafficAndDelayMonitorDataImpl.java b/src/org/kne/cloud/network/monitor/SpeedAndTrafficAndDelayMonitorDataImpl.java index ef0c017..19cfc4d 100644 --- a/src/org/kne/cloud/network/monitor/SpeedAndTrafficAndDelayMonitorDataImpl.java +++ b/src/org/kne/cloud/network/monitor/SpeedAndTrafficAndDelayMonitorDataImpl.java @@ -1,41 +1,49 @@ package org.kne.cloud.network.monitor; -import java.util.TimerTask; import java.util.UUID; import org.kne.cloud.clock.HighAccuracyClock; -import org.kne.cloud.network.ipv6.PacketID; import org.kne.cloud.network.klalb.KLALBUtils; public class SpeedAndTrafficAndDelayMonitorDataImpl extends SpeedAndTrafficMonitorDataImpl implements SpeedAndTrafficMonitorData,DelayMonitorData{ private long timewindowmax=500000000L; + + private DelaySampler upSampler=new DelaySampler(); + private DelaySampler downSampler=new DelaySampler(); -private TimerTask pttxr=new TimerTask() { - - @Override - public void run() { - long idelay=getInDelay(); - if(inDelayMin==Long.MAX_VALUE||idelay<=inDelayMin) { - inDelayMin=idelay; - }else{ - inDelayMin=(inDelayMin*9999+idelay)/10000; - } - long odelay=getOutDelay(); - if(outDelayMin==Long.MAX_VALUE||odelay<=outDelayMin) { - outDelayMin=odelay; - }else{ - outDelayMin=(outDelayMin*9999+odelay)/10000; - } + long stime=System.nanoTime(); +@Override + public void update() { + super.update(); + upSampler.update(); + downSampler.update(); + if(upSampler.getSnapshotPacketCount()>0&&upSampler.getSnapshotTotalDelay()>0) { + getUploadBandwidth(). recordPacket(KLALBUtils.createGlobalUUID(),0, 0, upSampler.getAvgDelayNanos()); + } + if(downSampler.getSnapshotPacketCount()>0&&downSampler.getSnapshotTotalDelay()>0) { + getDownloadBandwidth(). recordPacket(KLALBUtils.createGlobalUUID(),0, 0, downSampler.getAvgDelayNanos()); + } + + long time=System.nanoTime(); + if(time-stime>timewindowmax) { + stime=time; + long idelay=getInDelay(); + if(inDelayMin==Long.MAX_VALUE||idelay<=inDelayMin) { + inDelayMin=idelay; + }else{ + inDelayMin=(inDelayMin*99+idelay)/100; + } + long odelay=getOutDelay(); + if(outDelayMin==Long.MAX_VALUE||odelay<=outDelayMin) { + outDelayMin=odelay; + }else{ + outDelayMin=(outDelayMin*99+odelay)/100; + } } - }; - { - getTimer().scheduleAtFixedRate(pttxr, timewindowmax/1000000, timewindowmax/1000000); - } - @Override - protected void finalize() throws Throwable { - pttxr.cancel(); } + + @Override public String toString() { @@ -62,6 +70,13 @@ private TimerTask pttxr=new TimerTask() { + public void recordUploadDelay(long delay) { + upSampler.recordDelay(delay); + } + + public void recordDownloadDelay(long delay) { + downSampler.recordDelay(delay); + } @Override diff --git a/src/org/kne/cloud/network/monitor/SpeedAndTrafficMonitorDataImpl.java b/src/org/kne/cloud/network/monitor/SpeedAndTrafficMonitorDataImpl.java index c8a49b2..0b5457f 100644 --- a/src/org/kne/cloud/network/monitor/SpeedAndTrafficMonitorDataImpl.java +++ b/src/org/kne/cloud/network/monitor/SpeedAndTrafficMonitorDataImpl.java @@ -1,30 +1,27 @@ package org.kne.cloud.network.monitor; -import java.util.TimerTask; import java.util.UUID; -import java.util.concurrent.atomic.AtomicLong; -import java.util.concurrent.atomic.LongAdder; import org.kne.cloud.clock.HighAccuracyClock; -import org.kne.cloud.network.ipv6.PacketID; import org.kne.cloud.network.klalb.KLALBUtils; public class SpeedAndTrafficMonitorDataImpl extends MonitorDataImpl implements SpeedAndTrafficMonitorData { private TimestampMonitoruploadBandwidth; private TimestampMonitordownloadBandwidth; - private long timewindow=200000000L; - private long timewindowmax=200000000L; + private long timewindow=1000000000L; + private long timewindowmax=1000000000L; + private BandwidthSampler upSampler=new BandwidthSampler(); + private BandwidthSampler downSampler=new BandwidthSampler(); + - private static final long CALC_TIMEOUT=50000000; public SpeedAndTrafficMonitorDataImpl(HighAccuracyClock clock) { super(); this.clock=clock; - uploadBandwidth=new ArrayListTimestampMonitor(clock,"UploadMonitor", 100, 500000000L); - downloadBandwidth=new ArrayListTimestampMonitor(clock,"DownloadMonitor", 100, 500000000L); + uploadBandwidth=new ArrayListTimestampMonitor(clock,"UploadMonitor", 100, 5000000000L); + downloadBandwidth=new ArrayListTimestampMonitor(clock,"DownloadMonitor", 100, 5000000000L); - getTimer().scheduleAtFixedRate(pttx, timewindowmax/1000000, timewindowmax/1000000); } private HighAccuracyClock clock; @@ -42,7 +39,6 @@ public class SpeedAndTrafficMonitorDataImpl extends MonitorDataImpl implements S this.uploadBandwidth = uploadBandwidth; this.downloadBandwidth = downloadBandwidth; - getTimer().scheduleAtFixedRate(pttx, timewindowmax/1000000, timewindowmax/1000000); } @@ -70,9 +66,11 @@ public class SpeedAndTrafficMonitorDataImpl extends MonitorDataImpl implements S @Override public String toString() { - StringBuilder sb=new StringBuilder(super.toString()); - sb.append('\t'); - sb.append(KLALBUtils. convertIBUint(uploadBandwidth.getTotalDataSize())).append("\t").append(KLALBUtils.convertIBUint(downloadBandwidth.getTotalDataSize())).append("\t").append(KLALBUtils.convertIBUint(uploadBandwidth.calculateBandwidth(timewindow))).append("/s\t").append(KLALBUtils.convertIBUint(downloadBandwidth.calculateBandwidth(timewindow))).append("/s\t"); + StringBuilder sb=new StringBuilder(); + sb.append(KLALBUtils.convertIBUint(uploadBandwidth.calculateBandwidth(timewindow))).append("/s\t"); + sb.append(KLALBUtils.convertIBUint(downloadBandwidth.calculateBandwidth(timewindow))).append("/s\t"); + sb.append(KLALBUtils.convertUintDefalut(uploadBandwidth.calculatePacketRate(timewindow))).append("PPS\t"); + sb.append(KLALBUtils.convertUintDefalut(downloadBandwidth.calculatePacketRate(timewindow))).append("PPS\t"); /*if(getState()==OFFLINE) { sb.append((coolingTime-(System.currentTimeMillis()-mls))/1000L); @@ -89,24 +87,11 @@ public class SpeedAndTrafficMonitorDataImpl extends MonitorDataImpl implements S - - private volatile long outspeedTimeout=System.nanoTime(); public long getOutSpeed() { - long curr=System.nanoTime(); - if(curr-outspeedTimeout>CALC_TIMEOUT) { - outspeedTimeout=curr; - outSpeed=uploadBandwidth.calculateBandwidth(timewindow); - } - return outSpeed; + return uploadBandwidth.calculateBandwidth(timewindow); } - private volatile long inspeedTimeout=System.nanoTime(); public long getInSpeed() { - long curr=System.nanoTime(); - if(curr-inspeedTimeout>CALC_TIMEOUT) { - inspeedTimeout=curr; - inSpeed=downloadBandwidth.calculateBandwidth(timewindow); - } - return inSpeed; + return downloadBandwidth.calculateBandwidth(timewindow); } @@ -161,40 +146,49 @@ public class SpeedAndTrafficMonitorDataImpl extends MonitorDataImpl implements S return inPPSMax; } -private TimerTask pttx=new TimerTask() { - - @Override - public void run() { - long os=uploadBandwidth.calculateBandwidth(timewindowmax); - long is=downloadBandwidth.calculateBandwidth(timewindowmax); - long op=uploadBandwidth.calculatePacketRate(timewindowmax); - long ip=uploadBandwidth.calculatePacketRate(timewindowmax); - if(os>outSpeeedMax) { - outSpeeedMax=(outSpeeedMax+os)/2; - }else { - outSpeeedMax=(outSpeeedMax*999+os)/1000; - } - if(is>inSpeedMax) { - inSpeedMax=(inSpeedMax+is)/2; - }else { - inSpeedMax=(inSpeedMax*999+is)/1000; - } - if(op>outPPSMax) { - outPPSMax=(outPPSMax+op)/2; - }else { - outPPSMax=(outPPSMax*999+op)/1000; - } - if(ip>inPPSMax) { - inPPSMax=(inPPSMax+ip)/2; - }else { - inPPSMax=(inPPSMax*999+ip)/1000; - } - } - }; - + public void recordUploadPacket(int databytes) { + upSampler.recordPacket(databytes); + } + public void recordDownloadPacket(int databytes) { + downSampler.recordPacket(databytes); + } + + long stime=System.nanoTime(); @Override - protected void finalize() throws Throwable { - pttx.cancel(); + public void update() { + upSampler.update(); + downSampler.update(); + uploadBandwidth.recordPacket(KLALBUtils.createGlobalUUID(),(int)upSampler.getPacketCountSinceLastSnapshot() ,(int)upSampler.getByteCountSinceLastSnapshot()); + downloadBandwidth.recordPacket(KLALBUtils.createGlobalUUID(),(int)downSampler.getPacketCountSinceLastSnapshot() ,(int) downSampler.getByteCountSinceLastSnapshot()); + + long time=System.nanoTime(); + if(time-stime>timewindowmax) { + stime=time; + long os=uploadBandwidth.calculateBandwidth(timewindowmax); + long is=downloadBandwidth.calculateBandwidth(timewindowmax); + long op=uploadBandwidth.calculatePacketRate(timewindowmax); + long ip=uploadBandwidth.calculatePacketRate(timewindowmax); + if(os>outSpeeedMax) { + outSpeeedMax=(outSpeeedMax+os)/2; + }else { + outSpeeedMax=(outSpeeedMax*999+os)/1000; + } + if(is>inSpeedMax) { + inSpeedMax=(inSpeedMax+is)/2; + }else { + inSpeedMax=(inSpeedMax*999+is)/1000; + } + if(op>outPPSMax) { + outPPSMax=(outPPSMax+op)/2; + }else { + outPPSMax=(outPPSMax*999+op)/1000; + } + if(ip>inPPSMax) { + inPPSMax=(inPPSMax+ip)/2; + }else { + inPPSMax=(inPPSMax*999+ip)/1000; + } + } } } diff --git a/src/org/kne/cloud/network/monitor/TimestampMonitor.java b/src/org/kne/cloud/network/monitor/TimestampMonitor.java index 810861b..37a3a12 100644 --- a/src/org/kne/cloud/network/monitor/TimestampMonitor.java +++ b/src/org/kne/cloud/network/monitor/TimestampMonitor.java @@ -35,7 +35,7 @@ public interface TimestampMonitor { * @param length 数据包长度 * @return 是否记录成功 */ - boolean recordPacket(K key, int length); + boolean recordPacket(K key,int count, int length); /** * 记录数据包(使用指定时间戳) @@ -44,12 +44,12 @@ public interface TimestampMonitor { * @param length 数据包长度 * @return 是否记录成功 */ - boolean recordPacket(K key, Long128 timestamp, int length); + boolean recordPacket(K key, Long128 timestamp,int count, int length); - boolean recordPacket(K key, Long128 timestamp, int length, long dsndDelay); + boolean recordPacket(K key, Long128 timestamp, int count,int length, long dsndDelay); - boolean recordPacket(K key, int length, long dsndDelay); + boolean recordPacket(K key, int count,int length, long dsndDelay); // ==================== 清理维护方法 ==================== diff --git a/src/org/kne/cloud/network/monitor/TimestampMonitorValue.java b/src/org/kne/cloud/network/monitor/TimestampMonitorValue.java index 70df7a7..c9d06c4 100644 --- a/src/org/kne/cloud/network/monitor/TimestampMonitorValue.java +++ b/src/org/kne/cloud/network/monitor/TimestampMonitorValue.java @@ -1,20 +1,20 @@ package org.kne.cloud.network.monitor; -import java.math.BigInteger; - import org.kne.math.Long128; public class TimestampMonitorValue implements Comparable { private final Long128 timestamp; + private final int count; private final int length; private final TimestampMonitorKey key; private long delay; - public TimestampMonitorValue(TimestampMonitorKey key, Long128 timestamp, int length) { - this(key,timestamp,length,Long.MAX_VALUE/1024); + public TimestampMonitorValue(TimestampMonitorKey key, Long128 timestamp,int count, int length) { + this(key,timestamp,count,length,Long.MAX_VALUE/1024); } - public TimestampMonitorValue(TimestampMonitorKey key, Long128 timestamp, int length,long delay) { + public TimestampMonitorValue(TimestampMonitorKey key, Long128 timestamp,int count, int length,long delay) { this.key = key; this.timestamp = timestamp; + this.count=count; this.length = length; this.delay=delay; } @@ -57,7 +57,11 @@ public class TimestampMonitorValue implements Comparable } public Long128 getTimestamp() { return timestamp; } - public int getLength() { return length; } + + public int getCount() { + return count; + } + public int getLength() { return length; } public TimestampMonitorKey getKey() { return key; } diff --git a/src/org/kne/cloud/network/ntp/NTPContext.java b/src/org/kne/cloud/network/ntp/NTPContext.java index 5ea4a6e..4afac3d 100644 --- a/src/org/kne/cloud/network/ntp/NTPContext.java +++ b/src/org/kne/cloud/network/ntp/NTPContext.java @@ -3,8 +3,6 @@ package org.kne.cloud.network.ntp; import java.io.Closeable; import java.io.IOException; import java.math.BigDecimal; -import java.net.InetSocketAddress; -import java.security.Timestamp; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -16,13 +14,8 @@ import java.util.Map.Entry; import java.util.Set; import java.util.Vector; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicLong; -import java.util.concurrent.atomic.AtomicReference; -import java.util.concurrent.locks.ReentrantLock; -import org.fusesource.jansi.io.AnsiOutputStream.ZeroWidthSupplier; import org.kne.cloud.clock.HighAccuracyClock; import org.kne.cloud.clock.NTPTimestamps; import org.kne.cloud.network.MultipurposeSocketAddress; @@ -33,12 +26,12 @@ import org.kne.math.Long128; public class NTPContext implements Closeable, AutoCloseable { private HighAccuracyClock clock; private static final boolean debug = false; - private static final int REQUEST_COUNT = 10; + private static final int REQUEST_COUNT = 5; private Long128 systemFrequencyOffset = NTPTimestamps.nanosToNtp128BitTimeInterval(new Long128(5000)); private Long128 localPrecision = NTPTimestamps.nanosToNtp128BitTimeInterval(new Long128(1000)); private static final Long128 adjustThreshold0 = Long128.valueOf(1000000000L); - private static final Long128 adjustThreshold1 = Long128.valueOf(2000000L); + private static final Long128 adjustThreshold1 = Long128.valueOf(100000000L); private AtomicBoolean firstSync=new AtomicBoolean(true); private int minStratum = 16; @@ -74,7 +67,7 @@ public class NTPContext implements Closeable, AutoCloseable { Thread.sleep(100); } - Thread.sleep(1000); + Thread.sleep(500); if (!mlp.isEmpty()) mergeAndApply(); @@ -222,9 +215,8 @@ public class NTPContext implements Closeable, AutoCloseable { selectAndApply(peerInfo); } - private AtomicLong prevAdjustTime = new AtomicLong(System.nanoTime()); - private volatile Long128 deltaRemaining; private long avgAdj=0; + private Long128 inte=new Long128(0); private void selectAndApply(List peerInfo) { Collections.sort(peerInfo); if(debug) @@ -240,31 +232,34 @@ public class NTPContext implements Closeable, AutoCloseable { Long128 adjt = pi.getAdj(); bi = bi.add(adjt); } - Long128 adj = bi.divide(Long128.valueOf(i)); - avgAdj=(avgAdj*7+adj.abs().longValue())/8; - Long128 adjustment; - Long128 adjabs=adj.abs(); - if (adjabs.compareTo(adjustThreshold0) > 0&&firstSync.compareAndSet(true, false)) { - adjustment=adj; - }else if (adjabs.compareTo(adjustThreshold1) > 0) { - adjustment = Long128.valueOf(new BigDecimal(adj.toBigInteger()).multiply(BigDecimal.valueOf(0.5)).toBigInteger()); + Long128 delta = bi.divide(Long128.valueOf(i)); + avgAdj=(avgAdj*7+delta.abs().longValue())/8; + Long128 deltaabs=delta.abs(); + if (deltaabs.compareTo(adjustThreshold0) > 0&&firstSync.compareAndSet(true, false)) { + Long128 adjustment=delta; + clock.adjustClock( adjustment); + if(debug) + System.out.println("adj:"+delta); + }else if (deltaabs.compareTo(adjustThreshold1) > 0) { + Long128 adjustment = Long128.valueOf(new BigDecimal(delta.toBigInteger()).multiply(BigDecimal.valueOf(0.5)).toBigInteger()); + clock.adjustClock( adjustment); + if(debug) + System.out.println("adj:"+delta); } else { - adjustment = Long128.valueOf(new BigDecimal(adj.toBigInteger()).multiply(BigDecimal.valueOf(0.0625/2)).toBigInteger()); - if (deltaRemaining != null) { - long curr = System.nanoTime(); - long old = prevAdjustTime.getAndSet(curr); - Long128 fadj = adjustment.multiply(Long128.valueOf(TimeUnit.SECONDS.toNanos(1))) - .divide(Long128.valueOf(curr - old)); - Long128 fadjustment = Long128.valueOf( new BigDecimal(fadj.toBigInteger()).multiply(BigDecimal.valueOf(0.015625/4)).toBigInteger()); - clock.adjustFrequency(fadjustment.longValue()); + Long128 fadj = delta.divide(20).add(inte.divide(200)); + clock.setFrequency(1000000000L+fadj.longValue()); + inte=inte.add(delta); + if(inte.compareTo(Long128.valueOf(5000000))>0) { + inte=Long128.valueOf(5000000); + }else if(inte.compareTo(Long128.valueOf(-5000000))<0) { + inte=Long128.valueOf(-5000000); + } if(debug) - System.out.println("fadj:" + fadjustment + " f:" + clock.getFrequency()); - } - deltaRemaining = adj.subtract(adjustment); + System.out.println("inte:"+inte+" fadj:" + fadj); + } - clock.adjustClock( adjustment); if(debug) - System.out.println("delta:" + adjustment + " deltaRemaining:" + deltaRemaining); + System.out.println("delta:"+delta); } } diff --git a/src/org/kne/cloud/network/ntp/NTPv4Protocol.java b/src/org/kne/cloud/network/ntp/NTPv4Protocol.java index f7db548..a27d895 100644 --- a/src/org/kne/cloud/network/ntp/NTPv4Protocol.java +++ b/src/org/kne/cloud/network/ntp/NTPv4Protocol.java @@ -2,7 +2,6 @@ package org.kne.cloud.network.ntp; import java.io.Closeable; import java.io.IOException; -import java.math.BigInteger; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; @@ -14,10 +13,8 @@ import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.List; -import java.util.Map; import java.util.Objects; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.locks.ReentrantLock; @@ -30,7 +27,7 @@ import org.kne.math.Long128; public class NTPv4Protocol implements Closeable, AutoCloseable { private static final boolean showPacket = false; public static final int NTP_DEFAULT_PORT = 123; - private static final long DEFAULT_POLL_INTERVAL = 2000000000L; + private static final long DEFAULT_POLL_INTERVAL = 1000000000L; private static final long REQUEST_TIMEOUT = 10000000000L; private static final long EPHEMERAL_TIMEOUT = 60000000000L; diff --git a/src/org/kne/cloud/network/perf/Kperf.java b/src/org/kne/cloud/network/perf/Kperf.java index 3ae42e9..ae2f604 100644 --- a/src/org/kne/cloud/network/perf/Kperf.java +++ b/src/org/kne/cloud/network/perf/Kperf.java @@ -1,39 +1,23 @@ package org.kne.cloud.network.perf; import java.io.IOException; -import java.net.Inet6Address; -import java.net.InetAddress; import java.nio.channels.UnresolvedAddressException; import java.util.Objects; import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.PriorityBlockingQueue; -import java.util.concurrent.locks.LockSupport; import org.kne.cloud.clock.AdjustedNanoClock; import org.kne.cloud.clock.HighAccuracyClock; import org.kne.cloud.network.MultipurposeSocketAddress; import org.kne.cloud.network.SpeedLimiter; import org.kne.cloud.network.ThreadTool; -import org.kne.cloud.network.ipv6.IPv6Packet; -import org.kne.cloud.network.ipv6.PacketID; -import org.kne.cloud.network.ipv6.PacketIDGenerator; -import org.kne.cloud.network.ipv6.IPv6AddressGroup; -import org.kne.cloud.network.klalb.ADDRPacket; -import org.kne.cloud.network.klalb.ADDRREQPacket; -import org.kne.cloud.network.klalb.BWINFPacket; -import org.kne.cloud.network.klalb.IPv6OverKLALBPacket; import org.kne.cloud.network.klalb.KLALBPacket; import org.kne.cloud.network.klalb.KLALBPacketLink; import org.kne.cloud.network.klalb.KLALBUtils; import org.kne.cloud.network.klalb.PINGPacket; import org.kne.cloud.network.klalb.PONGPacket; -import org.kne.cloud.network.klalb.VADDRACKPacket; -import org.kne.cloud.network.klalb.VADDRPacket; -import org.kne.cloud.network.klalb.VADDRREQPacket; -import org.kne.cloud.network.monitor.MonitorData; +import org.kne.cloud.network.monitor.LinkStatus; import org.kne.cloud.network.monitor.SpeedAndTrafficAndDelayMonitorDataImpl; - -import com.github.f4b6a3.uuid.UuidCreator; +import org.kne.concurrent.ThreadParker; public class Kperf implements Runnable{ @@ -52,11 +36,13 @@ public class Kperf implements Runnable{ private MultipurposeSocketAddress bindAddress; private volatile boolean connected=false; private volatile KLALBPacketLink link; + + private LinkStatus status=new LinkStatus(); private SpeedAndTrafficAndDelayMonitorDataImpl monitor=new SpeedAndTrafficAndDelayMonitorDataImpl(HighAccuracyClock.SYSTEM_CLOCK); private volatile boolean closed = false; - private volatile Thread tlock; + private volatile ThreadParker tlock=new ThreadParker(); public Kperf(MultipurposeSocketAddress targetAddress,MultipurposeSocketAddress bindAddress) { Objects.requireNonNull(targetAddress); this.targetAddress=targetAddress; @@ -90,9 +76,6 @@ public class Kperf implements Runnable{ private SpeedLimiter test = new SpeedLimiter(MIN_SPEED,10000000L); private static long MIN_SPEED=64*1024L; - private SpeedLimiter congress = new SpeedLimiter(10000000L); - private long congressSpeed = 0; - private double loadPercent = 1.01; @@ -101,10 +84,46 @@ public class Kperf implements Runnable{ private long starttime=System.nanoTime(); long totaltime=1000; long usedtime=0; + + + private MonitorUpdater monitorUpdater; + private class MonitorUpdater implements Runnable{ + @Override + public void run() { + while (!closed) { + status.updateReliability(); + monitor.update(); + try { + Thread.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + } + + } + + } + //kperf {KLALB_Stream}[2486:1:f189:7589:f1f7:6f5e:b2eb:1]:4564 //kperf {KLALB_Stream}[2486:1::8888]:4564 @Override + + + public void run() { + + Thread tcc = ThreadTool.makeVDaemonThreadIfSupport("测速控制线程", () -> { + long startTime=System.nanoTime(); + try { + System.out.println("time\tspd↑\tspd↓\tPPS↑\tPPS↓\tdelay↑\tdelay↓\tjitter↑\tjitter↓"); + while(!closed) { + System.out.printf("%.2fs\t%s\n", (System.nanoTime()- startTime)/1000000000.0,monitor.toString()); + Thread.sleep(1000); + } + } catch (InterruptedException e) { + } + }); Thread tc = ThreadTool.makeVDaemonThreadIfSupport("测速控制线程", () -> { final int wtimes=5; totaltime=(20*1000*1+20*1000*4+wtimes*1000*5)*1000000L; @@ -113,12 +132,10 @@ public class Kperf implements Runnable{ try { long startTime; - System.out.println("测试1/5:延迟测试"); + System.out.println("测试1/3:延迟测试"); test.setLimitspeed(0); startTime=System.nanoTime(); for (int i = 0; i < 20; i++) { - System.out.printf("%.2fs\t", (System.nanoTime()- startTime)/1000000000.0); - System.out.printf("上传延迟:%.3fms 下载延迟:%.3fms\n", monitor.getOutDelay()/1000000.0,monitor.getInDelay()/1000000.0); Thread.sleep(1000); updateUsedTime(); } @@ -133,131 +150,39 @@ public class Kperf implements Runnable{ startTime=System.nanoTime(); - if(targetAddress!=null) { - System.out.println("测试2/5:下载带宽测试"); - test.setLimitspeed(0); - testPacket=new TESTNPacket(60000); - for (int i = 0; i < 20; i++) { - System.out.printf("%.2fs\t", (System.nanoTime()- startTime)/1000000000.0); - System.out.printf("下载带宽:%s/s\n", KLALBUtils.convertIBUint(monitor.getInSpeed())); + + System.out.println("测试2/3:带宽测试"); + test.setLimitspeed(1000L*1024L*1024L*1024L); + testPacket=new TESTNPacket(65535); + for (int i = 0; i < 60; i++) { Thread.sleep(1000); } - System.out.printf("下载带宽:%s/s",KLALBUtils.convertIBUint(monitor.getInSpeed())); + System.out.printf("上传带宽:%s/s\t",KLALBUtils.convertIBUint(monitor.getOutSpeed())); + System.out.printf("下载带宽:%s/s\n",KLALBUtils.convertIBUint(monitor.getInSpeed())); if(reports!=null) { reports.downloadSpeedFinish(monitor.getInSpeed()); - } - }else { - System.out.println("测试2/5:上传带宽测试"); - test.setLimitspeed(1000L*1024L*1024L*1024L); - testPacket=new TESTNPacket(60000); - for (int i = 0; i < 20; i++) { - System.out.printf("%.2fs\t", (System.nanoTime()- startTime)/1000000000.0); - System.out.printf("上传带宽:%s/s\n", KLALBUtils.convertIBUint(monitor.getOutSpeed())); - Thread.sleep(1000); - } - System.out.printf("上传带宽:%s/s\n",KLALBUtils.convertIBUint(monitor.getOutSpeed())); - if(reports!=null) { - reports.uploadSpeedFinish(monitor.getOutSpeed()); - } - } - System.out.println("等待时间"+wtimes+"s"); - Thread.sleep(wtimes*1000); - - - - startTime=System.nanoTime(); - if(targetAddress!=null) { - System.out.println("测试3/5:上传带宽测试"); - test.setLimitspeed(1000L*1024L*1024L*1024L); - testPacket=new TESTNPacket(60000); - for (int i = 0; i < 20; i++) { - System.out.printf("%.2fs\t", (System.nanoTime()- startTime)/1000000000.0); - System.out.printf("上传带宽:%s/s\n", KLALBUtils.convertIBUint(monitor.getOutSpeed())); - Thread.sleep(1000); - } - System.out.printf("上传带宽:%s/s\n",KLALBUtils.convertIBUint(monitor.getOutSpeed())); - if(reports!=null) { reports.uploadSpeedFinish(monitor.getOutSpeed()); } - }else { - System.out.println("测试3/5:下载带宽测试"); - test.setLimitspeed(0); - testPacket=new TESTNPacket(60000); - for (int i = 0; i < 20; i++) { - System.out.printf("%.2fs\t", (System.nanoTime()- startTime)/1000000000.0); - System.out.printf("下载带宽:%s/s\n", KLALBUtils.convertIBUint(monitor.getInSpeed())); - Thread.sleep(1000); - } - System.out.printf("下载带宽:%s/s\n",KLALBUtils.convertIBUint(monitor.getInSpeed())); - if(reports!=null) { - reports.downloadSpeedFinish(monitor.getInSpeed()); - } - } - + System.out.println("等待时间"+wtimes+"s"); Thread.sleep(wtimes*1000); + startTime=System.nanoTime(); - if(targetAddress!=null) { - System.out.println("测试4/5:下载包转发率测试"); - test.setLimitspeed(0); - testPacket=new TEST1Packet(); - for (int i = 0; i < 20; i++) { - System.out.printf("%.2fs\t", (System.nanoTime()- startTime)/1000000000.0); - System.out.printf("下载包转发率:%sPPS\n", KLALBUtils.convertUintDefalut(monitor.getInPPS())); - Thread.sleep(1000); - } - if(reports!=null) { - reports.downloadPPSFinish(monitor.getInPPS()); - } - }else { - System.out.println("测试4/5:上传包转发率测试"); - test.setLimitspeed(1000L*1024L*1024L*1024L); - testPacket=new TEST1Packet(); - for (int i = 0; i < 20; i++) { - System.out.printf("%.2fs\t", (System.nanoTime()- startTime)/1000000000.0); - System.out.printf("上传包转发率:%sPPS\n", KLALBUtils.convertUintDefalut(monitor.getOutPPS())); - Thread.sleep(1000); - } - if(reports!=null) { - reports.uploadPPSFinish(monitor.getOutPPS()); - } - } - System.out.println("等待时间"+wtimes+"s"); - Thread.sleep(wtimes*1000); - - startTime=System.nanoTime(); - if(targetAddress!=null) { - System.out.println("测试5/5:上传包转发率测试"); + System.out.println("测试3/3:包转发率测试"); test.setLimitspeed(1000L*1024L*1024L*1024L); testPacket=new TEST1Packet(); for (int i = 0; i < 20; i++) { - System.out.printf("%.2fs\t", (System.nanoTime()- startTime)/1000000000.0); - System.out.printf("上传包转发率:%sPPS\n", KLALBUtils.convertUintDefalut(monitor.getOutPPS())); Thread.sleep(1000); } - if(reports!=null) { reports.uploadPPSFinish(monitor.getOutPPS()); - } - }else { - System.out.println("测试5/5:下载包转发率测试"); - test.setLimitspeed(0); - testPacket=new TEST1Packet(); - for (int i = 0; i < 20; i++) { - System.out.printf("%.2fs\t", (System.nanoTime()- startTime)/1000000000.0); - System.out.printf("下载包转发率:%sPPS\n", KLALBUtils.convertUintDefalut(monitor.getInPPS())); - Thread.sleep(1000); - } - if(reports!=null) { - reports.downloadPPSFinish(monitor.getInPPS()); - } - + reports.downloadPPSFinish(monitor.getInPPS()); } System.out.println("等待时间"+wtimes+"s"); Thread.sleep(wtimes*1000); - + } catch (InterruptedException e) { //System.out.println("测速被中断!"); @@ -269,7 +194,7 @@ public class Kperf implements Runnable{ } }); try { - monitor.setState(MonitorData.UNSTABLE); + status.setState(LinkStatus.UNSTABLE); if(link==null) link=KLALBUtils.createKLALBPacketLink(bindAddress, targetAddress,false,20000); @@ -278,18 +203,12 @@ public class Kperf implements Runnable{ Thread t = ThreadTool.makeVDaemonThreadIfSupport("测速发送线程", () -> { - tlock = Thread.currentThread(); try { KLALBPacket kpp = null; while ((!link.isClosed()) && (!closed)) { - // TimeDebugger tdb=new TimeDebugger(); - // tdb.putTime("start"); - if(checkBandwidthReportTime()) { - writePacketToKPL(new BWINFPacket(monitor.getOutSpeed(), monitor.getInSpeed())); - } if (checkPingTimeSleep()) { - writePacketToKPL(new PINGPacket(System.nanoTime(),monitor.getOutSpeed(), monitor.getInSpeed())); + writePacketToKPL(new PINGPacket(System.nanoTime(),0, 0)); }else { KLALBPacket kpip = IsendDequeList.poll(); @@ -305,12 +224,10 @@ public class Kperf implements Runnable{ }else { - LockSupport.parkNanos(1000000); + tlock.parkNanos(1000000); } } } - - Thread.yield(); } } catch (IOException | UnresolvedAddressException e) { if (debug) @@ -334,19 +251,20 @@ public class Kperf implements Runnable{ } switch (kpp.getType()) { case KLALBPacket.PING: - sendIPacket(new PONGPacket(((PINGPacket) kpp).getTime() ,kpp.getRcvtime(), System.nanoTime(),monitor.getOutSpeed(), monitor.getInSpeed())); + sendIPacket(new PONGPacket(((PINGPacket) kpp).getTime() ,kpp.getRcvtime(), System.nanoTime(),0, 0)); break; case KLALBPacket.PONG: if (fst) { // coll.resetCoolingTime(); - monitor.setState(MonitorData.UP); + status.setState(LinkStatus.UP); connected=true; if(targetAddress!=null) { System.out.println("连接地址"+targetAddress+"成功!"); }else { System.out.println("接受地址"+link.toString()+"连接成功!"); } + tcc.start(); tc.start(); fst = false; } @@ -383,41 +301,24 @@ public class Kperf implements Runnable{ adjnc.getLock().unlock(); } - if (DsndDelayFactor >= 0 && DrcvDelayFactor >= 0) { - //pingInterval = monitor.getLatencyAvg()+2000000L; - - //double load = 1 - monitor.getOutDelayMin() / (double) monitor.getOutDelay(); - loadPercent =Math.max( 1.2,0.4); - } - LockSupport.unpark(tlock); + tlock.unpark(); updateUsedTime() ; if(reports!=null) reports.updateDial(monitor); break; - case KLALBPacket.BWINF: - BWINFPacket bwi = (BWINFPacket) kpp; - if (bwi.getDownSpeed() >= congressSpeed) { - congressSpeed = bwi.getDownSpeed(); - } else { - congressSpeed = (congressSpeed * 999 + bwi.getDownSpeed()) / 1000; - } - congress.setLimitspeed(Math.max(MIN_SPEED,(long) (congressSpeed * loadPercent)) ); - // System.out.println(congressSpeed); - break; case KLALBPacket.TESTN: break; } - Thread.yield(); } } catch (IOException e) { - if(monitor.getState()==MonitorData.UNSTABLE) + if(status.getState()==LinkStatus.UNSTABLE) System.out.println("连接目标地址失败!"); if(debug) e.printStackTrace(); }finally { - monitor.setState(MonitorData.DOWN); + status.setState(LinkStatus.DOWN); if(link!=null) { try { link.close(); @@ -426,6 +327,7 @@ public class Kperf implements Runnable{ } } tc.interrupt(); + tcc.interrupt(); } } private void updateUsedTime() { @@ -485,7 +387,7 @@ public class Kperf implements Runnable{ public void close() { closed = true; - monitor.setState(MonitorData.DOWN); + status.setState(LinkStatus.DOWN); try { if (link != null) link.close(); @@ -503,7 +405,7 @@ public class Kperf implements Runnable{ private void sendIPacket(KLALBPacket blk) { IsendDequeList.add(blk); - LockSupport.unpark(tlock); + tlock.unpark(); } private KLALBPacket readPacketFromKPL() throws IOException { @@ -513,20 +415,19 @@ public class Kperf implements Runnable{ System.out.println("RX:" + packet); } if (packet != null) { - packet.putTimePassport("received"); long length=packet.getTotalLength(); - monitor.getDownloadBandwidth().recordPacket(KLALBUtils.createGlobalUUID(), (int)length); + //monitor.getDownloadBandwidth().recordPacket(KLALBUtils.createGlobalUUID(), (int)length); + monitor.recordDownloadPacket((int)length); } return packet; } private void writePacketToKPL(KLALBPacket packet) throws IOException { long length=packet.getTotalLength(); - monitor.getUploadBandwidth().recordPacket(KLALBUtils.createGlobalUUID(), (int)length); + //monitor.getUploadBandwidth().recordPacket(KLALBUtils.createGlobalUUID(), (int)length); + monitor.recordUploadPacket((int) length); link.writeKLALBPacket(packet); link.flush(); - packet.putTimePassport("sended"); - packet.printPassport(); if (showpacket) { System.err.println("TX:" + packet); @@ -535,6 +436,8 @@ public class Kperf implements Runnable{ public void startPerfing() { - ThreadTool.makeVThreadIfSupport("测速接收线程" ,this).start(); + monitorUpdater=new MonitorUpdater(); + ThreadTool.makeVDaemonThread("线路性能采样线程", monitorUpdater).start(); + ThreadTool.makeVDaemonThreadIfSupport("测速接收线程" ,this).start(); } } diff --git a/src/org/kne/cloud/network/perf/NodeBenchmark.java b/src/org/kne/cloud/network/perf/NodeBenchmark.java index 996e18e..aaf3cab 100644 --- a/src/org/kne/cloud/network/perf/NodeBenchmark.java +++ b/src/org/kne/cloud/network/perf/NodeBenchmark.java @@ -4,16 +4,14 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.nio.channels.ServerSocketChannel; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.Random; import org.kne.cloud.network.MultipurposeSocketAddress; import org.kne.cloud.network.SocketChannelListener; import org.kne.cloud.network.ThreadTool; import org.kne.cloud.network.klalb.KLALBController; -import org.kne.cloud.network.klalb.KLALBRemoteLine; +import org.kne.cloud.network.klalb.KLALBRemoteLink; import org.kne.cloud.network.klalb.StreamChannelKLALBPacketLink; public class NodeBenchmark implements Runnable{ @@ -49,7 +47,7 @@ for (int i = 0; i < nodes; i++) { SocketChannelListener scl=new SocketChannelListener(ServerSocketChannel.open().bind(new InetSocketAddress("127.0.0.8",0))); scl.setCon((c)->{ try { - kct.addRemoteLine(new KLALBRemoteLine(klalbController,new StreamChannelKLALBPacketLink(c))); + kct.addRemoteLine(new KLALBRemoteLink(klalbController,new StreamChannelKLALBPacketLink(c))); } catch (IOException e) { e.printStackTrace(); } diff --git a/src/org/kne/cloud/network/srv6/IPv6PacketConsumer.java b/src/org/kne/cloud/network/srv6/IPv6PacketConsumer.java new file mode 100644 index 0000000..86e815f --- /dev/null +++ b/src/org/kne/cloud/network/srv6/IPv6PacketConsumer.java @@ -0,0 +1,9 @@ +package org.kne.cloud.network.srv6; + +import java.io.IOException; + +import org.kne.cloud.network.ipv6.IPv6Packet; + +public interface IPv6PacketConsumer { + public void accept(IPv6Packet packx)throws IOException; +} diff --git a/src/org/kne/cloud/network/srv6/IpV6RoutingSRHData.java b/src/org/kne/cloud/network/srv6/IpV6RoutingSRHData.java deleted file mode 100644 index d195459..0000000 --- a/src/org/kne/cloud/network/srv6/IpV6RoutingSRHData.java +++ /dev/null @@ -1,209 +0,0 @@ -package org.kne.cloud.network.srv6; - -import static org.pcap4j.util.ByteArrays.*; - -import java.net.Inet6Address; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.pcap4j.packet.IllegalRawDataException; -import org.pcap4j.packet.IpV6ExtRoutingPacket.IpV6RoutingData; -import org.pcap4j.util.ByteArrays; - - -public final class IpV6RoutingSRHData implements IpV6RoutingData { - - /** */ - private static final long serialVersionUID = -7972526977248222954L; - - private final int lastEntry; - private final int flags; - private final int tag; - private final List addresses; - private final List tlvs; - - /** - * A static factory method. This method validates the arguments by {@link - * ByteArrays#validateBounds(byte[], int, int)}, which may throw exceptions undocumented here. - * - * @param rawData rawData - * @param offset offset - * @param length length - * @return a new IpV6RoutingSourceRouteData object. - * @throws IllegalRawDataException if parsing the raw data fails. - */ - public static IpV6RoutingSRHData newInstance(byte[] rawData, int offset, int length) - throws IllegalRawDataException { - return new IpV6RoutingSRHData(rawData, offset, length); - } - - private IpV6RoutingSRHData(byte[] rawData, int offset, int length) - throws IllegalRawDataException { - - this.lastEntry = rawData[ offset]&0xff; - this.flags=rawData[offset+1]&0xff; - this.tag=ByteArrays.getShort(rawData, offset+2); - this.addresses = new ArrayList(); - this.tlvs=new ArrayList<>(); - - int endv=INT_SIZE_IN_BYTES+(lastEntry+1)*INET6_ADDRESS_SIZE_IN_BYTES; - for (int i = INT_SIZE_IN_BYTES; i < endv; i += INET6_ADDRESS_SIZE_IN_BYTES) { - addresses.add(ByteArrays.getInet6Address(rawData, i + offset)); - } - for(int itlv=endv;itlv getTlvs() { - return tlvs; -} - -public int getLastEntry() { - return lastEntry; -} - -public int getFlags() { - return flags; -} - -public int getTag() { - return tag; -} - -public List getAddresses() { - return addresses; -} - -public IpV6RoutingSRHData(List addresses) { - this(0,0,addresses,new ArrayList<>()); -} -public IpV6RoutingSRHData(List addresses,Listtlvs) { - this(0,0,addresses,tlvs); -} -/** - * @param reserved reserved - * @param addresses addresses - */ - public IpV6RoutingSRHData(int flags,int tag, List addresses,Listtlvs) { - if (addresses == null) { - throw new NullPointerException("addresses must not be null"); - } - this.lastEntry = addresses.size()-1; - this.flags=flags; - this.tag=tag; - this.addresses = new ArrayList(addresses); - this.tlvs=tlvs; - } - - - -@Override - public int length() { - int tlvsize=0; - for (int i = 0; i < tlvs.size(); i++) { - tlvsize+=tlvs.get(i).getTotalLength(); - } - return INT_SIZE_IN_BYTES+addresses.size() * INET6_ADDRESS_SIZE_IN_BYTES + tlvsize; - } - - @Override - public byte[] getRawData() { - byte[] rawData = new byte[length()]; - rawData[0]=(byte) lastEntry; - rawData[1]=(byte) flags; - rawData[2]=(byte) (tag>>8); - rawData[3]=(byte) tag; - ; - int i = INT_SIZE_IN_BYTES; - for ( Iterator iter = addresses.iterator(); iter.hasNext(); i += INET6_ADDRESS_SIZE_IN_BYTES) { - System.arraycopy( - ByteArrays.toByteArray(iter.next()), 0, rawData, i, INET6_ADDRESS_SIZE_IN_BYTES); - } - for (int j = 0; j < tlvs.size(); j++) { - SRv6TLV srt=tlvs.get(j); - switch(srt.getType()) { - case SRv6TLV.PAD1: - rawData[i++]=(byte) srt.getType(); - break; - case SRv6TLV.PADN: - rawData[i++]=(byte) srt.getType(); - int plth=srt.getLength(); - rawData[i++]=(byte) plth; - i+=plth; - break; - default: - rawData[i++]=(byte) srt.getType(); - int dlth=srt.getLength(); - rawData[i++]=(byte) dlth; - System.arraycopy(srt.getValue(), 0, rawData, i, dlth); - i+=dlth; - break; - } - } - return rawData; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("[lastentry: ").append(lastEntry).append("][flags: ").append(flags).append("][tag: ").append(tag).append("] [addresses:"); - for (Inet6Address addr : addresses) { - sb.append(" ").append(addr); - } - sb.append("]"); - return sb.toString(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } - if (!this.getClass().isInstance(obj)) { - return false; - } - - IpV6RoutingSRHData other = (IpV6RoutingSRHData) obj; - return lastEntry == other.lastEntry&&flags==other.flags&&tag==other.tag && addresses.equals(other.addresses); - } - - @Override - public int hashCode() { - int result = 17; - result = 31 * result + lastEntry; - result = 31 * result + flags; - result = 31 * result + tag; - result = 31 * result + addresses.hashCode(); - return result; - } -} diff --git a/src/org/kne/cloud/network/srv6/KLALBRoutingProtocol.java b/src/org/kne/cloud/network/srv6/KLALBRoutingProtocol.java index f5f032a..db71a24 100644 --- a/src/org/kne/cloud/network/srv6/KLALBRoutingProtocol.java +++ b/src/org/kne/cloud/network/srv6/KLALBRoutingProtocol.java @@ -2,22 +2,15 @@ package org.kne.cloud.network.srv6; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; -import java.io.DataInputStream; -import java.io.DataOutputStream; import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; import java.net.BindException; import java.net.DatagramPacket; -import java.net.DatagramSocket; import java.net.Inet6Address; -import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.SocketAddress; import java.net.SocketException; import java.nio.channels.Channels; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -30,11 +23,10 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.locks.ReentrantLock; import java.util.function.BiConsumer; -import java.util.function.Consumer; -import org.kne.cloud.network.ByteBufferAllocator; import org.kne.cloud.network.ipv6.IPv6Address; import org.kne.cloud.network.ipv6.IPv6NetworkLink; +import org.kne.cloud.network.ipv6.IPv6Packet.IPv6SegmentRoutingHeader; import org.kne.cloud.network.ipv6.IPv6AddressGroup; import org.kne.cloud.network.ipv6.Neighbor; import org.kne.cloud.network.klalb.KLALBVirtualRawSocket; @@ -43,10 +35,7 @@ import org.kne.cloud.network.monitor.MonitorData; import org.kne.cloud.network.monitor.SpeedAndTrafficAndDelayMonitorDataImpl; import org.kne.cloud.network.monitor.SpeedAndTrafficMonitorData; import org.kne.cloud.network.monitor.SpeedAndTrafficMonitorDataImpl; -import org.kne.cloud.network.scanner.InetAddressRange; -import org.kne.cloud.network.te.BandwidthDistributer; - -import com.google.gson.internal.Pair; +import org.kne.membandboost.MembandBoost; public class KLALBRoutingProtocol extends Thread{ @@ -218,7 +207,7 @@ public class KLALBRoutingProtocol extends Thread{ while(true) { try { - byte[]ca=ByteBufferAllocator.allocateUninitializedArray(65535); + byte[]ca=MembandBoost.allocateUninitializedArray(65535); DatagramPacket dgp=new DatagramPacket(ca, ca.length); ds.receive(dgp); //System.out.println(Arrays.toString( Arrays.copyOf( dgp.getData(),dgp.getLength()))); @@ -609,7 +598,7 @@ public class KLALBRoutingProtocol extends Thread{ public Map> getPaths() { return paths; } - public List createSegmentList(IPv6Address dest) { + public IPv6SegmentRoutingHeader createSegmentList(IPv6Address dest) { NetmapDirections directionsx=directions; if(directionsx==null) { return null; @@ -618,14 +607,16 @@ public class KLALBRoutingProtocol extends Thread{ if(dn==null) { return null; } - Listsegments=new ArrayList<>(); + IPv6SegmentRoutingHeader segs=new IPv6SegmentRoutingHeader(); + Listsegments=segs.getAddresses(); while(true) { long idx=directionsx.getDirection()[(int) dn.longValue()]; if(idx==-1) { return null; } if(idx==dn) { - return segments; + segs. resetSegmentPos(); + return segs; } segments.add(directionsx.getDirection_rias().get(dn.intValue())); dn=idx; diff --git a/src/org/kne/cloud/network/srv6/KLALBRoutingProtocolAPIClient.java b/src/org/kne/cloud/network/srv6/KLALBRoutingProtocolAPIClient.java index f0f1e64..4b0df24 100644 --- a/src/org/kne/cloud/network/srv6/KLALBRoutingProtocolAPIClient.java +++ b/src/org/kne/cloud/network/srv6/KLALBRoutingProtocolAPIClient.java @@ -11,16 +11,14 @@ import java.util.function.BiConsumer; import java.util.function.Consumer; import org.kne.cloud.network.MultipurposeSocketAddress; -import org.kne.cloud.network.ThreadTool; -import org.kne.cloud.network.congestion.DCTCPCongestionAlgorithm; -import org.kne.cloud.network.congestion.EmptyCongestionAlgorithm; +import org.kne.cloud.network.congestion.NOCongestionAlgorithm; import org.kne.cloud.network.congestion.SendPacketSlidingWindow; import org.kne.opencl64.Releaser; public class KLALBRoutingProtocolAPIClient { private KLALBRoutingProtocol routingProtocol; private SendPacketSlidingWindow window = new SendPacketSlidingWindow( - new EmptyCongestionAlgorithm(3000000000L), 1024 * 1024); + new NOCongestionAlgorithm(3000000000L), 1024 * 1024); private static final Cleaner clr = Cleaner.create(); diff --git a/src/org/kne/cloud/network/srv6/PacketConsumer.java b/src/org/kne/cloud/network/srv6/PacketConsumer.java deleted file mode 100644 index 12055c4..0000000 --- a/src/org/kne/cloud/network/srv6/PacketConsumer.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.kne.cloud.network.srv6; - -import java.io.IOException; - -import org.kne.cloud.network.ipv6.IPv6Packet; -import org.pcap4j.packet.IpV6Packet; - -public interface PacketConsumer { - public boolean accept(IPv6Packet packx)throws IOException; -} diff --git a/src/org/kne/cloud/network/srv6/PacketReorder.java b/src/org/kne/cloud/network/srv6/PacketReorder.java index 153d68b..fa89055 100644 --- a/src/org/kne/cloud/network/srv6/PacketReorder.java +++ b/src/org/kne/cloud/network/srv6/PacketReorder.java @@ -5,11 +5,8 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.locks.ReentrantLock; -import java.util.function.Consumer; import org.kne.cloud.network.ipv6.IPv6Packet; -import org.pcap4j.packet.IpV6Packet; -import org.pcap4j.packet.TcpPacket; public class PacketReorder { public PacketReorder(long sequenceNumber) { @@ -48,7 +45,7 @@ public class PacketReorder { } } - public void sortPackets(IPv6Packet pack,long seq, PacketConsumer packconsumer) throws IOException { + public void sortPackets(IPv6Packet pack,long seq, IPv6PacketConsumer packconsumer) throws IOException { rlock.lock(); try { //System.out.println("包序号:"+seq); diff --git a/src/org/kne/cloud/network/srv6/SRv6PacketReorder.java b/src/org/kne/cloud/network/srv6/SRv6PacketReorder.java index f2c1055..5d26d93 100644 --- a/src/org/kne/cloud/network/srv6/SRv6PacketReorder.java +++ b/src/org/kne/cloud/network/srv6/SRv6PacketReorder.java @@ -12,9 +12,9 @@ import org.kne.cloud.network.ipv6.IPv6Packet; public class SRv6PacketReorder { - private PacketConsumer packetConsumer; + private IPv6PacketConsumer packetConsumer; - public SRv6PacketReorder(PacketConsumer packetConsumer) { + public SRv6PacketReorder(IPv6PacketConsumer packetConsumer) { this.packetConsumer=packetConsumer; } diff --git a/src/org/kne/cloud/network/srv6/SRv6Router.java b/src/org/kne/cloud/network/srv6/SRv6Router.java index 43f070c..08daeec 100644 --- a/src/org/kne/cloud/network/srv6/SRv6Router.java +++ b/src/org/kne/cloud/network/srv6/SRv6Router.java @@ -11,32 +11,22 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Map.Entry; -import java.util.Random; import java.util.Set; +import java.util.Timer; +import java.util.TimerTask; import java.util.UUID; -import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArraySet; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadLocalRandom; -import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Supplier; -import javax.swing.plaf.synth.SynthOptionPaneUI; - +import org.jctools.counters.FixedSizeStripedLongCounter; import org.kne.cloud.clock.HighAccuracyClock; -import org.kne.cloud.network.ThreadTool; -import org.kne.cloud.network.congestion.ArrayListMessageBatcher; import org.kne.cloud.network.congestion.MessageBatcher; import org.kne.cloud.network.ipv6.ControlledIPv6NetworkLink; -import org.kne.cloud.network.ipv6.FlowSession; -import org.kne.cloud.network.ipv6.ICMPv6Packet; import org.kne.cloud.network.ipv6.ICMPv6PostcardPacket; import org.kne.cloud.network.ipv6.ICMPv6TimeExceededPacket; import org.kne.cloud.network.ipv6.IPv6Address; @@ -46,24 +36,20 @@ import org.kne.cloud.network.ipv6.IPv6NetworkLink; import org.kne.cloud.network.ipv6.IPv6Packet; import org.kne.cloud.network.ipv6.IPv6Packet.IPv6HopByHopHeader; import org.kne.cloud.network.ipv6.IPv6Packet.IPv6SegmentRoutingHeader; -import org.kne.cloud.network.ipv6.IPv6TUNLoopbackNetworkLink; import org.kne.cloud.network.ipv6.IPv6AddressGroup; import org.kne.cloud.network.ipv6.KLALBOAMHopByHopTLV; import org.kne.cloud.network.ipv6.KLALBPassportHopByHopTLV; import org.kne.cloud.network.ipv6.LoopbackIPv6NetworkLink; import org.kne.cloud.network.ipv6.Neighbor; -import org.kne.cloud.network.ipv6.PacketID; -import org.kne.cloud.network.ipv6.PacketIDGenerator; import org.kne.cloud.network.ipv6.PadNHopByHopTLV; import org.kne.cloud.network.ipv6.PostcardEntry; import org.kne.cloud.network.ipv6.RouteItem; -import org.kne.cloud.network.klalb.KLALBRemoteLine; +import org.kne.cloud.network.klalb.KLALBRemoteLink; import org.kne.cloud.network.klalb.KLALBUtils; -import org.kne.concurrent.HighPerformanceExecutor; +import org.kne.concurrent.HighPerformanceExecutor2; import org.kne.concurrent.TimeoutConcurrentHashMap; import org.pcap4j.packet.IllegalRawDataException; -import com.github.f4b6a3.uuid.UuidCreator; import com.google.gson.internal.Pair; // SRv6路由器主类,实现IPv6段路由功能 @@ -132,7 +118,6 @@ public class SRv6Router { public void accept(IPv6Packet t) { // HighPerformanceExecutor.defaultExecutor.execute(() -> { routePacket(null, t, true); // 执行重路由 - t.putTimePassport("rerouted"); // 标记重路由时间点 // }); } }; @@ -268,7 +253,7 @@ public class SRv6Router { // 预处理和排序路由项 for (Iterator iterator = routeTabel0x.iterator(); iterator.hasNext();) { RouteItem routeItem = (RouteItem) iterator.next(); - routeItem.preSort(); // 预排序 + routeItem.updateCost(); // 预排序 } Collections.sort(routeTabel0x); // 排序路由表 @@ -319,15 +304,11 @@ public class SRv6Router { // 插入SRH并路由数据包 public void insertSRHandRoutePacket(IPv6NetworkLink link, IPv6Packet ipp) { insertHopByHopHeader(ipp); - ipp.putTimePassport("Hop inserted"); insertSRHeader(ipp); // 插入段路由头 - ipp.putTimePassport("SRH inserted"); // 标记SRH插入时间点 routePacket(link, ipp); // 路由数据包 - ipp.putTimePassport("routed"); // 标记路由时间点 } - private PacketIDGenerator defaultGen = new PacketIDGenerator(); private static final PadNHopByHopTLV pad4 = new PadNHopByHopTLV(4); // 插入逐跳路由头 @@ -353,16 +334,15 @@ public class SRv6Router { } // 如果KLALB路由协议可用,创建段列表 if (klalbRouteProtol != null) { - List segs = klalbRouteProtol.createSegmentList(ipp.getDestinationAddress()); + IPv6SegmentRoutingHeader segs = klalbRouteProtol.createSegmentList(ipp.getDestinationAddress()); // System.out.println(segs); - if (segs != null && (!segs.isEmpty())) { + if (segs != null && (!segs.getAddresses().isEmpty())) { // 创建SRH头 - IPv6SegmentRoutingHeader irh = new IPv6SegmentRoutingHeader(segs); - ipp.getHeaders().add(irh); // 添加SRH头 - ipp.setRoutingHeader(irh); - ipp.setDestinationAddress(segs.get(segs.size() - 1)); // 更新目的地址为最后一个段 + ipp.getHeaders().add(segs); // 添加SRH头 + ipp.setRoutingHeader(segs); + ipp.setDestinationAddress(segs.getAddresses().get(segs.getAddresses().size() - 1)); // 更新目的地址为最后一个段 return true; } @@ -401,8 +381,9 @@ public class SRv6Router { int hop = iPv6Packet.getHopLimit(); // 获取跳数限制 if (hop > 0) { // 检查TTL值,只有大于0才会被转发 // 搜索匹配的路由表项 - List searchResult = searchTable(iPv6Packet, reroute, dbg); - if (!searchResult.isEmpty()) { + IPv6Address dest=iPv6Packet.getDestinationAddress(); + List searchResult = getTabelByAddress(dest); + if (searchResult!=null&&(!searchResult.isEmpty())) { // 匹配到路由表,执行负载均衡路由 routingLoadBalance(linkfrom, iPv6Packet, reroute, dbg, searchResult); return; @@ -421,15 +402,15 @@ public class SRv6Router { segmentsLeft--; } // 创建修复段列表 - List repairSegments = klalbRouteProtol + IPv6SegmentRoutingHeader repairSegments = klalbRouteProtol .createSegmentList(srh.getAddresses().get(segmentsLeft)); - if (repairSegments == null || repairSegments.isEmpty()) { + if (repairSegments == null ||repairSegments.getAddresses().isEmpty()) { System.out.println("FRR保护失败"); return; } - repairSegments.remove(0); // 移除第一个段(当前节点) - srh.getAddresses().addAll(segmentsLeft + 1, repairSegments); // 添加修复段 - segmentsLeft += repairSegments.size(); // 更新剩余段数 + repairSegments.getAddresses().remove(0); // 移除第一个段(当前节点) + srh.getAddresses().addAll(segmentsLeft + 1, repairSegments.getAddresses()); // 添加修复段 + segmentsLeft += repairSegments.getAddresses().size(); // 更新剩余段数 srh.setSegmentsLeft(segmentsLeft); iPv6Packet.setDestinationAddress(srh.getAddresses().get(segmentsLeft)); // 更新目的地址 } else { @@ -437,8 +418,8 @@ public class SRv6Router { } System.out.println("FRR修复SRH:" + srh); // 重新搜索路由表 - List searchResult2 = searchTable(iPv6Packet, reroute, dbg); - if (!searchResult2.isEmpty()) { + List searchResult2 = getTabelByAddress(dest); + if (searchResult2!=null&&(!searchResult2.isEmpty())) { routingLoadBalance(linkfrom, iPv6Packet, reroute, dbg, searchResult2); return; } @@ -457,7 +438,7 @@ public class SRv6Router { } // 搜索路由表找到匹配的路由项 - private List searchTable(IPv6Packet iPv6Packet, boolean reroute, StringBuilder dbg) + /*private List searchTable(IPv6Packet iPv6Packet, StringBuilder dbg) throws IllegalRawDataException, IOException { if (debug) { dbg.append("----------------------------------------\n"); @@ -476,17 +457,7 @@ public class SRv6Router { // 遍历路由表,筛选可用路由 for (RouteItem tri : table) { - if (!tri.getDestlink().isUp()) { // 检查链路状态 - if (debug) { - dbg.append(tri + "\n"); - dbg.append("linkdown.\n"); - } - continue; // 跳过断开连接的链路 - } - if (debug) { - dbg.append(tri + "\n"); - dbg.append("matched.\n"); - } + // 检查ECMP(等价多路径)条件 if (prevr != null) { if (!tri.ECMPequals(prevr)) { @@ -497,7 +468,7 @@ public class SRv6Router { prevr = tri; } return routes; - } + }*/ private List getTabelByAddress(IPv6Address rk6) { List table = null; @@ -519,35 +490,25 @@ public class SRv6Router { private boolean routingLoadBalance(IPv6NetworkLink linkfrom, IPv6Packet iPv6Packet, boolean reroute, StringBuilder dbg, List routes) throws IllegalRawDataException, IOException { - double cscale = 1.0; // 拥塞检测比例因子 - if (iPv6Packet.getPayload().getProtocolNumber() == 6) { // TCP协议 - cscale = 15.0; // TCP使用更高的拥塞检测阈值 + if(routes==null||routes.isEmpty()) { + //System.out.println("Route not found:" + iPv6Packet); + return false; } - - if (iPv6Packet.getPreviousLink() != null) { - List prev = new ArrayList<>(); - for (Iterator iterator = routes.iterator(); iterator.hasNext();) { - RouteItem routeItem = (RouteItem) iterator.next(); - if (routeItem.getDestlink().equals(iPv6Packet.getPreviousLink())) { - prev.add(routeItem); - iterator.remove(); - } - } - routes.addAll(prev); - } - for (double i = 1; i < 10; i += 0.1) { - if (loadBalance(linkfrom, iPv6Packet, reroute, dbg, routes, cscale * i)) { + + for (double i = 1; i < 100; i += 0.1) { + if (loadBalance(linkfrom, iPv6Packet, reroute, dbg, routes, i)) { return true; } - if (iPv6Packet.isEnableECN()) { // 启用ECN iPv6Packet.markCE(); // 标记拥塞 if (debug) { dbg.append("ECN enabled.\n"); } - } + } - System.out.println("Send failed:" + iPv6Packet); + //System.out.println("Send failed:" + iPv6Packet); + LosscountAdder.inc(1); + if (debug) { dbg.append("miss.\n"); // 路由失败 } @@ -568,7 +529,7 @@ public class SRv6Router { continue; // 跳过断开链路 } if (link instanceof ControlledIPv6NetworkLink) { - if (((ControlledIPv6NetworkLink) link).isCongress(iPv6Packet, cscale)) { // 检查拥塞 + if (((ControlledIPv6NetworkLink) link).isCongestion(iPv6Packet, cscale)) { // 检查拥塞 if (debug) { dbg.append(tri + "\n"); dbg.append("congress.\n"); @@ -623,12 +584,6 @@ public class SRv6Router { if (iPv6Packet.getPayload() instanceof ICMPv6PostcardPacket && ri.getDestlink().isLoopBack()) { onPostcardReceive(iPv6Packet); } else { - IPv6NetworkLink oldLink = iPv6Packet.getPreviousLink(); - /* - * if(oldLink!=null) { - * System.out.println("重传:"+!oldLink.equals(ri.getDestlink())); } - */ - iPv6Packet.setPreviousLink(ri.getDestlink()); ri.getDestlink().sendPacket(iPv6Packet, ri.getNexthop()); } } @@ -642,8 +597,8 @@ public class SRv6Router { if (ris != null) { for (RouteItem ri : ris) { if (ri.getNexthop().equals(sid)) { - if (ri.getDestlink() instanceof KLALBRemoteLine) { - KLALBRemoteLine rem = (KLALBRemoteLine) ri.getDestlink(); + if (ri.getDestlink() instanceof KLALBRemoteLink) { + KLALBRemoteLink rem = (KLALBRemoteLink) ri.getDestlink(); rem.onPostcardReceive(postcard); } } @@ -683,9 +638,9 @@ public class SRv6Router { int sl = srhh.getSegmentsLeft(); // IPv6Address prevSID // =sl+1>=srhh.getAddresses().size()?iPv6Packet.getSourceAddress():srhh.getAddresses().get(sl+1); - if (linkfrom instanceof KLALBRemoteLine) { + if (linkfrom instanceof KLALBRemoteLink) { processKLALBOAM(iPv6Packet, linkfrom.getAddressGroups().get(0).getAddress(), - ((KLALBRemoteLine) linkfrom).getRemoteVaddr().getAddress(), iPv6HopByHopHeader); + ((KLALBRemoteLink) linkfrom).getRemoteVaddr().getAddress(), iPv6HopByHopHeader); } } // System.out.println(iPv6HopByHopHeader); @@ -698,9 +653,9 @@ public class SRv6Router { if (iPv6HopByHopHeader != null) { // IPv6Address prevSID // =oldSL+1>=srhh.getAddresses().size()?iPv6Packet.getSourceAddress():srhh.getAddresses().get(oldSL+1); - if (linkfrom instanceof KLALBRemoteLine) { + if (linkfrom instanceof KLALBRemoteLink) { processKLALBOAM(iPv6Packet, linkfrom.getAddressGroups().get(0).getAddress(), - ((KLALBRemoteLine) linkfrom).getRemoteVaddr().getAddress(), iPv6HopByHopHeader); + ((KLALBRemoteLink) linkfrom).getRemoteVaddr().getAddress(), iPv6HopByHopHeader); } } // 正常SRv6处理:移动到下一个段 @@ -762,8 +717,9 @@ public class SRv6Router { private void putPostcard(IPv6Address src, IPv6Address dst, IPv6Address srcSID, UUID uuid, long timeStamp, long delta, int packetLength) { + PostcardEntry pn = new PostcardEntry(srcSID, uuid, timeStamp, (int) (delta >> 4), packetLength); - Pair addressPair = new Pair(src, dst); + /*Pair addressPair = new Pair(src, dst); MessageBatcher batch = postcardBatch.computeIfAbsent(addressPair, (k) -> { MessageBatcher mb = new ArrayListMessageBatcher(30, 2000000L); mb.setConsumer((list) -> { @@ -786,13 +742,30 @@ public class SRv6Router { return mb; }); postcardBatch.refresh(addressPair); - batch.putMessage(pn); + batch.putMessage(pn);*/ + enqueuePacketSendTask(() -> { + IPv6Packet icmpv = new IPv6Packet(); + icmpv.setSourceAddress(src); + icmpv.setDestinationAddress(dst); + icmpv.setTrafficClass(0); + icmpv.setVersion(6); + icmpv.setFlowLabel(0); + icmpv.setHopLimit(255); // ICMP消息TTL设为最大值 + ICMPv6PostcardPacket ipl = new ICMPv6PostcardPacket(); + ipl.getPostcards().addAll(List.of(pn)); + ipl.setParent(icmpv); + ipl.updateChecksum(); + icmpv.setPayload(ipl); + return icmpv; + }); } - private static HighPerformanceExecutor defaultExecutor = new HighPerformanceExecutor( - Runtime.getRuntime().availableProcessors() + 1, Thread.ofPlatform().name("SRv6 Routing").factory());//Runtime.getRuntime().availableProcessors() + 1 + private static HighPerformanceExecutor2 defaultExecutor = new HighPerformanceExecutor2( + (int) (Runtime.getRuntime().availableProcessors()), Thread.ofVirtual().name("SRv6 Routing").factory()); + + //private static HighPerformanceExecutor2 defaultExecutor = new HighPerformanceExecutor2(4, Thread.ofVirtual().name("SRv6 Routing").factory()); - public static HighPerformanceExecutor getDefaultExecutor() { + public static HighPerformanceExecutor2 getDefaultExecutor() { return defaultExecutor; } @@ -802,38 +775,52 @@ public class SRv6Router { // packetQueue.add(object); defaultExecutor.executeWithCongestionReport((state) -> { try { + long start=System.nanoTime(); IPv6Packet packet=sendTask.get(); if(state) { - if(packet.isEnableECN()) { packet.markCE(); - //System.out.println("mce"); - } } insertSRHandRoutePacket(null, packet); // 插入SRH并路由 + long time=System.nanoTime()-start; + backplaneCount(time,state); } catch (Exception e) { e.printStackTrace(); } },20); } + public void runPacketSendTask(Supplier sendTask) { + try { + boolean state=false; + long start=System.nanoTime(); + IPv6Packet packet=sendTask.get(); + if(state) { + packet.markCE(); + } + insertSRHandRoutePacket(null, packet); // 插入SRH并路由 + long time=System.nanoTime()-start; + backplaneCount(time,state); + } catch (Exception e) { + e.printStackTrace(); + } + } public void onReceive(IPv6NetworkLink link,IPv6Packet t){ if (unduplicate(t)) { insertSRHandRoutePacket(link, t); // 插入SRH并路由数据包 - t.putTimePassport("routed"); // 标记路由时间点 } } public void enqueuePacketReceiveTask(IPv6NetworkLink link, Supplier pack) { defaultExecutor.executeWithCongestionReport((state) -> { try { + long start=System.nanoTime(); IPv6Packet packet = pack.get(); if(state) { - if(packet.isEnableECN()) { packet.markCE(); - //System.out.println("mce"); - } } onReceive(link ,packet); + long time=System.nanoTime()-start; + backplaneCount(time,state); } catch (Exception e) { e.printStackTrace(); } @@ -845,6 +832,67 @@ public class SRv6Router { return packet; }); } + + //private BandwidthSampler sampler=new BandwidthSampler(); + private FixedSizeStripedLongCounter timeAdder=KLALBUtils.createCounter(); + private FixedSizeStripedLongCounter countAdder=KLALBUtils.createCounter(); + private FixedSizeStripedLongCounter ECNcountAdder=KLALBUtils.createCounter(); + private FixedSizeStripedLongCounter LosscountAdder=KLALBUtils.createCounter(); + private void backplaneCount(long time,boolean ECN) { + timeAdder.inc(time); + countAdder.inc(1); + if(ECN) { + ECNcountAdder.inc(1); + } + } + private volatile long backplaneTime=0; + private volatile double ECNRate=0; + private volatile double LossRate=0; + private volatile long backplanePPS=0; + private volatile long backplanePPSMax=0; + private volatile long prevTime=System.nanoTime(); + + private Timer backplaneTimer=new Timer(); + private void updateBackplaneCounter() { + long curr=System.nanoTime(); + long totalTime=timeAdder.getAndReset(); + long totalCount=countAdder.getAndReset(); + long ECNCount=ECNcountAdder.getAndReset(); + long LossCount=LosscountAdder.getAndReset(); + if(totalCount!=0) { + backplaneTime=totalTime/totalCount; + ECNRate=((double)ECNCount)/totalCount; + LossRate=((double)LossCount)/totalCount; + } + backplanePPS=totalCount*1000000000L/(curr-prevTime); + if(backplanePPSMax neis = nl.getNeighborsInfo(); for (Iterator iteratorx = neis.iterator(); iteratorx.hasNext();) { Neighbor addresses = (Neighbor) iteratorx.next(); @@ -903,7 +958,7 @@ public class SRv6Router { return result; } - // 获取所有定位器 + // 获取所有SID public Set getLocators() { Set result = new HashSet<>(); List links = getLinkTabel(); @@ -915,10 +970,14 @@ public class SRv6Router { for (Iterator iteratorx = neis.iterator(); iteratorx.hasNext();) { Neighbor addresses = (Neighbor) iteratorx.next(); if (addresses.getLocator() != null) - result.add(addresses.getLocator()); // 添加邻居定位器 + result.add(addresses.getLocator()); // 添加邻居SID } } } return result; } + + + + } \ No newline at end of file diff --git a/src/org/kne/cloud/network/srv6/SlidingWindowInformation.java b/src/org/kne/cloud/network/srv6/SlidingWindowInformation.java index ae34e19..8c30d90 100644 --- a/src/org/kne/cloud/network/srv6/SlidingWindowInformation.java +++ b/src/org/kne/cloud/network/srv6/SlidingWindowInformation.java @@ -5,11 +5,8 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.locks.ReentrantLock; -import java.util.function.Consumer; import org.kne.cloud.network.ipv6.IPv6Packet; -import org.pcap4j.packet.IpV6Packet; -import org.pcap4j.packet.TcpPacket; public class SlidingWindowInformation { public SlidingWindowInformation(long sequenceNumber) { @@ -57,7 +54,7 @@ public class SlidingWindowInformation { + ", addtime=" + addtime + "]"; } } - public void sortPackets(IPv6Packet pack,long seq,int length, PacketConsumer packconsumer) throws IOException { + public void sortPackets(IPv6Packet pack,long seq,int length, IPv6PacketConsumer packconsumer) throws IOException { rlock.lock(); try { //System.out.println("包序号:"+seq+" 长度:"+length); diff --git a/src/org/kne/cloud/network/srv6/TCPTransimitAgent.java b/src/org/kne/cloud/network/srv6/TCPTransimitAgent.java index 03a8afa..6323df9 100644 --- a/src/org/kne/cloud/network/srv6/TCPTransimitAgent.java +++ b/src/org/kne/cloud/network/srv6/TCPTransimitAgent.java @@ -1,20 +1,14 @@ package org.kne.cloud.network.srv6; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; import java.util.Iterator; -import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.locks.ReentrantLock; -import java.util.function.Consumer; import org.kne.cloud.network.ipv6.IPv6Packet; -import org.pcap4j.packet.IpV6Packet; -import org.pcap4j.packet.TcpPacket; public class TCPTransimitAgent { public TCPTransimitAgent() { @@ -57,7 +51,7 @@ public class TCPTransimitAgent { + ", addtime=" + addtime + "]"; } } - public boolean sortPackets(IPv6Packet pack,long seq,int length, PacketConsumer packconsumer) throws IOException { + public boolean sortPackets(IPv6Packet pack,long seq,int length, IPv6PacketConsumer packconsumer) throws IOException { if(length<=0) { packconsumer.accept(pack); return true; diff --git a/src/org/kne/cloud/network/tcp/TCPPacket.java b/src/org/kne/cloud/network/tcp/TCPPacket.java index 63f1132..f55cb55 100644 --- a/src/org/kne/cloud/network/tcp/TCPPacket.java +++ b/src/org/kne/cloud/network/tcp/TCPPacket.java @@ -9,9 +9,9 @@ import java.util.ArrayList; import java.util.List; import org.kne.cloud.network.NetworkPacket; -import org.kne.cloud.network.ipv6.IPv6Packet.IPv6Payload; +import org.kne.cloud.network.ipv6.IPv6Packet.IPv6DefaultPayload; -public class TCPPacket extends IPv6Payload { +public class TCPPacket extends IPv6DefaultPayload { public static final int TCP_PROTOCOL_NUMBER = 6; // TCP头部常量 @@ -33,7 +33,7 @@ public class TCPPacket extends IPv6Payload { private List options = new ArrayList<>(); public TCPPacket() { - super(TCP_PROTOCOL_NUMBER, false); + super(TCP_PROTOCOL_NUMBER); // 设置默认数据偏移量(头部长度) setDataOffset(5); // 5 * 4 = 20字节 } diff --git a/src/org/kne/cloud/network/tcp/UDPPacket.java b/src/org/kne/cloud/network/tcp/UDPPacket.java index 1fb994f..3a1fb76 100644 --- a/src/org/kne/cloud/network/tcp/UDPPacket.java +++ b/src/org/kne/cloud/network/tcp/UDPPacket.java @@ -1,16 +1,12 @@ package org.kne.cloud.network.tcp; -import java.io.EOFException; import java.io.IOException; -import java.net.Inet6Address; -import java.net.UnknownHostException; import java.nio.ByteBuffer; import java.nio.channels.ReadableByteChannel; import java.nio.channels.WritableByteChannel; import java.util.Arrays; import org.kne.cloud.network.NetworkPacket; -import org.kne.cloud.network.ipv6.IPv6Packet; import org.kne.cloud.network.ipv6.IPv6Packet.IPv6Payload; import org.kne.cloud.network.klalb.PortPacket; import org.kne.io.KNEChannels; @@ -23,11 +19,11 @@ public class UDPPacket extends IPv6Payload implements PortPacket { private ByteBuffer data; public UDPPacket() { - super(UDP_PROTOCOL_NUMBER, false); + super(UDP_PROTOCOL_NUMBER); } public UDPPacket(int srcPort,int dstPort) { - super(UDP_PROTOCOL_NUMBER, false); + super(UDP_PROTOCOL_NUMBER); header.putChar((char) srcPort); header.putChar((char) dstPort); data = NetworkPacket.bufferAllocator.allocate(65535); diff --git a/src/org/kne/cloud/network/te/DWRRLoadingBalanceAlgorithm.java b/src/org/kne/cloud/network/te/DWRRLoadingBalanceAlgorithm.java index 5efe748..a457d2d 100644 --- a/src/org/kne/cloud/network/te/DWRRLoadingBalanceAlgorithm.java +++ b/src/org/kne/cloud/network/te/DWRRLoadingBalanceAlgorithm.java @@ -1,11 +1,7 @@ package org.kne.cloud.network.te; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; -import java.util.Random; - -import org.kne.cloud.network.klalb.KLALBRemoteLine; public class DWRRLoadingBalanceAlgorithm> { private Listentries;