Networking 网络-发送和接收数据

Networking 网络-发送和接收数据,networking,encoding,server,ip,Networking,Encoding,Server,Ip,这不可能是正确的地方,因为它不是关于纯粹的编程; 然而,作为一名简单的web开发人员,我发现自己非常 对网络主题一无所知(维基百科通常是混合的 不同的主题),我觉得这是一个“必须”知道。 我对你写google.com时发生的事情有点印象 在你的浏览器上,我不知道整个过程(我有一个调制解调器, 一个路由器和几台连接到它的计算机。让我们以我的案例为例): 为了优化web服务器或编写更好的涉及网络的代码,也许每个初学者(比如我自己)都需要先了解这一点?谢谢你抽出时间。 编辑:我确实读过维基百科的OSI

这不可能是正确的地方,因为它不是关于纯粹的编程; 然而,作为一名简单的web开发人员,我发现自己非常 对网络主题一无所知(维基百科通常是混合的 不同的主题),我觉得这是一个“必须”知道。 我对你写google.com时发生的事情有点印象 在你的浏览器上,我不知道整个过程(我有一个调制解调器, 一个路由器和几台连接到它的计算机。让我们以我的案例为例):

为了优化web服务器或编写更好的涉及网络的代码,也许每个初学者(比如我自己)都需要先了解这一点?谢谢你抽出时间。
编辑:我确实读过维基百科的OSI模型,尽管它没有我想象的那么有用。

我将尝试解释这个想法,尽管它可能要复杂得多——这取决于你想深入到多深

  • 你写“www.stackoverflow.com”
  • 您的操作系统将尝试将www.stackoverflow.com解析为IP地址
  • 由于您的操作系统可能无法访问,因此需要询问DNS服务器
  • 假设您使用外部DNS(例如IP=5.5.5.5,您的IP=10.10.10.10,位于不同的网络上),您的操作系统将检查它是否知道如何到达5.5.5.5
  • 您的电脑上存在默认路由0.0.0.0/0(也称为“默认gw”,包括所有internet,它指向您的本地路由器
  • IP数据包将被发送到路由器MAC地址,且DNS IP地址位于目的地
  • 您的路由器可能会将您的专用IP地址更改为自己的公用IP地址,并将其发送给ISP
  • ISP将把它路由到internet,直到它到达5.5.5.5,即DNS
  • DNS将向IP地址回复解析stackoverflow.com
  • 您的电脑现在知道如何将数据包发送到stackoverflow.com
  • 数据包将被发送到stackoverflow ip地址(104.16.36.249)和端口80(http)
  • stackoverflow web服务器侦听端口80上的请求
  • 一旦数据包到达,它将生成一个响应数据包
  • 它将以完全相同的方式将其发送回您
  • 所有这些流量都可以通过wireshark这样的网络捕获工具看到,你可以使用这些命令(windows)来验证

    ping stackoverflow.com

    netstat-rn

    ipconfig

    nslookup

    tracert-d


    在互联网上搜索
    OSI模型
    。我搜索了维基百科的OSI模型-他们还不够深入。无论如何,谢谢。你需要超越定义网站,进入数百个深入解释它的网站中的一些,例如。你需要先清楚地了解网络的层次模型,然后才能填写bl我知道OSI模型有7个级别,而你只在第2层、第3层和第4层给了我20页的链接?我在寻找一个按时间顺序排列的解释——例如,就像我上面的例子,当你写地址直到你从服务器上取回数据时会发生什么。不过,谢谢你。这是一个例子,确实如此讨论所有层。它在“将所有层放在一起”部分提供了从浏览器中发生的事情。
    You write characters into chrome -> 
    there is some character encoding done to translate the address(ASCII or else) -> 
    DNS does something, not sure -> 
    your router receives a digital request from a computer's internet cable/WIFI, it saves the internal IPV4 address of     
    the sender in order to know to which computer to respond back. it sends the digital data to the modem -> 
    your modem receives digital data, and translates it from digital to analog ->
    now your network provider does some work - > 
    the google server receives a request from an IP address - > 
    not sure how the google server handles the data, nevertheless it sends back data ->
    service provider - > router gets translated digital data from the modem and remembers who sent the request, and sends it to the right person.