Link-Layer Protocol Lab the Kermit File Transfer Protocol
Total Page:16
File Type:pdf, Size:1020Kb
Link-Layer Protocol Lab The Kermit File Transfer Protocol Introduction: By studying the operation of Kermit, a simple character-oriented file-transfer protocol, this laboratory will provide students with the opportunity to observe and understand several basic communication protocol fundamentals including: error control, flow control, framing and data transparency. Understanding why they are important, how they operate, and how they impact protocol performance is an essential prerequisite for a complete understanding of more complex internetworking protocols. By studying Kermit file transfers, the student will enhance his or her understanding of link-layer protocols and their role in reliable data transport. Students should give careful consideration to the tradeoffs being made and to the effect that the environment and the application may have on the design and implementation of communication protocols. The first part of this laboratory requires the student to: 1) transfer an ASCII-text file using Kermit, 2) monitor the transfer using the FELINE protocol analyzer, 3) decode the contents of several packets, and 4) analyze the exchange of packets. The student's goal should be an understanding of what elements a protocol must have to accomplish reliable file transfers and achieve data transparency. In the second half of this lab, students will analyze the performance of Kermit by repeatedly transferring an ASCII- text file and a binary file. For each transfer, they will vary both the maximum size of the Kermit packets and the use of Kermit's sliding window extension. Students will measure the transfer delays and observe how the data is packetized, encoded and transmitted. Students will also observe a Kermit file transfer at extremely high serial-port rates, which will provide an opportunity to judge the Kermit protocol's ability to operate in a high speed environment. While performing the steps of this lab, students should consider why the Kermit protocol behaves in the manner they observe. In so doing, they will gain insight into the tradeoffs that protocol designers and users must make when they design and use communications protocols. Kermit/Link-Layer Lab - Rev: 01-06-96 1 Equipment and Setup: Three Kermit setups will be available for students to use. Students may work in groups of no more than three persons. A sign-up sheet for the lab equipment will be posted outside the lab. • Estimated Time: One to Two Hours. • Table 1 is a list of the equipment required for this lab. The equipment should be pre-configured for you before coming to the lab. Consult with the on-duty GSA if you have any difficulty identifying or operating the correct equipment. Qty Equipment Description 3 NCR 386/sx PCs (or equivalent) as detailed below: • 1 PC serving as a Kermit server. • 1 PC serving as a Kermit client. • 1 PC serving as the FELINE Protocol Analyzer. 2 Kermit v3.11 Software for MS-DOS. 1 FELINE/ParaScope Pod (Parallel Interface). 1 FELINE Protocol Analysis Software. 3 Files to be Transferred using Kermit: • DECODE.TXT, an ascii-text file used to decode packets. • ASCII.TXT. an ascii-text file used to test performance. • BINARY.EXE, a binary-executable file used to test performance. Table 1: Hardware and Software required for the Kermit/Link-Layer lab. Setting up Kermit, Feline, and the ParaScope Pod: The outer PCs are configured with Kermit software to transfer files over the serial cable, and the center PC is configured with the FELINE software and the ParaScope Pod to monitor and examine the transfer. A null-modem serial cable is connected between the 25-pin RS-232 port on one of the Kermit PCs and one of the 25-pin RS-232 ports on the ParaScope Pod. A standard serial cable is then connected from the other 25-pin RS-232 port on the ParaScope Pod and the 25-pin RS-232 port on the other Kermit PC. The ribbon cable attached to the ParaScope pod is attached to the FELINE PC's parallel port. Check to make sure that the AC-adapter is plugged into the ParaScope Pod and into the 110-volt AC outlet. Finally, Check that the power switch on the ParaScope Pod is turned on. Note: Please do not attach or detach any of the serial or parallel cables while the PCs are powered on. This can damage the serial port on the PC. There are already many PCs in the lab that will not work with Kermit because of damage to the serial port. Turn the power off, or ask the GSA for assistance in moving any cabling. Kermit/Link-Layer Lab - Rev: 01-06-96 2 Lab Procedures: Part I - Decoding Kermit Packets: Overview: A short ASCII text file will transferred between the sending and server PCs by Kermit. A PC running the FELINE Protocol Analyzer will monitor the transfer of the file and will capture it into a data buffers. By examining the data in FELINE's capture buffer, you will decode a Kermit packet, and you will analyze the sequence of Kermit packets sent between sender and server during the file transfer. As you transfer, capture, decode, and analyze the Kermit file transfer, think about how a protocol that only transfers printable ASCII characters can send non-printable ASCII characters such as carriage returns 1. Kermit's default settings will be used for this transfer. Load Kermit on the outer PCs: C:\> KERMIT <CR> • The PC on the left will be used as a Kermit server. Place it in server mode. MS-KERMIT> SERVER <CR> The receiving PC should now display the server message. 2. Start FELINE on the center PC to monitor the file transfer. C:\> FELINE <CR> FELINE automatically loads the configuration and program files, and FELINE then places itself in monitor mode to begin the traffic capture. • Change FELINE's screen configuration to half-screen, so the timer will be visible. Press <F1> for the Change Screen Menu. Press <F7> to make it a Half Screen display. Press <F10> to Exit the Change Screen Menu. 3. Send the file from the right PC. MS-KERMIT> SEND DECODE.TXT <CR> Kermit/Link-Layer Lab - Rev: 01-06-96 3 4. While we are most interested in the analysis of protocols in terms of their performance and efficiency, any such study must begin with a thorough understanding of the underlying structure and details of its operation. In Part 1 of the lab, you will "decode" the contents of a Kermit Send-INIT packet as captured during the transfer of the ASCII text file decode.txt. While interpreting packets captured by a protocol analyzer can be a lesson in tedium; it is, nonetheless, an important skill for both the designer and troubleshooter of communications protocols. • (4.1) In order to complete Table 2, which is at the end of this lab write-up, you will need to place FELINE into examine mode. In examine mode, you will be able to use the arrow keys (← ↑ → ↓) to move through the contents of FELINE's capture buffer, which contains the record of the file transfer that was just captured. You will also need to refer to an ASCII table and your notes on the structure of Kermit packets. • Place FELINE in Examine Mode: Press <F10> to Exit Line Monitor mode. Press <F10> to Exit Monitor Mode. Press <F4> to Enter Examine Mode. 5. In Table 2 provided on the next page, list the contents of the SEND INIT packet. Identify each field in both the header and the data section. Along with the identification, indicate the actual decoded value which is being transferred from the sender to the server. The Mark (Start-of-packet) character has been done for you already, use this as a guide. The column headings indicate what you should enter in each cell. Hex-Value is the actual value read from the raw protocol analyzer output. Encoding describes the type of encoding Kermit used to transmit the character. Possible values are: literal, excess-32, and XOR-64. Field Name and Description are self explanatory. Decoded Value should be the decoded value which Kermit is sending end-to-end—from sender to server. To determine the actual value you must undo the encoding used by the transmitting Kermit. In some cases. this may be an ASCII character; in other cases, it may be a decimal numeral. • Note: you need not decode the capas, maxl1, and maxl2 fields, just note their presence. Kermit/Link-Layer Lab - Rev: 01-06-96 4 Hex Value Encoding Field Name Description Decoded Value 01h literal SOH start-of-header 0dh literal CR end-of-packet delimiter Table 2: Decoded Contents of the Send-INIT Packet. Kermit/Link-Layer Lab - Rev: 01-06-96 5 6. While in examine mode, use Table 3 to record all the packets that were transferred while Kermit transferred the file decode.txt. After completing the experiments, you will create a time-sequence diagram from the contents of Table 3 to illustrate the dialog between the Kermit sender and the Kermit server while performing a Kermit file transfer session. Starting with the SEND INIT packet and ending with the BREAK packet, draw the time-sequence diagram on a separate sheet of paper and hand it in with your lab write-up. Clearly indicate the following information for each packet in the exchange: the packet-type, the sequence-number, and the direction of travel (i.e. who is the sender and who is the receiver). Packet # Sequence # Sent By Sent To Packet Type Notes 1 0 Sender Server S Send-INIT Packet 20 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Table 3: Packet Traffic for Kermit Transfer of decode.txt.