Při komunikaci na IP se použije MAC switche nebo MAC koncové

Routery, AP, switche, huby, ethernet

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Papadimo 14. 1. 2020 18:47

Mám modelový dotaz: klasické 2 , notebooky, které jsou připojeny ke stejnému síťovému prvku "apčko", který jim přiděluje DHCP (ADSL modem + wifi router s Gb Ethernet LAN porty). Router i notebooky má své MAC a IP: 10.0.0.1, pc 10.0.0.5. a 10.0.0.9.

PC "5" komunikuje s "9". Vidím, že cílová MAC je cílového počítače 9 a zdrojová MAC je počítače 9 (samozřejmě vždy ta MAC daného rozhraní Ethernet / Wifi ta která je použita)

Bude komunikace fungovat také v případě že na linkové úrovni cílová adresa MAC bude MAC adresa toho Apčka? (místo mac cílového pc) , IP adresy samozřejmě zůstavají ...5 a ...9

Případy: (myslím že na tom by to nemělo záviset, ale co kdyby ano)
1.oba PC jsou připojeny na LAN PORTY
2. oba na Wifi
jeden na wifi adruhý na LAN port
Papadimo
Junior

Odeslat příspěvekod Chipoun 14. 1. 2020 20:13

Ahoj, dotaz jsem nepochopil. Tak dávám odkaz na pěkný článek a třeba tam odpověď najdeš
https://www.samuraj-cz.com/clanek/vite- ... je-switch/


Ale jinak chápu dotaz tak že bys nastavil na AP stejnou mac jako na cílovém PC?
Chipoun
Mírně pokročilý

Odeslat příspěvekod Papadimo 14. 1. 2020 20:56

K otázce: U čeho bych na AP nastavil Mac? jako nějak systémově změnit na mac adresu AP? Nebo paketů?

Dotaz se týká paketu ještě dřív než dotazí k AP. Počítače a AP mají své různé MAC adresy. Ptám se, jestli by fungovalo ,kdyby z počítače 5 odeslané pakety určené pro počítač 9 měly cílovou MAC adresu adresu apčka místo adresy cílového PC 9.
> Pokud by to fungovalo, mělo by to nějaké důsledky (například pro výkon , že by paket nebyl bleskově odbaven "forwardnutím) Pokud ne, proč ? Způsobilo by to problémy apčku (logicky by musel přepsat cílovou mac adresu, ale nechal by zdrojovou adresu odesílajícho PC nebo svou-apčka) nebo až cílovému PC?

Samozřejmě v wiresharku vidím že to "nyní" funguje tak, že cílová adresa MAC je adresa cílového PC.

K tomu se váže komplementářní otázka: Místo odchozího paketu by šlo o příchozí paket. Zda by cílový počítač paket přijal (od apčka!) paket, kdy by zdrojová adresa nebyla MAC adresa odesílajícího PC ale MAC adresa "apčka"


Poddotaz: původně jsem chtěl napsat : Kdyby počítač u odesílaného paketu nastavil cílovou MAC adresu adresu apčka místo adresy cílového PC, jenže myslím, že operační systém nenastavuje MAC adresy, ale tohle si řeší samo síťovové rozhraní. Ale chtěl bych to nějak potvrdit od někoho znalého. Ikdyž v OS existuje ARP cache, asi to nebude pravda. Každopádně pro otázku to není důležité.
Papadimo
Junior

Odeslat příspěvekod Chipoun 14. 1. 2020 21:20

"kdyby z počítače 5 odeslané pakety určené pro počítač 9 měly cílovou MAC adresu adresu apčka místo adresy cílového PC 9"
...
Tak paket zůstane na switchi (v tvem pripade integrovanem v AP) a na cilovy pocitac PC 9 se nedostane protoze pro nej nebudou urcene.
Chipoun
Mírně pokročilý

Odeslat příspěvekod Papadimo 14. 1. 2020 22:14

Ano, to dává smysl. Znamená to ,že si okaždé stanice musí zjistit MAC adresu cíle (přes ARP?)? Je to tím, že switch je hloupý (či AP je hloupý , protože právě swichte "mají být hloupé" z hlediska neznalosti vyšších protokolů než linkový) nebo prostě má nějaký vyšší např bezpečnostní význam?
A byl by nějaký problém , kdyby to switch uměl?

A když si vemu běžný DSL wifi GbLan router+AP, je tam skutečně switch(na GbLan portech) v pravém smyslu slova?
Papadimo
Junior

Odeslat příspěvekod Chipoun 15. 1. 2020 19:08

Ano je tam hloupý L2 switch, pokud tam není nějaká funkce např. Vyčlenit 2 porty pro IPTV.

A ano. Stanice si zjistí MAC přes ARP.
Chipoun
Mírně pokročilý

Odeslat příspěvekod Papadimo 22. 1. 2020 16:58

Chipoun píše:Tak paket zůstane na switchi (v tvem pripade integrovanem v AP) a na cilovy pocitac PC 9 se nedostane protoze pro nej nebudou urcene.

To vysvětlení se mi nezdá konzistentní s tím,že kdybych paket posílal do jiné sítě (třeba internetu např ip 77.123.22.24), posílal bych ho na gateway (tj. s cílovou MAC adresou apčka).
Zpátky k příkladu s paketem určeným pro PC v stejné podsíti: A proč by paket zustal na switchi? Minimálně bych očekával, že stejně jako v případě předchozím, (kdy cílová MAC je MAC routeru) se router podívá na cílovou adresu IP a zjistí, ho má naroutovat do stejné sítě, ze které odešel. To je "nelegální"?
Asi takhle: když už má ten paket rozdělaný a analyzuje jeho IP adresy, řekne si "Hmm, sice to "5" mohl poslat přímo "9" již na linkové úrovni , ale když už ten paket mám, tak mu ho pošlu já a volitelně tam opravím MAC adresu ) nebo Má rozdělaný paket a analyzuje jeho IP adresy, řekne si: tenhle paket patří do této sítě, příště si tam dej jeho mac adresu, zbytečně se unavuje moje IP vrstva, za trest ho nepošlu i kdybych mohl
Přepdokládám, že paket se u příchozího paketu se nejprve vybalí á linkové vrsty (přečte se MAC) a následně se přečté záhlací IP vrstvy.


Prostě se mi to zdá nepochopitelné, proč by to nedělal, když u routování (IP adresa v internetu))to takto funguje (použije se cílová MAC adresa apčka jakožto brány) tak jediný rozdíl je v tom, že nepůjde o IP adresu v internetu, ale v daném subnetu.
Papadimo
Junior

