14 Communication and Internet technologies 14.1 Protocols A set of rules by both the sender and the recipient governing communication across a network 14.1.1 Communication protocol definition: Sets of rules for successful transmission and receipt of data Why communication protocol is necessary: All data is sent and received using the same rules and format Allows communication between devices operating on different platforms The communication is independent of the software and hardware used Provide a set of standards for transmission of data that gives a known/accepted set of rules for transmitting and receiving of data This enables communication/compatibility between devices from different manufacturer/platform 14.1.2 Protocol implementation Application layer Transport layer Internet layer Network (access) layer Protocol stack For a protocol suite the protocols can be viewed as layers within a protocol stack. There are several aspects relating to this concept. Each layer can only accept input from the next higher layer or the next lower layer There is a defined interface between adjacent layers which constitutes the only interaction allowed between layers. A layer is serviced by the actions of lower layers. Except for the lowest layer the function of a layer is created by installed software A layer may comprise sub-layers. Any user interaction will take place using protocols associated with the highest-level layer in the stack. Any direct access to hardware is confined to the lowest layer in the stack. Each layer of stack is implemented using software/module/program/code 14.1.3 TCP/IP protocol suite A layered model with four layers Uses a set of protocols for transmission of data Transport control protocol with Internet protocol Application layer, transport layer, internet layer, network (access) layer Layer: Description: Application layer Handles access to services Define protocol used Manage data exchange Transport layer Handles the forwarding of packets Where TCP takes place Regulate the network connection Data broken up into packets, then sent to internet layer Internet layer Handles the transmission of data Routing IP addressing Routes the packets around the network Adds to the IP header a source/destination address for each header Encapsulates data into datagram Passes datagram to network access layer Defines the addressing mode: subnetting, NAT Network (access) layer Handles how data is physically sent Encapsulates IP packets into frames for transmission Ensure correct protocol is followed 14.1.3 Protocols purpose and use Protocol Purpose & Use Description HTTP Purpose: Transfer webpages This is the protocol responsible for correct / hypertext from server to transfer of files that makes up web pages on client the world wide web Use: Browsing website Client/server protocol (Hypertext transfer protocol) Define the format of messages sent and received SMTP (Simple mail transfer protocol) Purpose: Protocol for Text-based: if contain image, video, music – sending email then use multipurpose internet mail Use: Used by mail servers to extension (MIME) protocol forward email messages to Email is transferred from one server to another mail sever another server Email client sends email to Email client sends email to email server email server POP3/4 (Post office protocol) purpose: Mail is held for Pull protocols you by a remote server until Does not keep the server and client in you download it // synchronization; when emails are download email downloaded by the client, they are then Use: To receive email deleted from the server which means it is not further updated. IMAP (internet message access protocol) Purpose: downloading More recent than POP3/4 email // storing/organising Keeps the server and client in emails on a remote server synchronization; only a copy of the email is Use: To receive email downloaded with the original remaining on the server until the client mutually deletes it FTP (file transfer protocol) Purpose: Used for interactive file transfer; To directly transfer data Anonymous ftp: Allow user to access files between two computers User does not need to identify themselves to over the internet the server Use: Upload and download ftp commands files over the internet User can send instructions That are carried out on the server ftp server Central computer Stores files that are to be downloaded BitTorrent Protocol Purpose: Protocol for peer-to-peer file sharing Use: Decentralized distribution of data Properties: Based on peer-to-peer networking concept Allow fast sharing of files between computers Allow many computers to share files Description: Bit torrent software made available A computer joins a swarm by using this to load a torrent descriptor file A server called tracker keeps a record of all the computers in the swarm and shares their IP addresses allowing them to be connected One computer of the swarm must have a full copy of the file to be downloaded Torrent is split into small files Pieces of torrent are both downloaded and uploaded Rare pieces are given priority in download Once a computer has downloaded a full copy it becomes a seed Leech downloads more than they uploads How it works: 1. Create small file called torrent contains meta data about the file to be stored 2. The actual file is broken up into equal segments known as pieces 3. Others first obtains the torrent, then connect to the tracker (A central server that contains data about all computers connected to it) 4. As each peer receives a piece of file, they then become the source for that piece of file. Other peers connected to the tracker will therefore know where to find the file they need 5. Once the peer has downloaded the file completely and make the file available to the swarm, they become a seed. The more seeds in the swarm, the faster the download process. Terms: Swarm: A group of peers connected together All the connected shared computers That have all or other parts of the file to be downloaded Share a torrent Seed: A peer has downloaded a file and has then made it available to others in the swarm Peer computer that has 100% of the file It starts/continues to upload the downloaded content Tracker: This is the central server that stores details about other computers that make up the swarm It will store details about all the peers uploading/downloading the file Allowing the peers to locate each other using the stored IP address It will share information on request from members in the swarm It will provide information on which members in the swarm have copies of which files or which part of files Leech A peer that has negative impact on the swarm by having a poor sharing ratio Lurker A peer that downloads many files but does not make available for the community as a whole 14.2 Circuit switching & Packet switching 14.2.1 Circuit switching Features: A dedicated circuit is established at the start of the communication between the sender and the receiver All data are transmitted along the same route This lasts for the duration of the call Then the circuit is removed Set up for the duration of conversation Set up before communication starts Maintained throughout the communication All data travel down the same route Dropped at the end of the conversation Complete bandwidth used Pros: Reduced latency There is a short delay in sending and receiving data once the circuit is established because error checking is not required Circuit made available is dedicated to this communication stream Two-way real-time conversation Better synchronization Full bandwidth available Explain why company uses circuit switching to make voice calls A dedicated circuit is established Can use the whole bandwidth Two-way real-time conversation No delay as no switching Data arrive in the order sent Cons: Bandwidth not available to others Need extra time before communication to set up the circuit Alternative route not available without restarting the conversation Less secure, as easy to intercept data (only one route) Failure of single route means failure of transmission Not very flexible Nobody else can use the circuit/channel even when it is idle The circuit is always there whether it is used If there is a fault, no alternative The dedicated channel requires greater bandwidth Time to establish a link can be long Applications: Public telephone networks Private telephone networks Private data networks Video conferencing / live stream 14.2.2 Packet Switching Features: A circuit does not have to be established at the start of the communication Data to be sent are divided into packets That can travel along different routes From node to node The packets are reassembled at the correct order at the receiver’s end Must wait until last packet is received to put data back together A large message is divided up into a group of smaller chunks of same size The packet has a header and a payload The header contains a source IP address, destination IP address, and sequence number Each packet is dispatched independently And may travel along different routes The packets may arrive out of order And are reassembled into the original message at the destination If packets are missing, a retransmission request is sent Pros: Accuracy: allow accurate deliver of messages Completeness: the missing packets can be easily detected and resend request sent so message arrive complete Resilience: if the network changes, the router can detect this and send data another way to ensure it arrives Paths are also available to others; allow simultaneous use of channel; doesn’t use the whole bandwidth Better security as packets hashed and sent along different routes Packets can take the least congested route Packets can be rerouted if there are problems Packets can take the least congested route Transmission errors can be detected Missing/corrupt packets can be resent Explain why company uses packet switching to send and receive other types of data Asynchronous communication Allows for error checking Real time transmission is not required Smaller amount of data is sent, so able to share bandwidth Does not matter if data arrives out of order Cons: Time delay to correct errors / network problems may introduce errors in packets Require complex protocol Unsuitable for real-time transmission application Packets can be dropped/delayed The protocols for packets switching can be more complex than those for circuit switching if a packet is lost The sender must resend the packet, waste time Do not work well with real time data stream The circuit/channel must share its bandwidth with other packets There is a delay at the destination while packets are reassembled Needs large amount of RAM to handle the large amount of data. State problems that could arise if video conferencing were to use packet switching Picture and sound not synchronized Interruptions/video not continuous Can be degraded by other computing traffic Applications: The TCP/IP protocol is used to send an email message from one node on a LAN to a node on different LAN. State the steps that take place when the email message is sent and received. Message is split into packets Each packet is a fixed size Each packet is given a header including the destination IP address, sequence number Packets are forwarded from one LAN to another LAN Packets may take different routes Missing packets are requested to be resent Packets are reassembled in order at the destination Packet header Purpose: To store data about the header and its routing // to ensure it reaches the correct destination to ensure the packet can be correctly constructed Examples: IP address of the sender/ receiver ID of the packet Packet length Checksum Protocol used Synchronization data Number of packets the message consists of Type of service IP version number Fragmentation flags Fragmentation offsets Router Function of router in packet switching: The router examines the packet header It reads the IP address of the destination A router has access to a routing table Containing information about: eg: available hops/netmask/gateway used And the status of the routes along the route The router decides the next hop/next route And sends the packets to the next hop Routing table: Network ID // network destination Routing data to decide best route IP address of next hop/gateway Interface Explain the role of routers in sending an email from one email server to another A router is a node on the Internet A router will receive a packet that is in the process of transmission A router has data stored regarding the routers that are within its vicinity A router can access this data to make a choice of which router to send the packet to next The destination IP address in the packet also guides this choice Some of the data stored relates to the amount of traffic using a particular network link Different packets heading to the same destination will not necessarily be directed along the same link from the router.