关于使用各种协议的的服务器的比较底层的问题
以前问过实际的服务器如何设置成类似网页服务器、FTP服务器、DNS服务器之类的服务器。有人回答说只要安装对应的软件就行了。但我想问的是这些软件是如何实现这些协议的呢?
我猜是不是对应不同协议的软件会监听(不知道用这个词专不专业)和这个协议对应的端口?通过对请求各种服务的数据包进行应答来实现对应的协议的?还有如果主机向服务器请求了一个服务器不支持的协议,服务器是不是直接就会无视掉?没有其他的处理么?
[解决办法]
协议等都是底层的,一般来说,对软件用户是透明的。
服务器上的软件都直接封装了所有用到的协议和处理。
[解决办法]
通过MAC和IP来找到服务器,再通过端口号来对应到某一进程。这之后就都是软件去做的事情了,处理好后的数据再按照标准格式打包(封装),传给客户端。
[解决办法]
如果说协议和端口是对应起来的话 那么所谓“服务器不支持的协议” 可能在服务器来说这个对应的端口是关闭的 也就是直接把这个包丢掉了
[解决办法]
我觉得学习这些东西知道大致原理就行了。不必深究其所有内在工作机制