Project description: The TCP/IP stack has five layers, namely application, transport, network, link, and physical.In Phase 1, each student implemented the standard user datagram protocol (UDP) sockets. The intention wasto transfer a file (say JPEG) between a UDP client process and a UDP server process. In Phase 2,… Show more… Show moreThe following are the basic implementation steps:1. Pick a transfer file – JPEG image file (recommended), easier to identify loss of packets in aimage file (lost pixels).2. Make_packet function – parses the image file and breaks it down to several packets (set afixed packet size, say 1024 bytes).3. Use the UDP sockets (Phase 2) to send and receive RDT2.2 packets (UDP sockets areunreliable, so they simulate the unreliable Internet IP (network) layer).4. Implement: Sequence Numbers (to identify duplicates), Checksum (implement your own (Donot use Java buit-in function!), similar to UDP), and ACKs (remember, RDT 2.2 is a NAKfree protocol).5. The RDT2.2 receiver should assemble packets in order and deliver the entire transfer file tothe application.In your implementation, use binary variables for representing bits (instead of strings). In thisphase, you will need to implement different data transfer scenarios1. Option 1 – No loss/bit-errors.2. Option 2 – ACK packet bit-error: you need to intentionally change the data bits of thereceived ACK packet at the sender and implement suitable recovery mechanism. 3. Option 3 – Data packet bit-error: you need to intentionally change the data bits of thereceived DATA packet at the receiver and implement suitable recovery mechanism.Implement Optional Feature for Extra Credit (50% of Phase 3): Implement an applet/GUI toshow the data transfer (display of image as the transfer happens) and the (sender and receiver)FSM.Expectations: In this phase of the project, you will learn about the basic principles used toprovide non-pipelined reliable data transfer over a data channel with bit errors.Programming language: PYTHONComputer ScienceEngineering & TechnologyPython ProgrammingShare QuestionEmailCopy link This question was created fromPhase 3(1).pdfComments (0)

Order your essay today and save 20% with the discount code ESSAYHELP