AllExperts > Unix/Linux OS 
Search      
Unix/Linux OS
Volunteer
Answers to thousands of questions
 Home · More Unix/Linux OS Questions · Answer Library  · Encyclopedia ·
More Unix/Linux OS Answers
Question Library

Ask a question about Unix/Linux OS
Volunteer
Experts of the Month
Expert Login

Awards

About Us
Tell friends
Link to Us
Disclaimer

 
 
 
 
About Denis Mello
Expertise
I have been working with Linux distributions over the last 3 years. I have experience with Linux Security, shell-scripts and network troubleshooting.

Experience
Configuring IMAP, Sendmail, Samba and network connections. Also developed shell-scripts to automated basic functions.
Expert in network security (honeypots, vulnerabilities, tools)

Education/Credentials
Graduated in Mechatronic Engineering, concluded part of a Master Degree in Materials Engineering. Master Business administrator (IT Management).
Microsoft Certified (MCP), Linux LPI, IBM Cerfied in Rational and SAP Netweaver Consultant.

 
   

You are here:  Experts > Computing/Technology > Focus on Unix > Unix/Linux OS > DNS and FTP

Unix/Linux OS - DNS and FTP


Expert: Denis Mello - 10/30/2009

Question
QUESTION: Hi,
Below is what I know about how DNS and FTP are used.
My question is, what are the most common clients used with them?

DNS and FTP are protocols which are the part of the ISO 7-layer protocol stack. FTP is an application layer protocol while DNS is a layer 4 protocol, thus it falls under the transport layer protocol. Every packet that these protocols use have to traverse all ISO layers  and thus they also pass through the TCP/IP protocol, FTP in particular, as that uses TCP as the transport layer whereas DNS uses UDP as the transport layer. DNS and FTP deal with Windows too. They are basically two of the major network protocols used. DNS is basically the name given to all the name servers on the Internet. This is how we find a particular website amongst millions on the Internet. It's like having an address for each site and the requests send by the client are sent from a DNS server to another until they reach the destination. FTP is a way of transferring files or receiving files from a remote/local server. Many people use this protocol to upload their websites to a web server. It can also be used to retrieve logs and syslog files from a syslog server. It's uses are extremely vast.

ANSWER: Andy.

First of all, your description is very wide and comprehensive. As they are different protocols in terms of meaning and context.
Prior to responding your question it is important to empathizing that in terms of security, FTP in very insecure. Many FTP clients/servers are insecure. The same occurs with some implementations of DNS: multiple identical queries for the same resource record (RR), cache poisoning attacks and others.

Depending on what you want to do, I recommend you to check it out with the vendors to verify if the implementation is vulnerable to some kind of attacks and bugs.

DNS
BIND, a widely used open source DNS server.
Microsoft DNS - Microsoft DNS is the DNS server provided with Windows Server, a key component of Microsoft's Active Directory.
Dnsmasq - Dnsmasq is a lightweight, easy to configure, DNS forwarder and local resolver (and DHCP server) and is usually integrated in home networking routers.
djbdns - Djbdns is a collection of DNS applications, including tinydns, which was the second most popular open-source DNS server in 2004.[1]. It was designed by Daniel J. Bernstein, author of qmail, with an emphasis on security considerations. In March 2009, Bernstein paid $1000 to the first person finding a security hole in djbdns.[2] Djbdns requires several uncommon installation and configuration methods. The Source code is not centrally maintained and was released into the public domain in 2007. As of March 2009 there are three forks and more than a dozen patches to address shortcomings in djbdns.

Here you can find a good comparison of DNS: http://en.wikipedia.org/wiki/Comparison_of_DNS_server_software
YOu can see that the DNS application is generally embedded with the Operational System.


FTP:
Good website: http://en.wikipedia.org/wiki/Comparison_of_FTP_client_software
The most used are: gFTP, CURL, crossFTP

Hope it helps.
Denis Vinny!












---------- FOLLOW-UP ----------

QUESTION: Denis,

I am doing a report on DNS and FTP... My report needs to be based on how it is used, how it interacts with TCP/IP, describe the most common client applications used with it, and where it fits in the OSI model. I believe that the only thing I'm missing is how it interacts with TCP/IP.. Can you help?