Odeslat příspěvekod ladesn 12. 2. 2020 14:41

Šlo by tvůj dotaz a "modelovou" situaci popsat tak, aby se dala pochopit? Asi bych se taky při popisování nepouštěl do cizích termitů, pokud v nich nejsi suterén... (vkládání čárek do souvětí na správné místa, síťový prvek "apéčko" a "přidělování DHCP"...). Pak bych řekl, že se najde i celkem rychle někdo, kdo odpoví přesně a rychle ;-)

Motáš dohromady hodinky a holinky (připojeni LAN a WiFi, ARP, routing a switching...) a dřív než nainstaluješ Wireshark, asi začni nejdřív studiem úplných základů a principů, viz Chipoun a Samuraj web...

Ale abych jen nedělal chytrýho, podle toho co jsem tak pochopil:
pcA(MACa) -> router(MACr) -> pcB(MACb)

komunikace A(MACa)->B(MACb) bude fungovat
komunikace A(MACa)->B(MACr) nebude fungovat, situace sama o sobě v síti ani nastat nemůže (pokud někde po cestě nebudeš uměle přepisovat MAC)

Modelová situace:
ty("apečko"), soused Franta(pcB), Frantova manželka(pcA)

manželka souseda Frantu ti pošle sms ve tvaru:"Franto ja bych chtela sex.."
Otázky za Bludišťáka. Přepošleš tu zprávu Frantovi, protože znáš jeho adresu? Odpovíš na ni i když nejsi Franta? Smažeš ji protože nejsi Franta a není tak nabídka pro tebe?

Modelovou situaci dále mužeme rozšířovat - oba bydlíte v paneláku v 1. patře, oba bydlíte ve 2. patře, každý bydlíte v jiném patře
ladesn
Kolemjdoucí

Odeslat příspěvekod JirkaVejrazka 12. 2. 2020 18:52

"Bude komunikace fungovat také v případě že na linkové úrovni cílová adresa MAC bude MAC adresa toho Apčka?".

To je ciste na vuli a konfiguraci toho "APcka" (predpokladam, ze tim myslis router).
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod robert.poch 12. 2. 2020 22:37

Bez urážky, ale podle těch Vašich dotazů, jste zřejmě trochu mentál. To nehodnotím Vaši naprostou neznalost dané problematiky, ale Vaši neschopnost formulovat, o co Vám jde, čeho chcete dosáhnout a povýšený způsob reakce na příspěvky ostatních.
Navrhuji si nejdříve nastudovat alespoň základy toho, jak funguje routing a jak switch přeposílá rámce. Na internetu jsou k tomu tuny zdrojů. I v češtině.

