Paketa e protokolleve të internetit

**TCP/IP** (ang: *Internet Protocol Suite*, shqip: *Suita e Protokolleve të Internetit*) është bashkësia e protokolleve të komunikimit të përdorur për Internetin dhe rrjetet e ngjajshme. E ka marrë emrin nga dy protokollet më të rëndësishme në të: Transmission Control Protocol (TCP) dhe Internet Protocol (IP), të cilat ishin dy protokollet e para të definuara në këtë standard. Rrjeti i sotëm i IP-së paraqet sintezë të disa zhvillimeve që filluan në vitet e 60'-70', përkatësisht Interneti dhe LAN-eve (Local Area Network, Rrjeti i zonës lokale), që e shtri më gjërë në vitet e 80', së bashku me paraqitjen e World Wide Web në fillim të të 90-tave.

Suita e protokolleve të internetit, si edhe suitat e tjera, mund të shikohet si një bashkësi shtresash. Secila shtresë zgjidh një sër problemesh në lidhje me transmetimin e të dhënave, dhe ofron shërbim të definuar qartë tek protokollet e shtresës së sipërme duke u bazuar në përdorimin e shërbimeve të shtresave të poshtme. Shtresat e sipërme janë logjikisht më afër përdoruesit dhe mirren me të dhëna më abstrakte, duke u bazuar në protokollet e shtresës së poshtme për përkthimin e të dhënave në forma që mund të transmetohen fizikisht.

Modeli TCP/IP përbëhet nga katër shtresa (RFC 1122). Nga më ulëta, këto janë Shtresa e linqeve, Shtresa e internetit, Shtresa e transportit, dhe Shtresa e aplikacioneve.

Sikurse telefonat që në rrjetin telefonik lajmërohen me një numër të paracaktuar nga qendra, po ashtu edhe çdo kompjuter që kyçet në internet ka një numër të quajtur *Adresa IP*. Kompjuterët të lidhur në rrjetë quhen *Host* ose *Kompjuter Host* (*Host Computer*). Kështu, kur ju kyçeni me kompjuterin personal në rrjetë, qendra e juaj, ju lajmon aty me një Adresë IP. Keto qendra quhen *provajderë* (*Internet Service Provider* ose *ISP*). Qendra ka kompjuter Host, në të cilin lajmërohet kompjuteri juaj dhe nga aty merre një *Adresë IP statike* me të cilën lajmëroheni në kompjuterë tjerë. Disa qendra të mëdha kanë funksionet shërbyese që ju mundësojnë klientëve të tyre një lajmërim (Adresën IP) dinamik. Me këtë shërbim ju mundësohet prezantimi i ndryshëm i Adresës IP të kompjuterit tuaj në rrjetet tjera. Mirëpo lajmërimi juaj në qendër është i njëjti edhe pasi të jeni ri-lajmëruar në qendër, por për rrjetet dhe llogaritësit tjerë në rrjetë, qendra do të prezantojë një Adresë IP tjetër nga ajo para. Për një gjë të tillë klientit i nevojite një program (software) që pranon protokollin TCP/IP.

## Historia 
Suita e protokolleve të internetit ishte rezultat i punës së DARPA (Defense Advanced Research Projects Agency) në vitet e 70'. Pasi kishte krijuar ARPANETin më 1969, DARPA filloi punën në disa tekonologji të tjera të transmetimit të të dhënave. Më 1972, Robert E. Kahn u punësua në zyrën e teknologjive për procesim të informacionit në DARPA, ku punoi në rrjetet e paketës satelitore (satellite packet) dhe radio paketës tokësore (ground-based radio packet), dhe zbuloi vlerën e të qënit të aftë të komunikosh përmes tyre. Në pranverë të vitit 1973, Vinton Cerf, zhvilluesi i protokollit Network Control Program (NCP) të ARPANET, u bashkua me Kahn për të punuar në modele interkonektuese me arkitekturë të hapur me qëllim të dizejnonin gjeneratën e re të protokolleve për ARPANET-in.

Deri në verën e vitit 1973, Kahn dhe Cerf kishin arritur një reformulim fundamental, ku dallimet mes protokolleve të rrjetit ishin fshehur duke përdorur një internetwork protokoll të zakonshëm, dhe, në vend që rrjeti të ishte përgjegjës për besueshmërinë, si në ARPANET, vetë host-ët u bënë përgjegjës. Cerf krediton Hubert Zimmermanin dhe Louis Pouzinin, dizajner i rrjetit CYCLADES, me ndikim të rëndësishëm në këtë dizajn.

