FTP/DNS

作者: 曾经的飞舞梦 | 来源:发表于2019-06-30 14:55 被阅读0次

FTP工作原理

        主动模式(端口模式)

                客户端开启一个大于1024的端口去连接服务器端的21号控制端口;

                客户端开启另外一个大于1024的端口去告诉服务器端;

                服务端通过20号数据端口把数据送到客户端告诉他的1024端口。

            被动模式

                    被动模式:(linux默认)

                        客户端开启一个大于1024的端口去连接服务器的21号控制端口;

                        服务端开启一个大于1024的端口去告诉客户端;

                        客户端开启另外一个大于1024的端口去服务器端大于1024得到端口把数据取回来

DNS解析流程;

        1.客户端查询自己的缓存,在查询本地hosts中的记录,如果没有将查询发送/etc/resolv.conf中的DNS服务器;

        2.如果本地DNS服务器对于请求的信息具有权威性,会将权威答案发送到客户端;

        3.否则不具有权威性,那么DNS服务器会在其缓存中查看是否有以前的请求信息留下的缓存,如果有有则将非权威答案发送到客户端;

        4.否则缓存中没有查询该信息,DNS服务器从根域服务器开始,按照DNS层次结构向下搜索,一直查到对于信息具有权威的服务器,为客户端获取答案。

        5.DNS服务器将信息传递给客户端,并在自己的缓存中保留一个副本,以备以后查找==>Caching only        (仅缓存)

        DNS面试题:

            DNS域名系统:  用于命名组织到域层次结构中的计算机和网络服务。

            在Internel上域名和IP地址一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,他们之间的转换工作称为域名解析,域名解析需要专门的域名解析服务器来完成。

            DNS运行在UDP协议之上,使用端口号53.

            在传输层TCP提供端到端可靠的服务,在UDP端提供尽力而为的服务。

            

            1.我们都知道NDS既采用了TCP协议,又采用了UDP协议,什么时候采用TCP协议?什么时候采用UDP协议?为什么这样设计?

                    DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类,但很少有人知道DNS分别在什么情况下使用这两种协议。

                    1>.  DNS进行区域传输的时候使用TCP协议,其他时候则使用UDP协议:

                            DNS的规范规定了2中类型的DNS服务器,一个叫主DNS服务器,一个叫辅助DNS服务器,在一个区中主DNS服务器从自己本机的数据文件中读取该区的NDS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。当一个辅助DNS服务器启动时候,他需要与主DNS服务器通信,并加载数据信息,这就叫做区传送。

                    2>.为什么即使用TCP又使用UDP?

                        首先了解一下TCP与UDP传送字节的长度限制:

                            UDP报文的最大长度为512字节,而TCP则允许报文长度超过512字节,当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。通常传统的UDP报文一般不会大于512字节。

                    3>.区域传送时使用TCP,主要有以下两点考虑:

                        1.辅域名服务器会定时(一般3小时)向主域名服务器进行查询以便了解数据是否有变动,如有变动,则会执行一次区域传送,进行数据同步。区域传送将使用TCP而不是UDP,因为数据同步传送的数据量比一个请求和应答的数据量要多的多

                          2.TCP是一种可靠的连接,保证了数据的准确性

                    域名解析时候使用UDP协议:

                            客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过TCP三次握手,这样DNS服务器负载更低,响应更快,虽然从理论上说,客户端也可以指定向DNS服务器,查询的时候使用TCP,但事实上,很多DNS服务器进行配置的时候,仅支持UDP查询包。

相关文章

  • FTP/DNS

    FTP工作原理 主动模式(端口模式) 客户端开启一个大于1024的端口去连接服务器端的21...

  • 网络应用层协议

    FTP:文件传输协议(File Transfer Protocol,FTP):用于实现交互式文件传输功能 DNS:...

  • 应用层

    应用层 dns\dhcp\ftp\telnet\ssh\http\smtphttp = TCP+80https =...

  • 十三、NFS、FTP、DNS

    1、构建NFS远程共享存储 存储分类:文件系统级别共享(是NAS存储(网络附加存储通过网线)) ---------...

  • 041 Python语法之Socket

    协议 HTTP DNS FTP SSH SNMP ICMP ping DHCP OSI七层 应用 表示 会话 传输...

  • 一款支持多账户的Web管理面板:CyberPanel安装教程

    简介 CyberPanel,一款基于OpenLiteSpeed的web管理面板,支持主动增加SSL、DNS、FTP...

  • DNS

    DNS服务 与HTTP,FTP,SMTP同属应用层协议,但大部分时候都为其他应用层协议提供核心功能 DNS核心服务...

  • TCP 协议概览

    背景知识——互联网分层模型 应用层(DNS,FTP,HTTP,RTSP,SSH,TLS/SSL, XMPP, DH...

  • 《iOS面试题整理》- 谈谈你对 http 和 https 的理

    TCP/IP 四层模型 应用层 : FTP 、HTTP、DNS、SMTP运输层 :TCP、UDP网络层 : IP链...

  • 网络协议:其他协议与知识

    目录一,域名二,DNS三,DHCP四,FTP五,WebSocket六,WebService七,CDN八,代理九,V...

网友评论

    本文标题:FTP/DNS

    本文链接:https://www.haomeiwen.com/subject/rikbcctx.html