DNS使用TCP和UDP的端口号53

DNS在两种情况下使用TCP
1.如果用wireshark、sniffer或古老些的tcpdump抓包分析,会发现几乎所有的情况都是在使用UDP,使用TCP的情况非常罕见。其实当解析器发出一个request后,返回的response中的tc删节标志比特位被置1时,说明反馈报文因为超长而有删节。这是因为UDP的报文最大长度为512字节。解析器发现后,将使用TCP重发request,TCP允许报文长度超过512字节。既然TCP能将data stream分成多个segment,它就能用更多的segment来传送任意长度的数据。
UDP报文的最大长度为512字节,而TCP则允许报文长度超过512字节。当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。通常传统的UDP报文一般不会大于512字节。
2.另外一种情况是,DNS在进行区域传输的时候使用TCP协议,其它时候则使用UDP协议。
DNS的规范规定了2种类型的DNS服务器,一个叫主DNS服务器,一个叫辅助DNS服务器。在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。当一个辅助DNS服务器启动时,它需要与主DNS服务器通信,并加载数据信息,这就叫做区传送(zone transfer)。
辅域名服务器会定时(一般时3小时)向主域名服务器进行查询以便了解数据是否有变动。如有变动,则会执行一次区域传送,进行数据同步。区域传送将使用TCP而不是UDP,一是因为数据同步传送的数据量比一个请求和应答的数据量要多得多;二是因为TCP是一种可靠的连接,保证了数据的准确性。
DNS更多情况下使用UDP
客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过TCP三次握手,这样DNS服务器负载更低,响应更快。虽然从理论上说,客户端也可以指定向DNS服务器查询的时候使用TCP,但事实上,很多DNS服务器进行配置的时候,仅支持UDP查询包。

### 常用TCPUDP端口号及其用途 #### TCP UDP 的基本概念 TCP UDP 是传输层的两种主要协议。它们通过端口号来区分不同的应用层服务。每个端口号是一个 16 位无符号整数,因此其取值范围是从 0 到 65535[^2]。 #### 端口号分类 端口号通常分为三类: 1. **熟知端口(Well-Known Ports)**:编号从 0 到 1023,由 IANA 统一管理分配,用于常见的网络服务。 2. **注册端口(Registered Ports)**:编号从 1024 到 49151,可供特定公司或组织申请并使用。 3. **动态或私有端口(Dynamic or Private Ports)**:编号从 49152 到 65535,供客户端临时使用。 #### 常见的 TCP UDP 端口号及用途 以下是部分常见端口号的功能描述: | 端口号 | 协议 | 使用场景 | |--------|------|----------| | 20 | TCP/UDP | FTP 数据传输通道 | | 21 | TCP | 文件传输协议(FTP 控制通道) | | 22 | TCP | 安全外壳协议(SSH),用于安全登录远程计算机 | | 23 | TCP | 远程终端协议(Telnet),提供不加密的远程登录功能 | | 25 | TCP | 邮件传输代理(SMTP),负责电子邮件发送 | | 53 | TCP/UDP | 域名解析系统(DNS),实现域名到 IP 地址的映射 | | 67/68 | UDP | 动态主机配置协议(DHCP),自动分配 IP 地址其他网络参数 | | 69 | UDP | 简单文件传输协议(TFTP),常用于小型设备固件更新 | | 80 | TCP | 超文本传输协议(HTTP),支持网页浏览 | | 110 | TCP | 邮局协议版本 3(POP3),接收邮件 | | 123 | UDP | 网络时间协议(NTP),同步计算机时钟 | | 137-139| TCP/UDP | NetBIOS 名称服务、数据报服务以及会话服务 | | 143 | TCP | 邮件访问协议(IMAP4),读取管理邮箱中的消息 | | 161 | UDP | 简单网络管理协议(SNMP),监控管理系统性能 | | 389 | TCP/UDP | 轻量级目录访问协议(LDAP)、NetMeeting Internet Locator Server 共享此端口[^3] | | 443 | TCP | 加密超文本传输协议(HTTPS),基于 SSL/TLS 提供安全通信 | #### 修改服务器上的 TCPUDP 端口号 如果需要更改服务器上默认使用TCPUDP 端口号,则可以通过编辑相应的服务配置文件完成操作。例如,在 Linux 中调整 SSH 服务监听端口的方法如下所示: ```bash sudo nano /etc/ssh/sshd_config ``` 找到 `Port` 参数并将数值更改为所需的非特权端口号(>1024)。保存更改后重启 sshd 服务即可生效[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值