"To vysvětlení se mi nezdá konzistentní s tím,že kdybych paket posílal do jiné sítě (třeba internetu např ip 77.123.22.24), posílal bych ho na gateway (tj. s cílovou MAC adresou apčka).". Není na tom nic nekonzistentního a přesně to odpovídá tomu, co si nastudujete (routing vs. provoz ve stejné broadcastrové doméně).
robert.poch
Kolemjdoucí

Odeslat příspěvekod AleshM 13. 2. 2020 07:57

Připadá mi, že pleteš routing L3 a switching L2. AP a switch je L2. Komunikace probíhá na jednom segmentu sítě s jedním IP rozsahem. Pokud tečou data jen přes AP, nebo switch, je to pořád jedna a tabsamá podsíť. Pomocí protokolu ARP, který přes switch AP projde, se o sobě počítače dovědí a zdrojové a cílové IP adresy se v hlavičkách packetů nastaví k příslušným MAC adresám.

Pokud jsou 2 sítě a mezi nimi je router, to je asi ten případ, na který se tak krkolomně ptáš:

Počítač vyšle data. Na své podsíti se adresy cílového stroje nedozví. Cílový počítač je v jiné podsíti za routerem. Takže předá packet routeru (default route). Co nevím, kam patří, pošlu routeru. IP jeho rozhraní znám. Router přijme packet. Podívá se, jestli má jeho adresy v routovacích tabulkách. Pomíjím routovací protokoly. V domácích routerech je obvykle jen RIP v lepším případě RIP v. 2. Jinde se používá OSPF, EIGRP, BGP, apod.
Když router cílový počítač v tabulce má, změní hlavičky packetu, aby obsahovaly původní zdroj a nahradí cíl svého rozhraní z předešlého kroku za adresy cílového počítače, kam má packet dorazit. Packet mu pak pošle, obvykle jiným rozhraním, než kudy packet přišel.
Když cíl v tabulkách nemá, zeptá se do všech podsítí, které na sobě má připojené, vyjma té, odkud packet přišel. Odněkud se mu ozve cílový počítač. Tak router si updatuje routovací tabulku o záznam s jeho adresami, hlavičky packetu příslušně upraví, a packet pošle cílovému počítači. Když neni cílový stroj v žádné z okolních pidsítí, pošle router packet dalšímu routeru v okolí, o kterém podle svých tabulek ví a ten dělá to samé, co jsem tu popsal, dokud packet třeba přes několik podsítí nedorazí k cílovému počítači. Pomíjím zde TTL. Router dělí síť na jednotlivé podsítě (subnety). Na každé může být jiný rozsah IP adres. 10.0.0.x, 10.0.0.x.x..., podle masky. Na jiné podsíti připojené ke stejnému routeru může být rozsah 192.168.0.x, atd.

Záměrně jsem to dost zjednodušil, aby to nebylo tak dlouhé. A tím jsem se jistě dopustil i docela dost nepřesností. Hodí se to nastudovat, jak už radili někteří přede mnou, než položíš tak složité, a vlivem neznalosti trochu zmatené dotazy. Pominul jsem kolizní domény, ARP, přidělování IP adres DHCP, 3way handshake, kterým začíná veškerá komunikace, potvrzované a nepitvrzované protokoly TCP, UDP, IP, 7 vrstvý ISO/OSI model, abys věděl, co se děje na které vrstvě, atd., atd. Je toho hodně, je to komplexní téma a je to seriózní studium. Ale jde to pochopit a zvládnout rychle.
AleshM
Junior

Odeslat příspěvekod JirkaVejrazka 13. 2. 2020 08:20

"3way handshake, kterým začíná veškerá komunikace" - taky bys mel jeste trochu studovat, nebo psat pozorneji ;-)
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod AleshM 13. 2. 2020 20:14

Nechci se tu dohadovat o drobnostech. Myslím si, že zásadní nepravdy tu nešířím. Komunikace na síťové vrstvě L3, protokoly TCP/IP:

A three-way handshake is a method used in a TCP/IP network to create a connection between a local host/client and server. It is a three-step method that requires both the client and server to exchange SYN and ACK (acknowledgment) packets before actual data communication begins.

