概述
传输层协议就两个,一个TCP,一个UDP,应用层这么多协议,怎么来区分呢。tcp+80标识它是http协议,同理其他的也一样。通过这个tcp+端口实现复用,协议就一个,但是标识的端口不一样,上层的协议也不一样。udp协议也是一样。
通常传输层协议加一个端口号来标识一个应用层协议。
TCP通过端口号标识上层是什么协议,同理UDP也是通过端口来区分上层协议。
- HTTP默认使用TCP的80端口。
- FTP默认使用TCP的21端口。
- SMTP默认使用TCP的25端口。
- POP3默认使用TCP的110端口。
- HTTPS默认使用TCP的443端口。
- DNS使用UDP的53端口。
- 远程桌面协议(RDP)默认使用TCP的3389端口。
- Telnet使用TCP的23端口。
- Windows访问共享资源使用TCP的445端口。
- 微软SQL数据库默认使用TCP的1433端口。
- MySQL数据库默认使用TCP的3306端口。
TCP/IP传输层端口
端口占用2个字节,代表16位二进制,它的最大取值就是65535,
服务器上端口的作用
端口用来定位服务器上的服务
端口用一个16 位端口号进行标志,允许有65535个不同的端口号。
端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在互联网中,不同计算机的相同端口号是没有联系的。
在网络层里面有个字段是专门表示端口的,占用两个字节,两个字节就是16位二进制,取最大值是65535。
端口号分为两大类
服务器使用的端口号
服务器端使用的端口号又分为两类,最重要的一类叫作熟知端口号(well-known port number)或系统端口号,数值为0~1023。 另一类叫作登记端口号,数值为1024~49151。这类端口号是供没有熟知端口号的应用程序使用的。
客户端使用的端口号
当打开浏览器访问网站,或登录QQ等客户端软件和服务器建立连接,计算机会为客户端软件分配临时端口,这就是客户端端口,取值范围为49152~65535,由于这类端口号仅在客户进程运行时才动态选择,因此又叫作临时(短暂)端口号。
客户端上端口的作用
用来确定数据包返回后给哪个客户端实例
服务和端口之间的关系
服务器给网络中的计算机提供服务,该服务一运行就会使用TCP或UDP的一个端口侦听客户端的请求,每个服务使用的端口必须唯一。
查看本地侦听的端口 Netstat –an
测试到远程服务器某个端口是否能够访问 telnet 192.168.80.123 80(测试远端的端口能不能访问就能够测试到上面的服务是否可以访问)(失败了的话要不是服务没有启动,或者防火墙,没有打开)
端口也分默认的端口和非默认端口,因为有些黑客在攻击服务器的时候,先用工具去扫描远程的端口,扫描到80或者其他默认端口比如21端口,那么他就知道是http服务和ftp服务,如果修改默认的端口,那么就很难知道对应的上层服务是什么,那么就不太好确定用什么方式去攻击。
可以用端口扫描工具来看某个地址开放了哪些端口。
网站默认使用443或者80端口,对外可以访问,如果修改了,那么用户去访问得加上端口号,这样非常不方便。
端口和网络安全的关系
在服务器上关闭TCP或UDP的某个端口,就关闭了客户端访问相应服务途径。
数据库不需要对外提供服务,只需要对本地的web提供服务就行了,如果在这个服务器上面不做任何防护,那么互联网上面的人就可以通过1443来访问到数据库。
更加安全的方式是将网卡的两扇大门都关了,TCP和UDP都关了,全部关了只开特定的端口,比如只开放TCP的80端口。
上面是另外一种情况,一个单位只允许内部的计算机访问网站,其他的流量都不允许。这个时候可以在路由器上面添加ACL访问控制列表,允许tcp的53端口可以出去也可以回来,也就是域名解析,允许访问网站的流量出去和回来。
上面一种是保护服务器的流量,实现对服务器访问的安全,在路由器上面相当于对公司网络的大门。
最后
以上就是认真河马为你收集整理的传输层 传输层协议和应用层协议之间的关系的全部内容,希望文章能够帮你解决传输层 传输层协议和应用层协议之间的关系所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复