DOUG LLOYD: Se você tiver foi assistir esses vídeos na ordem que recomendamos, estamos prestes a sofrer pouco de uma mudança de cultura. Porque agora, vamos começar falando sobre a internet e web tecnologias. Então, até agora, nós temos realmente vindo a fazer um monte de C. E quando nós estivemos atividade, nossos programas, temos vindo a executá-los a partir da linha de comando. Isso é muito bonito como os usuários têm sido interagindo com os programas que nós escrevemos. Eles escolher algo para solicitar, algo acontece na janela do terminal, e, em seguida, ele é feito. Às vezes você pode ter persistente dados que permanece depois. Mas isso é muito bonito isso. É na linha de comando. É a única maneira que o usuário pode interagir. Deste ponto em diante, vamos começar em transição, de modo que os usuários pode interagir com os nossos websites. Então, nós estamos indo para ser escrito websites, que não estão escritos em C, mas são escritos em uma variedade de outros linguagens de programação, incluindo PHP, e é uma espécie de línguas auxiliares, HTML, CSS, e semelhantes. Então, nós estamos indo para começar falando sobre essas coisas. Antes de entrar em web a própria programação, Eu acho que é provavelmente uma boa idéia de dar um passo para trás e falar sobre como os computadores e os seres humanos interagem através da web. Portanto, este vídeo é realmente um primer, um guia básico, para a internet. Agora, a ressalva aqui é a CS50 não é uma classe networking. Então, o que nós vamos estar falando sobre aqui é muito alto nível. Nós não vamos entrar em qualquer nível baixo detalhes de como tudo isso funciona. Se você estiver interessado em que, eu fortemente recomendam tomar uma classe em redes de computadores. E poderíamos mesmo dizer- mentirinha ou dois apenas para efeitos de fazer a compreensão geral clara. Então, com isso dito, vamos falar sobre a forma como interagimos com a internet. Então aqui estamos nós. Aqui somos nós. Estamos muito ansiosos para ficando para a internet, que como todos sabemos, está repleto de gatos. Agora, nós apenas conectar-se a internet como este? Bem, provavelmente não. Intuitivamente, você sabe que, dizem, por exemplo, quando você mudar de Wi-Fi rede em seu computador, você não vê um chamado internet a menos que só acontece para ser o nome de sua rede Wi-Fi local. Certo? Geralmente é algo como casa. Ou se você está no trabalho, que poderia ser o nome de sua empresa. Não há apenas um opção chamada internet. E assim algo ou alguma coisas existem entre quando nós queremos para se conectar à internet. Quais são algumas dessas coisas? Bem, vamos falar sobre isso. Nós também vamos falar sobre algumas das coisas importantes que precisamos a fim de ser capaz para se conectar à internet. E a primeira delas coisas é um endereço IP. Então você provavelmente já ouviu falar o endereço IP termo antes. O que isso significa? Bem, um endereço IP é basicamente, um identificador exclusivo de seu computador em uma rede. Assim como cada casa ou escritório tem um endereço exclusivo ao qual se pode enviar um e-mail. Do mesmo modo, cada computador, se ele quer receber dados ou enviar dados, precisa ter um endereço exclusivo. Assim que quando a informação é enviado ou recebido, ele está sendo enviadas ou recebidas para o local correto. Este esquema de endereçamento, como eu disse, é chamado de endereçamento IP. IP é significa Internet Protocol, que nós vamos falar sobre outra vez em breve. Agora, o que o endereçamento IP Look Like? Bem, o esquema era basicamente, quando foi implementado pela primeira vez, para dar a cada computador um endereço de 32 bits única. Isso é um monte de bits. Isso é 4 bilhões de endereços. E, geralmente, em vez de utilizar notação hexadecimal, que temos utilizado anteriormente no contexto da ponteiros em C para falar sobre endereços, que geralmente representam IP endereços em um pouco mais de um amigável humano maneira, representando- como quatro conjuntos de 8 bits representadas como números decimais. Porque os seres humanos não falam freqüentemente hexadecimal, a menos que você está programando. Mas as pessoas que usam a internet não são necessariamente os programadores. E assim tornando mais fácil e acessível para eles para ser capaz de falar sobre o que a sua Endereço IP é no caso de eles talvez precisa chamar alguém para solucionar algo, é melhor fazê-lo no mais número decimal comum convencional formato. E assim um endereço IP só olha muito bonito como este, w.x.y.z, onde cada uma dessas cartas representa um valor não-negativo na gama de 0 a 255. Recorde-se que um número de 8 bits pode conter 256 valores distintos. E é por isso que a nossa gama é de 0 a 255. E nós temos quatro grupos de 8 bits para um total de 32 bits. E assim um endereço IP pode algo parecido com isto. Esta é uma espécie de genérico endereço IP padrão, 123.45.67.89. Todas elas estão no intervalo de 0 a 255, de modo que é um endereço IP válido. Aqui na Universidade de Harvard, todos nossos endereços de IP começar com 140,247. Isso é apenas a maneira que o IP endereços nesta área geográfica foram atribuídos. E então isso pode ser um endereço IP que possa existir aqui em Harvard. Então, como eu disse, se cada endereço IP é de 32 bits, temos cerca de 4 bilhões para dar para fora, um pouco mais de 4 bilhões. Mas podemos tipo de ver um problema, certo? Qual é a população mundial agora? Bem, é em algum lugar norte de 7 bilhões de pessoas. E no mundo ocidental pelo menos, a maioria das pessoas ter mais do que um dispositivo capaz de conectividade com a Internet. Eu tenho um aqui. E eu tenho outro em meu bolso. E eu tenho uma volta no meu escritório. E assim que é três. E que nem sequer contar o aqueles que eu tenho em casa, também. E assim que é um tipo de problema, certo? Temos pelo menos 7 bilhões de pessoas e apenas 4 bilhões de endereços. E cada dispositivo é suposto para ser identificada exclusivamente. Nós desenvolvemos algumas soluções para lidar com este problema, uma coisa chamada privada Endereço IP, que não estamos vai entrar em um vídeo. Mas, basicamente, permite aprofundar o web, a internet, a espécie de falso fora um pouco que você tem uma única endereço por ter endereços privados e, em seguida, canalizando-los através um único endereço, o que é partilhada por vários computadores diferentes. Mas isso não é realmente uma solução a longo prazo. Mesmo que não é fixo vai durar para sempre. E por isso temos de ter um diferente maneira de lidar com isso. Então, como eu disse, tivemos cerca de 4 bilhões. Mas isso não vai ser bom o suficiente, certo? E assim, a maneira que ele tem foi decidido não estamos vai lidar com isto é para tornar mais endereços IP. Em vez de endereços de 32 bits, nós estamos vai ter endereços de 128 bits. Então, ao invés de 4 bilhões endereços, vamos para ter esse enorme número de endereços, que é de 340 bilhões de bilhões de bilhões bilhões, então um monte de endereços IP. E este novo esquema é chamado IPv6 é comumente como ele é referido. O esquema de idade sendo IPv4. É um pouco de um problema no que este problema tem sido conhecida há muito tempo. E você vai ver isso muito no contexto de computadores e computação. Somos bons em prever problemas. Mas estamos ruim em lidar com eles embora saibamos sobre eles. Então, o IPv6 tem sido em torno de um tempo. E só nos últimos dois anos temos, na verdade, começou phasing nestes endereços IPv6 para eliminar progressivamente os endereços IPv4. Mas alguns lugares têm-los. E eles parecem semelhantes para um endereço IP regular. Mas eles são muito mais tempo. Então, ao invés de ter quatro agora clusters de 8 bytes para o seu endereço, agora temos oito grupos de 16 bytes. E 8 vezes 16 é 128. E nós representamos estes em menos hexadecimal forma convencional. Porque com números de 16 bits que significa em vez de ser de uma gama de 0 a 255, Nós teríamos um intervalo de 0 a 65.535. E assim ter um monte daqueles grudadas seria muito difícil de ler. E por isso, costumo usar hex apenas por conveniência. E assim um endereço IPv6 típico poderia ser algo como isto. É certamente muito mais do que o endereço IPv4 que já vimos antes. Mas isso seria um endereço IPv6 válido. Este é também sobre o endereço IPv6. Este acontece pertencem ao Google. E note que há uma monte de zeros lá. Às vezes, esses endereços pode ficar tanto tempo. E já que estamos ainda bem cedo em IPv6, às vezes pode haver grandes pedaços de zeros em lá que não precisamos. Se você está lendo isso em voz alta, é 2001.4860.4860.0.0.0.0.8844. É uma espécie de um monte, certo? Então, se você ver um monte de zeros, você pode, por vezes, ver um endereço IPv6 como este, onde eles omitir os zeros e usar um duplo dois pontos em vez disso. Este é OK, no entanto. Porque nós sabemos que existem deveria ser oito pedaços distintos. E assim, por implicação, vemos quatro. Então, nós sabemos que deve haver quatro conjuntos de zeros como este, que preenchê-lo. Então, às vezes, você pode ver um endereço IPv6 não ter oito pedaços separados, como fazemos aqui. Você pode vê-lo desse jeito. E isso apenas significa que tudo o que você não vê em entre onde que dois pontos duplo está é apenas ponto zero separados. Então tá. Sabemos um pouco mais sobre endereços IP agora. Mas como podemos obtê-los? Não podemos simplesmente escolher o que queremos. Se fizéssemos isso, poderíamos acabam brigando alguém para o mesmo endereço IP. Ou alguém pode ter escolhido anteriormente. Se tentarmos e levá-la, vamos para correr em um pouco de um problema. E por isso não podemos apenas escolher o endereço IP que queremos. Assim, a maneira que temos um Endereço IP está em algum lugar entre nosso computador eo internet, que grande internet lá fora, há algo chamado de servidor DHCP, um Dynamic Host Configuration Protocol servidor. É um grande bocado de texto. Mas realmente tudo o que faz é atribui-lhe um endereço IP. O servidor DHCP tem uma lista de endereços que ele pode validamente atribuir. E dá-lhe um. Isso é muito bonito tudo que existe para ela. Agora, antes de DHCP, essa tarefa de atribuição de endereços caiu para um administrador do sistema. Assim, uma pessoa real teria para atribuir manualmente o seu computador e endereço quando você ligado a uma rede. Assim, apenas uma espécie de DHCP automatiza esse processo de dar-lhe um endereço IP. Mas é assim que você conseguir. É apenas um programa em execução em algum lugar entre você e da internet que tem um banco de Endereços IP que ele pode dar para fora. E quando você se conectar à rede, dá-lhe um. Então, vamos revisitar esse diagrama. Em algum lugar entre você eo internet, há um servidor DHCP. ESTÁ BEM. Então, isso é bom. Agora, vamos falar sobre o DNS. Então, nós já conversamos embora esses endereços IP. E nós sabemos que se nós somos indo para identificar exclusivamente um dispositivo na internet, tem de ter um endereço exclusivo. E nós poderíamos visitar que abordar, se quiséssemos. Mas você provavelmente nunca digitou em algo como 192.168.1.0 no seu navegador, certo? Você não digitar números em seu navegador. Você costuma digitar nomes legíveis como google.com ou cs50.harvard.edu, certo? Aqueles que não são endereços IP, no entanto. Então existe este serviço chamado de Nome de Domínio System, DNS, que traduz IP endereços para palavras compreensíveis humanos ou frases que são muito mais memorável lembrando-se do que um conjunto de quatro números ou, em breve, um conjunto de oito números hexadecimais. Isso seria realmente um desafio, certo? Pense sobre antes do dias de telefones celulares. Você teve sua memorize o seu números de telefone do amigo. Ele poderia ter chegado difícil depois de algum tempo. E da mesma forma, se você quiser para visitar um monte de sites, você provavelmente não quer lembre-se um monte de números. Você prefere lembrar um monte de palavras. Portanto, este mapeamento, esta tradução, de conjuntos de números para nomes mais legíveis espécie de faz o DNS páginas amarelas da web. E você pode pensar em -lo como se fosse apenas uma lista enorme correndo de tudo 0.0.0.0 o caminho para 255.255.255.255, que seria a mais elevada que é possible-- toda a gama de 0s para 255s de todos os 4 Os endereços IPv4 bilhão-ish. Eu inventei os em a parte superior e a parte inferior. Mas a única no meio lá é realmente um endereço IP. Então, se nós visitamos 74.125.202.138, aparentemente, que traduz a esse site lá, io-- o que diabos é isso? Bem, nem todos os nomes que mapeia é realmente claro o que é, certo? Então, às vezes alguém que possui um endereço de IP pode nomear seu algo anfitrião que eles realmente não são. Por exemplo, se o endereço IP se você fui lá, é realmente apenas google.com. Mas o Google tem um monte dos diferentes servidores. E eles não podem chamá-los todos google.com. Então, eles têm a sua própria sistema interno de tradução google.com para qualquer servidor, na verdade, está ligado a esse endereço IP. E depois há outro sistema que existe entre para traduzir que gobbledygook aqui para google.com. Mas não vamos entrar nisso. E da mesma forma para IPv6s, nós também vamos ter um páginas amarelas que vai ser muito maior. E de igual modo, no meio há-- foi difícil encontrar um IPv6 endereço que era legítima. Mas eu encontrei um para o Google. Mas é o site Irish do Google. Mas se você foi para esse endereço IPv6, se o seu navegador foi capaz IPv6, que iria levá-lo ao Homepage irlandês do Google. Então lá vai. Mas isso não é inteiramente verdade, certo? Este sistema parece complicado, certo? Se há uma lista enorme de 4 bilhão de coisas para ter que olhar para cima, que é muito grande. Não há páginas amarelas do mundo, certo? Se você ainda receber a amarelo páginas entregue ao você-- I got mine no outro dia, e eu só reciclado lo. Mas se você começar a amarelo páginas entregues a você, você não pegar um livro que é cada número de telefone que existe no planeta, certo? Você obterá uma lista do números de telefone locais, aqueles você é mais provável para chamar. E isso é realmente o que é DNS. Se você pensar sobre isso, o DNS é realmente as páginas amarelas locais. E servidores de DNS grandes como google.coms, eles são, na verdade, apenas mais como bibliotecas que ter uma cópia de todo o local amarelo páginas ou todos os registros de DNS locais. Então, realmente não há um repositório do DNS completo da internet, assim como não há ninguém páginas amarelas do mundo. Há todos esses pequenos locais DNSs escala que existe lá fora. E há serviços que agregar-los juntos. Mas eles dependem dos sistemas DNS menores atualização dos seus dados, de modo que eles têm as informações mais precisas. Então, novamente, esta analogia é grande agregação Sistemas DNS são como bibliotecas que possuem uma cópia de todas as páginas amarelas do mundo. Eles não fazer-se atualizar esses livros. Eles dependem dos livros que entram, para que eles possam atualizar as informações se eles precisarem. Assim, o sistema DNS não é um bloco gigante. É descentralizada através muitos, muitos servidores. Portanto, agora sabemos que em algum lugar entre nós ea internet existe um servidor de DNS bem como um servidor DHCP. Agora, os pontos de acesso, o que os nossos pontos de acesso? Bem, pontos de acesso provavelmente você está bastante familiarizado com a partir de, na verdade, ligação à Internet. Essa é a rede que você escolher, a casa ou a sua rede de trabalho ou o que você tem. E eu estou generalizando o conceito de um ponto de acesso aqui para os fins deste vídeo. Mas existem realmente um monte de coisas que pode ser enrolado em pontos de acesso. Existem conceitos de roteadores, que é uma espécie de um termo geral que nós usamos. Mas há também muda e as coisas realmente chamado Os pontos de acesso que estão separados este conceito geral de um acesso ponto. Mas basicamente o que acontece é com IPv4, I disse que nós temos esse conceito de endereços privados, certo? E, em vez de cada máquina ter um endereço IP único, que nós ficar sem, pois nós somos mais de 4 bilhões de dispositivos tentando se conectar a a internet, o que fazemos em vez disso é um atribuir Endereço IP de um roteador. Esse roteador ou ponto de acesso apenas em sua casa, por exemplo. E o trabalho do roteador como a espécie de agir como um policial de trânsito, permitindo que toda a gente que está conectado para que roteador para usar o mesmo IP abordar a sair. Isso faz sentido? Então todo mundo em sua casa tem um endereço IP privado. Eles não podem se conectar ao internet, ou a internet em vez não pode falar com eles, por meio de esse endereço privado. Eles só podem falar com eles através do endereço no roteador. E é o roteador de trabalho para levar informações que você está enviando o roteador e direcioná-lo para o local correto e para informações que está vindo no roteador para o roteador para enviá-lo para você. Então, os roteadores são realmente o dispositivos aqui-- particularmente um roteador em sua casa, o tipo mais comum caso de uso para a maioria das pessoas-- que tem o endereço IP público. Esse é o dispositivo que é conectado à internet. E você se conectar ao roteador para ter o fluxo de informações por isso em seu nome. Como eu disse, uma rede doméstica moderna, a router e switch e ponto de acesso são todo o tipo de pacote -se num único dispositivo. Às vezes, um modem é empacotado em lá também. Isso é normalmente chamado apenas de um roteador. Mas é realmente tudo de essas coisas juntos. Redes de negócios de grande escala ou chamado Wide Area Networks, WANS, realmente manter estes dispositivos separados. Eles têm um interruptor. Eles têm roteadores. Eles têm vários pontos de acesso. Por exemplo, numa universidade você vai ver as coisas que se parecem com os chamados roteadores montados são todos em torno do campus. Esses são todos os pontos de acesso que fluem em roteadores, switches, et cetera, para passar informações junto. Porque estas redes são tão grande que um único ponto de acesso não pode cobrir sua grande área. E assim estes grandes redes, redes de negócios, et cetera, dividir estas em separado dispositivos, por isso a rede e escala e crescer, se necessário. Então, novamente, em algum lugar entre nós e a internet, temos um ponto de acesso. E é isso que nós conectar. E por lá, nós pode chegar à internet. Como eu disse no começando deste vídeo, este não é um curso sobre networking. Então isso não é toda a história. E eu tenho o tipo de encoberto ele. E talvez eu deixei você até mesmo um pouco confuso quanto ao que algumas dessas coisas são. Mas isso é OK. Nós não precisamos de toda a história. É o suficiente para nós sabermos em movimento frente basicamente só um pouco sobre como a internet funciona. Então, o que nós sabemos é que temos estes redes privadas em nossa casa. E nós conectar a um roteador. E isso router está ligado à internet em geral. Mas o que é a internet em geral? Eu continuo dizendo isso, mas o que é? Bem, ele é realmente apenas todos estes redes individuais em minha casa, e em sua casa, e em todos os outros casa, que estão ligados entre si. É uma interconectado rede, uma inter-net. Então, ao invés de pensar sobre a internet como esta gigantesca nuvem, este etéreo coisa que existe lá fora, é realmente apenas uma conexão Entre todas essas redes. Então, vamos lá. Nós temos nossa rede local. E não é a única pessoa provavelmente em nossa rede local tentando usar a internet. Provavelmente há vários de nós tentando entrar. E nós não somos a única rede que existe no mundo, certo? Existem outras redes, também, que está tentando se conectar à internet. Mas a internet não é, novamente, uma entidade separada. É apenas um conjunto de regras que permitem estas redes, estas pequenas redes, o azul, o roxo, e a rede vermelho aqui, para comunicar uns com os outros. Portanto, não há coisa todos eles estão se conectando. Eles estão todos a apenas conectado uns com os outros, certo? E assim em algum lugar sobre estes redes de existir os serviços que nós realmente queremos. Então, talvez na rede azul é onde o Google vive. E na rede roxo Facebook é onde vive. E na rede de vermelho, bem, talvez que é onde todos os gatos são. E por isso, se queremos chegar informações sobre os gatos, nós apenas atravessar essa cadeia de redes para obter as informações que queremos. E aqui, eu tenho representado a rede como todos ser capaz de falar uns com os outros. E só podemos falar com a rede. Mas a rede não pode falar de volta para nós. Mas isso também não é verdade, certo? Isso tudo é uma via de mão dupla. A informação pode fluir através de redes e para trás. Como ele faz isso? Bem, a internet é realmente um sistema de protocolos. E nós estamos indo para começar a falar sobre o que esses protocolos estão em vídeos futuros. Mas, novamente, a internet não é uma coisa separada. É um conjunto de regras que define como as redes se comunicam, estas pequenas redes, estes rede local que estamos acostumados, as pessoas em nossa casa, as pessoas na nossa escola, as pessoas no nosso trabalho, todos compartilhando uma rede. E como essas redes de interconexão e falar uns com os outros, isso é realmente o que o internet de tudo. Então, vamos, em um futuro vídeo, falar sobre alguns dos protocolos que compõem a internet para esperançosamente dar-lhe um pouco mais de um compreensão bem-arredondado. Eu sou Doug Lloyd. Este é CS50.