我们每天都在登录B站,每天都在科学用网,只要手动输入 https://www.bilibili.com 我们就可以进入b站了,但你有想过这件事是如何实现的吗?还有当我们在做客户端,服务器相互传输信息的时候,IP和端口是干什么用的?在这篇文章中我将详细对标签中的各种名词做出解释。

  首先,从我们自己的身边开始介绍,由这些引入到以上的各种名词,下面对这些名词进行形象化的解释,便于理解。

1:局域网(内网)
  小时候家里买了个路由器,接到电脑上,电脑就有网了,接到手机上,wifi接到手机上,手机也有网了。我们就可以说,在这个路由器发射的网络信号让局部范围内有了网络,这个局部范围就称为局域网,而众多的手机,电脑,则是接入了这个局域网的设备。

2:公网:
  现在我们家有局域网了,可别忘了小区内别人家也有路由器,他们也有自己的局域网,那么问题来了,谁给我们和他们路由器连的网?当然是一个更大的路由器了!一个更大的路由器会给你们小区所有的路由器供网。我们同样可以推出在别的小区也有着很多的家庭路由器在提供局域网,而给他们的路由器供网的则是他们小区的路由器。同理可推,给众多小区的路由器供网的是市政级别的路由器,给市政级别的路由器供网的是省的路由器。这样你就会发现整个供网系统就是一个金字塔型,由最上面的一个点向下延伸构建成一个金字塔,塔顶的点就是中央系统。而我们把小区各个用户用的路由器之上的部分称为公网(先把各家各户的路由器给用户家里局部区域供网的范围定义为局域网,把路由器之上的公网系统称为公网)。而整个金字塔的运营商(ISP)就是电信,联通,移动等公司。

  有了局域网和公网的理解,我们就可以进一步解释 内网IP,公网IP 这类概念了:

3:内网IP
  当别人问:”你电脑的IP是什么啊?”,你大惊失色,马上百度如何查看电脑IP,发现按win+R输入cmd按回车,在命令行中输入 ipconfig ,就查到了自己的电脑IP是1xx.xxx.xxx.xxx;然后你告诉那个人:我的IP是:“xxxxxxxxxxxxxxx”。
如果你有过以上的经历,并且认为上述语句并无毛病的话,那么说明你的理解是有问题的(你的操作完全没有任何问题)。下面我会解释为什么:
首先电脑IP并非固定的,电脑IP也不是电脑固有的,甚至“电脑IP”本身就是带有歧义的,它会让你认为这是电脑固有的,出厂就设定好的,但其实上不是的,电脑IP是你电脑接入局域网络的路由器来分配的!没错,如果你电脑接入了邻居家的局域网内,你就会发现电脑IP变了。所以这个IP只是临时性的。而且你家的路由器会保证它所分配的IP是各不相同的。

4:公网IP
  公网IP是什么?和你的电脑IP有什么区别?首先我们要知道IP的作用是什么,我给你发了条微信,你给我回信,为什么信息会精准的在我们之间发送而没有发给别人呢?答:因为有IP,只要知道你我的IP,在这个大的金字塔框架中,信息就怎么也走不通。但如果你细想信息在金字塔中是怎么流动的,你会发现我发给你的信息从我的IP出发,到达我家的路由器再到达给我家路由器供网的小区路由器,小区路由器回去上面找市政级的路由器,这个市政级的路由器再找到你小区的路由器再找到你家的路由器再找到你的IP,构成了一条完整的通路,消息在这条通路之中流动。那问题来了,信息怎么知道这条通路的存在呢,信息为什么知道该怎样从当前路由器找到下一个路由器呢?它不知应该知道起点位置和终点位置吗?答:所用的路由器都有一个IP地址,你家的,你小区的,市政的,市政上面的,也就是说在公网里的路由器都有自己的IP地址,都有一个1xx.xxx.xxx.xxx的IP地址,这就是公网IP。但这些IP地址不是由上一级路由器随机分配的,都是固定好的,也就是说公网IP是固定不变的且各不相同的!这样我们也可以说在这个大的网络框架中每个网络用户的绝对地址都是由 公网IP+内网IP 唯一确定的,这是由于公网IP各不相同,局域网内各设备的IP各不相同,这样就保证了对每个用户而言 他公网IP+内网IP 各不相同。
我们可以做一个小实验:
内网IP查询:电脑cmd中输入ipconfig
公网IP查询: 百度内输入IP直接搜索的那串数字
我在E601实验室中在实验室路由器的局域网中查询这两项与我接入wifi BUAAMobile得到的两个IP地址都是不一样的。
内网IP不同是因为随机分配的,换个路由器就不一样了。
公网IP取决于你电脑所连的路由器,E601走的是北航路由器1,BUAAMobile是北航路由器2,两个路由器都不一样,自然公网IP就不一样了!

