俺来强答一番。
物理层接上网线和路由器的交换口连接,网卡会根据静态或者动态 IP 分配获得地址。无线的类似, 只是免了插线。如果是 DHCP 的工作方式, 网卡请求以后收到本地地址就会显示某个图标。
一般是搞个类似心跳信号的检测过程。当电脑从某个端口例如 eth0 或者 wlan0 向某个约定的广域网 IP 发包并且收到该 IP 的正确回应就会认为自己联上网了。当然, 背后还有 TCP/IP 协议这些东西。 大家已经基本不玩 IPX/SPX 或者 NETBUI 所以不提也罢。
电脑会有个路由表, 知道默认的网关是在哪里。
简单举例。
例如
=========================================================================== Interface List 7...ec f4 bb 22 33 66 ......Intel(R) Ethernet Connection I217-LM 21...b8 ee 65 11 22 33 ......Dell Wireless 1550 802.11ac 19...ba ee 65 11 22 33 ......Microsoft Wi-Fi Direct Virtual Adapter 12...ba ee 65 11 22 36 ..... Microsoft Wi-Fi Direct Virtual Adapter #2 1...........................Software Loopback Interface 1 27...00 15 5d 3a 4e 8b ......Hyper-V Virtual Ethernet Adapter =========================================================================== IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 172.16.31.254 172.16.31.110 25 127.0.0.0 255.0.0.0 On-link 127.0.0.1 331 127.0.0.1 255.255.255.255 On-link 127.0.0.1 331 127.255.255.255 255.255.255.255 On-link 127.0.0.1 331 172.16.31.0 255.255.255.0 On-link 172.16.31.110 281 172.16.31.110 255.255.255.255 On-link 172.16.31.110 281 172.16.31.255 255.255.255.255 On-link 172.16.31.110 281 192.168.226.144 255.255.255.240 On-link 192.168.226.145 5256 192.168.226.145 255.255.255.255 On-link 192.168.226.145 5256 192.168.226.159 255.255.255.255 On-link 192.168.226.145 5256 224.0.0.0 240.0.0.0 On-link 127.0.0.1 331 224.0.0.0 240.0.0.0 On-link 172.16.31.110 281 224.0.0.0 240.0.0.0 On-link 192.168.226.145 5256 255.255.255.255 255.255.255.255 On-link 127.0.0.1 331 255.255.255.255 255.255.255.255 On-link 172.16.31.110 281 255.255.255.255 255.255.255.255 On-link 192.168.226.145 5256 =========================================================================== Persistent Routes: None
0.0.0.0 0.0.0.0 172.16.31.254 172.16.31.110 25
这条就是网关(172.16.31.254 )的路由, 让电脑(172.16.31.110)知道想上网就把包扔给 172.16.31.254 这个地址。
其他的事情就等 TCP/IP 协议来解决。
tracert 208.67.222.222 Tracing route to resolver1.opendns.com [208.67.222.222] over a maximum of 30 hops: 1 2 ms <1 ms <1 ms 310cisco [172.16.31.254] 2 3 ms 1 ms 2 ms 10.110.1.254 3 110 ms 14 ms 12 ms 73.28.62.1 4 81 ms 66 ms 16 ms rc1st-ba197-1.vc.xhawcable.net [24.33.102.29] 5 11 ms 144 ms 64 ms as36692.vanix.ca [206.41.104.40] 6 10 ms 12 ms 9 ms resolver1.opendns.com [208.67.222.222] Trace complete.
假设 IP 包要扔给 208.67.222.222, 这个包会顺着路径类似快递一样,一跳一跳转发到下一跳,直到 208.67.222.22。
Pinging 208.67.222.222 with 32 bytes of data: Reply from 208.67.222.222: bytes=32 time=20ms TTL=59 Reply from 208.67.222.222: bytes=32 time=21ms TTL=59 Reply from 208.67.222.222: bytes=32 time=9ms TTL=59 Reply from 208.67.222.222: bytes=32 time=9ms TTL=59 Ping statistics for 208.67.222.222: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 9ms, Maximum = 21ms, Average = 14ms
返回的路径未必一样, 电脑(172.16.31.110)只要及时收到 208.67.222.22 的回应(过程中也可能包含ICMP请求, GRE请求,, DNS 请求, HTTPS 请求或者其他莫名其妙的信号,总之在相应的层面握上手以后)就会认为联网的路通了。 具体的过程您可以用嗅探器重建的, 例如 Sniffer Pro 或者 Wireshark.
上世纪没有那么先进或者在命令行下上网,
大家是通过 Telnet 一个熟悉的广域网地址来确定电脑已经联上网的。
telnet 不通的话就查灯,网线,ping 网关,ping DHCP SERVER, ping DNS, ping 8.8.8.8 等,检查 etc/hosts 关闭防火墙等。
答完才发觉自己在瞎扯, 也许年代太久远
telnet ptt.cc
如果好奇可以找网上的 CCNA 培训教程, 或者华为/中兴/港湾等公司的培训资料, 会解释得很详细。 从物理层解释到应用层。
也有自学类参考书
########################################################################
关于这个话痨的答主以及它的很散的散文:
。。
Windows这部分功能叫NCSI(網路連接狀態指示器),方式大概是访问http://www.msftconnecttest.com/connecttest.txt 这个地址,返回Microsoft Connect Test这个字串就证明网络正常。
这里有详细的说明
>
Windows 10 和更新版本:
www.msftconnecttest.com
FQDN 的位址。http://www.msftconnecttest.com/connecttest.txt
請求。Microsoft Connect Test
。dns.msftncsi.com
FQDN 的位址。安卓系统也是一样的,只是安卓是靠204这个状态码而不是特定的字符串,并且对于安卓系统这个地址是可以改的,设置项是captive_portal_http_url
,需要进shell用settings
命令去修改。常常有人从国外带回来机器,或者自己刷了第三方ROM发现一直提示没有网络但是还能正常联网,就是因为这个地址安卓默认用的是用谷歌的服务(或者一些比较老的cm ROM,默认设置的提供204响应的服务器已经关了)
adb shell settings put global captive_portal_http_url https://www.google.cn/generate_204 adb shell settings put global captive_portal_https_url https://www.google.cn/generate_204
详细信息可以参考这篇文章
酷安上也有一个APP可以修改这个地址,需要ROOT
这两个游戏都有自己的问题。但严重程度完全不一样。
赛博朋克最大的问题是人力不够,没有人手把愿景在限期内做出来,导致后期狂砍。但从已有的成品来看,CDPR是完全有人才有能力把东西做出来的,只不过没时间做。光影效果,已有的垂直城市设计,以及主线和很多支线任务的演出都有毫不输巫师3的气质,尤其是日本城浮空平台那关,无论是游戏流程还是画面还是音乐,都把类似银翼杀手2047的那种气氛和感受做到了极致。有人说CDPR的人才都跑了,或者CDPR傲娇了开始放水,这并不客观。2077确实是个半成品,主机优化的问题尤其严重,但你关注已经完成的部分,用高配置PC玩,其质量并未令人失望,依然是巫师3的水准。
2077就像是一个优等生忘了做背后的几题的考卷,开天窗导致不及格,但已经做了的题目还是正确率极高的。
谈到E3的demo,单从画面上讲你很难说它缩水了。只不过CDPR没告诉你想要E3画面,就得上3080+光线追踪。。。
我猜想没有光追的话,游戏在大多数情况下也是可以达到光追的效果的,只不过人工工作量会很大,有些地方需要离线烘培,而有些地方需要人工设置虚拟光源。CDPR可能发现项目后期工作量太大搂不住了,就上了光追这个大杀器。。。
至于无人深空,现在口碑很好,但我要不客气地讲,这个游戏到了今天依然是垃圾,只配卖$19.95,打折的时候卖2.95的那种。
Hello工作室自始自终都没有把初始愿景实现的技术能力。
你可以看无人深空进入大气层的技术实现。先是一段飞船进入大气层摩擦发红的特效,然后可以看见地形通过一种非常粗糙、视距很近的情况下刷新出来,并且刷出来的地貌和太空中看到的地貌完全不同。所以从头到尾,hello工作室都没有类似精英危险和星际公民的无缝行星登陆技术。
无人深空更新了十几次,并没有触动这个游戏除了机械刷就没有任何深度的本质。这是一个极其无聊的游戏。但它刷了两年的DLC,玩家也就给他点面子,没功劳有苦劳。它每次更新我都会进游戏看看,但玩不了半小时就会放弃。一是实在无聊,二是它美术设计和渲染水平有限,色彩及其刺眼。比如在母船机库里,到处都是亮瞎狗眼的点状光源,但这些光源不会照亮周围的任何东西,看的时间长了有种不带护目镜看焊接的流泪效果。你说更新了那么久,这么简单的问题都不解决,有什么用呢。游戏中随处可见低级设计的痕迹,比如说有很多行星上有一种可以卖钱的球,这种球没有任何贴图,只有亮瞎眼的纯白色材质,在HDR效果下极其刺眼,但它又不是个光源,放在地上不会照亮周围任何东西。这种打开Blender就存盘的建模初手垃圾素材居然也能放在游戏里,真是活久见。
所以无人深空就像是一个学渣冒充学霸,把期望提得无限高,却每题都答错结果接近0分,被骂,然后花了漫长的时间在那里订正,一题一题的改,最后终于接近30分了,然后获得了大家的赞赏,全然忘记了它改了那么久依然是不及格。
无人深空的贴图我就不贴了,首发的时候真是纯垃圾,基本上是2008年魔兽世界首发的那个水准。现在也依然是垃圾,开个HDR看着眼睛都疼。