DNS and FTP are protocols which are the part of the ISO 7-layer protocol stack. FTP is an application layer protocol while DNS is a layer 4 protocol, thus it falls under the transport layer protocol. Every packet that these protocols use have to traverse all ISO layers and thus they also pass through the TCP/IP protocol, FTP in particular, as that uses TCP as the transport layer whereas DNS uses UDP as the transport layer. DNS and FTP deal with Windows too. They are basically two of the major network protocols used. DNS is basically the name given to all the name servers on the Internet. This is how we find a particular website amongst millions on the Internet. It's like having an address for each site and the requests send by the client are sent from a DNS server to another until they reach the destination. FTP is a way of transferring files or receiving files from a remote/local server. Many people use this protocol to upload their websites to a web server. It can also be used to retrieve logs and syslog files from a syslog server. Its uses are extremely vast. ISO OSI model is a relatively formal model and TCP-IP doesn't insist on all 7 being used. Basically, IP sits on Layer 3, while TCP sits in Layer 4. Some of the OSI model requirements are not fulfilled in TCP/IP, but we all live with it. UDP is somewhere in between 3 and 4, more in 3. DNS and FTP both sit in Layer 7, where layers 5 and 6 are not covered, at least not by some network stack. They do have some functionality of L5 and L6, but definitely not all.
Every application as such has to traverse the entire OSI stack in order to cross the internet. Only on certain routers/switches does a packet not climb the entire way to the top. Also, DNS is a TCP based protocol. UDP is used only for "stateless" connections, such as VoIP traffic or things like SNMP where many messages that do not result in a full connection could "clog" a router or network.

   TCP and IP are layers 4 and 3, respectively. On layer 4 (the Transport Layer) each application transmitting data is assigned a port number, such as 53 for DNS and a packet type (TCP, UDP, ICMP) and is prepared for layer 3 encapsulation. Basically, a frame is built and the fields representing these flags are defined and assigned to the data, with the last field being the actual data or "payload."

   Once Layer 4 has finished assembling the TCP/UDP/ICMP/etc frame, the packet is then handed down to the Network Layer (Layer 3) and another frame is built around the existing frame containing source and destination IP addresses, packet type and QoS (also known as DSCP) flags and so on. Once this is completed, the packet is then handed down to Layer 2 (Logical Link Layer) and is prepared to be shipped across the wire.


ANSWER: Ok. I got it. Check this out. Instead of writing all the aspects, I'll indicate some sites that contain the information required by you:

http://msdn.microsoft.com/en-us/library/aa916390.aspx
http://books.google.com.br/books?id=Pm4RgYV2w4YC&pg=PA1228&lpg=PA1228&dq=how+it+...


http://books.google.com.br/books?id=pbJI4D6S1eIC&pg=PA216&lpg=PA216&dq=how+DNS+i...

http://www.tcpipguide.com/free/t_FTPOperationalModelProtocolComponentsandKeyTerm...

Tell me your thoughts.

Best regards.

Vinny

---------- FOLLOW-UP ----------

QUESTION: Here is what I have. What else can be said regarding TCP/IP?

     DNS and FTP are protocols which are the part of the ISO 7-layer protocol stack. FTP is an application layer protocol while DNS is a layer 4 protocol, thus it falls under the transport layer protocol. Every packet that these protocols use have to traverse all ISO layers and thus they also pass through the TCP/IP protocol, FTP in particular, as that uses TCP as the transport layer whereas DNS uses UDP as the transport layer. DNS and FTP deal with Windows too. They are basically two of the major network protocols used. DNS is basically the name given to all the name servers on the Internet. This is how we find a particular website amongst millions on the Internet. It's like having an address for each site and the requests send by the client are sent from a DNS server to another until they reach the destination. FTP is a way of transferring files or receiving files from a remote/local server. Many people use this protocol to upload their websites to a web server. It can also be used to retrieve logs and syslog files from a syslog server. Its uses are extremely vast. ISO OSI model is a relatively formal model and TCP-IP doesn't insist on all 7 being used. Basically, IP sits on Layer 3, while TCP sits in Layer 4.

Some of the OSI model requirements are not fulfilled in TCP/IP, but we all live with it. UDP is somewhere in between 3 and 4, more in 3. DNS and FTP both sit in Layer 7, where layers 5 and 6 are not covered, at least not by some network stack. They do have some functionality of L5 and L6, but definitely not all.
Every application as such has to traverse the entire OSI stack in order to cross the internet. Only on certain routers/switches does a packet not climb the entire way to the top. Also, DNS is a TCP based protocol. UDP is used only for "stateless" connections, such as VoIP traffic or things like SNMP where many messages that do not result in a full connection could "clog" a router or network.

   TCP and IP are layers 4 and 3, respectively. On layer 4 (the Transport Layer) each application transmitting data is assigned a port number, such as 53 for DNS and a packet type (TCP, UDP, ICMP) and is prepared for layer 3 encapsulation. Basically, a frame is built and the fields representing these flags are defined and assigned to the data, with the last field being the actual data or "payload."

   Once Layer 4 has finished assembling the TCP/UDP/ICMP/etc frame, the packet is then handed down to the Network Layer (Layer 3) and another frame is built around the existing frame containing source and destination IP addresses, packet type and QoS (also known as DSCP) flags and so on. Once this is completed, the packet is then handed down to Layer 2 (Logical Link Layer) and is prepared to be shipped across the wire.

Since the control and data functions are communicated using distinct channels, the FTP model divides the software on each device into two logical protocol components that are responsible for each channel. The protocol interpreter (PI) is a piece of software that is charged with managing the control connection, issuing and receiving commands and replies. The data transfer process (DTP) is responsible for actually sending and receiving data between the client and server. In addition to these two elements, the user FTP process includes a third component, a user interface that interacts with the human FTP user; it is not present on the server side.  

Answer
Hi there.

I can't say exactly what to do more, since I don't know what is the depth required for the report. There is much more to say about it. If you only take a look on the pages I provided to you it is possible to realized that.
I have a suggestion: Why don't you give a big picture of OSI Model, explain each layer and then focus on these 2 protocols?
It can be using a picture that shows each layer and then you go straight to the point.

Best regards.
Vinny!  

Add to this Answer   Ask a Question


 
User Agreement | Privacy Policy | Kids' Privacy Policy | Help
Copyright  © 2008 About, Inc. AllExperts, AllExperts.com, and About.com are registered trademarks of About, Inc. All rights reserved.