软件的纽带| 青训营笔记

72 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天 今天照例分享一些我所不知道的东西,软件很少是孤立存在的,一个能与互联网广大世界相联的窗口,在当今变得越来越重要,而我也对软件如何联网感到十分好奇,但限于我的专业知识储备,我只能尝试总结归纳一些基础知识,希望能对和我一样没有学完四大件的小伙伴们有所帮助。

任何一个设备要被另一个设备找到,必须要有一个唯一的ip用来识别。浏览器或app需要发送一条请求,而这条请求想要送到服务器就需要知道服务器ip地址。而我们只知道域名也就是网址,一些服务器专门存放着ip地址与域名的对应关系,这种服务器叫做dns服务器,我们只需访问dns服务器就可以知道地址了。路由器类似一个dns服务器,设备在连入路由器时,会上报自己的Mac地址给路由器,并获得一个IP,通过arp协议实现ip与mac之间的映射关系(mac是电脑的身份证,每一个可以接入网络的设备都有一个mac地址,也就是设备的身份证,ip是你所在地区的网络地址,也就是家庭住址,你的网络可能接入不同的设备,也就是说你的家里可能会有不同的人入住,但是入住之后要有一个东西告诉别人谁在你家里住了,这个东西就是arp协议,arp协议通过广播的方式,向居委会每隔一段时间都要播报一下你的mac和ip的对应表,并且随时更新这张表,以后别人再来访问你家,直接看这张表就能定位了,居委会就是你跟外部网络的链接节点)。路由器则记录哪一个IP对应哪个Mac地址,当路由器收到一个访问自己管理范围内的某IP的请求时,就接收该消息,并把消息发给注册在自己IP与Mac地址映射表中的Mac地址所在设备。 知道了服务器的ip地址和要发送的关注数据,下面就是发送一条http请求,这里涉及了http协议,如果用https还涉及到ssl等协议。往下走http数据会封装成tcp数据包,再接着tcp又封装成ip报文,接着变成二进制帧数据,我们知道网络只能传输二进制形式。这时数据才开始离开自己的电脑开始网络传输。通过网线或其他媒介,二进制帧以电流、电磁波、光等形态传送到路由器,此时数据到了路由器,路由器还原出ip报文,拿到目的地址,接着把数据送到目标服务器。

看了好多B站视频和帖子,这些算是浓缩的干货吧,希望小伙伴们这次一定,一键三连哦(雾)。