欢迎回到《Gin Web 后端开发》系列文章,在上一篇 Gin -- 从打开 .txt 文件说起 文章中留下了两个问题,我们继续。通过之前讲到的记事本读取文件的原理,我们知道在浏览器地址栏输入 URL 来访问某个页面其实就是读取某个 HTML 文件,只不过这个 HTML 文件存储在某台远程服务器上。如下图所示:
之前也讲过,计算机底层都是二进制的世界,任何数据最后都将变成由 0、1 组成的二进制数据串。两台主机如果要进行网络通讯,必须安装网卡硬件设备、网卡驱动程序,由操作系统给驱动程序发出指令,控制网卡硬件设备实现收发 0、1 组成的二进制数据串。网卡驱动程序若收到 0 则驱动网卡硬件设备发送一个低电平信号;若收到 1 则发送一个高电平信号,从而形成高低起伏的波通过网线发送给另一个网卡设备。另一个网卡硬件设备用相反的方式进行接收解析。如下图所示:
网络硬件设备在出厂前就有一个全球唯一的 MAC 地址,类似于我们的身份证号码一样,网络中存在着数不清的网络设备,设备之间要进行通讯必须依赖 MAC 地址进行。
现在我们知道通过 IP 可以找到想要访问的服务器,但不管是个人电脑还是服务器,都运行着各种各样的程序,数据的传输是通过同一个网卡进行,谁知道传输的信息是给哪个程序的呢?例如,我一边玩 LOL 一边聊微信,突然游戏中的聊天内容出现在微信聊天窗口里面了,那不是全乱套了。
所以别没事瞎提问题,搞不好就给学生加了一门课程。
01 怎么通过网线传输数据
之前也讲过,计算机底层都是二进制的世界,任何数据最后都将变成由 0、1 组成的二进制数据串。两台主机如果要进行网络通讯,必须安装网卡硬件设备、网卡驱动程序,由操作系统给驱动程序发出指令,控制网卡硬件设备实现收发 0、1 组成的二进制数据串。网卡驱动程序若收到 0 则驱动网卡硬件设备发送一个低电平信号;若收到 1 则发送一个高电平信号,从而形成高低起伏的波通过网线发送给另一个网卡设备。另一个网卡硬件设备用相反的方式进行接收解析。如下图所示:
02 有了 MAC 地址,为啥还要 IP 地址
网络硬件设备在出厂前就有一个全球唯一的 MAC 地址,类似于我们的身份证号码一样,网络中存在着数不清的网络设备,设备之间要进行通讯必须依赖 MAC 地址进行。
03 那为啥又要端口
现在我们知道通过 IP 可以找到想要访问的服务器,但不管是个人电脑还是服务器,都运行着各种各样的程序,数据的传输是通过同一个网卡进行,谁知道传输的信息是给哪个程序的呢?例如,我一边玩 LOL 一边聊微信,突然游戏中的聊天内容出现在微信聊天窗口里面了,那不是全乱套了。
欢迎在评论区进行交流,喜欢的话点个赞哦!
其实现在也就20几个粉丝,一大部分还不是搞技术的,好忧伤,再接再厉!