DOUG LLOYD: As jy kyk ons internet primer video, Ek het 'n bietjie van 'n fotonische lewe deur te praat oor die internet en hoe dit is 'n stelsel van protokolle. Wel, laat ons praat oor die eerste van die protokolle wat eintlik bestaan ​​uit die internet. En interessant genoeg, dit is genoem die protokol Internet, wat ons gewoonlik verwys na as IP. So die internet, soos ek gesê het, is 'n onderling netwerk, 'n internet, wat is regtig net 'n paar netwerke saam geweef en stem op 'n manier om te kommunikeer met mekaar. Wat is dit een of ander manier ek praat? Wel, dit is die Internet Protocol. Dit dikteer hoe inligting oorgedra vanaf punt A na punt B. En dit is 'n soort van 'n toestand van aansluiting by die netwerk van die internet is dit eens wat hierdie een volg protokol wanneer inligting behoeftes van punt A na verskuif na punt B. So aan die einde van daardie internet primer video, Ek het hierdie beeld van wat die internet was. En op 'n klein skaal, dit is eintlik waarskynlik redelik akkuraat. Dit mag wees hoe drie netwerke eintlik met mekaar praat. Maar dit is 'n bietjie misleidend. En die rede waarom dit is 'n bietjie misleidend is because-- as ek net tel die netwerke vir gerieflikheidshalwe hier en ons ontslae te raak van alles en net fokus op die networks-- Dit is 'n bietjie misleidend, want dit impliseer dat al drie netwerk 'n verband met mekaar. Een is verbind tot twee. Twee verbind tot drie. En drie verbind tot een. En wanneer ek praat oor 'n verband hier, ek is praat oor 'n fisiese, bedraad verbinding. Ons het nie draadloos. Maar dit is regtig onprakties data draadloos te stuur oor 'n groot skaal. En so op 'n sekere punt, het ons regtig staatmaak op bedraad technology-- telefoon drade, optiese vesel kabels, verskeie tegnologieë wat fisies verbind punt A na punt B. En op 'n klein skaal soos this-- dit kan akkuraat wees, maar as die beeld kry 'n bietjie groter, laat ons nou dink ons ​​het ses verskillende netwerke. As dit waar is, nou het ons iets soos hierdie vir elke netwerk gekoppel word aan elke ander netwerk. En as jy kyk elke netwerk het vyf pyle verbind. So alles is verbind elke ander netwerk. Ons het net ses netwerke hier en al kyk na hoeveel bedrading ons het in diens te neem, reg? En die internet uit 'n baie meer as ses netwerke. Ons kan nie bekostig om elke draad netwerk met mekaar netwerk, veral in die lig van hierdie netwerke span oseane, reg? As ons probeer om toegang tot 'n netwerk in Asië of in Europa, ons gaan hê om span 'n hele oseaan. Ons gaan moet gebruik drade op 'n sekere punt, maar ons wil die minimum te beperk aantal drade wat ons eintlik gebruik. Ons wil nie 'n stuur miljoen drade oor die oseaan, omdat hulle kos miljoene dollars elk te lê. En so vinnig, sou ons nie in staat wees om om meer bekostig om die internet. Dus het ons na 'n ander te hê manier vir elke netwerk elke ander om te praat netwerk of anders wat ons het stukke van die internet wat opgeskort van ander stukke van die internet. En dit is nie wat ons wil hê. Maar ons wil nie hê hulle almal saam bedraad. En dit is waar routers kom terug in die spel. Ons kan routers gebruik op die volgende manier. Wat as die plek van al netwerk wat fisies gekoppel aan elke ander netwerk, ons het hierdie tussenganger stukke, waar die netwerke verbind hierdie tussengangers, wat verbind is tot 'n paar netwerke. So in plaas van om een ​​aan te sluit op twee, drie, vier, vyf, ses, miskien een verbind om 'n router, wat dalk verbind om een ​​of twee van die netwerke, maar ook Miskien verbind aan ander routers, wat ook sal verbind om die ander netwerke. En die werk van die router se is-- dit bevat inligting bekend as 'n routing tafel wat bepaal waar doen Ek gaan as ek sien 'n bepaalde IP-adres? As ek sien 'n IP-adres beginspan met vier, ek gaan op hierdie manier te gaan. As ek gesien IP-adres begin met 'n 12, ek gaan in daardie rigting gaan. Ons hoef nie te verbind fisies te netwerk nommer vier of netwerk nommer 12 in hierdie voorbeeld. Ons weet net oor die algemeen waar ons wil gaan. En as jy dink oor dit, dit is 'n soort van soortgelyk aan die konsep van rekursie dat ons gepraat oor wanneer ons praat oor dit in C. Ek gaan nie om u te verbind presies waar jy wil gaan. Ek gaan net om jou 'n stap te beweeg nader aan waar jy wil gaan. En Ek sal jou laat iemand anders gaan met die oplossing van die res van die probleem. Ek sal net los hierdie stukkie die probleem en stel die res van dit om iemand anders. So routing inligting is eintlik soort soortgelyk aan rekursie. As dit is 'n konsep wat jy verstaan Wel, miskien is dit analogie sou help. So laat ons neem 'n blik op hierdie netwerk voorbeeld weer en aanvaar dat, weer, ons gaan gebruik daardie ses netwerke, een deur middel van ses. So laat ons net sê dat elke IP adres op die netwerk een begin met 'n dot iets. En ons sal sê dat daar 'n ander ding wat handel oor hoe al die stelsels verbind is tot 'n netwerk. Ons het net omgee verbind al diegene netwerke saam in 'n internet. Sodat elke toestel wat gekoppel aan een netwerk het 'n IP-adres wat begin met een dot en dan drie ander getalle. Dit is 'n veralgemening van die manier waarop dinge eintlik werk. Dit is nogal 'n bietjie meer akkuraat is as hierdie. Maar dit moet jy 'n gee algemene idee van wat die Internet Protokol is eintlik doen. So was dit die diagram ons voorheen gehad het. Dit was die stelsel wat was nie volhoubaar nie. Selfs ses, kan dit dalk OK. Maar as ons by 10 of 20 of 50, ons is gaan lê 'n baie van die drade. En 50 is ook nog nie selfs die punt van die ysberg as die getal van netwerke wat ons het. So hierdie model is onvolhoubaar. Ons kan nie vashou met hierdie. So laat plaas neem hierdie model waar ons ontslae te raak van al die drade tussen die netwerke en ons routers voeg. So het hierdie geel bokse verteenwoordig routers. En hulle werk is om te beweeg inligting in die algemeen nader aan waar dit veronderstel is om te gaan. En miskien dit is die verbindings dat hierdie netwerke. En miskien dit is die tafels wat gebou in die routers. So as ons net begin deur te kyk op netwerk een, byvoorbeeld, basies wat dit sê, is as Ek sien in ewigheid nie 'n adres wat nie begin met 'n one-- dit is wat die uitroepteken een of die knal een is daar nie one-- ek gaan om dit te slaag na 'n router. En van daar af, die router kan 'n besluit te neem. Die router sê as ek sien 'n mens, ek is gaan skuif na netwerk nommer een. Dit is die groen pyl op pad na links uit daardie links top box. As ek sien 'n two-- dis die pyl soort opskrif om die top regs na die pers network-- As ek sien 'n IP-adres begin met 'n twee, Ek gaan om te gaan na die twee netwerk. As ek sien 'n drie, 'n vier, vyf, of 'n six-- dit is dat die rooi pyl uit te kom van die top links router-- ek is nie verbind tot drie, vier, vyf, ses of. Maar ek weet iemand wat is of wat is 'n bietjie nader aan daar. So ek is net gaan om te sê, elke keer as ek sien 'n IP-adres begin met drie, vier, vyf of ses, ek is net gaan om dit te stuur dat router. So sal ek dit 'n bietjie nader te beweeg waar dit veronderstel is om te gaan en laat dat router gaan met die probleem. En as jy kan as jy see-- wou hier stilstaan ​​en trace-- jy elke ander punt in kan kry die netwerk van waar jy is. Al ses netwerke kan nog steeds koppel aan elke ander netwerk maar hulle is nie fisies meer verbind. Hulle is nou al tussen stappe. Nou, natuurlik is daar 'n kompromis van spoed, reg? As een was direk verbind tot ses, sou ons nie het om te gaan deur middel van twee routers langs die pad. So kan ons in staat wees om die te kry verband 'n bietjie vinniger. Maar miskien is dit trade-off is die moeite werd, reg? As dit gaan so duur te wees in terme van die werklike koste, dollars en sent, fisies draad al hierdie netwerke saam miskien 'n bietjie van 'n verlangsaming in spoed is OK. Ons kan duld nie. So weer, in daardie voorbeeld was ons net praat, nie een van die netwerke direk verbind aan mekaar nie. Daar kan hê been-- miskien in daardie voorbeeld Ons kon dit so gemaak dat Miskien netwerk een en twee was direk verbind. En dit sou OK wees. Sommige netwerke fisies gekoppel aan ander netwerke. Maar hulle is nie almal met mekaar verbind. Hulle maak staat op die routers-- in hierdie spesifieke example-- om die kommunikasie te versprei vanaf punt A na punt B. Op 'n klein scale-- soos wat ons praat oor here-- hierdie konfigurasie kan eintlik meer as net ondoeltreffende met direkte verbindings. Maar op 'n groot skaal, wat ons kan skaal van die stelsel 'n baie beter. Dit is regtig gaan verminder ons koste van netwerk-infrastruktuur om tussenganger routers wie se werk het dit is om die verkeer van die sender beweeg aan die ontvanger van punt A na punt B, in teenstelling met almal bedrading saam. So laat ons neem 'n blik op 'n voorbeeld van die inligting reis die gebruik van hierdie Internet Protocol. Kom ons sê dat ek fisies geleë op IP 1.208.12.37 so ek bestaan ​​iewers op die een netwerk. En ek wil 'n boodskap te stuur na jou. En jy op die vyf Netwerk 5.188.109.14. U IP-adres nie spesifiek nie saak, maar in hierdie spesifieke voorbeeld ons praat oor hierdie veralgemening van wat die internet protokol is al oor. Jy is op die vyf-netwerk, en ek is op die een netwerk. Soos jy kan sien, ons is nie met mekaar verbind nie. So ek begin. En Ek wil vir jou 'n boodskap te stuur. En so 'n manier wat ek kommunikeer dat die boodskap van die router. Die router is die een wat eintlik het die IP adres. En dit is op soek na waar dit veronderstel is om te gaan. Ons gaan vyf dot iets. So nou is ek gaan om te begin gebruik van my-- of die router, eerder, gaan begin met behulp van sy router tafel om inligting saam te slaag. Dit sien dat vyf is nie een nie, so dit sê ek gaan om dit te slaag om hierdie man. Toe het hierdie man 'n besluit te neem. Waar gaan ek om te gaan? Wel, dit is nie 'n een, so ek is nie gaan skuif na die een netwerk. En dit is nie 'n twee. Ek gaan nie om te beweeg om die twee netwerk. Dit begin met 'n vyf. Ek is nie gekoppel aan vyf, hierdie router sê. En so is ek net gaan om dit te slaag af aan- Ek gaan om af te gaan hierdie pad. Dit is waar drieë en viere en vywe en sesse gaan. En Ek sal jou laat dat die man deal met dit. Ek sal dit kry 'n bietjie nader waar dit veronderstel is om te gaan. Ek weet dit is veronderstel om te gaan in daardie rigting. Maar miskien dat die man kan dit hanteer. OK. So dat die man lyk. Hy sê, OK, dit IP adres begin met 'n vyf. Wel, ek is verbind tot drie en ses, so ek kan nie die boodskap direk te kry waar dit nodig om te gaan. Maar dat ander router daar, ek weet as ek stuur dit viere en vywe, dit kan hanteer diegene. Dit verby dit so saam op die pad. En dan hierdie router sê, goed, ek is verbind tot netwerke vier en vyf. So, ja, ek kan jou help. Ek sal jou IP-adres te neem wat begin met 'n vyf. Ek sal dit aan die vyf netwerk. Die vyf netwerk sal 'n werk te doen op sy einde en gee die boodskap aan jou. En nou het ons 'suksesvol van my 'n boodskap gestuur om jou gebruik van die Internet Protocol. Weereens, baie veralgemeen word vir doeleindes illustrasie van wat gebeur. Maar dit is pretty much hoe die protokol Internet werk. Die routers weet algemeen waar om dit te stuur en dit sal stuur 'n stap langs die manier om dit nader na sy bestemming totdat een router is fisies verbind om die netwerk of die adres of wat ook al in die vraag en gee dit daar. Nou, in die algemeen, behalwe vir baie, baie klein, klein boodskappe, dit is nie van plan om dit te stuur as een groot stuk van data. As ek stuur jou 'n email-- 'n baie lang e-pos, say-- dit gaan nie om neem dat die hele e-pos, bundel dit in 'n bal of 'n pakket of wat ook al, en stuur dat die hele ding in die netwerk. Eerste van alles, om inligting te stuur langs die netwerk is duur. Dit maak optel. En hoe groter die stuk, die duurder dit is om elke stap van die pad beweeg. En as daar is een of ander manier 'n verlangsaming en dan daar is hierdie soort van soos giant-- As jy ry op die snelweg en daar is hierdie reuse-vragmotor soort blokkeer die pad en jy kan nie kry om dit op enige baan, want dit is soort van versprei. Dit vertraag almal anders agter dit. Maar klein motors, as hulle was almal klein motors, hulle in staat kan wees om rond te beweeg, as dit analogie soort van help n bietjie. So 'n groot blok in die stelsel kan regtig stadig almal anders af. En so what IP gaan doen verdeel die data in pakkies. Dit gaan 'n groot e-pos neem hierdie of FTP oordrag of 'n lêer oordrag, of miskien is ek 'n versoek om 'n webblaaier want ek wil 'n foto van die kat. En dit gaan neem wat versoek of e-pos of die lêer en breek dit op in baie stukke en stuur al die stukke afsonderlik. So in werklikheid, ek vul die snelweg met 'n baie klein motors, wat almal kan beweeg in plaas van 'n groot vragmotor wat mag, as iets verkeerd gaan, wurg die verkeer vir almal anders. Nog newe-effek hiervan is as daar 'n soort van katastrofiese mislukking en iets verkeerd gaan en die pakkie kry gedaal. Iets misluk en die boodskap kan nie oorgedra word. Die router miskien het te veel dinge gaan in. Dit kan nie alles jongleren. En so is dit net letterlik laat val. Dit is soort van die analogie, reg? Dit het 'n baie van die dinge aan die gang. Dit is verby inligting van punt A na punt B. Ons is nie die enigste twee mense op die internet, so dit het 'n baie van die verkeer te verwerk. En as dit nie genoeg hande het en dit kan nie uit te vind wat dit doen, dit mag dalk net iets laat val. So kan dit doen iets anders. Dit het te veel aan die gang. As ons ons boodskap as een groot te sluit en dit was wat het gedaal, nou het ons om die boodskap weer te stuur. En ons is nou moontlik weer veroorsaak verkeer. En ons die risiko van wat loop groot blok om weer gedaal. Maar as die data se is opgebreek in pakkies en ons val een van daardie, dit is 'n baie goedkoper om te stuur wat pakkie een keer in teenstelling om die hele ding nog een keer. So IP verantwoordelik vir die kry inligting van punt A na punt B en ook die oortreding van die inligting in klein stukkies sodat die netwerk is nie té belas word. IP is ook bekend as 'n verbindinglose protokol. Daar is nie noodwendig 'n gedefinieerde pad uit die sender aan die ontvanger of vice versa. Nou, in hierdie voorbeeld het ons gepraat oor, is daar eintlik net een manier elke netwerk te kry. So in hierdie spesifieke illustrasie, daar eintlik is 'n gedefinieerde pad van punt A na punt B. Maar ons kan dit verander deur net die maak een verandering aan die twee routers aan die linkerkant deur die toevoeging van hierdie voorwaarde om die router tafels. Nou sien dat uit die boonste linkerkantste router, daar is eintlik twee maniere om te gaan met 'n vier of vyf IP adres. Dit kan gaan af na die linkerhand router, of kan gaan na die reg, om die regte router. Dit het verskeie opsies. En dit is eintlik soort van 'n goeie ding want dit maak ons netwerk meer ontvanklik. As dit is vir example-- soort van soos 'n GPS. As jy ooit was ry op die snelweg en skielik jou GPS waarsku julle wat verkeer is voor, jy wil om dit te vermy as jy kan. En so kan jy jou roete herbereken. En 'n router netwerk, in Behalwe dat inligting oor waar pakkies moet gaan of waar data moet gaan, daar is ook soort van hierdie algemene pols oor die stand van sy plaaslike netwerk. Wat gaan gebeur as ek stuur dit op hierdie pad versus hierdie pad? En so in die lig van swaar verkeer situasies op die netwerk, miskien dinge sal kry 'n meer aangestuur ondoeltreffende manier of 'n meer algemeen ondoeltreffende manier, want As ons gaan die gewone manier, daar gaan 'n baie verkeer. Die hoofweg is heeltemal vasgesteek. So miskien wat ons sal doen, is in plaas daarvan om sy paaie, wat gewoonlik sou 'n te neem baie meer tyd, maar niemand se regtig die gebruik van dié kant paaie. En so kan ons roete ons pakkies dat die pad. So nie elke pakkie van 'n groot deel van die data kan dieselfde pad van te neem die begin tot die einde. En ons netwerk word 'n baie meer ontvanklik As ons router tafels toelaat, want daar wees verskeie opsies vir waar om te gaan. Ons is nie, afhangende van wat 'n mens vragmotor beweeg uit die pad. Ons kan kry uit die snelweg by die volgende afrit en neem 'n ander pad. En so het die Internet Protocol soort van doen 'n bietjie van dat, ook. So wat is die basiese beginsels van die Internet Protocol. Maar daar is 'n meer kwessie te hanteer, wat is wat gebeur as ons nie drop 'n pakkie? Hoe weet ons ons gaan dat die pakkie weer stuur? Reg? Wel, Internet Protocol beteken lewering waarborg nie. Ons gaan word afhangende op 'n ander protokol om te gaan met wat genoem Transmission Control Protocol, TCP. En ons gaan om te praat oor Transmission Control Protokol in die volgende video. Ek is Doug Lloyd. Dit is CS50.