常用的熟知端口号
应用程序 | FTP | TFTP | TELNET | SMTP | DNS | HTTP | SSH | MYSQL |
---|---|---|---|---|---|---|---|---|
熟知端口 | 21,20 | 69 | 23 | 25 | 53 | 80 | 22 | 3306 |
传输层协议 | TCP | UDP | TCP | TCP | UDP | TCP | TCP | TCP |
什么是socket套接字
任何,两个机器的连接,指的是tcp/ip协议的连接,本质上是两个socket的通信socket套接字就是 ip+port的具象化比如部署nginx服务,运行在 10.0.0.7:80 端口,这就是一个socket通过本地去访问这个socket,浏览器随机指定的端口,发出请求10.0.0.1:61145 这个也是一个socket
本地套接字
比如单机LNMP,应用程序在机器内部内存之间数据交互
========================================套接字存在的意义,在于让两端进行数据交互,数据传输php10.0.0.7:9000mysql(10.0.0.7:3306 这是一个ip:port形式的 socket)mysql -uroot -p -h10.0.0.7================================================================================另一个形式是,也就是文件形式的本地socket(因为本地内存文件socket形式,比网络socket传输效率更高,)socket的都是具象化证明服务的确运行了,可以对外提供访问了,可以交互了mysql运行在 /tmp/mysql.sock这个文件存在,则表示mysql运行你可以通过这个/tmp/mysql.sock去登录mysql数据库咱们暂时部署形式都是 网络socket形式,将程序部署在 ip:port的形式。。
网络套接字
部署LNMP,这是不同机器之间的远程访问,就是远程socket
比如 http协议的交互10.0.0.1:61145 > 10.0.0.7:80马上学习nginx反向代理,远程部署lb-510.0.0.5:80 ↓web-710.0.0.7:9000 (php-fpm)叫做远程的socket通信简单说就是你部署 10.0.0.5:80 这个服务,还会和远程的另一个服务通过网络通信 10.0.0.7:9000两端进行数据交互专业名词就叫做socket通信