DOUG LLOYD: Om du höll ögonen vår internet primer video,
Jag lämnade en bit av en cliffhanger genom att tala om Internet
och hur det är ett system med protokoll.
Nåväl, låt oss tala om första av dessa protokoll som
faktiskt omfattar internet.
Och intressant nog, är det kallas Internet Protocol,
som vi brukar kallar IP.
>> Så internet, som sagt, är en sammanhängande nätverk, en internet,
vilket är egentligen bara flera nätverk vävs samman och enas på något sätt
att kommunicera med varandra.
Vad är detta något jag pratar om?
Nåväl, detta är Internet Protocol.
Detta dikterar hur information överförs från punkt A till punkt B.
Och detta är en slags tillstånd av ansluter sig till nätverket av internet
är överens om att följa denna protokoll när informationsbehov
att flyttas från punkt A till punkt B.
>> Så i slutet av denna Internet primer video,
Jag visade denna bild av vad internet var.
Och i liten skala, är detta faktiskt förmodligen ganska exakt.
Detta kan vara hur tre nätverk faktiskt prata med varandra.
Men det är lite missvisande.
Och anledningen till det är lite vilseledande är because-- om jag
bara numrera nätverk för enkelhetens skull här
och vi bli av med allt annat och bara fokusera på networks--
det är lite missvisande eftersom det innebär att alla tre nätverk har
en anslutning till en annan.
>> One är ansluten till två.
Två är ansluten till tre.
Och tre är ansluten till en.
Och när jag talar om en anslutning här, jag är
talar om en fysisk, trådbunden anslutning.
Vi har trådlöst.
Men det är verkligen opraktiskt för data som skall överföras trådlöst
över en stor skala.
Och så någon gång, vi verkligen inte lita på tråd technology-- telefonledningar,
fiberoptiska kablar, olika tekniker som fysiskt ansluter
punkt A till punkt B.
>> Och i liten skala som this-- detta kan vara korrekt,
men eftersom bilden får en lite större, låt oss nu
föreställa sig att vi har sex olika nätverk.
Om det är sant, nu har vi något liknande detta för alla nätverk
som skall anslutas till varje annat nätverk.
Och om man tittar, varje nätverk har fem pilar anslutna till det.
Så allt är ansluten till alla andra nätverk.
>> Vi har bara sex nätverk här, och redan tittar på hur mycket ledningar
vi måste anställa, eller hur?
Och internet består av mycket mer än sex nätverk.
Vi har inte råd att koppla varje nätverk till varandra nätverk,
särskilt med tanke på några av dessa nätverk spänner hav, eller hur?
Om vi ​​försöker ansluta till ett nätverk i Asien eller Europa,
vi kommer att behöva spänner en hel ocean.
Vi kommer att behöva Använd ledningar vid något tillfälle,
men vi vill minimera antal trådar som vi faktiskt använder.
Vi vill inte skicka en miljoner trådar över havet,
eftersom de kostar miljontals dollar styck att ligga ner.
Och så snabbt, skulle vi inte kunna till bildning internet längre.
Så vi måste ha en annan sätt för alla nätverk
att tala med alla andra nätverk eller annat vi
har delar av internet som är bortkopplade
från andra delar av internet.
Och det är inte vad vi vill.
Men vi vill inte ha dem alla sammankopplade.
>> Och det är där routrar komma tillbaka i spel.
Vi kan använda routrar på följande sätt.
Tänk om istället för varje nätverk vara fysiskt
anslutna till alla andra nätverk, vi hade dessa förmedlande bitar, där
näten var anslutna till dessa mellanhänder, som
är anslutna till ett par nät.
Så istället för att ha en anslutning till två, tre, fyra, fem, sex, kanske en
ansluts till en router, vilket kanske ansluter
till en eller två av dem nätverk utan även
kanske ansluter till andra routrar, som också
kommer att ansluta till de andra nät.
>> Och routern jobb är-- den innehåller information
kallas en dirigeringstabell som dikterar där göra
Jag går om jag ser en viss IP-adress?
Om jag ser en IP-adress start med fyra, kommer jag att gå denna väg.
Om jag sett IP-adress som börjar med 12, jag kommer att gå den vägen.
Vi behöver inte vara ansluten fysiskt nätverk nummer fyra
eller nätverksnumret 12 i detta exempel.
Vi vet bara allmänt där vi vill gå.
Och om man tänker på det, är denna typ av liknande begreppet rekursion
att vi pratade om när Vi pratade om det
i C. jag inte kommer att ansluta dig exakt där du vill gå.
Jag ska bara flytta dig ett steg närmare där du vill gå.
Och jag ska låta någon annan ta itu med lösa resten av problemet.
Jag ska bara lösa denna lilla bit av problemet och skjuta upp resten av det
till någon annan.
Så routinginformation är faktiskt slags liknar rekursion.
Om det är ett koncept som du förstår Tja, kanske det analogi skulle hjälpa.
>> Så låt oss ta en titt på detta nätverk exempel
igen och antar att, återigen, vi kommer att använda de samma sex
nätverk, ett till sex.
Så låt oss bara säga att varje IP-adress på nätverks en
börjar med en punkt något.
Och vi kommer att säga att det finns någon annan sak som
handlar om hur alla system är anslutna till nätverket en.
Vi bryr oss bara om att ansluta alla dessa nätverk tillsammans i en internet.
Så varje enhet som är ansluten till nätverket en
har en IP-adress som börjar med en prick och sedan tre andra nummer.
>> Detta är en generalisering av hur saker och ting faktiskt fungerar.
Det är ganska lite mer exakt än så.
Men detta bör ge dig en allmän uppfattning om vad Internet
Protokoll faktiskt gör.
Så det här var diagrammet vi hade tidigare.
Detta var det system som var inte hållbart.
Även sex, kan detta vara OK.
Men om vi får 10 eller 20 eller 50, vi är kommer att ligga mycket trådar.
Och 50 är fortfarande inte heller även toppen av isberg
att antalet nätverk vi har.
Så här modellen är ohållbar.
Vi kan inte hålla fast vid detta.
>> Så låt oss i stället anta denna modell där vi bli
av alla kablar mellan nät och vi lägger routrar.
Så dessa gula rutor representerar routrar.
Och deras uppgift är att flytta informationen i allmänhet
närmare där det är tänkt att gå.
Och kanske är dessa anslutningar att dessa nätverk har.
Och kanske är dessa tabeller som är inbyggda i routrarna.
>> Så om vi börjar bara genom att titta vid nätverk en, till exempel,
i princip vad den säger är om Jag någonsin sett en adress som
startar inte med en en-- det är vad utropstecken en eller bang
en där, inte en-- jag kommer att passera det till en router.
Och därifrån, routern kan fatta ett beslut.
Routern säger att om jag ser en, jag är kommer att flytta till nätverks nummer ett.
Det är den gröna pilen på väg till vänster ur det övre vänstra rutan.
>> Om jag ser en two-- som är pilen slags rubrik
till toppen höger mot den lila network--
om jag ser en IP-adress börjar med en två,
Jag kommer att gå mot två nätverk.
Om jag ser en tre, fyra, fem, eller en six-- det är det röda pilen kommer ut
av det övre vänstra router-- Jag är inte ansluten till tre, fyra, fem, eller sex.
Men jag vet någon som är eller som är lite närmare till det.
Så jag ska bara säga, varje gång jag ser en IP-adress
börjar med tre, fyra, fem eller sex, jag är bara
kommer att skicka det till den router.
Så jag ska flytta den lite närmare där det är tänkt att gå och låt
att routern ta itu med problemet.
>> Och som ni kan see-- om du ville pausa här och trace--
du kan komma till varje annan punkt i nätverket från var du än är.
Alla sex nätverk kan fortfarande ansluta till alla andra nät
men de är inte fysiskt ansluten längre.
De är nu dessa mellansteg.
Nu, naturligtvis finns det en avvägning av hastighet, eller hur?
Om man var direkt ansluten till sex, vi skulle inte
måste gå igenom två routrar på vägen.
Så vi kanske kan få anslutning lite snabbare.
Men kanske det trade-off är värt det, eller hur?
Om det kommer att bli så dyrt i fråga om faktiska kostnader, dollar
och cent, fysiskt tråd alla dessa nätverk tillsammans,
kanske lite av en avmattning i hastighet är OK.
Vi kan tolerera det.
>> Så återigen, i detta exempel var vi bara talar om, ingen av nät
direkt anslutning till varandra hela.
Det kunde ha been-- kanske i det exemplet
vi kunde ha gjort det så att Kanske nätverk ett och två var
direkt ansluten.
Och det skulle vara OK.
Vissa nätverk är fysiskt anslutna till andra nätverk.
Men de är inte alla förbundna med varandra.
De förlitar sig på routers-- i detta särskilda example--
att fördela meddelandet från punkt A till punkt B.
På en liten scale-- som vad vi pratar om här--
denna konfiguration faktiskt kanske vara mer ineffektivt än bara
med direkta förbindelser.
Men i stor skala, kan vi skala systemet mycket bättre.
Det är verkligen kommer att minska vår Kostnaden för nätinfrastruktur
ha förmedlande routrar vars jobb det är att flytta trafik från avsändaren
till mottagaren, från punkt A till punkt B, i motsats till ledningar alla
tillsammans.
>> Så låt oss ta en titt på ett exempel på informations
reser använda denna Internet Protocol.
Låt oss säga att jag är fysiskt beläget på IP 1.208.12.37
så jag existerar någonstans i ett nätverk.
Och jag vill skicka ett meddelande till dig.
Och du är på fem nätverk vid 5.188.109.14.
Din IP-adress gör specifikt inte roll, men i detta speciella exempel
vi pratar om denna generalisering om vad Internetprotokollet är alla
om.
Du är på fem nätverket, och jag är på ett nätverk.
Som ni kan se, är vi inte förbundna med varandra alls.
>> Så jag börjar.
Och jag vill skicka ett meddelande.
Och så på något sätt kommunicera jag det budskapet till routern.
Routern är den som faktiskt har IP-adress.
Och det ser på där det är tänkt att gå.
Vi kommer att fem dot något.
Så nu ska jag börja använder my-- eller routern,
snarare, kommer att börja använda sina router tabellen för att skicka information tillsammans.
Det ser att fem är inte en, så det säger att jag kommer att vidarebefordra den till den här killen.
Då den här killen har att fatta ett beslut.
Vart ska jag gå?
Tja, det är inte en, så jag är inte kommer att flytta till ett nätverk.
Och det är inte två.
Jag tänker inte flytta till två nät.
Det börjar med en fem.
Jag är inte ansluten till fem, säger att detta router.
Och så jag ska bara passera bort att-- Jag kommer att gå den vägen.
Det är där treor och fyror och femmor och sexor går.
Och jag ska låta den killen ta itu med det.
Jag får det lite närmare där det är tänkt att gå.
Jag vet att det är tänkt att gå i den allmänna riktningen.
Men kanske att killen kan ta itu med det.
OK.
Så att killen ser ut.
Han säger, OK, denna IP adressen börjar med en fem.
Tja, jag är ansluten till tre och sex, så jag kan inte få ut budskapet direkt
där det måste gå.
Men den andra routern över det, jag vet om jag skickar det fours och femmor,
den kan hantera dem.
>> Så det passerar det längs den väg.
Och så denna router säger, ja, jag är anslutas till nät fyra och fem.
Så, ja, kan jag hjälpa dig.
Jag tar din IP-adress som börjar med en fem.
Jag ska ge den till fem nätverket.
De fem nätverket kommer att göra en del arbete på sitt slut och ge meddelandet till dig.
Och nu har vi framgångsrikt sänt ett meddelande från mig
till dig med hjälp av Internet Protocol.
>> Igen, mycket generaliserade för ändamål av illustration till vad som händer.
Men det är ganska mycket hur Internet Protocol fungerar.
Routrarna känner i allmänhet vart du ska skicka det
och kommer att skicka det ett steg på sätt att få det närmare och närmare
till sin destination tills en router är fysiskt ansluten
till nätverket eller adress eller vad
i fråga och ger det där.
>> Nu, i allmänhet, med undantag för riktigt, riktigt små, små meddelanden,
det kommer inte att skicka det som en stor del av uppgifterna.
Om jag skickar dig en email-- en mycket lång e-post,
säga-- det kommer inte att ta det hela e-post,
bunt upp i en boll eller ett paket eller vad som helst,
och skicka det hela sak ner nätverket.
>> Först av allt, att sända information längs nätet är dyrt.
Det går ihop.
Och ju större bit, den dyrare
det är att flytta varje steg på vägen.
Och om det finns något sätt en avmattning och sedan
Det är det här giant-- ungefär som om du ska köra på motorvägen
och det finns denna jätte lastbil typ av blockerar vägen
och du kan inte komma runt det på antingen körfält eftersom det är typ av utspridda.
Det saktar alla andra ner bakom det.
Men små bilar, om de var alla små bilar,
de skulle kunna röra sig, om det analogi slags hjälper
lite grann.
>> Så ett stort block i systemet kan väldigt långsam alla andra ned.
Och så vad IP kommer att göra delas dessa data i paket.
Det kommer att ta detta stora e-post eller FTP-överföring eller en filöverföring,
eller kanske jag gör en begära att en webbläsare
eftersom jag vill ha en bild av katt.
Och det kommer att ta det förfrågan eller att e-post eller filen
och dela upp den i flera bitar och skicka alla bitar separat.
Så i själva verket, jag fyller motorvägen med mycket små bilar, som kan alla
Flytta i stället för en stor lastbil som kanske, om något går fel,
strypa trafiken för alla andra.
>> En annan bieffekt på detta är om det finns
någon form av katastrofal misslyckande och något går fel
och paketet blir sjunkit.
Något misslyckades och Meddelandet kan inte lämnas.
Routern kanske hade för mycket grejer att gå in.
Det kunde inte jonglera allt.
Och så bara bokstavligen tappade det.
Det är typ av analogin, eller hur?
>> Det har fått en hel del saker på gång.
Det passerar uppgifter från punkt A till punkt
B. Vi är inte de enda två människor på internet,
så det har att behandla en hel del trafik.
Och om det inte har tillräckligt med händer och det kan inte räkna ut vad det gör,
det bara kan släppa något.
Så det kan göra något annat.
Det blev för mycket på gång.
>> Om vi ​​hade vårt budskap som en enorm blockera och det var vad fick minskade,
Nu måste vi skicka meddelandet igen.
Och vi är nu möjligt orsakar trafik igen.
Och vi riskerar att stort block som släpps igen.
Men om datas delats upp i paket och vi tappar en av dem,
det är mycket billigare att skicka den paket en gång i motsats
till det hela en gång till.
Så IP är ansvarig för att få information från punkt A till punkt B
och även bryta informationen i små bitar
så att nätverket inte är alltför beskattas.
>> IP är också känd som en anslutningslöst protokoll.
Det är inte nödvändigtvis en definierad bana från avsändaren till mottagaren eller vice
versa.
Nu, i det här exemplet vi har pratat om, egentligen finns det bara ett sätt
att komma till varje nätverk.
Så i detta särskilda Illustration, det faktiskt
är en definierad väg från punkt A till punkt B.
Men vi kan ändra på det genom att bara göra en ändring av de två routrar
till vänster genom att denna tillstånd till router tabeller.
>> Nu märker att från det övre vänstra routern,
Det finns faktiskt två sätt att hantera med en fyra eller en fem IP-adress.
Det kan gå ner till det nedre vänstra router, eller kan gå till höger,
till höger routern.
Den har flera alternativ.
Och det är faktiskt typ av en bra sak
eftersom det gör vår nätverk mer lyhörd.
>> Om för example-- det är ungefär som en GPS.
Om du någonsin har varit körning på motorvägen
och plötsligt din GPS varnar du att trafiken är framåt,
du vill undvika det om du kan.
Och så du kan räkna om din rutt.
Och en router-nätverk, i Förutom att ha informationen
om var paketen skall gå eller där uppgifterna ska gå,
det finns också slags denna allmänna puls om läget i det lokala nätverket.
Vad kommer att hända om jag skickar ner denna väg kontra denna väg?
>> Och så i ljuset av tung trafik situationer på nätet, kanske
det kommer att bli dirigeras en mer ineffektivt sätt eller ett mer generellt
ineffektivt sätt, eftersom om vi går den vanliga vägen,
det kommer att bli en hel del trafik.
Motorvägen är helt fastnat.
Så kanske vad vi ska göra är i stället ta sidovägar, som
normalt skulle ta en mycket mer tid, men ingen är
verkligen använda dessa sidovägar.
Och så vi kan skicka våra paket på det sättet.
>> Så inte varje paket av en stor bit av data
kan ta samma väg från början till slutet.
Och vårt nätverk blir mycket mer mottaglig
Om våra router tabeller tillåter det att finnas flera alternativ för var att gå.
Vi är inte beroende av att en lastbil flyttar ur vägen.
Vi kan få av motorvägen vid nästa avfart och ta en annan väg.
Och så Internet Protocol sort av gör lite av det också.
>> Så det är grunderna i Internetprotokollet.
Men det finns ytterligare en problem att ta itu med, som
är vad som händer om vi tappar ett paket?
Hur vet vi att vi kommer att skicka det paketet igen?
Höger?
Tja, Internet Protocol inte garantera leverans.
Vi kommer att beroende på ett annat protokoll
att ta itu med det som kallas Transmission Control Protocol, TCP.
Och vi kommer att prata om Transmission Control
Protokoll i nästa video.
Jag är Doug Lloyd.
Detta är CS50.