Ndërsa roli i rrjetit u ul në minimum, u bë e mundur të lidheshin pothuajse çdo rrjete së bashku, pavarsisht karakteristikave të tyre, duke zgjidhur kështu problemin fillesar të Kahn-it.

Një kompjuter i quajtur *router* (fillimisht quhej *gateway* por iu ndryshua emri që të mos ngatërrohej me llojet e tjera) ofrohet me një interface (ndërfaqe) te secili rrjet, dhe dërgon më tutje paketa mes tyre. Kushtet për ruterë definohen në .

Ideja u zbatua në një formë më të detajuar nga grupi i hulumtuesve të rrjetit të Cerfit në Stanford në periudhën 1973–74, duke rezultuar me specifikimet e para të TCP . (Puna në rrjet e Xerox PARC, që prodhoi suiten e protokolleve PARC Universal Packet, shumë nga e cila tashmë ekzistonte, ishte gjithashtu ndikim i rëndësishëm teknik; njerëzit lëvizshin mes të dyve.)

DARPA pastajo kontraktoi me BBN Technologies, Stanford University, dhe University College London për të zhvilluar verzione operuese të protokollit në platforma tjera harduerike. Katër versione u zhvilluan: TCP v1, TCP v2, një ndarje në TCP v3 dhe IP v3 në pranverën e vitit 1978, dhe pastaj stabilitet me TCP/IP v4 — protokolli standard ende në përdorim për Internetin sot.

Më 1975, një test komunikimi TCP/IP mes dy rrjetesh u bë mes Universitetit të Stanfordit dhe Universitetit College London (UCL). Në nëntor, 1977, një test mes tri rrjetesh u bë në mes faqeve në SHBA, Britani, dhe Norvegji. Disa prototipe të tjera TCP/IP u zhvilluan në qendra të ndryshme hulumtuese mes viteve 1978 dhe 1983.  Migrimi i ARPANET-it në TCP/IP u kompletua zyrtarisht më 1 janar, 1983 kur protokollet e reja aktivizuan përhershmërisht.

Në mars 1982, Departamenti i mbrojtjes së Shteteve të Bashkuara shpalli TCP/IP-në si standardin për të gjitha rrjetet kompjuterike ushtarake. Më 1985, Internet Architecture Board (Bordi i arkitekturës së internetit) mbajti një seminar tre-ditorë për TCP/IP në industrinë kompjuterike ku morrën pjesë 250 shit-blerës, duke promovuar protokollin dhe duke e dërguar atë në përdorim komercial.

Kahn dhe Cerf u nderuan me Medaljen Presidenciale të Lirisë më 9 nëntor, 2005 për kontributin e tyre në kulturën amerikane.

### TCP/IP Mësimi
Skeda:Computernetwork.png

**TCP/IP është transmetim protokolli për internet.**

Në këtë mësim ju do të mësoni se ç’fare është TCP/IP, dhe si punon ajo.
[transmetim-lidhje, mjeti komunikimi, komunikate]
[protokoll-Marrëveshje që bëhet ndërmjet dy palëve për shkëmbimet e të dhënave. ]

**TCP/IP është komunikimi i të dhënave në internet.**

Një lidhje protokolli është një përshkrim i rregullave që kompjuteri duhet të ndjek për me komunikuar me kompjuterë të tjerë. Komunikimi i të dhënave në internet shpjegon rregullat e kompjuterit në lidhje përmes internetit.

**Shfletuesi juaj dhe serveri juaj përdorë TCP/IP**

Shfletuesit e internetit dhe serverët internetit përdorin TCP/IP për t’u lidhur në rrjet. Shfletuesi juaj përdor TCP/IP që të ketë qasje në serverët e internetit, dhe serverët përdorin TCP/IP për të ju transmetuar HTML në shfletuesin tuaj.
[shfletues - p.sh. Internet Explorer, Firefox, Opera]

**E-maili yt përdor TCP/IP**

E-mail programi juaj përdor TCP/IP që të lidhet në internet për të dërguar apo pranuar e-maila.
Adresa juaj e internetit është TCP/IP
Adresa juaj e internetit p.sh. “213.163.118.65” është pjesë standarde e protokollit te TCP/IP. Dhe kështu është edhe emri i domain-it p.sh. www.emriidomainit.com.

## Ç’farë është TCP/IP?
TCP/IP është lidhje protokolli për komunikimin në mes kompjuterëve të lidhur në internet.
TCP/IP mban transmetimin e rregullave te protokollit / internet protokollit.
Zakonisht definon se si pajisjet elektronike (si kompjuterët) duhet të jenë të lidhur në internet, dhe se si të dhënat duhet të shkëmbehen në për mes tyre.

