طالعتنا أخبار التقنية مؤخراً بخبر مفادة وجود خطأ تصنيعي في هاتف iPhone 4 المنتج من قبل شركة Apple. هذا الخطأ يتمثل في عيب في هوائي الهاتف Mobile Antenna و الذي طرحة أحد مهندسي الشركة قبل الإنتهاء من مرحلة تصميم الجهاز و لكن كلامة قوبل بالتجاهل من قبل رئيس الشركة ستيف جوبز الذي أصر على طرح الجهاز في موعده المحدد يونية 2010.
زبدة الموضوع هل هذا فعلاً خطأ من شركة عملاقة كآبل و التي تتميز منتجاتها بثبات المستوى على مر السنين و ندرة وجود مشاكل من هذا النوع، أم أنها حرب إعلامية بين شركات الهواتف المحمولة.
There was a big debate in our company for the last one year about the DNS behavior, and the DNS is not stable and so on. One of the interesting subject we were debating about is the request time out, the DNS does not reply on time, and the DNS client on the modem router does not forward the request to the ISP DNS bla bla bla. This is of course does not make any sense neither from CPE side nor from ISPside. We did a small exercise just to show the folk who wrong they are.
The symptom was that the DNS reply with “DNS request time out” in the first two trials:
We took the pcap file from Wireshark, and we notice the following:
Request the A record (DNS record for IPv4) attaching the domain name
Request the AAAA record (DNS record for IPv6) attaching the domain name as well
Request the A record without attaching the domain name
Request the AAAA record without attaching the domain name
This is very interesting outputs, and explain why the first two requests fail. Here is the conclusion:
When Windows sends a DNS request, it will always attach the domain name (or so called DNS suffix). This is helpful in the big enterprise corporates where they have a local Windows DNS, and they want to use it as a recursive DNS for all DNS requests. Of course, when you use a DNS other than the corporate DNS, it will fail as there is no domain called www.yahoo.com.domain.com !
Then Windows will try to request the AAAA record (if the IPv6 stack enabled), and it will attach the domain name. This request will fail as well.
In the third request Windows will try A record without the domain name (www.yahoo.com), and in this case the ISP DNS will recognize the domain and it will reply with the correct resolution information.
This explains why the first two requests failed, and any machine with a domain name configured will face the same issue.