Skip to content

TCP protocol analysis based on real packet traces, covering three-way handshake, data transfer, and HTTP interactions (Computer Networks II, UNIWA).

Notifications You must be signed in to change notification settings

Computer-Networks-2/TCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

UNIWA

UNIVERSITY OF WEST ATTICA
SCHOOL OF ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING AND INFORMATICS


Computer Networks II

TCP

Vasileios Evangelos Athanasiou
Student ID: 19390005

GitHub · LinkedIn

Supervisor: Rania Garofalaki, Laboratory Teaching Staff

UNIWA Profile · LinkedIn

Athens, June 2022


Project Overview

The project involves a technical examination of TCP behavior through a series of structured questions based on a real network trace.
The analysis focuses on the TCP three-way handshake and the subsequent data transfer phase between a client PC and a web server.


Table of Contents

Section Folder / File Description
1 assign/ Assignment material
1.1 assign/Askisi6_TCP.pdf Assignment description in English
1.2 assign/Άσκηση6_TCP.pdf Assignment description in Greek
2 docs/ Project documentation
2.1 docs/Transmission_Protocol_System.pdf TCP protocol analysis and operation (English)
2.2 docs/Σύστημα_Πρωτοκόλλου_Μετάδοσης.pdf TCP protocol analysis and operation (Greek)
3 README.md Repository overview and usage instructions

Network Entities

  • Client PC

    • IP Address: 192.168.1.102
    • TCP Port: 1161
  • Server

    • IP Address: 128.119.245.12
    • Hostname: gaia.cd.umass.edu
    • TCP Port: 80

Key Analysis Components

1. TCP Three-Way Handshake

The report identifies and analyzes the three TCP segments used to establish a reliable connection:

  • SYN Segment
    Initiated by the client with a relative Sequence Number = 0.
    The SYN flag is set, indicating a request to establish a connection.

  • SYN–ACK Segment
    Sent by the server in response to the client’s SYN.

    • Sequence Number: 0
    • Acknowledgment Number: 1 (calculated as 0 + 1, acknowledging the client’s SYN)
  • ACK Segment
    The final segment of the handshake, where the client acknowledges the server’s SYN–ACK and completes the connection setup.


2. Protocol Details

  • TCP Flags
    Detailed analysis of flags such as SYN, ACK, PSH, and others to determine the role and purpose of each segment.

  • Sequence Management
    Tracking of both relative and raw sequence numbers throughout the TCP session to understand data ordering and reliability.

  • HTTP Integration
    Identification of an HTTP POST command encapsulated within the TCP stream.
    The POST request appears in the 4th TCP segment with a sequence number of 1, demonstrating the interaction between the transport and application layers.


Document Structure

  • Question 1
    Analysis of the initial connection request (SYN segment).

  • Question 2
    Examination of the server’s response (SYN–ACK) and the acknowledgment mechanism.

  • Question 3
    Identification of specific application-layer commands (HTTP POST) within transport-layer TCP segments.


Conclusion

This laboratory analysis provides a clear and structured understanding of how TCP establishes reliable connections and transports application-layer data.
By examining real packet traces, the report highlights the interaction between TCP mechanisms and HTTP communication, reinforcing key concepts of transport-layer networking.


Installation & Setup Guide

This project is a theoretical and analytical laboratory assignment based on the study of an existing TCP network trace.
No software compilation or network simulation is required.


Prerequisites

Software Requirements

  • PDF Reader
    • Any modern PDF viewer (Adobe Acrobat Reader, browser-based PDF viewer, etc.)
  • Text Editor (Optional)
    • For reviewing notes or annotations (VS Code, Notepad++, etc.)

Operating System

  • Windows
  • Linux
  • macOS

No packet capture tools (e.g., Wireshark) are required to run this project, as the analysis is already completed and documented.


Installation

1. Clone the Repository

git clone https://github.com/Computer-Networks-2/TCP.git

Alternatively, download the repository as a ZIP file and extract it locally.


Project Structure

After cloning or extracting the repository, the directory structure is as follows:

assign/
docs/
README.md

Open the Documentation

  1. Navigate to the docs/ directory
  2. Open the report corresponding to your preferred language:
    • English: Transmission_Protocol_System.pdf
    • Greek: Σύστημα_Πρωτοκόλλου_Μετάδοσης.pdf

About

TCP protocol analysis based on real packet traces, covering three-way handshake, data transfer, and HTTP interactions (Computer Networks II, UNIWA).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published