如果还是不理解直接看下面的链接视频:
https://www.bilibili.com/video/BV1xu411f7UW/?spm_id_from=333.337.search-card.all.click&vd_source=b6da26061de3320a8170666f06381a91
https://www.bilibili.com/video/BV1DD4y127r4/?spm_id_from=333.337.search-card.all.click&vd_source=b6da26061de3320a8170666f06381a91

为了下面的叙述,解释一下服务器:
5:服务器,说白了就是存储了大量数据的super电脑,有自己的IP地址。你想从服务器得到服务器内的数据,就像你想从老师那得到成绩单:你用电脑微信发送请求:“老师你能不能把期末成绩发我一下”,老师收到请求后在他的电脑上把电脑里面存的成绩单发给你,老师的电脑就相当于一台服务器。你访问www.bilibili.com 请求经过金字塔的通路传递到bilibili公司的服务器,服务器收到请求就把B站主页的数据信息原路返回发送给了你,你就看到了b站主页,之后你想看主页上了哪个视频,也是如上过程。类似于微信聊条,只不过别人回的就是你要看的视频。

  到这里,你就知道了,我想查询www.bilibili.com,访问请求由内网传到公网,去访问bilibili的服务器,bilibili的服务器再将数据走路由器通道找到我的IP传回给我,我就可以看到bilibili的界面了!
  但你有没有想过,你的请求是访问 https://www.bilibili.com 那这条请求访问信息怎么知道该走那条路才能到目标路由与服务器呢?
聪明的你显然发现了,https://www.bilibili.com 与bilibili的服务器IP存在着千丝万缕的关系。下面就要讲到域名,DNS。

6:DNS,你可能会说只要有了目标IP地址,我就完全可以在金字塔体系内进行各种通信了啊,那DNS是干什么吃的?万事万物都有其存在的道理,我们回想一下,你要访问bilibili,那么你就要知道bilibili的IP,就是那一大串1xx.xxx.xxx.xxx,好,我们假设你今天知道了,那你下次还能记住吗?你先记住你女朋友的手机号吧!这就是域名存在的原因,好记!就是好记住,只要访问Bilibili域名https://www.bilibili.com 你就能进去了。但是在金字塔体系里是通过IP找IP来实现通信的啊,因此,就有了DNS—将域名翻译成IP,就是将https://www.bilibili.com 翻译成1xx.xxx.xxx.xxx。具体是怎末工作的呢?DNS实际是一个服务器,你访问某个网址域名时,这个网址域名会先被送到DNS服务器(没有例外),这个服务器内记录了世界上所有的域名和IP的对应数据,查询到后就会将具体的IP传回你的电脑,你的电脑收到后自动去访问这个具体的目标网站IP,就实现了你和目标网站的互通,如果没有DNS,你就只能输入IP访问了。

7:域名等级:拿 www.bilibili.com来说,.com是顶级域名,.bilibili是一级域名,.www是二级域名。

8:IP、ICMP、MAC地址、MAC地址学习
链接:https://zhuanlan.zhihu.com/p/353060487
链接:https://blog.csdn.net/qq_43262059/article/details/106211619#:~:text=%E6%B5%85%E8%B0%88%E5%AF%B9MAC%E5%9C%B0%E5%9D%80%E7%9A%84%E7%90%86%E8%A7%A3%201%20%E2%80%A2I%2FG%3D1%EF%BC%8C%E8%A1%A8%E7%A4%BA%E5%9C%B0%E5%9D%80%E5%AD%97%E6%AE%B5%E6%98%AF%E4%B8%80%E4%B8%AA%E5%8D%95%E4%B8%AA%E7%AB%99%E5%9C%B0%E5%9D%80%202%20%E2%80%A2I%2FG%3D0%EF%BC%8C%E8%A1%A8%E7%A4%BA%E7%BB%84%E5%9C%B0%E5%9D%80%EF%BC%8C%E8%BF%9B%E8%A1%8C%E5%A4%9A%E6%92%AD,%E5%9B%A0%E6%AD%A4%EF%BC%8CIEEE%E5%8F%AA%E5%88%86%E9%85%8D%E5%9C%B0%E5%9D%80%E5%AD%97%E6%AE%B5%E5%89%8D3%E4%B8%AA%E5%AD%97%E8%8A%82%E7%9A%8423%E4%BD%8D%203%20%E2%80%A2G%2FL%3D1%EF%BC%8C%E6%9C%AC%E5%9C%B0%E7%AE%A1%E7%90%86%204%20%E2%80%A2G%2FL%3D0%EF%BC%8C%E5%85%A8%E7%90%83%E7%AE%A1%E7%90%86
链接:https://blog.csdn.net/ababab_vain/article/details/121912275
9:IP与MAC地址的关系:
链接:https://blog.csdn.net/a6333230/article/details/108352160
链接:https://www.zhihu.com/question/49335649