Prostě je to ustavení TCP/IP spojení. Bez toho by přenos nezačal. Dobře, ve svém předešlém příspěvku jsem se dopustil zjednodušení a nepřesností, a to jsem také přiznal. Ne každá komunikace začíná 3way handshakem. Přenos rámců (frames) na linkové vrstvě podle typu L2 protokolu, např Ethernet IEEE 802 začíná i probíhá jinak. Kontrolní součty, detekce a prevence kolizí, zapouzdření packetů vyšších vrstev do framů, se řídí řadou dalších L2 protokolů. Na datalink vrstvě L2 je spousta dalších protokolů pro různé účely nebo funkce, např. PPP, HDLC, ADCCP, rodina protokolů pro detekci a opravy kolizí CSMA, např. CSMA/CA, CSMA/CD jsou další L2 protokoly. Kdybych tu měl o všech napsat, je to kniha, jakých jsou o tomhle stovky, a ne příspěvek v konferenci. Nehledě k tomu, že by se to dost vzdálilo odpovědi na původní dotazy. Nespolkl jsem všecky znalosti o networkingu, ale myslím si, že něco o tom vím.
AleshM
Junior

Odeslat příspěvekod JirkaVejrazka 13. 2. 2020 22:55

Neber to ve zlem prosim. Jenom jsem se snazil trochu zjemnit to "veskera komunikace". Protoze i kdyz se omezime jen na TCP/IP, tak existuje pomerne velka cast provozu ktera TCP nepouzival Alternativni UDP se pouziva na prenos audia, videa a spousty dalsich veci. I nova specifikace HTTP (QUIC a z nej vychazejici HTTP/3) je postavena nad UDP a nepouziva 3-way handshake.

Omlouvam se, jestli jsem se te nejak dotknul.
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod Papadimo 14. 2. 2020 11:56

Jenže tedy vůbec o transportní vrstvě není řeč takže ani ne o handshake. Právě proto používám minimální příklady aby ostatní nepoužívaly termity které naznají a nezamotávali dotaz nepodstatnostmi. A síťové prvky rozhodují pevně podle nějaké logiky ne podle nadrženosti nebo sexuálních preferencí

Právě že dotaz se netýká komunikace mezi 2 sítěmi ale ve stejné síti.


Ano, jistě že A a B (nebo 5 a 9) jsou na stejném subnetu. a vím že normálně si odpovídajícím MAC zjistí pomocí ARP. Mě ale zajímá ten umělý příklad (jak někdo říkal, že standardně nastat nemůže), kdy právě odesilatel (A /5) bud manipulovat s MAC a místo MAC adresy cíle (B / 9) nastaví MAC routeru.

Přeformuluji dotaz:
1. Je tohle pravda? Pokud router přijme paket s MAC adresou jinou než routeru, tak se bude snažit zjistit na kterém rozhraní takové zařízení je a odešle ho. Přitom nezkoumá vyšší protokoly (IP adresu) -jedná se o normální L2 forwarding
2. Pokud router přijme paket s jeho MAC adresou, znamená to 2 případy musí se podívat do vyššího protokolu - cílová IP adresa.



2a) Buď nastane routing (zdrojový pc posílá paket do inernetu a správně ho poslal na bránu dle MAC adresy, kterou si předtím zjistil nebo ví )
2b) posílá paket přímo routeru (kromě MAC i IP adresa odpovídá přímo routeru) -například administrační rozhraní nebo server běžící na routeru
2c) - na to se ptám - IP adresa jiný počítač v této síti - tudíž paket by měl jít do stejné sítě. Co s ním router udělá, Franto? Správně by měl mít MAC adresu cílového PC a tudíž by k tomuhle (podívání se do IP vrstvy paketu) ani dojít nemělo, ale mělo dojít k chování 1. Ale co s ním tedy udělá, když už se tato umělá neobvyklá situace nastala ? Nezkoumám proč ze zdrojového PC takovýto paket odešel, ale jak s ním naloží router. zahodí nebo pošle tomu cílovému PC ve stejné síti? Podle jaké logiky? Mám pocit že podle jeho routovací tabulky by přeci jen k routingu mohlo dojít a na IP úrovni bude výsledek stejný (IP paket dorazí cílovému PC), jen navíc s tím, že místo přímočaré cesty na L2 úrovni(forwarding) to bude přes routing (zjistí, že cílová IP je ve stejné síti)

Nějak se mi nezdá ta logika, že by IP paket patřící do stejné sítě zahodil. Proč?

Ano, v dotazu právě vrstvu L2 a L3 míchám. Dokonce i na wikipedii se píše, že existují L3 switche.
Papadimo
Junior

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků