Wolne działanie sieci lokalnej

Wolne działanie sieci lokalnej
Marooned
Administrator
  • Rejestracja:ponad 22 lata
  • Ostatnio:3 dni
  • Lokalizacja:Poznań
0

Hej

Mam sobie w domu sieć lokalną, która w uproszczeniu wygląda tak:

PC1 | ------ | switch | ------ | router | ------ | modem - światłowód
--- | --- | --- | --- | --- | --- |
PC2 | / | | \ | NAS | \ | AP

sprzęt info
PC1 notebook @ WinXP - karta 100Mbps
PC2 stacjonarka @ Win7 - karta 1Gbps
switch NetGear GS108GE (1Gbps)
router Asus WL-600G @ OpenWRT
NAS WD MyCloud
AP dodatkowy access point do pokrycia WiFi

Jak widać, większość leci przez switcha, więc wydawać by się mogło, że wiekowy już router nie powinien mieć wpływu na prędkość lokalnej sieci.
Skupmy się na połączeniu PC2 do NAS, bo tu mam największy problem. Na NAS leżą między innymi zdjęcia (RAW ~15MB + JPG ~6MB). Do oglądania zdjęć służy wiekowe ACDSee 14, które lokalnie (dysk SSD) radzi sobie błyskawicznie. Niestety, jeśli chodzi o obsługę zdjęć z NAS, to idzie jak przez słomkę i ten problem chciałbym rozwiązać. Oglądanie, obracanie czy inne operacje są tak piekielnie wolne, że przy większych paczkach lepiej mi zgrać wszystko na lokalny SSD, tu ogarnąć i wrzucić ponownie.

Z ciekawości wrzuciłem kopiowanie większego pliku (~2GB) z NAS na lokalny SSD. Total commander pokazywał ~17MBps, a zainstalowany lokalny monitor ruchu sieciowego (DU meter) ~40MBps. Nie wiem, skąd ta rozbieżność i kto pokazuje realną wartość, ale przyda się to do porównania. Zaznaczyłem sporą liczbę .jpg (~1..6MB) i przy kopiowaniu TC pokazywał ~3..5MBps, a DU meter 8..10Mbps (było sporo skoków do 0, były też skoki do 45MBps). Pasek postępu wyglądał, jakby się przycinał, więc może problemem jest jakiś dostęp swobodny do dysku, a nie sam transfer?

Inny przykład to film z aparatu (FullHD mp4). Dla przykładu film 176MB w całości skopiował się w kilka sekund rozpędzając się do kilkunastu Mbps, więc błyskawicznie. Jednak uruchomienie go bezpośrednio z NAS sprawia, że mam jedną klatkę co 1..3s, więc absolutnie nie da się nawet podejrzeć co na nim jest. Ten sam plik, a tak różny dostęp, więc nie do końca mam pomysł, co tu może być problemem.

Co ciekawe, większość pełnometrażowych filmów (np. ~1GB mp4) z PC1 i PC2 mogę sobie odpalić bezpośrednio z NAS i chodzą ok, więc brak tu jakiejś spójności.

Na NAS jest linux, więc w razie co mogę odpalić jakieś komendy, które by dysk sprawdziły, jak ktoś zapoda.

W chwili obecnej obróbka zdjęć to mordęga. Może ktoś coś poradzi w temacie.
Thx


edytowany 1x, ostatnio: Marooned
mr_jaro
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

pakiety się losowo nie gubią? Zrób na początek zwykłe stałe pingowanie routera ping 192... -t


It's All About the Game.
Marooned
Administrator
  • Rejestracja:ponad 22 lata
  • Ostatnio:3 dni
  • Lokalizacja:Poznań
0

Do NAS (jednorazowy 10ms jak wbiłem do katalogu z fotkami by przeglądarka zassała miniatury, by obciążyć nieco dysk, reszta <1ms):

Kopiuj
Ping statistics for 192.168.1.125:
    Packets: Sent = 83, Received = 83, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 10ms, Average = 0ms

Do routera (jednorazowy 593ms, kilka <10ms, reszta <1ms - też obciążałem sieć, zdjęcia, filmy):

Kopiuj
Ping statistics for 192.168.1.1:
    Packets: Sent = 175, Received = 175, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 593ms, Average = 3ms

MB
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 5 lat
  • Postów:17
0

Rozumiem, że wszystko jest po kablu.
Nas jest podpięty pod router czy pod switcha?

