Chap 1 Foundation Out-of-Band Data Chap 24.

Slides:



Advertisements
Similar presentations
Review: Name/Address conversion: –What does the domain name system do? –Which system calls use the domain name system? –How does it work? –How does getservbyname.
Advertisements

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.
On the implementation of TCP urgent data (draft-gont-tcpm-urgent-data) Fernando Gont & A. Yourtchenko 73rd IETF meeting, November 16-21, 2008 Minneapolis,
Out-of-Band Data© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
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.
Networks I Transmission Control Protocol Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México Prof. MSc. Ivan A. Escobar.
TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Instructor: Sam Nanavaty TCP/IP protocol. Instructor: Sam Nanavaty Version – Allows for the evolution of the protocol IHL (Internet header length) – Length.
Transmission Control Protocol (TCP) Basics
I/O Models Satish Krishnan. I/O Models Blocking I/O Non-blocking I/O I/O Multiplexing Signal driven I/O Asynchronous I/O.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Computer Networks 2 Lecture 2 TCP – I - Transport Protocols: TCP Segments, Flow control and Connection Setup.
TRANSPORT LAYER  Session multiplexing  Segmentation  Flow control (TCP)  Connection-oriented (TCP)  Reliability (TCP)
1 Transport Control Protocol. 2 Header Identifies the port number of a source application program. Used by the receiver to reply. (16-bit). Identifies.
A collection of random things: Look what I found under the carpet Ilja van Sprundel
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
Netprog: TCP Details1 TCP Details Introduction to Networking John Otto TA Jan 31, 2007 Recital 4.
TCP/IP Protocol Suite 1 Chapter 18 Upon completion you will be able to: Remote Login: Telnet Understand how TELNET works Understand the role of NVT in.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
Interrupts Signal that causes the CPU to alter its normal flow on instruction execution ◦ frees CPU from waiting for events ◦ provides control for external.
TCP/IP Illustracted Vol2. 제목 : TCP Input ( 월 ) 한 민 규
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 19 TELNET and Rlogin.
Security Assessment of the Transmission Control Protocol (TCP) (draft-ietf-tcpm-tcp-security-02.txt) Fernando Gont project carried out on behalf of UK.
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transmission Control Protocol
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Transmission Control Protocol (TCP)
2.8. Data Communication The data that flows on a connection may be thought of as a stream of octets. The sending user indicates in each SEND call whether.
Understand IPv4 Addressing. IPv4: originally Classfull Addressing  Special address  Host ID = 0: network address  Network ID = 0, host ID = 0  i.e.
Netprog: Advanced Sockets Programming1 Advanced Sockets Programming Ref: Chapter 7,11,21,22.
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
UDP Sockets Chap 8, 14, 22. Elementary UDP Sockets Chap 8.
1 Socket Options getsockopt and setsockopt functions Check options and obtain default values Generic socket options IPv4 socket options IPv6 socket options.
TCP Client-Server Example
© Jörg Liebeherr (modified by Malathi Veeraraghavan) 1 Overview Formats, Data Transfer, etc. Connection Management.
Hour 6 The Transport Layer 1. What You'll Learn in This Hour Connections oriented and connectionless protocols Ports and sockets TCP UDP 2.
TCP Transmission Control Protocol Part 2 CH 23 Aseel Alturki.
Telnet  TErminaL NETwork  TELNET is a general-purpose client-server application program  TELNET enables the establishment of a connection to a remote.
CS-328 Rlogin & Telnet Protocols. Rlogin Remote Logon to another Host RFC 1282 Well known port : 513.
CSCI 330 UNIX and Network Programming Unit XVII: Socket Programming Detail.
I/O Multiplexing Chap 6. I/O Models  Blocking I/O Model  Nonblocking I/O Model  I/O Multiplexing Model  Signal Driven I/O Model  Asynchronous I/O.
Transport Layer1 TCP Connection Management Recall: TCP sender, receiver establish “connection” before exchanging data segments r initialize TCP variables:
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
1 Transmission Control Protocol (TCP) RFC: Introduction The TCP is intended to provide a reliable process-to-process communication service in a.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Introduction to Networking Recital 4
5. End-to-end protocols (part 1)
Chapter 17 and 18: TCP is connection oriented
Transport Layer.
Process-to-Process Delivery
TCP.
Precept 2: TCP Congestion Control Review
PUSH Flag A notification from the sender to the receiver to pass all the data the receiver has to the receiving application. Some implementations of TCP.
CS4470 Computer Networking Protocols
Advanced Sockets Programming
Transport Protocols: TCP Segments, Flow control and Connection Setup
Window Management in TCP
Transport Protocols: TCP Segments, Flow control and Connection Setup
Transport Layer 9/22/2019.
TCP Connection Management
Presentation transcript:

