五千年(敝帚自珍)

主题:问诸位高手一个关于协议的问题哈 -- zsgs

共:💬12 🌺8 新:
全看树展主题 · 分页首页 上页
/ 1
下页 末页
家园 问诸位高手一个关于协议的问题哈

上次有个人问我DNS和客户端最开始通讯使用什么协议,我说是UDP使用53端口。他很肯定的说是icmp,现在也没想明白有啥根据

家园 好像不对吧。DNS和ICMP是两个不同的协议,用不同的

socket。DNS的socket通常是UDP,也可以是TCP。ICMP用raw socket。

他没有解释为什么?

家园 层次不同

TCP/UDP应用层的,而ICMP是传输层的

家园 没有更具体条件吗?

有的特别系统会周期性ping解析服务器的。

另外以前也曾有过把DNS包放在ICMP包里的设计。

或者发DNS问题前先用ICMP去查询局网上谁是路由,然后再发DNS包(由路由转发)。

不过这些都是比较极端情况了。

如果是单纯DNS,应该是UDP或TCP端口53吧。当然如果服务器上UDP53端口没有DNS service,也会返回一个ICMP错误信息。

除此之外好像不大会涉及ICMP。

家园 啊,是了。这大概就是为什么会有这个问题和那个回答了。

当然如果服务器上UDP53端口没有DNS service,也会返回一个ICMP错误信息。

家园 一般来讲0-255端口是固定用途的

53我不知道,不过http一般固定在80上。

家园 TCP/UDP在传输层,ICMP在网络层

参考自TCP/IP协议详解

家园 他的答案是对的,但问题没说清楚.他可能是想问你最初启动

一个客户程序(比如BROWSER)去看YAHOO,任何CACHE都没有的情况下,你会看到些啥数据包.除了ARP包之外,当然是接着有可能看见ICMP包,然后才是DNS UDP包.

家园 是1-1024

而且没有0端口

家园 谢谢下面回复的各位哈

发现小弟我网络基础还是差太多了,各位老大有什么好材料什么的能分享一下不?最近想饿补一下基础

家园 这本是经典

“Unix Network Programming Vol. 1: The Sockets Networking API, Third Edition”

外链出处

家园 有电子版的吗

穷人买不起啊

全看树展主题 · 分页首页 上页
/ 1
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河