Badanie:

  1. (PC2)Odpalić wiresharka na win7 i zapisać problematyczną komunikację.
    Wrzucić plik pcapa tutaj lub samemu popatrzeć na czasy pomiędzy pakietami danych, a odpowiedziami (ack).
  2. (PC2) Jeśli NAS jest wpięty do switcha, to sprawdzić komunikację traceroutem pomiędzy PC2, a NAS'em czy przypadkiem pakiety nie lecą przez router.
  3. (Router) Jeśli NAS jest wpięty do switcha, to przepiąć go do routera, przekonfigurować jeśli coś trzeba. Na routerze zbadać problematyczny ruch (o ile po przepięciu wystąpi) tcpdumpem i sprawdzić to samo co w PKT 1.
edytowany 3x, ostatnio: Maly Brat
Marooned
Tak, po kablu. Jak widać na schemacie, wszystko w domu jest pod switcha.
mr_jaro
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

czy jesteś pewny, że dysk jest sprawny? sprawdzałeś odczyt smart?


It's All About the Game.
Marooned
Administrator
  • Rejestracja:ponad 22 lata
  • Ostatnio:3 dni
  • Lokalizacja:Poznań
0

Poszperam jak po linuksem sprawdzić smarta i obadam. To może być jakiś trop, a przynajmniej jeden z elementów checklisty do odhaczenia.
Traceroute też obczaję jak wrócę do chaty.


mr_jaro
jeśli masz gui to gsmartcontrol
Marooned
konsola + małe ui od WD, ale tylko do obsługi udziałów etc
MB
Treceroute jest mniej ważny. Bardziej istotne jest działanie węzłów Twojej sieci. Masz ich na szczęście tylko dwa - istotne - więc warto je przebadać i możesz wrzucić to gdzieś, żebym mógł to obejrzeć. Tylko przy sprawdzaniu problemów z siecią nie oglądaj swoich nagich fotek z NAS'a (jeśli połączenie jest nieszyfrowane) lub wrzuć tylko nagłówki (ale lepiej będzie gdy będzie całość).
Marooned
To już jakaś wyższa szkoła, będę musiał ogarnąć co i jak.
MB
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 5 lat
  • Postów:17
1

"To już jakaś wyższa szkoła, będę musiał ogarnąć co i jak."

Zapewne masz problem z tcpdumpem na openwrt, jak się domyślam.

To można wyeliminować kilka rzeczy.
1 Wpiąć PC1 tam gdzie NAS (wypiąć fizycznie NAS i podłączyć w to miejsce PC1).
1a Udostępnić na PC1 pliki sambą (udostępnienie folderu lub dysku).
1b Zobaczyć czy problem się pojawia (np przy oglądaniu filmu)
1b1 Zobaczyć transfer managerem zadań w zakładce zasoby.

2 Podłączyć NAS'a tak jak był.
2a Określić jego adres IP
2b Na PC2 otworzyć cmd.exe i wpisać:

arp -a
tracert <adres_ip_nas>
route PRINT
I pokazać co wyskoczyło z tych trzech poleceń. Również napisać jakie adresy IP oraz MAC mają, PC1, PC2, Router, NAS.

3 Zainstalować wiresharka na PC2.
3a Włączyć nasłuchiwanie na odpowiednim interfejsie.
3b Wejść na nasa(normalnie na zamontowany dysk z PC2) i spróbować zrobić coś co sprawia problem
3c Zatrzymać nasłuchiwanie w wiresharku i zapisać ten plik w formacie pcap. Wrzucić gdzieś plik (może okazać się duży). W czasie testu nie pobierać/oglądać nic wrażliwego.

Poinformować o przebiegu tych trzech etapów.

Co może być nie tak?
1 Bardzo często spotykam się z tym, że driver do podłączania zasobów z NAS'a jest upośledzony (PC2). (brak buforowania?)
Rozwiązaniem może być reinstall drivera lub zainstalowanie inne wersji.
2 NAS jest popsuty w jakimś sensie.
Wtedy aktualizacja lub wywalenie nasa i postawienie tego na jakimś tanim komputerze z linuxem lub windowsem (wtedy można na sambie lub nfs).
3 Przewody są niskiej jakości,dlatego jest efekt "rozpędzania się". Sieć to nie samochód, chociaż przez milisekundy może coś takiego wystąpić, ale bez przesady.
Wymienić okablowanie - jak jest level 5 to można zmienić na 6. Szóstki są bardzie pokręcone :)
4 Kolizje pakietów?
Trzeba wiedzieć co i gdzie, żeby to naprawić.