**Brenda TCP/IP**

Brenda në TCP/IP standarde gjendën numra të protokolleve për shkëmbimin e të dhënave të lidhura.
TCP (Transmission Control Protocol) komunikimi ne mes programeve.
UDP (User Datagram Protocol) komunikimi i thjeshte ne mes programeve.
IP (Internet Protocol) komunikimi në mes kompjuterëve.
ICMP(Internet Control Message Protocol) për gabimet dhe statistikat.
DHCP(Dynamic Host Configuration Protocol) për adresat dinamik (lëvizëse)

**TCP përdor lidhje të caktuara.**

TCP është për komunikimin në mes programeve.
Kur një aplikacion dëshiron të komunikon me një tjetër me anë të TCP, i dërgon një kërkesë komunikimi. Kjo kërkesë duhet të dërgohet në adrese të saktë. Pas një lidhjeje (një shtrëngim duarsh) në mes dy aplikacioneve, TCP do të krijoj një lidhje të dyfishtë komunikimi në mes dy aplikacioneve.
Transmetimi i të dhënave i dyfishtë (ang. Full-duplex) do të merr lidhjen e vijës së transmetimit në mes dy kompjuterëve derisa njeri nga dy aplikacionet të mbyllet.
UDP është shume e thjesht te TCP, por është e thjesht dhe më shumë e besueshme.  

**IP është përcaktimi i adresës tënde në internet**

IP është për lidhjen e dy kompjuterëve.
IP është një komunikim i protokollit. Ajo nuk do të zaptoj të dhënat në linjën e lidhjes në mes dy komunikimeve të dy kompjuterëve. IP zvogëlon rrugën për nevojën e rrjetit në një linjë. Secila linjë mund të përdorë për komunikimin në mes shumë kompjuterëve të ndryshëm në të njëjtën kohë.
Me IP, mesazhet (të dhënat) janë të ndara në paketa të pavarura dhe shkëmbehen nëpërmjet internetit në kompjuterë.
IP është përgjegjëse për rrugën e përcaktuar të çdo pakete.

**IP linja**

[Router- është rruga, linja...mund ta paramendojmë me një stacion treni]
[Stacion- qendër e posaçme, e pajisur me mjetet e duhura për të kryer një punë a një shërbim.]
Kur një paket IP-je dërgohet nja një kompjuter, arrin në një stacion IP-je. 
IP stacioni (router) është përgjegjëse për rrugën e paketës në cakun e saj, direkt apo nëpërmes ndonjë stacioni tjetër (another router).
Rruga e paketës mund të jetë ndryshe nga paketat tjera në të njëjtën lidhje. Stacioni (router) është përgjegjëse për adresën e saktë të varur në një trafik të madh, gabime në rrjet, apo parametra te tjerë.

**Komunikimi ndërmjet rrjetit**

Komunikimi ndërmjet IP është sikur dërgimi i një letre si një numër i madh i pullave postare, secila gjetje e rrugës është ndryshe te pranuesi i saj.

**TCP/IP**

TCP/IP është TCP dhe IP që punojnë së bashku.
TCP bën kujdes në komunikimin ndërmjet programit aplikativ tuajin (p.sh. shfletuesi juaj Opera apo ndonjë tjetër) dhe programit te rrjetit.
IP mbikëqyr komunikimin me kompjuterët tjerë.
TCP është përgjegjëse për përgatitjen e të dhënave brenda paketave të IP para se të dërgohen, dhe për gatitjen e paketave kur të arrijnë.
IP është përgjegjëse për dërgimin e paketave te marrësi.
Adresimi TCP/IP
TCP/IP përdor 32bits, ose 4 numra ndërmjet 0 dhe 255 që të adresoj një kompjuter.

## IP Adresat
Secili kompjuter duhet të ketë një IP adresë para se të kyçet ne internet.
Secila paket e IP duhet të ketë një adresë para se të dërgohet të një kompjuter tjetër.
Kjo është një IP adresë: 91.198.174.232
Kjo mund të jete e njëjta IP adresë: www.wikipedia.org

*Një IP adresë përmban 4 numra*

Kjo është IP adresa e jotja: 213.163.118.65
TCP/IP përdor 4 numra që të adresoj një kompjuter. Secili kompjuter duhet të ketë 4 numra adresë unike. Numrat janë gjithmonë ndërmjet 0 dhe 255. Adresat janë normalisht të shkruara si katër numra të ndarë nga një periodë si kështu: 192.168.1.50.

