Programming Assignment #2

Slides:



Advertisements
Similar presentations
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 13 Introduction to the Transport.
Advertisements

An Introduction to Internetworking. Why distributed systems - Share resources (devices & CPU) - Communicate people (by transmitting data)
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
Process-to-Process Delivery:
1 CSC111H Client-Server: An Introduction Dennis Burford
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
Chapter 13 Introduction to the Transport Layer
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CS 145A Reliable Communication Netlab.caltech.edu/course.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Ch 3. Transport Layer Myungchul Kim
Process-to-Process Delivery:
Chapter 3: The Data Link Layer –to achieve reliable, efficient communication between two physically connected machines. –Design issues: services interface.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Chapter 23 Introduction To Transport Layer Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internet Socket Programing
Introduction to Networks
09-Transport Layer: TCP Transport Layer.
Chapter 3 Transport Layer
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
Programming Assignment #1
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
Midterm Exam Review Release questions via webcourse “assignment” around 1:30pm, Thur. Oct. 14th, due via webcourse at 11:59pm Submit format: Word file,
CMPT 371 Data Communications and Networking
Chapter 14 User Datagram Program (UDP)
PART 5 Transport Layer Computer Networks.
Chapter 6: Transport Layer (Part I)
TCP Transport layer Er. Vikram Dhiman LPU.
Reliable Transport CS 3700 Project 3.
Programming Assignment #3
File Transfer and access
Introduction to Networks
Process-to-Process Delivery:
Subject Name: Computer Communication Networks Subject Code: 10EC71
Packet Sniffing.
Transport Layer Our goals:
Introduction to the Transport Layer
Sarah Diesburg Operating Systems COP 4610
Chapter 23 Introduction To Transport Layer
Programming Assignment I
Internet Control Message Protocol Version 4 (ICMPv4)
Anthony D. Joseph and Ion Stoica
Process-to-Process Delivery:
Remote Procedure Call (RPC)
Chapter 5 TCP Control Flow
Reliable Transport CS 3700 Project 3.
Distributed Systems CS
Andy Wang Operating Systems COP 4610 / CGS 5765
CPEG514 Advanced Computer Networkst
Performance Issues in WWW Servers
Chapter 5 Transport Layer Introduction
PART 5 Transport Layer.
8: Principles of Reliable Data Transfer
Getting Connected (Chapter 2 Part 3)
Internet Applications & Programming
Transportation Layer.
An Introduction to Internetworking
An Introduction to Internetworking
46 to 1500 bytes TYPE CODE CHECKSUM IDENTIFIER SEQUENCE NUMBER OPTIONAL DATA ICMP Echo message.
Chapter 5 TCP Control Flow
Programming Assignment #1
CS4470 Computer Networking Protocols
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Distributed Systems CS
Computer network HW2 -Retransmission + Congest control
Midterm Exam Review Release questions via webcourse “assignment” around 10:30am, Thur. Oct. 25th, due via webcourse at 10:30am next day Submit format:
Transport Layer 9/22/2019.
Exceptions and networking
Presentation transcript:

Programming Assignment #2 Implement a TCP analog for transferring Due Date: Monday October 29 at 11:55pm Hello everyone. Now I’m gonna introduce something about socket programming. First we will try to get a general idea about what socket is. Then we will introduce socket programming with Java and socket programming with Python. The corresponding reading material is the Section 2.7 in Chapter 2, and the project 1 description. Readings: Chapter 3 Project II Description CSci4211: Programming Assignment #2 1 1

CSci4211: Programming Assignment #2 What should we do? Implement a typical Client/Server model. Client sends a file to server, through a unreliable network layer. The source code of network layer has been provided. Server gets message from network layer. If the message is correct, write to a file. Stop & Wait is enough. GBN or SR is better! CSci4211: Programming Assignment #2 2

CSci4211: Programming Assignment #2 Why is it difficult? Unreliable network layer May drop your packet May change content of your packet May delay the packet Even your ACK can be lost on the way! CSci4211: Programming Assignment #2 3

CSci4211: Programming Assignment #2 Several Cases CSci4211: Programming Assignment #2 4

CSci4211: Programming Assignment #2 Several Cases CSci4211: Programming Assignment #2 5

CSci4211: Programming Assignment #2 How to handle it? Sequence number for dropped packets Timeout mechanism for lost packets Checksum for corrupted packets CSci4211: Programming Assignment #2 6

Things you may need to work on… Socket Programming File Operation Timeout operation Examples have been provided. Checksum lib hashlib in Python MessageDigest in Java CSci4211: Programming Assignment #2 7

Things you may need to notice… Start early! Things are worse this time. No code skeleton. Let me know if you have any questions anytime. Make your code east to read. More explanations may follow. CSci4211: Programming Assignment #2 8

CSci4211: Programming Assignment #2 Q&A CSci4211: Programming Assignment #2 9