Network BTEC What protocols are and whythey are important? What are protocols? Abrief way to describe protocols would be, that they are a set of rules thatmust be followed to ensure communication between two machines. An example used inreal life terms would be, when two people are communicating, each end needs toknow how to format their speech, i.e.
speed, language and in what order arethey going to communicate. In order for these two people to communicate theyneed to know how each other are going to process the information. The sameprinciple works for computers and other components. The protocols used arespecific to the method of communication from the source, over the channel andthen to the destination. Agroup of protocols used to perform a communication method are called protocolssuites. These protocol suites are implemented by both software and hardware. Why are they so important? Protocolsare the reason why each computer can communicate with each other in anefficient way. If protocols weren’t in place, then the data wouldn’t be able tobe translated and simply wouldn’t work.
As stated above, protocols areimplemented so when a computer sends the data it knows what format to send thedata, and for when it receives the data, it knows how to handle it. Referringback to the real-life example, if two people were transmitting data with eachother, but neither knew how to process it, or if they were both talking at thesame time, or even if one isn’t listening, the data wouldn’t be processed. So,in summary, protocols are important because if they weren’t there, data simplywouldn’t be able to be sent or received correctly, or even at all. So,after the agreed method of transportation and used protocols, the protocols thenmust account for the following: · A common language and formant between source and destination· The Speed of delivery· Conformation or Acknowledgment, basically confirming whether or not thedestination has received the data or not· Identified sender and receiver What do protocols define? Protocolsdefine the details on how the message is going to be formatted when it istransmitted across the network. There are tonnes of protocols in place to helpdefine this, a few common ones are stated below.
Common Computer Protocols Afterthe source and destination have been established, the protocols then have a jobto find a common way of transmitting said data across the channel in a formatthat the receiver is going to be able to handle, a few common protocols that dothis are: · Message encoding – this is where theinformation being sent is transformed into another form of information that isable to be transmitted across the network. Then obviously decoding being theopposite of this at the other end. · Message size – when people communicate,they tend to break the data they are transmitting up into smaller parts so thereceiver can process it in it time before the next lot is received. So, thisprotocol states how much data can be sent before the receiver acknowledges it. · Message formatting – the same principle as ahand-written letter, the layout of the data is a set format so the receiver candecipher what information means what.
For example, it needs the destinationaddress, a greeting, then the content itself, a closing phrase and then anidentification of the person who sent the data. · Message delivery options – this is self-explainedprotocol, it basically determines the best form of transportation this data isgoing to take so both sender and receiver can communicate without any issues.This protocol also states that if the sender needs to be sure the receiver issure on whether they have received the data, an acknowledgement is sent back.Finally, this protocol also determines whether the message needs to be sent tojust 1 destination (unicast), a few destinations (multicast) or send to all onthe network (broadcast). · Message timing – this also is anothermajor factor on how well a message is received. Timing covers 3 maincharacteristics, the access method, the flow control and response timeout.
Theaccess method basically dictates when someone can transmit data, say when no oneelse is transmitting. The flow control is what determines how much data can betransmitted at the same time, or if some data is sent too quickly. Finally, theresponse timeout, this is where if someone asks a question, and takes too longto answer, they will re send the data. Hosts on the network specify how longthis period of time is. Brief Description of 4Protocols TCP TheTransmission Control Protocol, also known as TCP, is the protocol that managesthe conversation between servers and clients.
TCP divides the data into’segments’ and they are sent between the two clients or servers. The TCP’s mainjob is to manage the size and speed the data is transmitted at. UDP Thisprotocol is almost the same as TCP, however they both have their advantages anddisadvantages, which I’ll go into later. For now, this protocol is basically afaster method of transferring data, which in some cases isn’t the best method.This protocol is known as the best effort delivery protocol, meaning itprovides the basic functions for delivering data segments with very littleoverhead and data checking. IP So,this protocol does actually have two sub categories called IPV4 and IPV6,however for now ill categorize them together. This protocol is also known asthe Internet Protocol. This protocol in layman terms, takes the segments,encapsulates them into packets, assigning them the desired address and finallydelivering them across the network via best path.
Ethernet Thisprotocol is actually part of the physical and data link layers, however, asEthernet is the most common protocol used in everyday networking, this is thechosen protocol. This is basically the physical transmission of the data. Thedata is taken from the IP and encapsulated to be transmitted over the media.The standards of this protocol define how the signals are sent and how they aredeciphered by the receiver. OSI Model Belowis a diagram of how the protocols are structured with each other, theirfunction and an example of the protocols used in each layer. Referencing theabove protocols, you can see TCP is used in the Transport layer.
However, IPand Ethernet are not stated in the diagram. As stated before, Ethernet is aprotocol used in both Physical and Data Link Layers. As for the InternetProtocol, this is in the Networking Layer, just above the Data Link Layer. Reference: https://blackmoreops.com/wp-content/uploads/2016/05/OSI-Layer-Please-Do-Not-Tell-Secret-Passwords-Anytime-blackMORE-Ops-1.png TCP/IP Model Thisstack does the same process as the OSI model, however as it has a few lesslayers, it is deemed a little faster at processing information, therefore thiswas chosen for usage over the internet. The TCP/IP is the older of the twomodels. As you can see below a few layers have merged into one larger layer.
Further along in this document, there will be a more detailed description ofthis layer model. Reference: https://networklessons.com/wp-content/uploads/2013/02/tcpipstack-vs-osimodel.png Who manages these protocolsand standards? Asthere are some many different protocols out there, there has to beorganisations out there who create and manage them.
Below are a few of the mainones: IEEEThe IEEE is a professional organisation, their fullname is The Institute of Electrical and Electronics Engineers. On the right, isthe logo of the organisation. These are one of the leading organisations in theworld. IEEE standards are some of the most popular forms of transporting data,a few examples of standards they control are of followed: IEEE802.3 – this standard is also known as Ethernet, this is one of the mostpreferred forms of data transmission over a Local Area Network.
IEEE802.11 – this standard is also known as Wi-Fi, again another form of datatransmission that people are more popular with, normally used in your home orpublic area. IEEE802.15 – this standard is also known as Bluetooth. This one is slightly lesspopular than the previous two, however it is used worldwide for a number ofthings, such as connectivity to speakers, connectivity to peripheral devicesetc.
ISO TheInternational Organisation for Standardisation, known as ISO, is the leadingorganisation in the world for developing standards. “ISO is not an acronym fromthe organisations name, it is a term based on the Greek word meaning ‘equal’,they chose this term as its desired position for being equal to all countries” REFERENCE: CISCOBOOK, PAGE 136The image on the right is the ISO logo. Thisorganisation is best known for the previously referenced ‘OSI Model’, as statedbefore, being the follower of the TCP/IP model and not being chosen for theinternet, the OSI Model was used in telecommunications equipment. The productsthat used ISO Standards tend to be older and more legacy, however CD images useISO standards. IANA The Internet Assigned Numbers Authority is its fullname, and it is responsible for managing IP addresses and Domain Nameallocation. They are also responsible for assigning port numbers, which will bediscussed further on.
Their logo is found on the right. A protocol that IANAare responsible are bothPOP3and SMTP. These are email protocols, POP3 being a protocol used to deliveremail, and SMTP being a protocol that is used to send data to the email server.
Open and ProprietaryProtocols Open Standards Openstandards are there to ensure than not one company can monopolize the market oreven dedicate certain standards to just their equipment. The idea behind openstandards is that almost anyone can innovate new standards and create a bit ofcompetition. Most people are aware of the competition between Microsoft andApple, and this is the best way to see to comparison between open andProprietary protocols.
‘A goodexample of this is when purchasing a wireless router for the home. There aremany different choices available of all which use the same protocols such asIPV4, DHCP, 802.3 and 802.11. these are open standards and allows for a clientto download something from a web server that is running a different OS. This isbecause both operating systems implement the open standard protocols, such asthose in the TCP/IP suite.
‘ REFERENCE: CISCOBOOK, PAGE – 133 theorganisations that manage these standards are normally non-profit organisationsand actually promote the idea of open standards, some of these organisationsare listed below. · ISOC (The Internet Society)· IAB (The internet Architecture Board)· IEEE· ISO Proprietary Protocols Asstated above, these protocols are controlled by a single organisation are renot open for customization or even changing the function of them. If aorganisation wishes to have input on these protocols, then the owner will haveto authorize that and even charge a sum.
Most proprietary protocols aredisbanded nowadays, however a few are still in use, such as the two main legacyones, Novell Netware and AppleTalk. Role ofTransport Layer As the name states, its role is to establish atemporary connection between two applications and Transporting the data betweenthem. Theapplication that is generating the data, doesn’t actually know the preferredmethod of transportation over the channel, or the preferred path that the datawill take. The application just generates the information and passes it down tothe transportation layer. Referencing back to the TCP/IP model, the applicationlayer situates just above the transport layer and below that is the networklayers. The transport layer basically provides a method of delivering the datathat not only both ends can understand, but will be transmitted over thechannel without any issues. This layer provides the segmentation of data andall the controls needed to re-assemble the data on the other end.
Thereare two main transport layer protocols that are used to reassemble to data andthey are TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).These protocols have responsibilities that are needed to ensure efficient datatransfer. These are of following: · Tracking the individual communication between the applications on thesource and destination ends. A host can be having multiple conversationsbetween each over so it is vital that the data is tracked and maintainedthroughout the conversation. · Segmenting the data so it is manageable for the application layer tohandle. Each network is different, in a sense that some networks can handlelarge pieces of information and some can only handle small pieces.
So, it isthe transport layers role to decide on the size of packet that is to be sentover the channel in an appropriate size. The transport layer divides the datainto segments that are easier to manage and transport. · Identification is also needed, so it knows which application the datais being sent to and vice-versa. This is very similar to the tracking side, itbasically just gives the segment an identifier so it knows which application itis destined for.
To do this, Ports are used to assign each application with adifferent port number so it is easily transported into the right Application. Different Ports used Leadingon from the Identification process, each identifier is assigned a port number,and there is a vast range of port numbers which each range is dedicated tocertain uses. In the header of each segment, or even datagram, there is asection where a destination and source port numbers are entered to ensuredelivery. The protocols and services that are going to be needed are identifiedby the port number. Whenthe client places a destination number in the header, for example port 25,which is SMTP, the server then knows that the SMTP services are required andthat is the chosen transportation method. On the other end is the source port.Now this is actually randomly generated, allowing multiple conversations to bedone at once. Below is a list of Ports and their ranges: · Well Known Ports are 0 – 1023: So, this range is typically reserved forapplications and certain services, some of these services are HTTP, IMAP, SMTPand Telnet.
· Registered Ports are 1024 -49151: these are more user based, and areprimarily individual applications, that they have downloaded off their ownback. When these ports aren’t used for server responses, they can be selectedby a client itself, to be its source port. · Dynamic or Private Ports are 49152 – 65535: another word for theseports are Ephemeral ports. These ports are more or not only used when anidentification is needed of the client application during communication. It isvery unlikely for a client to connect to these ports, however some peer to peerfile sharing actually run using these ports. Afterthe source and destination ports have been put into the segment, the segmentsare then encapsulated into an IP packet. This packet contains the IP address ofthe source, and the destination.
When combining these two addresses, they aregiven a name of ‘socket’. The socket is used to not only identify the sourceand destination addresses, but also the desired ports. Socket and Socket Pairs Referringback to the term ‘socket, this being the combination of an IP address and aPort number, this basically identifies exactly what application us being usedand where. Leading on from that is a ‘socket pair, pretty much exactly the sameas the originally socket term, however this time it’s both Destination andSource in the same packet.
An example of a socket 192.168.1.6:25 and a socketpair is 192.
168.1.6:25 as well as 192.
168.1.5:25. Sockets allow for the processof multiple conversations between servers and can be distinguished from eachother.TCP Referringback to the beginning of this document and my brief explanation on what TCP,this section will be delving into more detail of this protocol. It is up to thedeveloper to choose which protocol best suits the requirement for theapplication. There are a few reasons why TCP is the chosen protocol to be usedas it provides the following: · Reliable delivery – this means TCP can use a method to ensure deliveryof the data.
TCP does this be re transmitting any data that is lost during thetransmission process. · Ordered Data Reconstruction – as data tends to take different routesover the network each time it is transmitted, it is sometimes necessary thatthe data is reassembled in the same order it was sent. TCP does this bynumbering each segment with a sequence number, so at the other end it can beput back into order. · Flow control – each network has different bandwidth and memory, so flowcontrol is vital as if too much information is sent at once the whole bandwidthmay be taken up, not allowing for other data to pass.
So, if this does occur,then the sending application is requested to reduce the amount of data flowing.TCP do this by regulating the amount of data allowed at any given time,therefore preventing segments being lost or corrupted. · Connection Orientated – TCP is a connection orientated protocol, so whenTCP establishes a connection between two applications, it is a permanentconnection.
In doing this both sides are prepared to send and receive data,ensuring the data will arrive. When this session is established, it will alsotalk about all of the above, so the speed in which data will be sent, how itwill be sent and when. Whyis it better than UDP? TCP Connection Establishment Soas stated before, TCP Establishes a connection before sending the data. There’sa term that is used to describe this process and it’s called the ‘3-wayhandshake’. This term is used to describe the series of numbers and processesdone by TCP to establish or terminate the session. So, the 3-way handshakeestablishes that the destination is actually present, it then verifies that thedestination device is going to accept thee data and which port it is going touse, it then informs the destination that the source is going to be sendingdata.
Below is a simple diagram to show how this isdone: Reference: https://image.slidesharecdn.com/icnd110s01l05understandingthetcpiptransportlayer-130312094244-phpapp01/95/cours-cisco-12-638.jpg?cb=1363081403 So,in basic steps: Step1 – a TCP client initiates the start of the connection by requesting a sessionestablishment. It does this by sending a segment with the SYN Flag indicatingan initial value.
This figure is randomly generated and is the start of thedata flow between the two source and destination. Step2 – the receiving end then must Acknowledge the request by replying with theACK Flag set, this indicates that the receiving end has received the SYNSegment. The value of this ACK Flag is the sum of the SYN Flag plus 1, i.
e. thenext bit. As this conversation is a two-way session, the receiving end must alsoreply with a SYN Flag to indicate it too is ready to send data. Step3 – Similar to the first step, the TCP Client then sends back an ACK Flag,being the sum of the previous SYN Flag plus one. This is sent back to the receivingend to finally establish the session.
After this, each segment sent back andforth will continue to have the ACK Flag set. Thereare other flags involved in this process, however they are not used in thisdiagram. The flags are of following: · URG – Urgent Pointer field· ACK – Acknowledgment· PSH – Push Function· RST – Reset Connection· SYN – Synchronize sequencenumbers· FIN – No more data fromsenderUsingTCP and having the 3-way handshake implemented, there are a few extras thatcome with this, such as security. TCP implements security by denying the establishmentof certain TCP sessions and only allowing certain services to establishconnections, as well as only allowing traffic in already made connections. TCP Connection Termination Reference: https://upload.wikimedia.org/wikipedia/commons/8/8a/TCP_connection_Termination.
png Afterestablishing a connection, this connection then needs to be terminated. This processis almost the same as Connection Establishment, apart from the obvious it beingterminating rather than creating, however, the process is similar. As the establishmentused the SYN Flag, this process uses the FIN Flag. The process is as followed: Step1 – when the client finishes sending data and has no more to send, it starts bysending the FIN flag set. Step2 – Host B will then send an ACK flag back to acknowledge the FIN flag that wassent to initiate toe termination. Step3 – this is where the process is a little different, rather than the session justbe terminated, Host A will now wait to receive a FIN Flag from Host B, this isto ensure any data still being sent is processed and not just cut off.
Step4 – after all data is sent and processed, Host A will then send a ACK flag tolet Host B know that neither ends have more data to send, therefor the sessionwill be terminated. Telnet Telnetis a TCP Protocol that is used to access remote computers on the same network. Onthe web protocols like HTTP and FTP allow the user to request specific files fromremote computers, but you don’t actually log on as a user. However, Telnetallows you to actually log on as a regular user and have any privileges theuser may have had been granted to that specific application or data on thatcomputer.
PDU As the data is passed downthe OSI or TCP/IP Stack, it has information added to it so it finds its destinationeasier. As it gathers this information, each layer the data is re-named. On theright is a diagram of how the data is named on each layer. The process of the informationbeing passed down the stacked is called encapsulation. Theform that the data takes at any of the layers in the stack is called a PDU(Protocol Data Unit). But at each level the PDU has a different name to stateits new function.
‘Although there is nouniversal naming convention for PDUs, the PDUs and named according to theprotocols of the TCP/IP Suite. They are the following: · Data – the general term for thePDU used at the application layer.· Segment – Transport LayerPDU· Packet – Internet Layer PDU· Frame – Network Access Layer· Bits – A PDU used whenphysically transmitting data over the medium’ Reference: CISCOBOOK – PAGE 145 ProtocolHeaders and what they areListof all flags and what they doWhatapplications use TCP? UDP Whatis it?Compareto TCPHeaders,their size and purposeErrorpackets Network Layer PDUis packetsRoutersRoleis end to end addressing and best path though network.3types – connectionless, best effort, media independentQoS IPV4 IPV6 Layer 2 LLC MAC Part 2