32Bits = 4 Bytes
TCP/IP përdorë 32 bit për adresim. Një bajt është 8 bit. Pra TCP/IP përdorë 4 bajt. Një bajt mund të përmbajë 256 vlera të ndryshme:
00000000, 00000001, 00000010, 00000011, 00000100, 00000101, 00000110, 00000111, 00001000 .......dhe deri sa të arrin në 11111111.
Tash pra e din pse një TCP/IP adresë është 4 numra ndërmjet 0 dhe 255.
Pra një TCP/IP është e përbërë nga 4 numra të ndarë nga një periodë (.) p.sh.
192.168.123.132 nëse  këta i shprehim në numra binar 32 bit do të ishte kështu:
11000000.10101000.01111011 .10000100.
Pra e shikoni nuk ka kuptim të mirë, dhe për ketë arsye janë konvertuar në numra decimal. 192.168.123.132

Për këtë proces që të punojë, një IP adresë është e ndarë në dy pjesë. Pjesa e parë e një IP adrese është përdorur si një adrese rrjeti (ang. network address),  pjesa e fundi si adresë hapësire (ang. host address). Nëse marrim p.sh.  213.188.129.141  dhe e ndajmë në dy pjese do kemi kështu:

213.188.129. NETWORK (rrjeti) .141  HOST (hapësira)

ose

213.188.129.0 – network address (adresa e rrjetit, internetit). 
0.0.0.141 –host address (adresa e hapësirës, serverit)

## Emri i Domenit 
12 shifra numra janë vështirë të mbahen në mend apo? Duke përdorur një emër është më lehtë. Emrat e përdorur për TCP/IP adresë quhen domain. www.wikipedia.org është një domain.
Kur të hasësh në ndonjë ueb site si ky p.sh. http://wikipedia.org, emri është i përkthyer në numra me DNS proces (Domain Name Server).
Në të gjithë botën, një numër i madh i serverëve DNS janë te lidhur në internet. DNS serverët janë përgjegjës për përkthimin e emrave të domain-ëve në TCP/IP adresa dhe të ripërtërijnë në mes vete me domain emra të ri.
Kur një domain i ri është regjistruar së bashku me një TCP/IP adresë, DNS serverët në të gjithë botën janë të njoftuar për ketë informatë.

Referime nga: www.w3schools.com

## Shtresat 
### Koncepti i shtresave 
Suita TCP/IP përdor metodën e quajtur enkapsulim për të ofruar abstraktin e protokolleve dhe shërbimeve. Enkapsulimi i tillë zakonisht shkon bashkë me ndarjen e suitës së protokollëve në shtresa të funksionimit të përgjithshmë. Në përgjithësi, një aplikacion (niveli më i lartë i modelit) përdor disa protokolle për të dërguar të dhënat e veta nëpër këto shtresa, që enkapsulohen më tutje në çdo nivel.

Kjo mund të ilustrohet me një shembull të skenarit të një rrjeti, gjatë të cilit dy host-kompjuterë të internetit komunikojnë nëpërmjet kufijve të rrjeteve lokale të formuara nga "internetworking gateways" ose routerëve.

Grupet funksionale të protokolleve dhe metodave janë Shtresa e aplikacioneve, Shtresa e transportit, Shtresa e internetit, dhe Shtresa e linqeve (RFC 1122). Duhet përmendur se ky model nuk u mendua të bëhej model referimi i ngurtë ku protokollet e reja duhet të zënë vend në mënyrë që të pranohen si standard.
 
Tabela në vijim ofron disa shembuj të protokolleve të grupuara në shtresat e tyre respektive.

### Emrat dhe numrii shtresave në literaturë 
Tabela në vijim tregon emrat e shtresave dhe numrin e shtresave në modelin TCP/IP siç prezantohen në libra universitarë mbi rrjetet kompjuterike të përdorura në ditët e sotme. 
 

Megjithatë këto libra janë burime dytësore që mund të bien në kundërshtim me qëllimin e RFC 1122 dhe burime tjera primare të IETF.

## IP – Internet Protocol
IP mbikëqyr komunikimin me kompjuterët tjerë
IP është përgjegjëse për dërgimin e paketave te marrësi.

*HTTP – Hyper Text Transfer Protocol

HTTP bën mbikëqyrjen e komunikimit ndërmjet një ueb serveri dhe një ueb shfletuesi.HTTP përdoret për dërgimin e kërkesave nga një ueb klient (një shfletues) në një ueb server, dhe kthimin e përmbajtjes së uebit nga serveri te klienti.

*HTTPS – Secure HTTP

HTTPS bën mbikëqyrjen e sigurimit të komunikimit ndërmjet një ueb serveri dhe një ueb shfletuesi.HTTPS ne mënyre tipike bën sigurimin e transferove të kredit kartave dhe të dhëna të tjera.

