CSE 461 Section. Let’s learn things first! Joke Later!

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Advertisements

TCP/IP Christopher Zacky. lolwut Decimal Numbers.
TCP Flooding. TCP handshake C S SYN C SYN S, ACK C ACK S Listening Store data Wait Connected.
Transportation Layer (2). TCP full duplex data: – bi-directional data flow in same connection – MSS: maximum segment size connection-oriented: – handshaking.
Computer Security and Penetration Testing
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Transport Layer – TCP (Part2) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
CISCO NETWORKING ACADEMY PROGRAM (CNAP)
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
Computer Networks 2 Lecture 2 TCP – I - Transport Protocols: TCP Segments, Flow control and Connection Setup.
UNIT 07 Process – to – Process Delivery: UDP,TCP and SCTP
Slide 1 Attacks on TCP/IP. slide 2 Security Issues in TCP/IP uNetwork packets pass by untrusted hosts Eavesdropping (packet sniffing) uIP addresses are.
CSE 461: Transport Layer Connections. Naming Processes/Services  Process here is an abstract term for your Web browser (HTTP), servers (SMTP),
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
1 CCNA 2 v3.1 Module Intermediate TCP/IP CCNA 2 Module 10.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Ch 23 Ameera Almasoud Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
1 ELEN 602 Lecture 15 More on IP TCP. 2 byte stream Send buffer segments Receive buffer byte stream Application ACKs Transmitter Receiver TCP Streams.
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
11 September 2015 RE Meyers, Ms.Ed. CCENT ICND1 Exam Topics Review Describe the Operation of Data Networks: Network Diagrams and Data Paths.
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
6.1. Transport Control Protocol (TCP) It is the most widely used transport protocol in the world. Provides reliable end to end connection between two hosts.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
CHAPTER 10 Session Hijacking. INTRODUCTION The act of taking over a connection of some sort, for examples, network connection, a modem connection or other.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Transport Layer Overview (§ )
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transmission Control Protocol
TCP/IP Vulnerabilities
Interfaces and Services Each layer provides a service to the layer above it. A service is a set of primitive operations. Under UNIX, primitives are implemented.
Networking Basics CCNA 1 Chapter 11.
81 Sidevõrgud IRT 0020 loeng okt Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 25 November 16, 2004.
Connection Establishment and Termination. Tcpdump tcpdump is a common packet analyzer that runs under the command line. It allows the user to intercept.
Slide #1 CIT 380: Securing Computer Systems TCP/IP.
DoS/DDoS attack and defense
Breno de MedeirosFlorida State University Fall 2005 The IP, TCP, UDP protocols A quick refresher.
© Jörg Liebeherr (modified by Malathi Veeraraghavan) 1 Overview Formats, Data Transfer, etc. Connection Management.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
© 2002, Cisco Systems, Inc. All rights reserved..
Transport Layer1 TCP Connection Management Recall: TCP sender, receiver establish “connection” before exchanging data segments r initialize TCP variables:
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
Cisco I Introduction to Networks Semester 1 Chapter 7 JEOPADY.
1 Transmission Control Protocol (TCP) RFC: Introduction The TCP is intended to provide a reliable process-to-process communication service in a.
COMP2322 Lab 6 TCP Steven Lee April 1, TCP Transmission Control Protocol Transport layer protocol User Datagram Protocol (UDP) is another one 2.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Chapter 9: 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.
Instructor Materials Chapter 9: Transport Layer
COMP2322 Lab 6 TCP Steven Lee Mar 29, 2017.
5. End-to-end protocols (part 1)
TCP.
TCP.
TCP.
CS 5565 Network Architecture and Protocols
TCP - Part I Karim El Defrawy
Sarah Diesburg Operating Systems COP 4610
The IP, TCP, UDP protocols
CS 5565 Network Architecture and Protocols
Andy Wang Operating Systems COP 4610 / CGS 5765
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Chapter 5 TCP Control Flow
Transport Layer 9/22/2019.
TCP Connection Management
Attacks on TCP.
Presentation transcript:

CSE 461 Section

Let’s learn things first! Joke Later!

What do we mean by “reliable?” We know when the other party receives or doesn’t receive certain data Data arrives intact Data arrives in the correct order (to the application layer, at least) TCP Is Reliable

What’s the main mechanism for ensuring this reliability? Sequence numbers! They allow packets to be identified, acknowledged, and, implicitly re-requested For TCP to work, clients must know each other’s sequence number schemes Where This Reliability Comes From

Need to synchronize with each other’s sequence numbers How can we do this? Active open vs. passive open connect() vs. listen() SYN packet Send own sequence number A SYN/ACK packet Acknowledge with A+1, send own sequence number B ACK packet Acknowledge with B+1 Demonstration Starting Communication: The Three-Way Handshake

Three-Way Handshake Diagram

We need a protocol for stopping communications What could we do? Let’s send packets to close the connection! FIN/ACK sequence Ending Communications

TCP FSA

TCP Half-Open One client is in the open state; the other is not How could this happen? One endpoint has crashed One endpoint has removed the socket One endpoint has received a SYN and sent a SYN/ACK, but the other side has not ACKed the SYN/ACK yet One endpoint has sent a FIN and received an ACK, but the other side has not sent a FIN yet RST packet often sent in these cases TCP Half-Open

Hosts allocate a TCB (Transmission Control Block) on receipt of a SYN packet and put in the “SYN queue” They then send a SYN/ACK and wait for an ACK response However, what if one host sends lots of SYNs and no ACKs? Causes the receiving host to allocate lots of TCBs, filling up resources This attack is called “SYN flooding” SYN Flooding

What ideas can we think of to make it so that SYN flooding doesn’t work? Constraint: we don’t want to break TCP!) Identify SYN flooders and filter their packets Reduce our timeout until we garbage-collect TCBs Recycle half-open TCP connections Use SYN cookies Sequence number encodes all of the data that would otherwise be stored This allows us to garbage-collect our SYN queue and still respond to subsequent ACKs SYN Flooding Countermeasures

TCP is not (by default) encrypted This means anyone sniffing our packets can see the sequence numbers being used How is this a problem? For many protocols, the sequence and acknowledgement numbers are the other “security” Using these numbers can make a host think that you’re sending the next packet in a communication session This can cause the communication to be re-addressed to a new IP address/port TCP Connection Hijacking

In TCP, how does a server know to discard a duplicate packet? What does it check for? Correct checksum Same sequence number How are sequence numbers generated? Randomly at first, then incremented Often, this increment is unpredictable, and depends on received data length How could we secret inject a packet into communication? Predict the length and sequence number of some data in the future Pre-empt that data with a similar packet TCP Veto

Two jokes Joke Time

Questions?