Sve to moze jednostavnije da se objasni:
1.App layer preda
[data] transport layer-u u vecini slucajeva - tcp ili udp.
2.Onda na to tcp (ili udp) doda svoje zaglavlje u kome su informacije o portu (source/dest) , sequence number-u,"duzini" paketa...i jos gomila bajtova.
To izgleda ovako:
[tcp_header][data]
3.Sve to preuzme ip (network layer) i doda neke svoje podatke a to su pod obavezno:
IP_Version b: 4 (b: 4 - znaci da je odvojeno 4 bajta za ip verziju)
IP_HdrLen b: 4
IP_Tos b: 8
IP_TotLen b: 16
IP_Id b: 16
IP_FragOff b: 16
IP_TTL b: 8
IP_Proto b: 8
IP_Hcksum b: 16
IP_Src b: 32 5 (Source Adresa)
IP_Dst b: 32 4 (Destination Adresa)
...i jos neki neobavezni podaci...
Za vise informacija pogledati rfc-ove:
http://www.ietf.org/rfc/rfcNNNN.txt gde je NNNN broj rfc dokumenta.
Znaci sada paket izgleda ovako:
[ip_header][tcp_header][data]
4.Na kraju to pokupi Physical Layer koji , naravno , doda svoje zaglavlje koje , izmedju ostalih podataka sadrzi source i destination MAC (ethernet...) adresu (jedinstvena adresa za svako parce mreznog hardvera).Paket bi izgledao ovako:
[mac_header][ip_header][tcp_header][data]
...iiiii sve to izlazi na zicu pa kad stigne do zeljenog adaptera opet sve ovo samo u obrnutom redosledu dok ne dodje do same aplikacije.
Da bi sve to bilo jos jasnije evo primer jednog UDP paketa,u pitanju je dns query za
www.google.com :
1 IP_Version b: 4 0 4
1 IP_HdrLen b: 4 0 5
1 IP_Tos b: 8 0 0
1 IP_TotLen b: 16 0 59
1 IP_Id b: 16 1 5a00
1 IP_FragOff b: 16 0 0
1 IP_TTL b: 8 0 32
1 IP_Proto b: 8 0 17
1 IP_Hcksum b: 16 3 [Checksum]
1 IP_Src b: 32 5 194.239.120.20
1 IP_Dst b: 32 4 194.239.134.83
2 udp_sport b: 16 0 1035
2 udp_dport b: 16 0 53
2 udp_length b: 16 0 39
2 udp_csum b: 16 0 0
2 DNS_id b: 16 0 1
2 DNS_QR b: 1 0 0
2 DNS_Opcode b: 4 0 0
2 DNS_AA b: 1 0 0
2 DNS_TC b: 1 0 0
2 DNS_RD b: 1 0 1
2 DNS_RA b: 1 0 0
2 DNS_Z#1 b: 2 0 0
2 DNS_Z#2 b: 1 0 0
2 DNS_RCODE b: 4 0 0
2 DNS_QDC b: 16 0 1
2 DNS_ANC b: 16 0 0
2 DNS_NSC b: 16 0 0
2 DNS_ARC b: 16 0 0
2 DNS_ b: 8 0 3
2 DNS_ B: 3 2 www
2 DNS_ b: 8 0 5
2 DNS_ B: 5 2 yahoo
2 DNS_ b: 8 0 3
2 DNS_ B: 3 2 com
2 DNS_ b: 8 0 0
2 DNS_QTYPE b: 16 0 1
2 DNS_QCLS b: 16 0 1
(ovde nije prikazan mac header)
A ovo je jedan ICMP destination unreacheable paket u hex-u:
00000000 1C 40 20 00 01 00 00 00 01 00 00 00 08 00 45 00
[email protected].
00000010 00 38 27 4E 00 00 80 01 BC E2 C3 FC 67 26 C3 FC .8'N........g&..
00000020 67 75 03 03 12 C7 00 00 00 00 45 00 00 4E 35 0F gu........E..N5.
00000030 00 00 7E 11 B0 FB C3 FC 67 75 C3 FC 67 26 04 09 ..~.....gu..g&..
00000040 00 89 00 3A E5 69 ...:.i
WM Out.
We look into the net, and the net is growing wide and wider.