程式掛在VM+WAS裡面執行的JAVA SOCKET
通訊對象是AIX V5
不明原因反應很慢(經驗證後應該是IBM JDK底層會先走NETBIOS協定)
經過WIRESHARK錄電文之後才發現
發送端跟目的端 - - >
NBNS Name query NBSTAT *<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>
ICMP Destination unreachable (Port unreachable)
電文來回導致速度被拖慢了
後來我試著模擬出上述的狀態
決定先關閉PING使用的PORT 139跟445
關閉139比較快
網卡的Internet Protocol/內容/進階/WINS/停用NET BIOS
關閉445比較麻煩
regedit -> HKLM\System\CurrentControlSet\ Services\NetBT\Parameters
將TransportBindName的值清空在重開機就生效嚕
關完之後PING是關掉了~但是並不會有如此的底層TALK
後來發現是NETBIOS的模式導致
模式一共可分四種
B mode = Broadcast
P mode = NETBIOS(NAME QUERY)
M mode = 先B mode再P mode
H mode = 先H mode再B mode
後來我將我自己改成P mode就可以模擬出上面的問題狀態
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
好啦~模擬出來問題,那解法??
由於問題是WAS(WINDOWS上面VM)上面發送至AIX
1.讓AIX可以走NETBIOS PROTOCOL(失敗,聽賣硬體給我們的工程師說,AIX原本就不支援,是可以透過掛SAMBA處理,但是前端WINDOWS也得安裝)
2.只好將前端WINDOWS regedit -> HKLM\System\CurrentControlSet\ Services\NetBT\Parameters
裡面先將NameSrvQueryCount跟NameSrvQueryTimeout改掉! 讓時間不至於影響嚕~~
3. 聽說可以在AIX上面的hosts加上對方IP位置,結果是從WINDOWS上面設定AIX的位置就可以啦~~搞定!!
補充說明~ 事情是往好的方向走! 資方依法給予勞方權利,勞方認真為資方打拼~~
回覆刪除