*SSL – Secure Socketes Layer
SLL protokolli përdoret për dekodimin e të dhënave të siguruara në transferime.

*SMTP – Simple Mail Transfer Protocol
SMTP përdoret për dërgimin (transmetimin) e emailëve.

*MIME – Multi-purpose Internet Mail Extensions
MIME protokolli lejon SMTP transmetimin e fajllëve multimedial si p.sh. zëri, muzika, dhe të dhëna tjera ndërmjet TCP/IP rrjetit.

*IMAP – Internet Message Access Protocol
IMAP përdoret për dërgimin dhe marrjen e emailëve.

*POP – Post Office Protocol
POP përdoret për shkarkimin e emailëve nga një e-mail server të një kompjuter personal.

*FTP – File Transfer Protocol
FTP bën mbikëqyrjen e transferimeve të fajlleve ndërmjet kompjuterëve.

*NTP – Network Time Protocol
NTP përdoret për të rregulluar kohën ndërmjet kompjuterëve.

*DHCP – Dynamic Host Configuration Protocol
DHCP përdoret për shpërndarjen e IP-ve dinamike (lëvizëse) te kompjuterët në rrjet.

*SNMP – Simple Network Management Protocol
SNMP përdoret për administrimin e rrjeteve në kompjuter.

*LDAP – Lightweight Directory Access Protocol
LDAP përdoret për zgjedhjen e informatave rreth përdoruesit dhe e-mail adresës nga interneti.

*ICMP – Internet Cotrol Message Protocol
ICMP bën mbikëqyrjen e gabimeve te trafikut ne internet.

*ARP – Address Resolution Protocol
ARP përdoret për gjetjen e adresës së harduerit të një kompjuteri në internet kartën bazuar në IP adresë.

*RARP – Reverse Address Resolution Protocol
RARP përdoret për gjetjen e IP adresës bazuar në harduer adresën e një kompjuteri në internet kartën.

*BOOTP – Boot Protocol
BOOTP përdoret për nisjen (booting) e kompjuterëve nga interneti.

*PPTP – Point to Point Tunneling Protocol
PPTP përdoret për rregullimin e një lidhjeje ndërmjet rrjeteve private.

Skeda:IP stack connections.svg

## TCP/IP Email
Emaili është një ndër më të rëndësishmet të përdorura te TCP/IP.
Kur shkruan një email, ti nuk e përdor TCP/IP.
Kur ti shkruan një email, ti përdor një email program si Lotus Notes, Microsoft Outlook, Live or Netscape si komunikues.

Email programi juaj përdor TCP/IP protokolle të ndryshme:
Dërgon emaila duke përdorur SMTP
Mund të shkarkohen emailet tuaj nga një email server duke përdorur POP
Mund të konektohet te një email server duke përdorur IMAP

## SMTP – Simple Mail Transfer Protocol
SMTP protokollet përdoren për transferimin e emaileve. SMTP bën mbikëqyrjen e dërgimit të emaileve tuaj të një kompjuter tjetër. Normal emailet tuaj dërgohen të një email server (SMTP server), dhe pastaj te një server tjetër ose servera, dhe ne fund në finale në destinacionin e tij.
SMTP mund vetëm të transmeton tekst. Nuk mund të transmetoj të dhëna binare si foto, muzike ose filma.
SMTP përdor MIME protokoll për dërgimin e të dhënave binare ndërmjet TCP/IP rrjeteve. MIME protokolli i konverton të dhënat binare në tekst.

## POP – Post Office Protocol
The POP protocol përdoret nga email programet si p.sh. MS Outlook për marrjen e emaileve nga një email server.
Nëse email programi juaj përdor POP, të gjitha emailet tuaj shkarkohen automatikisht te email programi (i ashtuquajtur email klient), në secilën kohë që ti konektohesh te email serveri yt.

## IMAP – Internet Message Access Protocol
IMAP protokolli përdoret nga email programet si p.sh. MS Outlook ashtu si POP protokolli. Ndryshimi i vetëm ndërmjet IMAP protokollit dhe POP protokollit është se IMAP protokolli nuk do ti shkarkoj automatikisht të gjitha emailet në secilën kohë që konektohesh të email serveri yt.
IMAP protokolli të lejon që ti shikosh ndërmjet email mesazheve në email serverin para se ti shkarkosh ato. Me IMAP ti mund të zgjedhësh të shkarkosh mesazhet apo ti fshish ato. Kjo rruge është pra se IMAP është perfekte nëse dëshiron të konektohesh te email serveri yt nga lokacione te ndryshme.

## Referime