edytowany 1x, ostatnio: Maly Brat
Marooned
Jakaś podpowiedź, na co mogę zwrócić uwagę w Wireshark? Może uda się coś wychwycić zamiast publikować mój ruch w necie, bo w danych widzę same krzaki i ciężko ocenić, czy jest tam coś "tajnego".
MB
Na wiele rzeczy. Dziwne pakiety,częste RST, długa odpowiedź PC2 pakietem ACK i na odwrót(druga kolumna w wireshark), częstość SYNów, poprawność dochodzenia po numerach sekwencyjnych, błędne pakiety, ARP, microsoftowe. Ogólnie problem może być w dziwacznie długich odpowiedziach na pakiet, lub zbyt częstym zrywaniu i wznawianiu połączenia tcp/ip. Punkty które napisałem ponumerowałem. Zrobiłem to nie dla "jaj", tylko tak będzie prościej i szybciej. Każdy test coś wyklucza i wtedy można skoncentrować się na tym co trzeba.
MB
Dane newralgiczne raczej lecą po TLS'u, ja nie posiadam komputera kwantowego, ani inteligencji pozwalającej przewidzieć mi zawartość kilku pakietów (co mogłoby dać mi szanse jakoś to odszyfrować). Jeśli masz jakieś wątpliwości to postaraj się wszystko powyłączać oraz możesz wysłać link do pcapa na privie, wtedy dostęp do danych będzie miała ograniczona ilość osób.
Marooned
Administrator
  • Rejestracja:ponad 22 lata
  • Ostatnio:3 dni
  • Lokalizacja:Poznań
0
mr_jaro napisał(a):

czy jesteś pewny, że dysk jest sprawny? sprawdzałeś odczyt smart?

Smart wygląda w porządku:
smartctl -a /dev/sdb

Kopiuj
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   051    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0026   252   252   000    Old_age   Always       -       0
  3 Spin_Up_Time            0x0023   086   086   025    Pre-fail  Always       -       4470
  4 Start_Stop_Count        0x0032   097   097   000    Old_age   Always       -       3622
  5 Reallocated_Sector_Ct   0x0033   252   252   010    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   252   252   051    Old_age   Always       -       0
  8 Seek_Time_Performance   0x0024   252   252   015    Old_age   Offline      -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       1017
 10 Spin_Retry_Count        0x0032   252   252   051    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       5
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1039
181 Program_Fail_Cnt_Total  0x0022   098   098   000    Old_age   Always       -       63088697
191 G-Sense_Error_Rate      0x0022   100   100   000    Old_age   Always       -       2
192 Power-Off_Retract_Count 0x0022   252   252   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0002   064   064   000    Old_age   Always       -       28 (Min/Max 18/45)
195 Hardware_ECC_Recovered  0x003a   100   100   000    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   252   252   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   252   252   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   252   252   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0036   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x002a   100   100   000    Old_age   Always       -       10
223 Load_Retry_Count        0x0032   100   100   000    Old_age   Always       -       5
225 Load_Cycle_Count        0x0032   099   099   000    Old_age   Always       -       19818

SMART Error Log Version: 1
No Errors Logged

smartctl -t short /dev/sdb
smartctl -l selftest /dev/sdb

Kopiuj
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      1018         -
Maly Brat napisał(a):

2b Na PC2 otworzyć cmd.exe i wpisać:

arp -a
tracert <adres_ip_nas>
route PRINT
I pokazać co wyskoczyło z tych trzech poleceń. Również napisać jakie adresy IP oraz MAC mają, PC1, PC2, Router, NAS.

Kopiuj
c:\>tracert 192.168.1.125

Tracing route to WDMyCloud.lan [192.168.1.125]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  WDMyCloud.lan [192.168.1.125]

Trace complete.

c:\>route PRINT
===========================================================================
Interface List
 12...00 25 22 ff e5 5a ......Realtek PCIe GBE Family Controller
 11...b0 48 7a f3 4a 3a ......Atheros AR5007G Wireless Network Adapter
  1...........................Software Loopback Interface 1
 14...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #5
 15...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #6
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.150     10
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.1.0    255.255.255.0         On-link     192.168.1.150    266
    192.168.1.150  255.255.255.255         On-link     192.168.1.150    266
    192.168.1.255  255.255.255.255         On-link     192.168.1.150    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.1.150    266
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.1.150    266
===========================================================================
Persistent Routes:
  None

IPv6 Route Table
===========================================================================
Active Routes:
 If Metric Network Destination      Gateway
  1    306 ::1/128                  On-link
 12    266 fe80::/64                On-link
 12    266 fe80::e999:b467:f6d2:b9bb/128
                                    On-link
  1    306 ff00::/8                 On-link
 12    266 ff00::/8                 On-link
===========================================================================
Persistent Routes:
  None

Kolejne testy muszą poczekać, aż znajdę chwilę.


Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)