服务器的传输层中端口和进程之间有什么关系

发布时间:2020-12-24 09:32:18 作者:小新
来源:亿速云 阅读:306

这篇文章将为大家详细讲解有关服务器的传输层中端口和进程之间有什么关系,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

进程间通信

传输层又称为运输层,它是比较特殊的一层。一方面,它属于通信部分的最高层,另一方面,又是用户功能中的最底层。传输层是为不同主机的进程之间进行通信,对于进行分组转发的路由器来说,它只有下三层的功能,用不到传输层及以上层。

进程,即运行的程序。在linux中,当一个程序运行了,操作系统就会给该进程分配一个进程号。可以用命令ps aux来查看所有进程。

# ps aux 
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  51744  2808 ?        Ss   Jul31  16:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
……

端口

TCP/IP的运输层用16位端口号来标志一个端口,所以一个主机可以有65535个端口。做过web开放的肯定知道一些常用的端口号,比如:web服务器的80、mysql服务的3306等端口。两个主机之间的进程是通过各自的端口号来进行通信的,所以,进程还必须具有监听端口的功能。在linux中,查看监听的端口的命令是netstat -tlunp

# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2449/nginx: worker  
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1010/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1819/sshd           
……

端口还具有复用和分用的功能,复用的指主机的多个应用进程可以使用同一个端口号进行通信,而分用时指从IP层拿到的数据报又可以通过端口号交给不同的应用进程。

TCP和UDP

传输层只有两个协议:传输控制协议TCP以及用户数据报协议UDP。这两个协议有各自的特点,和自己应用的一些场景。

TCP是面向连接的协议,在传递数据之前必须先建立连接,不需要进行数据传输的话就需要断开连接。TCP是一种比较复杂的协议,需要考虑许多因素。它可以提供端对端的可靠传输,但不支持一对多以及多对多的通信。常见的使用TCP协议的有HTTP协议、ftp协议、telnet协议等。

UDP是面对报文的,它比较简单,是尽最大努力而不是可靠的传输。它可以进行一对一、一对多以及多对多的通信。常见的使用UDP协议的协议有DHCP、DNS、RIP协议。

有一个例子是用来说明它们的特点的:TCP像是打电话,通话前必须先建立连接。而UDP则像发短信,短信发出去前不需要知道对方的主机的状态,短信发没发出去也是不知道的。

关于“服务器的传输层中端口和进程之间有什么关系”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

推荐阅读:
  1. UNIX和Linux之间有什么关系?
  2. anaconda和ide之间有什么关系

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

服务器

上一篇:phpstorm突然打开不了怎么办

下一篇:react如何添加css样式

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》