1.1 Explain the function of common networking protocols
A protocol is a standard that is able to control and enable a connection, data transfer, or communication between two endpoints. It can be implemented by software, hardware, or a mixture of them both. A protocol can be used to set the semantics, syntax, and the synchronization between devices. Simply put, a protocol defines how a hardware connection will work.
Networking protocols can specify how to format a message, how to start and end a message, error correction within messages, handshaking, detecting connection loss, and many other properties.
• TCP – Part of the TCP/IP suite working in the transport layer, TCP, also known as the Transmission Control Protocol, is most notably used for error recovery as well as data flow control. TCP waits for the acknowledgement from the destination that error-free packets have been received. Packets that are not acknowledged within a certain time frame are then sent back. TCP is most widely used for protocols that need to have guaranteed delivery. This includes SMTP, HTTP, and FTP.
• FTP – File Transfer Protocol (FTP), works at the application layer of the TCP/IP suite. FTP is used to provide for the basic rules of behavior for transferring files over the Internet as well as through an intranet. FTP is able to browse through file structures on a remote computer which are then transferred between computers, on the Internet, or through an intranet connection. FTP can also be used as an application for file transfer, hence the name.
• UDP – User Datagram Protocol (UDP) is used to broadcast packets, or datagrams, throughout a network but the protocol is only able to make the best possible effort to deliver them to the proper destination. The protocol does not use implicit handshaking which makes the protocol unreliable as packets can be received in the wrong order, duplicated, or even worse, can go missing. UDP is connectionless and is found in the transport layer of the TCP/IP suite, a core piece of the suite. UDP is most commonly used by multimedia over internet applications because they can be monitored and have the ability to have their own acknowledgements.
• TCP/IP suite – The TCP/IP, also called the internet protocol suite, is a set of protocols needed for communications that is used for the Internet and any other type of similar networks. Each layer deals with the transmission of data with each layer depending on the one below it. The highest layers deal with abstract data which means the lower layers must be able to translate the data into specific forms that can be transmitted physically. The TCP/IP suite consists of four layers including the link, the internet, the transport, and the application layer. Sometimes TCP/IP is mapped into a seven-layer model, known as the OSI model.
• DHCP – Dynamic host configuration protocol (DHCP) is a service more so than a protocol. When a client comes on a network, an IP address has to be assigned. Using DHCP, all clients that come on to a network are automatically assigned an IP. This saves time and manpower as there is no need to statically assign each computer an IP address. DHCP can provide information such as the DNS’ address.
• TFTP – Trivial File Transfer Protocol, TFTP, a connectionless protocol in the application layer, is used for transferring files throughout a network, usually the transfer of configuration or boot files in a local environment as well as for files being transferred from a computer to a router or switch. TFTP is considered to be very limited, especially when you compared to FTP. TFTP is often used along with UDP for a low overhead protocol without any type of guaranteed or 100% successful delivery. The protocol can be used for management purposes and is used for the most basic file transfers.
• DNS – Domain name system (DNS) is both a protocol and a service. It is able to resolve hostnames from computers and other network clients. Known for its “friendly naming” services, DNS remembers IP addresses so that users don’t have to. Simply typing in a website name will work as opposed to typing in the IP address.
• HTTP(S) – Hypertext Transfer Protocol Secure is much more advantageous over using HTTP since HTTP requests are sent in clear text, which negates any sort of secure communication. With HTTPS, a more secure environment is created as the protocol uses SSL which encrypts the information that is being sent. HTTPS only works if both the server and client support the protocol, which is nearly standard in today’s world. Websites starting with https:// use the HTTPS protocol.
• ARP – ARP is used in order to resolve addresses to MAC addresses on the internet layer. ARP uses a cache that is first checked. If an entry is not found in the cache, the protocol then uses a broadcast in order to determine a client’s MAC address. ARP is mostly used for background service but can be used for troubleshooting purposes as well.
• SIP (VoIP) – Session Initiation Protocol (SIP) work on the application layer and is used for controlling and managing voice and video calls (VoIP) and other multimedia communication sessions. SIP can be used to create, end, and modify, two and multiparty sessions that involve one or more media streams. Using SIP, modifications such as changing ports and addresses, inviting participants, adding and deleting streams, and other actions can be completed. SIP is often used for video conferencing, file transfers, online games, instant messaging, and streaming multimedia.
• RTP (VoIP) – Real-time Transport Protocol (RTP) is used to define a standardized packet format that is needed in order to deliver video and audio over IP networks (VoIP). RTP is commonly used in entertainment and communication systems that require use of streaming media, such as push-to-talk and video teleconferencing. RTP works in the application layer and is often used with RTCP so that the quality of service can be monitored.
• SSH – Secure Shell (SSH), working in the application layer, allows for the ability to log onto a computer remotely. When the connection is made, a user is able to move files, execute commands, and other actions all in an encrypted and secure environment. SSH usually involves the management of files that are sensitive and confidential. With SSH these files can be moved from server to server between or on networks.
• POP3 – POP3, working at the application layer, is used to store and retrieve emails on a variety of server. With POP3 users are able to access, read, and download emails from the set mail servers by using a client.
• NTP – Network Time Protocol (NTP) is a protocol used for the synchronizing of computer clocks over variable-latency data and packet-switched networked. It is used to act against the effects of variable latency.
• IMAP4 – With IMAP4, users are able to store and retrieve email messages from servers. IMAP4 allows users to either read the email on the server or download the email to a client in order to read them. IMAP4 works on the application layer and is very commonly used by those who need to have access to their email from several different locations. Because the email resides on a server, it can be accessed from more than one location.
• Telnet – Working at the application layer, Telnet is used to create a virtual terminal that allows for connection to a managing server. Telnet uses an authentication method through clear text, therefore making it highly unsecure. Nowadays Telnet is mostly used for creating connections between computers and routers, switches, servers, and others, usually for remote management purposes.
• SMTP – Simple Mail Transfer Protocol (SMTP) is purely used to send mail messages (e-mail) within or between networks. The protocol works in the application layer and with the use of TCP, is able to ensure delivery of mail to remote hosts.
• SNMP2/3 – Simple Network Management Protocol Version 2/3 (SNMP2/3) is a protocol widely used by workstations, printers, racks, servers, switches, and routers as a way to monitor network-attached devices. SNMP versions 2 and 3 are much more cryptographically secure.
• ICMP – The Internet Control Message Protocol (ICMP) is used for functionality reporting and error checking and works at the internet layer. It can be used to provide basic background services that provide information to network administrators. ICMP is also widely used as a part of a ping tool in order to test for proper network connectively. It is able to send an echo reply when an echo quest is sent. It can also send messages such as time exceeded, destination host unreachable, and other error messages that may be given when a ping test fails..
• IGMP – Internet Group Management Protocol (IGMP) is a communications protocol mostly used by adjacent routers and hosts on IP-based networks. IGMP is used to create multicast group memberships and is a part of the IP multicast specification. It is commonly used for gaming and video streaming.
• TLS – Transport Layer Security (TLS) is a cryptographic protocol that provides communications security on the Internet. TLS is used to encrypt the network connections above the transport layer by using symmetric cryptography. TLS allows server and client applications to communicate across a network. These communications are safe from tampering and eaves dropping because a connection will only occur if a flawless handshake is preformed. Each client and server must agree on set parameters before a secure connection is created.