Chap 1 Foundation Out-of-Band Data Chap 24

TCP Urgent Mode and Socket OOB Data write(fd,…); write(fd, …) send(fd, “a”, … , MSG_OOB); write(fd, …); select(…, xset, …); … recv(fd,…, MSG_OOB); handler(){ recv(fd,…, MSG_OOB); } SIGURG Socket API OOB mark OOB buffer (1Byte) a a send buffer receive buffer a TCP (receiver) TCP (sender) TCP OOB concepts Notification SIGURG signal Exception ready Position of OOB byte Value of OOB byte

Sending TCP OOB data TCP Sender OOB data sender OOB data는 socket send buffer의 맨 뒤에 append되고 urgent offset이 그 다음을 가리킨다. Urgent offset 바로 앞 byte가 OOB byte가 된다. Normal data와 순서대로 전송된다. (normal data에 우선적으로 전송되지 않는다) not true out-of-band data (expedited data) Enter Urgent mode: Flow control에 의해 segment 전송이 stop되더라도 (i.e. receiver의 socket receive buffer가 full일 때), urgent notification (URG segment with no data)은 항상 전송된다. 그러나 아직 OOB data는 전송되지 못했을 수 있음. OOB data sender send(fd, “a”, 1, MSG_OOB); send(fd, “abc”, 3, MSG_OOB); Which is the OOB byte?

Receiving TCP OOB Data (1) TCP Receiver URG segment가 도착하면, urgent notification을 receiver에게 알려준다. SIGURG signal is delivered Exception set becomes ready (in case of select) 그러나, OOB byte가 도착하지 않았을 수도 있다. Why? Read()는 OOB byte 바로 전 normal data까지 읽는다. Receiver도 sockatmark()를 이용하여 OOB byte를 읽을 차례인지 알수 있다.  OOB는 end-of-record mark로 쓸 수 있다. Then, receive OOB data recv(fd, &buff, sizeof(buff), MSG_OOB); OOB byte를 가져가기 전에 새로운 OOB byte가 도착하면 overwrite되고 OOB mark도 갱신된다.

Receiving TCP OOB Data (2) OOB data receiver Notification of URG segment by means of SIGURG signal sent to owner of the socket select with exception set notify되었다고 해서 반드시 OOB data가 도착한 것은 아님 . 즉 socket receive buffer가 full이어서 OOB byte가 도착 못할 수 있음. Then, receive OOB data recv(fd, &buff, sizeof(buff), MSG_OOB); OOB byte를 정확히 수신하고자 하면, OOB data가 도착했는지(즉, out-of-band mark에 있는지) 확인하고, 도착하지 않았으면, normal data를 읽어들여 flow control이 stop된 것을 해지하고 다시 확인 필요 단지 exception이 발생했는지 여부를 알고자 하면 OOB notification 받은 것으로 충분 (예, rlogin)

URG Notification: URG segment received By SIGURG: oob/tcprecv01 By exception ready: oob/tcprecv03

Receiving OOB data with inline Set inline mode: OOB byte도 normal data처럼 read 가능하게 됨 check out-of-band mark and receive OOB data oob/tcprecv04