Student Name Date DT008/3 COMMUNICATIONS SYSTEMS 2 Laboratory 4 Objective The purpose of this lab is to demonstrate the functioning of the TCP algorithms used for congestion control: slow start, congestion avoidance, fast retransmit and fast recovery. This network setup utilizes TCP as its End-to-End transmission protocol. One server is placed in Dublin and one client is placed in Berlin. The Congestion window size will be analyzed with different mechanism. Create the project - Start OPNET 14.5 and create a new project. File New… and choose project in the pop-up window. - Name the project <initials>_TCP and the scenario Basic. Click OK. - Select Create Empty Scenario and click next. - Select Choose From Maps and click next. - Choose Europe and click on >> to pass Europe in Selected Background, and click next. - Do not include any technologies and click next. - Click Finish. Create the Application using the network - Open the Object palette if it’s not already open and expand Shared Object Palette, Applications. - Add an Application Config object to the workspace and rename it to Applications. We will define an FTP application downloading files of a given size. - Right click on the Applications node and choose Edit Attributes. - Click in the value column on the Application Definitions row. Choose Edit… - Set the Rows attribute value to 1. - Set the Application name to FTP_Application. Click OK. - Expand Description, click in the value column for FTP and choose Edit. - In the FTP Table set the following values: Attribute Value Command Mix (Get/Total) 100% Inter-Request Time (seconds) constant (3File Size (bytes) constant (9000Symbolic Server Name FTP Server 81925341 Page 1/6 Type of service Best Effort (0) RSVP Parameters None Back-End Custom Application Not Used - Click OK. - Click OK to close Application Attributes. We will now define during what period of time this FTP application is active. - From the Shared Object Palette, add a Profile Config object to the workspace and rename it to Profiles. - Right click on the Profile node and choose Edit attributes… - Click in the value column on the Profile Configuration row. Choose Edit… - Set the Rows attribute to 1. - Set Profile Name to FTP_Profile. - Set Operation Mode to Serial (Ordered). - Set Start Time to constant (- and Duration to End of Simulation. - Set Repeatability to Once at Start Time. - Click in the Applications column and choose Edit… - Set the Rows attribute to 1. - Set Name to FTP_Application. - Set Start Time Offset to constant (5) and Duration to End of Profile. - Set Repeatability to Once at Start Time. - Click OK to close the Applications Table. - Click OK to close the Profile Configuration Table. 81925341 Page 2/6 - Click OK to close the Profiles Attributes dialog. Create the Dublin subnet - From the Object Palette select a subnet icon and place a subnet in Dublin. - Set the name to Dublin. - Double click on the Dublin subnet node. - Place an ethernet_server in the workspace. Rename it to Server_Dublin. - Place an ethernet4_slip8_gtwy router in the workspace next to the server. - Rename it to Router_Dublin. - Connect the server and the router with a 100BaseT link (Object Palette>Link Models>Duplex link Models) . - Right click on Server_Dublin and choose Edit Attibutes… - Go to the Application: Supported Services attribute and choose Edit… - Set the Rows attribute to 1. - Choose the name FTP_Application and click OK. - Edit the Server Address attribute and set value to Server_Dublin. - Expand TCP Parameters. - Disable both Fast Retransmit and Fast Recovery. Set Receive Buffer to 65535 bytes Set Maximum ACK segments to 1 Set Slow Start Initial Count to 1. - Click OK. - Save the project. File Save. The Dublin subnet is now configured. Click the Go to next higher level action button. 81925341 Page 3/6 Create the Berlin subnet - Place a subnet in Berlin. - Set the name to Berlin. - Double click on the Berlin subnet node. - Place an ethernet_wkstn in the workspace. Rename it to Client_Berlin. - Place an ethernet4_slip8_gtwy router in the workspace next to the client. - Rename it to Router_Berlin. - Connect the client and the router with a 100BaseT link. - Right click on the Client_Berlin node and choose Edit Attributes… - Go to the Application: Supported Profiles and choose Edit… - Set the Rows attribute to 1. - Change the Profile Name attribute to FTP_Profile. - Click OK. - Set the Client Address attribute value to Client_Berlin. - Go to the Application: Destination Preferences and choose Edit… - Set the Rows attribute to 1. - Set the Symbolic Name attribute to FTP Server. - Click in the Actual name column. Set the Rows attribute to 1. Set the Name attribute to Server_Dublin. Click OK to close Actual name table dialog. - Click OK to close Application: Destination Preferences dialog. - Expand TCP Parameters. - Disable both Fast Retransmit and Fast Recovery. Set Receive Buffer to 65535 bytes Set Maximum ACK segments to 1 Set Slow Start Initial Count to 1. - Click OK. - Click OK to close Client_Berlin Attributes dialog. - Save the project. File Save. The Berlin subnet is now configured. Click the Go to next higher level action button. Create the IP Cloud - Place an ip32_cloud on the workspace between Berlin and Dublin. - Set the name to Europe_Internet. - Connect the Dublin subnet to the Europe_Internet IP Cloud with a PPP_DS3 cable. 81925341 Page 4/6 - Select Dublin.Router_Dublin in the pop-up menu. - Connect the Berlin subnet to the Europe_Internet IP Cloud with a PPP_DS3 cable. - Select Berlin.Router_Berlin in the pop-up menu. The IP Cloud is now configured. Choose Statistics - Enter the Dublin Subnet. - Right click on Server_Dublin and select Choose Individual Statistics from the pop-up menu. - Expand Node Statistics, then expand TCP Connection and make sure the following statistics are selected: Congestion Window Size (bytes), Sent Segment Sequence Number, Received Segment Ack Number, Flight Size. Remote Receive Window Size (bytes) For each statistic selected, perform the following: - Right click on the statistic and select Change Collection mode. - Check the Advanced checkbox in the pop-up dialog. - Change Capture mode to all values. - Click OK to close the dialog. - Click OK to close the Choose results dialog. - Save the project. File Save. Create the basic_loss scenario The network just created was assumed to be perfect with no packet loss. In the following scenarios, packet loss will be introduced. - Select Scenarios Duplicate Scenario. - Name the scenario basic_loss. - Right click on the IP Cloud, Europe Internet, and choose Edit Attributes. - Set the Packet Discard Ratio attribute to 0.05. - Click OK. - Save the project. File Save. Create the Reno scenario This scenario will simulate the behavior of fast retransmit and fast recovery algorithms. - Select Scenarios Duplicate Scenario. - Name the scenario Reno. 81925341 Page 5/6 - Right click on the Server_Dublin and choose Edit Attributes… - Expand TCP Parameters. - Change the Fast Retransmit attribute to Enabled. - Change the Fast Recovery attribute to Reno. - Click OK. - Save the project. File Save. Simulate the scenarios - Select Scenarios Manage scenarios. - Set Duration to 10 minutes for all scenarios. - Change the Results attribute to collect or recollect for all scenarios. - Click OK. - Click Close when the simulations has finished. View results - Right click on the workspace and choose View Results. - Expand Object statistics Choose From Maps Network Dublin Server Dublin TCP Connection. - Check Congestion Window size (bytes). - Select Statistics Stacked in the bottom left roll-down menu. - Click Show. - Right click on each statistics and choose Draw Style>Discrete. - Zoom on the period where the statistics are observed. Analysis Explain the changes in the congestion window in the 3 scenarios. You will have to refer to the congestion handling mechanisms: slow start, congestion avoidance, fast retransmit, fast recovery. You can zoom on the graphs where changes occur to read specific values. Use the graphs of ACK number and Sent Sequence numbers to find when ACK numbers stop progressing, and then restart. Based on the observed duration of the file transfer, what is the overall benefit of fast retransmit/fast recovery compared to the basic slow start/congestion avoidance mechanism ? 81925341 Page 6/6
© Copyright 2026 Paperzz