DOUG LLOYD: Als je zag onze internet primer video, Ik liet een beetje een cliffhanger door te praten over internet en hoe het systeem protocollen. Nou, laten we praten over de eerste van die protocollen eigenlijk bestaat het internet. En interessant genoeg, het is genoemd het Internet Protocol, die we meestal verwijzen naar het IP. Dus het internet, zoals ik al zei, is een onderling verbonden netwerk, een internetcafé, die eigenlijk gewoon verschillende netwerken met elkaar verweven en eens een of andere manier communiceren met elkaar. Wat is dit een of andere manier heb ik het over? Wel, dit is het internetprotocol. Deze bepaalt hoe informatie doorgegeven van punt A naar punt B. En dit is een soort van een voorwaarde van toetreding tot het netwerk van het internet is akkoord om deze te volgen protocol bij informatiebehoeften van punt A wordt bewogen naar punt B. Dus aan het eind van dat internet primer video, Ik liet dit beeld van wat het internet was. En op kleine schaal, is dit eigenlijk waarschijnlijk vrij accuraat. Dit kan worden hoe drie netwerken eigenlijk met elkaar praten. Maar het is een beetje misleidend. En de reden is het een beetje misleidend is because-- als ik enkel nummer de netwerken voor gemakshalve here en we te ontdoen van al het andere en alleen focussen op het networks-- Het is een beetje misleidend, omdat het impliceert dat alle drie netwerk een verbinding met elkaar. One is aangesloten op twee. Twee tot drie verbonden. En drie is verbonden met één. En als ik het over een verbinding hier, ik ben spreken over een fysieke, bekabelde verbinding. We hebben draadloos. Maar het is echt onpraktisch voor gegevens draadloos te verzenden op grote schaal. En dus op een bepaald punt, we echt vertrouwen op bekabelde technology-- telefoondraden, glasvezel kabels, verschillende technologieën dat fysiek aansluit punt A naar punt B. En op kleine schaal, zoals dit-- dit kan nauwkeurig zijn, maar als het beeld krijgt een iets groter, laten we nu stel hebben we zes verschillende netwerken. Als dat waar is, nu hebben we iets als dit voor elk netwerk worden verbonden met elk ander netwerk. En als je kijkt, elk netwerk vijf pijlen aangesloten. Dus alles is aangesloten elk ander netwerk. We hebben slechts zes netwerken hier en nu al kijken naar hoeveel bedrading we moeten gebruiken, toch? En het internet uit veel meer dan zes netwerken. We kunnen het niet veroorloven om elke draad netwerk met elkaar netwerk, vooral gelet op een aantal van deze netwerken overspannen oceanen, toch? Als we proberen om verbinding te maken een in Azië en in Europa, we zullen moeten bestrijken een hele oceaan. We gaan nodig hebben om Gebruik draden op een bepaald punt, maar we willen het minimaliseren aantal draden we eigenlijk gebruiken. We willen niet een te sturen miljoen draden over de oceaan, omdat ze kosten miljoenen dollar per stuk te gaan liggen. En zo snel, zouden we niet in staat meer te betalen internet. Dus we moeten naar een andere hebben manier voor elk netwerk elke te praten netwerk of anders hebben we hebben stukjes internet die zijn losgekoppeld uit andere delen van het internet. En dat is niet wat we willen. Maar we willen niet hebben ze allemaal samen bedraad. En dit is waar routers terug te komen in het spel. We kunnen routers op de volgende wijze. Wat als in plaats van elke netwerk fysiek verbonden met elk ander netwerk, we moesten deze afroltussenstukken, waarbij de netwerken zijn verbonden deze tussenpersonen, die zijn verbonden met een aantal netwerken. Dus in plaats van een verbinding met twee, drie, vier, vijf, zes, misschien een aangesloten op een router die misschien verbindt één of twee van deze netwerken, maar ook Misschien verbinding met andere routers, die ook zal verbinden met die andere netwerken. En de taak van de router is-- Het bevat informatie wel een routeringstabel dat dicteert waar komen Ik ga als ik zie een bepaald IP-adres? Als ik zie een IP-adres dat begint met vier, ga ik op deze manier te gaan. Als ik gezien IP-adres dat begint met een 12, ik ga op die manier gaan. We hoeven niet te worden aangesloten fysiek netwerk nummer vier of netwerk nummer 12 in dit voorbeeld. We weten gewoon het algemeen waar we willen gaan. En als je erover nadenkt, is dit soort van overeenkomt met het begrip van recursie dat hebben we gesproken over wanneer We waren het erover in C. Ik ben niet van plan om u te verbinden precies waar u heen wilt. Ik ga je een stap te verplaatsen dichter bij waar je naartoe wilt. En ik laat iemand anders omgaan met het oplossen van de rest van het probleem. Ik zal gewoon oplossen dit kleine stukje het probleem en stellen de rest aan iemand anders. Dus routeringsinformatie eigenlijk soort vergelijkbaar met recursie. Als dat is een concept dat u begrijpt goed, misschien is dat analogie zou helpen. Dus laten we een kijkje nemen op deze netwerken voorbeeld telkens veronderstellen dat weer, we gaan gebruiken diezelfde zes netwerken, één tot en met zes. Dus laten we gewoon zeggen dat elke IP-adres op het netwerk een begint met één punt iets. En we zullen zeggen dat er een andere zaak dat behandelt hoe alle systemen zijn verbonden met een netwerk. We gewoon de zorg over het aansluiten van alle deze netwerken samen in een internet. Zodat elk apparaat dat is aangesloten op een netwerk een IP-adres dat begint met één punt en dan drie andere nummers. Dit is een generalisatie van hoe de dingen echt werken. Het is nogal een beetje nauwkeuriger dan dit. Maar dit moet je geven algemeen idee van wat het internet Protocol wordt eigenlijk doet. Dus dit was het schema we eerder hadden. Dit is het systeem dat was niet duurzaam. Zelfs zes, kan dit OK. Maar als we naar 10 of 20 of 50, we zijn gaan te liggen veel draden. En 50 is ook nog steeds niet zelfs het puntje van de ijsberg als het aantal netwerken we. Dus dit model is onhoudbaar. We kunnen niet vasthouden aan dit. Dus laten we in plaats te nemen dit model waar we ontdoen van alle draden tussen de netwerken en we routers toe te voegen. Dus deze gele vakken vertegenwoordigen routers. En hun taak is om te bewegen Informatie algemeen dichter bij waar het hoort te gaan. En misschien zijn de verbindingen dat deze netwerken. En misschien zijn de tabellen die zijn ingebouwd in de routers. Dus als we gewoon beginnen door te kijken op een netwerk, bijvoorbeeld, eigenlijk wat het zegt is dat als Ik ooit een adres dat begint niet met een een-- dat is wat het uitroepteken een of de knal men daar niet een-- ik ga door te geven af ​​op een router. En vanaf daar de router kan een beslissing te nemen. De router zegt dat als ik een één, ik ben gaan verhuizen naar het netwerk nummer één. Dat is de groene pijl op weg naar links uit dat links top box. Als ik zie een two-- dat is de pijl soort rubriek naar de top rechts richting de paarse network-- als ik zie een IP-adres beginnend met een twee Ik ga om te gaan naar de twee-netwerk. Als ik zie een drie, vier, vijf, of een six-- dat is dat rode pijl coming out van linksboven router-- ik ben niet verbonden met drie, vier, vijf of zes. Maar ik ken iemand die is of die is een beetje dichter bij daar. Dus ik ga gewoon om te zeggen, elke keer als ik zie een IP-adres beginnend met drie, vier, vijf of zes, ik ben gewoon gaan om het te sturen naar die router. Dus zal ik het een beetje dichter bij bewegen waar het hoort te gaan en laat die router behandelt het probleem. En zoals je kunt see-- als je wilde hier pauzeren en trace-- u elke andere punt in kan krijgen het netwerk waar u ook bent. Alle zes netwerken kan nog steeds verbinding met elk ander netwerk maar ze zijn niet fysiek meer aangesloten. Ze zijn nu in deze tussenliggende stappen. Nu, natuurlijk is er een afweging van snelheid, toch? Als men was direct aangesloten op zes, zouden we niet moeten gaan door middel van twee routers langs de weg. Zo kunnen we in staat zijn om het te krijgen aansluiting een beetje sneller. Maar misschien is dat trade-off is de moeite waard, toch? Als het gaat zo duur te zijn in termen van de werkelijke kosten, dollars en centen, fysiek draad al deze netwerken met elkaar, misschien een beetje een vertraging in snelheid is OK. We kunnen tolereren. Dus nogmaals, in dit voorbeeld we waren gewoon over geen van de netwerken rechtstreeks met elkaar te verbinden alle. Er zou kunnen hebben been-- misschien in dat voorbeeld we konden hebben gemaakt, zodat misschien netwerk één en twee waren direct verbonden. En dat zou OK zijn. Sommige netwerken zijn fysiek verbonden met andere netwerken. Maar ze zijn niet allemaal met elkaar verbonden. Zij baseren zich op de routers-- in dit specifieke example-- om de communicatie te verdelen van punt A naar punt B. Op een klein scale-- als wat we praten over hier-- deze configuratie eigenlijk zou meer dan alleen inefficiënt met directe verbindingen. Maar op grote schaal kunnen we schaal het systeem een ​​stuk beter. Het is echt te verminderen onze kosten van de netwerkinfrastructuur aan intermediaire routers wiens baan het is om het verkeer van de afzender verplaatsen naar de ontvanger, van punt A naar punt B, in tegenstelling tot iedereen bedrading samen. Dus laten we een kijkje nemen op Een voorbeeld van informatie reizen met deze Internet Protocol. Laten we zeggen dat ik fysiek gelegen op IP 1.208.12.37 dus ik besta ergens op het ene netwerk. En ik wil een bericht te sturen naar je. En je bent op de vijf netwerken op 5.188.109.14. Uw IP adres doet uitdrukkelijk niet stof, maar in dit specifieke voorbeeld we praten over deze generalisatie van wat het internet protocol is alles over. Je bent op de vijf-netwerk, en ik ben aan de ene netwerk. Zoals u kunt zien, zijn we niet met elkaar verbonden op alle. Dus ik beginnen. En ik wil u een bericht sturen. En zo een of andere manier communiceer ik die boodschap naar de router. De router is die eigenlijk is het IP-adres. En het is op zoek naar waar het zou moeten gaan. We gaan vijf dot iets. Dus nu ga ik om te beginnen met my-- of de router, veeleer gaat beginnen met de router tafel om informatie doorgeven. Het ziet dat vijf niet één, dus het zegt dat ik ga het doorgeven aan deze man. Dan heeft deze man om een ​​beslissing te nemen. Waar ga ik heen? Nou, het is niet een, dus ik ben niet gaan om naar het ene netwerk. En het is niet een twee. Ik ben niet van plan om te verhuizen de twee netwerk. Het begint met een vijf. Ik ben niet aangesloten op vijf, deze router zegt. En dus ik ben gewoon gaan om het te laten doorgaan to-- Ik ga naar beneden te gaan op deze weg. Dit is waar drieën en fours en vijven en zessen gaan. En ik laat die kerel omgaan. Ik krijg er een beetje dichterbij naar de plaats waar het hoort te gaan. Ik weet dat het zou moeten gaan in die algemene richting. Maar misschien is die man kan gaan. OK. Zodat kerel kijkt. Hij zegt, OK, dit IP- adres begint met een vijf. Nou, ik ben verbonden met drie en zes, dus ik kan niet de boodschap direct te krijgen waar het moet gaan. Maar dat andere router daar, ik weten of ik stuur het vieren en vijven, Het kan omgaan met deze. Passeert het zo langs het pad. En dan is deze router zegt, nou, ik ben aangesloten op netwerken van vier en vijf. Dus, ja, ik kan je helpen. Ik zal uw IP-adres te nemen dat begint met vijf. Ik geef het aan de vijf-netwerk. De vijf netwerk zal wat werk te doen zijn einde en geven de boodschap aan u. En nu met succes hebben we van mij doorgegeven een bericht om u met behulp van het Internet Protocol. Nogmaals, zeer gegeneraliseerd doeleinden Ter illustratie van wat er gebeurt. Maar dat is vrij veel hoe het Internet Protocol werkt. De routers weten over het algemeen waar te sturen en sturen het een stap langs de Zo krijgt het dichter en dichter naar de bestemming tot een router is fysiek verbonden met het netwerk of de adres of wat in kwestie en geeft het daar. Nu, in het algemeen, behalve echt, erg klein, kleine boodschappen, het gaat niet om het te verzenden als een grote brok van gegevens. Als ik kan u een email-- een lange email, say-- het gaat niet om neem dat volledige e-mail, bundelen het op in een bal of een pakket of wat dan ook, en stuur die hele ding naar beneden van het netwerk. Ten eerste, het verzenden van informatie langs het netwerk is duur. Het doet oplopen. Hoe groter de brok, de duurder het is om elke stap van de weg te verplaatsen. En als er een of andere manier een vertraging en dan er is dit giant-- soort als als je rijdt op de snelweg en er is deze gigantische truck soort van de weg blokkeren en je kunt niet omheen aan beide rijstrook omdat het soort verspreid. Het vertraagt ​​iedereen neer achter het. Maar kleine auto, indien zij waren allemaal kleine auto's, ze misschien in staat zijn om te bewegen, als die analogie soort helpt een klein beetje. Dus een groot blok in het systeem kan echt traag iedereen naar beneden. En dus wat IP gaat doen Deze data wordt opgesplitst in pakketjes. Het gaat om deze grote e-mail te nemen of FTP overdracht of een bestandsoverdracht, of misschien ben ik het maken van een verzoeken om een ​​webbrowser want ik wil een foto van de kat. En het gaat te nemen dat verzoek of dat e-mail of dat bestand en breek het omhoog in vele stukken en zenden alle stukken apart. Dus in feite, ben ik het vullen van de snelweg met veel kleine auto's, die allemaal kunnen verplaatsen in plaats van een grote vrachtwagen die zou kunnen, als er iets mis gaat, wurgen het verkeer voor iedereen. Een ander neveneffect Dit heeft als er een soort van katastrofisch mislukking en er iets mis gaat en het pakket afvalt. Iets is mislukt en de Het bericht kan niet worden meegedeeld. De router misschien had te veel dingen gaande in. Het kon niet alles jongleren. En zo is het gewoon letterlijk laten vallen. Dat is een soort van de analogie, toch? Het heeft een heleboel dingen aan de hand. Het doorgeven van informatie van punt A naar punt B. Wij zijn niet de enige twee mensen op het internet, dus het heeft een veel verkeer te verwerken. En als het niet genoeg handen te hebben en het kan niet achterhalen wat het doet, het misschien gewoon iets laten vallen. Dus het kan iets anders doen. Het heeft te veel aan de hand. Als we onze boodschap als een grote blokkeren en dat was wat ik heb laten vallen, nu moeten we het bericht opnieuw te verzenden. En we zijn nu mogelijk weer waardoor het verkeer. En we het risico lopen dat de enorme blok opnieuw wordt gedropt. Maar als de gegevens van zijn opgesplitst in pakketten en we vallen een van die, het is een stuk minder duur te sturen dat packet één keer in tegenstelling om de hele zaak nog een keer. Dus IP is verantwoordelijk voor het verkrijgen van Informatie van punt A naar punt B en tevens het breken van de Informatie in kleine stukjes zodat het netwerk niet overdreven belast. IP is ook bekend als verbindingsloos protocol. Er is niet noodzakelijk een bepaald pad van de zender naar de ontvanger of vice versa. Nu, in dit voorbeeld we hebben gesproken over, is er eigenlijk maar één manier voor elk netwerk te krijgen. Dus in dit specifieke illustratie, er eigenlijk een gedefinieerde baan van punt A naar punt B. Maar we kunnen dat veranderen door alleen het maken van een wijziging van de twee routers links daarin deze voorwaarde om de routertabellen. Nu merken dat uit linksboven router, Er zijn in feite twee manieren om te gaan met vier of vijf IP-adres. Het kan gaan om de linkerbenedenhoek router, of kan naar de rechter, rechts router. Het heeft meerdere opties. En dit is eigenlijk een soort van een goede zaak want het maakt ons netwerk sneller reageren. Als om het example-- als een soort GPS. Als je ooit bent geweest rijden op de snelweg en plotseling uw GPS waarschuwt je dat het verkeer is vooruit, je wilt om het te vermijden als je kunt. En zo kunt u uw route te herberekenen. En een router netwerk, Naast het hebben van informatie over waar pakketjes moeten gaan of waar de gegevens moet gaan, er is ook een soort van deze algemene puls over de toestand van het lokale netwerk. Wat gaat er gebeuren als ik stuur Het op deze weg ten opzichte van dit pad? En zo in het licht van zwaar verkeer situaties op het netwerk, misschien dingen zullen krijgen omgeleid meer inefficiënte manier of een meer algemeen inefficiënte manier, omdat als we de normale manier, er zal veel verkeer zijn. De snelweg is volledig vastgelopen. Dus misschien wat we zullen doen is in plaats daarvan nemen zijwegen, die normaal zou nemen veel meer tijd, maar niemand echt gebruik van deze zijwegen. En zo kunnen we route onze pakketten die manier. Dus niet elk pakket van een groot deel van de gegevens misschien dezelfde weg uit te nemen het begin tot het einde. En ons netwerk wordt veel meer responsieve als onze router tafels staan ​​want er zijn meerdere opties voor waar te gaan. We zijn niet afhankelijk van die ene truck verplaatsen uit de weg. We kunnen krijgen van de snelweg bij de volgende afslag en neem een ​​ander pad. En zo het Internet Protocol soort van doet een beetje van dat, ook. Dus dat is de basis van het Internet Protocol. Maar er is nog een probleem aan te pakken, die is wat er gebeurt als we vallen een pakket? Hoe weten we dat we gaan om dat pakket opnieuw te verzenden? Rechts? Nou, Internet Protocol heeft de levering niet garanderen. We gaan worden, afhankelijk een ander protocol te behandelen die genaamd Transmission Control Protocol, TCP. En we gaan praten over Transmission Control Protocol in de volgende video. Ik ben Doug Lloyd. Dit is CS50.