- Bemutatkoztak a be quiet! Light Base 500 szériás, kábeleket rejtő házai
- A Chieftec néhány terméke fehér köntöst öltött
- Sokkal drágább lett az „olcsó” Tesla, mint várták
- Egy fontos tényező akadályozhatja a csúcstechnológiás chipgyártást az USA-ban?
- Visszatért a mítosz, a legenda, a világ leghasznosabb terméke!
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen SSD-t vegyek?
- ASUS ROG Ally
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- A Synology visszatáncolt a kötelező saját márkás HDD-től
- Milyen videókártyát?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Powerbank topik
- Vezeték nélküli fülhallgatók
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
-
PROHARDVER!
--- Még az új vizsgarendszer előtti információk, majd frissítjük! ---
Gyakran ismételt kérdések
Olvasd el a cikkeket itt.
Új hozzászólás Aktív témák
-
crok
Topikgazda
válasz
stafidani #7212 üzenetére
Durván összetett azért ahhoz, hogy egyszerűen a+b=c legyen (:
Megpróbálom a minimumot/legegyszerűbbet összerakni (nem életszagú).
Egyetlen ethernet keret layer 1-en (MTU 1500, VLAN tag nincs):
Alatta leírom mennyi kell belőle.
-----------------------------------------------
12byte Ethernet gap + 8byte Ethernet preamble
-----------------------------------------------
-- Ethernet Frame:
----------------------------------------------
--Ethernet header:
--6 byte dest addr
--6 byte src addr
--[4 byte 802.1q VLAN Tag ha van..]
--2 byte length/type
-------------------------------------------------
------ IP Packet
--------------46-1500 byte data (payload)----------
----20byte IPv4 header:
----1byte Version; 1byte IHL; 1byte ToS; 2byte Length;
----2byte Identification; 3bit Flag; 13bit Fragment offset
----1byte TTL; 1byte Protocol; 2byte Header Checksum;
----4byte dest addr; 4byte src addr
----8byte Options (ha van, mert az IHL több, mint 5 (5x32=20byte))
---------------------------------------------------
-------- TCP segment
-----------------------------------------------------
--------20byte TCP header
--------2byte src port; 2byte dst port;
--------4byte sequence number
--------4byte acknowledge number
--------4bit data offset;
--------3bit reserved; 9bit flag (syn;ack;psh;rst;...)
--------2byte window size
--------2byte checksum; 2byte URG pointer
--------(Ha a data offset 5-nél nagyobb akkor az Options rész is
--------tartalmaz adatot- nagyságát az 5-nél magasabb offset
--------határozza meg (5x32=20byte a header alapból, ha nincs
--------az Options alatt semmi akkor 0-val van feltöltve 4byte-ig de
--------úgyis lesz egy kevés, mert kell pl. SYN-ben az MSS..))
-----------------------------------------------------
-----------------
-----------------
----------------- A HTTP adat, ami a végén 1MB-ot fog kiadni.
-----------------
-----------------
----------------- Csomagonként 1460byte a maximum..
-----------------
-----------------
-----------------------------------------------------
--------
---------------------------------------------------
------
----------------------------------------------
--4 byte Ethernet FCS
-----------------------------------------------
4byte Ethernet trailer
-----------------------------------------------
Na, ekkor jön egy olyan, hogy 3way handshake miatt egy SYN, egy
SYNACK és egy ACK. => 3x Ethernet frameben IP csomag 0 payload-al.
Kell egy HTTP GET, ami minimum ennyi:
GET / HTTP/1.0[ENTER] \
[ENTER] |-- 17 byte összesen
[ENTER] /
..amire a szerver válaszol egy "üres" ACKel és tolja az 1MB file-t:
Tekintsük a TCP receive window-t a maximumnak: 65536byte (nincs
specifikálva se az kliens OS, se a szerver, se a szerver OS; az
életben TCP receive window 17.5KB lenne mondjuk egy "átlagos gépnél").
Így (1024*1024byte)/65536byte = 16 TCP full window lenne az átvitel
ideális esetben de mivel az ack is kell és 1460byte egy csomag, így
ideális (csomagvesztés nélküli) esetben kell 16 ACK csomag is és a
data 44.89 tehát 44db 1460byte-os valamint egy 1296byte-os csomag
lesz egy teljes TCP window. Ehhez jön még window-nként egy ACK.
Majd a végén a lezárás (nem az "elegáns" Windows Serveres RST,
hanem) egy rendes, FINACK a klienstől +ACK a szervertől.
Durvaélet kihagytam valamit, de tippre a tanár már így is többet kap
mint amire számít. Ha nem lenne itt nézhető, akkor vagy kijelölöd és
átteszed notepad-be (vagy fix széles karakterekkel nézed meg) vagy
feldobtam pastebinre: http://pastebin.com/c5rBrzU4 -
Wolfy999
tag
válasz
stafidani #7212 üzenetére
1538 byte lehet maximum 1 Ethernet frame (1500 payload + 38 header+crc) (ha nem VLAN tagged és nincs Jumbo frame)
...ekkor...
1500 byte lehet maximum 1 IPv4 packet (1480 payload + 20 header) (option-ök nélkül)
...ekkor...
1480 byte lehet maximum 1 TCP segment (1460 payload + 20 header) (option-ök nélkül)
...ekkor 1024*1024/1460 csomag kell az átküldéshez. Ez 719 felfelé kerekítve, mert ugye a kis maradékhoz is kell majd csomag. Tehát az átvitt adat 1024*1024 + 719*78 = 1104658 byte lesz. (A 78 onnan jött, hogy 20 TCP header + 20 IP header + 38 Ethernet header+crc)Ekkor persze még kihagytuk a számításból a TCP 3-way handshake csomagjait, de ha tippelnem kéne ez a tanárodnak eszébe sem jutott. Persze a való életben még ebbe több dolog is beleszólhat, de közelítésnek jó lesz ez.
Ha érted ezt a számítást és megjegyzed a következő adatokat, akkor meg fogod tudni oldani az ilyen típusú feladatokat.
Az MTU max 1500 byte lehet (Maximum Transmission Unit - egy ethernet keretben átvihető hasznos adat). (Persze csak ha nincs jumbo frame, de ezt hagyjuk.)
Az Ethernet header+crc 38 byte.
Az IPv4 header 20 byte.
A TCP header 20 byte, az UDP 8 byte. (Itt figyelned kell arra, hogy mit ír a feladat.)Remélem segítettem. Ha valamit kihagytam vagy elírtam, a többiek biztos kijavítanak.
Új hozzászólás Aktív témák
- Kérlek használd a keresőt, mielőtt kérdezel!
- Olvasd el a téma összefoglalót mielőtt kérdezel!
- A dumpok és a warez tiltott témának számítanak!
- Futás, futópályák
- Xiaomi Watch 2 - fast fashion
- Mr. Beast retteg, elveszi az AI a munkát
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen SSD-t vegyek?
- ASUS ROG Ally
- Sokkal drágább lett az „olcsó” Tesla, mint várták
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Okos Otthon / Smart Home
- Mikrotik routerek
- További aktív témák...
- Lenovo ThinkPad L15 Gen 1 i5 / 16GB RAM / 256GB SSD / FHD IPS / 4G modem
- Lenovo ThinkPad E15 Gen 3 Ryzen 5 / 16GB RAM / 256GB SSD / FHD IPS / 1GB dedikált VGA
- Lenovo ThinkPad X1 Yoga Gen 3 i7 / 16GB / 512GB SSD / 2 az 1-ben érintőkijelző / WQHD IPS
- Lenovo ThinkPad T14s i7 / 32 GB RAM / 256 GB SSD / Full HD IPS
- HP EliteBook 650 G9 12. generációs i5 / 16GB RAM / 256GB SSD / FHD
- BESZÁMÍTÁS! MSI B450 R5 5500 16GB DDR4 512GB SSD RX 6600 XT 8GB Fractal Design Core 2500 ADATA 600W
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest