DOUG LLOYD: Se vi spektis nia interreto aboco vídeo, Mi lasis iom de cliffhanger parolante pri la interreto kaj kiel ĝi estas sistemo de protokoloj. Nu, ni parolu pri la unua el tiuj protokoloj vere komprenas la interreton. Kaj interese sufiĉe, ĝi estas nomita Interreto Protocol, kiun ni kutime raportas kiel IP. Do la interreto, kiel mi diris, estas interligita reto, interreto, kiu estas vere nur pluraj retoj kunplektitaj kaj koincidante iel komuniki kun unu alia. Kio estas ĉi iel mi parolas? Nu, tiu estas la Interreta Protokolo. Ĉi diktas kiom informo transdonita de punkto A al punkto B. Kaj ĉi tiu estas speco de kondiĉo de aliĝanta la reto de interreto estas jesado sekvi tiun protokolo kiam informo bezonoj esti movita de punkto A al punkto B. Do je la fino de tiu interreto aboco vídeo, Mi montris tiun bildon de kion interreto estis. Kaj sur malgranda skalo, tiu estas fakte probable bele preciza. Tio povas esti kiom tri retoj reale paroli al ĉiu alia. Sed estas iom iluzia. Kaj la kialo estas iom iluzia estas because-- se mi nur kalkuli la retojn por oportuneco tie kaj ni forigi ĉion alian kaj ĝuste enfokusigi la networks-- ĝi estas iom iluzia ĉar implicas ke ĉiuj tri havas reton rilato al unu alia. Unu estas konektita al du. Du estas konektita al tri. Kaj tri estas kunligita al tiu. Kaj kiam mi parolas pri ligo ĉi tie, tute parolas pri fizikaj, kabligita konekton. Ni havas sendratan. Sed estas vere nepraktika por datumoj esti transdonita inalámbricamente super granda skalo. Kaj tiel en iu punkto, ni vere fidi sur telegramis technology-- telefonaj kabloj, optika fibro dratoj, diversaj teknologioj kiuj fizike konektanta punkto A al punkto B. Kaj sur malgranda skalo kiel this-- ĉi povus esti precizaj, sed kiel la bildo ricevas iom pli granda, ni nun imagu ni havas ses malsamaj retoj. Se tio estas vera, ni nun devas ion tiel por ĉiu reto esti konektita al ĉiu alia reto. Kaj se vi rigardas, ĉiu reto havas kvin sagoj ligitaj al ĝi. Do ĉio estas konektita al ĉiu alia reto. Ni nur havas ses retoj tie, kaj jam rigardi kiom drataro ni devas dungi, dekstra? Kaj la interreto konsistas multe pli ol ses retoj. Ni ne povas pagi al ĉiu drato reto al la alia reto, speciale konsiderante kelkaj tiuj retoj span oceanoj, dekstra? Se ni provas konekti al reto en Azio aŭ en Eŭropo, ni tuj devas ampleksas tutan oceanon. Ni tuj bezonos uzi dratojn ĉe iu punkto, sed ni volas minimumigi la numeron de dratoj ni efektive utiligas. Ni ne volas sendi milionoj dratojn trans la oceanon, ĉar ili kostas milionojn de dolarojn po kuŝiĝi. Kaj tiel rapide, ni ne povos pagi interreton plu. Do ni devas havi alian maniero por ĉiu reto paroli kun ĉiuj aliaj reto alie ni havi pecojn de interreto kiuj malkonektiĝis de aliaj pecoj de la interreto. Kaj tio ne estas kion ni volas. Sed ni ne volas havi ili ĉiuj telegramis kune. Kaj tio estas kie la routers revenos en ludon. Ni povas uzi routers en la sekva maniero. Kio se anstataŭ ĉiuj reto estanta fizike koneksa al ĉiu alia reto, ni havis tiujn peranto pecoj, kie la retoj estis konektitaj al tiuj intermediarios, kiu estas konektitaj al kelkaj retoj. Do anstataŭ havi unu konekti al du, tri, kvar, kvin, ses, eble unu konektas al enkursigilo, kiu eble konektas al unu aŭ du el tiuj retoj, sed ankaŭ eble konektas al alia routers, kiu ankaŭ konektos al tiuj aliaj retoj. Kaj la enkursigilo laborposteno is-- ĝi enhavas informojn nomata enrutamiento tablo kiu diktas kie fari Mi iras, se mi vidas aparta IP-adreso? Se mi vidas IP adreso starta kun kvar Mi tuj iros tiamaniere. Se mi vidis IP komencante 12, mi tuj iru tiudirekte. Ni ne bezonas esti konektita fizike al reto nombro kvar aŭ reto numeron 12 en ĉi tiu ekzemplo. Ni nur scias ĝenerale kie ni volas iri. Kaj se vi pensas pri ĝi, tiu estas speco de simila al la koncepto de rekursio ke ni parolis pri kiam ni parolis pri ĝi en C. Mi ne tuj konekti vin al ĝuste kie vi volas iri. Mi simple tuj movi vin unu paŝo pli proksime al kie vi volas iri. Kaj mi lasos iu alia traktas solvanta la resto de la problemo. Mi nur solvi ĉi tiun malgrandan pecon de la problemo kaj prokrasti la reston de ĝi al iu alia. Do enrutamiento informo reale speco de simila al rekursio. Se tio estas koncepto ke vi komprenas nu, eble tiu analogio helpus. Do ni rigardu tiu interkonektanta ekzemplo denove kaj supozi ke, denove, ni tuj uzi tiujn samajn ses retoj, unu tra ses. Do ni nur diros, ke ĉiu IP adreso sur reto unu komenciĝas per unu punkto ion. Kaj ni diru, ke ne estas iu alia afero ke traktas kiel ĉiuj sistemoj estas konektitaj al reto unu. Ni nur zorgas pri konektanta ĉiujn tiuj retoj kune en interreto. Do ĉiu aparato kiu estas konektita al reto unu havas IP adreso kiu komenciĝas per unu punkto kaj tiam tri aliaj numeroj. Ĉi tiu estas ĝeneraligo de Tiamaniere vere funkcias. Ĝi estas tre iom pli precizan ol tio. Sed ĉi devus doni vin ĝenerala ideo de kio la Interreto Protokolo estas efektive faranta. Do tio estis la diagramo ni havis antaŭe. Tio estis la sistemo kiu ne estis daŭrigebla. Eĉ ses, povas esti tiu OK. Sed se ni atingos 10 aŭ 20 aŭ 50, ni estas tuj estos kuŝanta multajn dratojn. Kaj 50 estas ankoraŭ ankaŭ ne eĉ la pinto de la glacimonto kiel por la numero de retoj ni havas. Do tiu modelo estas nedaŭrigebla. Ni ne povas senmoviĝi kun ĉi tiu. Do ni anstataŭ adopti tiu modelo kie ni forigi de ĉiuj dratoj inter la retoj kaj ni aldonos routers. Tiuj flavaj kestoj reprezentas routers. Ilia laborposteno estas movi informo ĝenerale pli proksime al kie ĝi estas supozita iri. Kaj eble tiuj estas la rilatoj ke tiuj retoj havas. Kaj eble tiuj estas la tablojn ke estas konstruitaj en la routers. Do se ni simple komenci per rigardado ĉe reto, ekzemple, esence kion ĝi diras estas se Mi iam vidi adreson ke ne komencas per one-- tion la ekkrion punkto aŭ bang unu ekzistas, ne one-- Mi tuj pasi ĝin al enkursigilo. Kaj de tie, la enkursigilo povas fari decidon. La enkursigilo diras se mi vidas unu, mi estas tuj movi al reto numero unu. Jen la verda sago gvidanta maldekstre el tiu supra maldekstra skatolo. Se mi vidas two-- tio la sago ia rubriko al la supro rajton al la purpuran network-- se mi vidas IP adreso komencante kun du, Mi tuj iros al la du reto. Se mi vidas tri, kvar, kvin, aŭ six-- tio ke ruĝa sago eliras de la supro maldekstro router-- mi ne konektitaj tri, kvar, kvin, aŭ ses. Sed mi scias iun kiu estas aŭ kiu estas iomete pli proksime al tie. Do mi simple volis diri, ajn mi vidas IP adreso komencante tri, kvar, kvin, aŭ ses, mi estas nur tuj sendos gxin al tiu router. Do mi devos movi ĝin iom pli proksima al kie ĝi estas supozita iri kaj lasu kiu router traktadon kun la problemo. Kaj kiel vi povas Konsideru se vi volis paŭzi tie kaj trace-- vi povas akiri al ĉiu alia punkto en la reto de kie ajn vi estas. Ĉiuj ses retoj povas ankoraŭ konekti al ĉiu alia reto sed ili ne estas fizike konektita anymore. Ili estas nun tiuj interaj paŝoj. Nun, kompreneble ekzistas komerco ekstere de rapido, dekstra? Se unu estis rekte konektitaj ses, ni ne volis devas iri tra du routers survoje. Do ni povu akiri la ligo iomete pli rapida. Sed eble tio komerco-off valoras, ĉu ne? Se ĝi okazas al esti tiel multekosta laŭ fakta kosto, dolaroj kaj centonoj, fizike drato ĉiuj tiuj retoj kune, eble iomete de malrapidiĝo en rapido estas okej. Ni povas toleri tion. Do denove, en tiu ekzemplo ni estis ĵus parolas, neniu el la retoj rekte konekti al reciproke ĉiuj. Tie povus havi been-- eble en tiu ekzemplo Ni povis esti farita tiel ke eble reto unu kaj du estis rekte konektita. Kaj tio estus en ordo. Iuj retoj estas fizike konektita al aliaj retoj. Sed ili ne ĉiuj konektitaj inter aliaj. Ili fidas sur la routers-- en ĉi tiu aparta example-- distribui la komunikado el punkto A al punkto B. Sur malgranda scale-- kiel kio ni parolas pri here-- tiu agordo fakte povus esti pli malefika ol nur havante rektajn rilatojn. Sed grandskale, ni povas grimpi la sistemo multe pli bone. Ĝi estas vere iranta redukti nian koston de infrastrukturo de reto havi peranto routers kies laborposteno ĝi estas movi trafikon de la sendinto al la ricevilo, de punkto A al punkto B, kontraste al cablear ĉiuj kune. Do ni rigardu ekzemplo de informo vojaĝas uzante tiu Interreta Protokolo. Diru ke mi estas fizike situanta ĉe IP 1.208.12.37 do mi ekzistas ie sur la reto. Kaj mi volas sendi mesaĝon al vi. Kaj vi estas sur la kvin reto ĉe 5.188.109.14. Via IP specife ne gravas, sed en ĉi tiu aparta ekzemplo ni parolas pri tiu ĝeneraligo de kio la interreto protokolo estas ĉiuj pri. Vi estas sur la kvin reto, kaj mi estas sur la reto. Kiel vi povas vidi, ni ne estas konektitaj inter aliaj ajn. Do mi komencas eksteren. Mi volas sendi al vi mesaĝon. Do iel mi komuniki tiun mesaĝon al la enkursigilo. La router estas kiu reale havas la IP-adreso. Kaj ĝin rigardante kie ĝi estas supozita iri. Ni tuj kvin skalara ion. Do nun mi iros por komenci uzante my-- aŭ la router, prefere, tuj ekuzi lia enkursigilo tablo pasi informo kune. Ĝi vidas ke kvin ne estas unu, do ĝi Diras mi tuj fordoni al tiu ulo. Tiam tiu ulo devas fari decidon. Kie mi povos iri? Nu, ĝi ne estas unu, do mi ne tuj movi al la reto. Kaj ĝi ne estas du. Mi ne tuj movi al la du reto. Ĝi komencas kun kvin. Mi ne konektita al kvin, ĉi enkursigilo diras. Kaj do mi simple tuj pasos ĝin to-- mi tuj iros malsupren tiu pado. Jen kie triope kaj kvarpiede kaj Fives kaj sesoj iri. Kaj mi permesos ke ulo rilatas al ĝi. Mi havos ĝin iom pli proksima al kie ĝi estas supozita iri. Mi scias ke estas supozita iri en tiu ĝenerala direkto. Sed eble tiu ulo povas trakti ĝin. BONE. Do tiu ulo aspektas. Li diras, OK, ĉi IP Adreso komencas kun kvin. Nu, mi konektita al tri kaj al ses, do mi ne povas ricevi la mesaĝon rekte kie ĝi bezonas iri. Sed tiu alia enkursigilo tien, mi scii se mi forsendos ŝin kvarpiede kaj Fives, ĝi povas manipuli tiujn. Do pasas ĝin kune sur la padon. Kaj tiam tiu router diras, bone, mi estas konektitaj retoj kvar kaj kvin. Do, jes, mi povas helpi vin. Mi prenos vian IP kiu komenciĝas per kvin. Mi donos gxin al la kvin reto. La kvin reto faros iun laboron sur lia fino kaj doni la mesaĝon al vi. Kaj nun ni sukcese transdonis mesaĝon de mi al vi uzante la Interreto Protocol. Denove, tre ĝeneraligita por celoj de ilustraĵo kiel al kio okazas. Sed tio estas preskaux kiel Interreto Protocol funkcias. La routers scias ĝenerale kie sendi ĝin kaj sendos ĝin unu paŝon laŭ la vojo, ricevas ĝin pli kaj pli proksimen al lia destino ĝis unu enkursigilo fizike konektita al la reto aŭ la adreso aŭ kio ajn en demando kaj donas ĝin tie. Nun, en ĝenerala, krom vere, vere malgranda, malgranda mesaĝojn, ĝi ne tuj sendi ĝin kiel unu granda bloko de datumoj. Se mi sendas al vi email-- tre longa retpoŝto, say-- ĝi ne tuj preni tiun tutan retmesaĝon, pakaĵaj ĝin en pilko aŭ pako aŭ kio ajn, kaj sendu tiun tutan afero malsupren la reto. Unue, sendante informo kune la reto estas multekosta. Ĝi sumigas. Kaj la pli granda la chunk, des pli peniga ĝi estas movi ĉiu paŝo de la vojo. Kaj se tie estas iel malrapidiĝon kaj tiam ekzistas tiu giant-- ia kiel se vi veturanta sur la aŭtovojo kaj ekzistas tiu giganta kamiono speco de blokanta la vojon kaj vi ne povas akiri ĉirkaŭ ĝi ĉiuflanke leno ĉar ĝi estas speco de etendita. Paŭzo ĉiuj aliaj malsupren malantaŭ ĝi. Sed malgrandaj aŭtoj, se ili ĉiuj estis malgrandaj aŭtoj, ili eble povus moviĝu, se tiu analogio ia helpas iomete. Do unu granda bloko en la sistemo povas vere malrapida everybody alia suben. Kaj tiel kion IP tuj faros estas disfendita tiun datumon en paketojn. Ĝi tuj prenu tiun grandan retpoŝto aŭ FTP transporto aŭ transporto de arkivoj, aŭ eble mi faras peti al retumilo ĉar mi deziras bildojn de kato. Kaj ĝi tuj preni tiun peto aŭ ke retpoŝto aŭ tiu dosiero kaj rompi ĝin supren en multajn pecojn kaj sendu ĉiujn la pecoj aparte. Do fakte, mi pleniganta la ŝoseon kun amaso da malgrandaj aŭtoj, kiun cxiuj povas movi anstataŭ granda kamiono kiu potenco, se iu eliras malbone, akcelilo la trafikon por ĉiuj aliaj. Alia kromefiko de tio estas se ekzistas ia katastrofa fiasko kaj io fuŝiĝas kaj la pako iĝas faligita. Io malsukcesis kaj la mesaĝo ne povas esti komunikata. La enkursigilo eble havis tro multe aĵoj enirantajn. Ĝi povis ĵongli ĉion. Kaj tiel nur laŭvorte faligis ĝin. Tio estas speco de la analogio, dekstra? Oni alvenis multajn aferojn daŭriganta. Ĝi estas pasanta informo el punkto A al punkto B. Ni ne estas la nuraj du homoj sur la interreto, tiel devas prilabori multajn trafiko. Kaj se ĝi ne havas sufiĉan manoj kaj ĝi ne povas diveni, kion ĝi faras, ĝi povus nur faligi ion. Do ĝi povas fari ion alian. Oni alvenis tro multe okazas. Se ni havus nian mesaĝon kiel unu grandega bloki kaj tio estis kion got faligita, nun ni devas sendi la mesaĝon denove. Kaj ni estas nun eble kaŭzante trafiko denove. Kaj ni riskas, ke grandega bloko estanta faligita denove. Sed se la datumoj estas rompita supren en paketoj kaj ni falas unu el tiuj, ĝi estas multe malpli kosta sendi ke paketon pli tempo kontraste al la tuta afero pli tempo. Do IP estas enregistradis informoj el punkto A al punkto B kaj ankaŭ rompante la informo en malgrandajn pecojn tiel ke la reto ne tro impostitaj. IP estas konata ankaŭ kiel sen rilato protokolo. Ne estas nepre difinita vojo de la sendinto al la ricevilo aŭ malvirto inverse. Nun, en tiu ekzemplo ni parolis pri, ekzistas reale estas nur unu vojo akiri al ĉiu reto. Do en ĉi tiu aparta ilustraĵo, ekzistas reale Estas difinita vojo de punkto A al punkto B. Sed ni povas ŝanĝi tion por nur farante unu modifon al la du routers sur la maldekstra aldonante ĉi kondiĉo por la enkursigilo tabloj. Nun rimarkas, ke de supre maldekstre enkursigilo, Ekzistas du manieroj trakti kun kvar aŭ kvin IP. Ĝi povas iri en la malsupra maldekstra enkursigilo, aŭ povas iri dekstren, dekstren enkursigilo. Ĝi havas multnombraj ebloj. Kaj jen estas vere speco de bona afero ĉar ĝi faras niaj reto pli respondema. Se por example-- estas ia kiel GPS. Se vi iam estis veturanta sur la aŭtovojo kaj subite via GPS avertas vi ke trafiko estas antaŭe, vi volas eviti ĝin se vi povas. Kaj tiel vi povas _recalculate_ via itinero. Kaj router reto, en Krom havanta informo pri kie pakoj devus iri aŭ kie datumoj devus iri, ekzistas ankaŭ ia tiu ĝenerala pulso sur la stato de lia loka reto. Kio okazos se mi sendas ĝi malsupren tiu pado kontre tiun padon? Kaj tiel en lumo de laborveturado situacioj en la reto, eble aferoj estos get frapitaj pli malkompetenta maniero aŭ pli ĝenerale malkompetenta maniero, ĉar ni iros la regula maniero, Tie tuj estos multa trafiko. La aŭtovojo estas tute blokis. Do eble kion ni faros estas anstataŭ preni flanko vojoj, kiuj ordinare prenus multe pli da tempo, sed nenies vere uzante tiujn flanko vojoj. Kaj tiel ni povas itinero niaj pakoj tiel. Do ne ĉiu pako de granda bloko de datumoj povus preni la saman vojon de la komenco ĝis la fino. Kaj nia reto iĝas multe pli respondema se nia router tabloj enkalkuli tie esti multnombraj ebloj por kie iri. Ni ne dependanta sur tiu unu kamiono movanta de la vojo. Ni povas akiri de la aŭtovojo ĉe la proksima elirejo kaj preni malsaman padon. Kaj tiel interreto Protokolo speco de faras iom de tiu ankaŭ. Do jen la basics de Interreto Protocol. Sed estas pli temo al trakti, kiu estas kio okazas se ni faligi paketon? Kiel ni scias ke ni tuj sendi ke paketon denove? Dekstra? Nu, Interreto Protocol ne garantias transdono. Ni tuj esti dependanta sur alia protokolo trakti ke nomitaj Transmission Control Protocol, TCP. Kaj ni tuj paroli pri Transmission Control Protokolo en la sekva vídeo. Mi Doug Lloyd. Jen CS50.