Twitter Adaptation Layer Submitted for Drexel University s CS544

Size: px
Start display at page:

Download "Twitter Adaptation Layer Submitted for Drexel University s CS544"

Transcription

1 Twitter Adaptation Layer Submitted for Drexel University s CS544 Josh Datko 9 June Description of Service The Twitter Adaptation Layer (TWAL) provides connected, best-effort-end-to-end delivery of tweets with limited flow and error control. It provides logical sockets over a broadcast medium (Twitter) to simulate unicast communication. While theoretically flexible to allow various higher protocols, the TWAL is customized for use for the Hangman protocol. Typically, Twitter is a broadcast medium. Tweets are posted to a users timeline via a RESTful HTTP POST and once accepted by the Twitter server, it is added to the user s timeline. Tweets at this point are not directed at anybody in particular, but rather they broadcast to the Twitterverse. However, by using mentions, that tweet is meant for the mentioned user, even though it is still broadcast. By adding mentions to tweet, destination addressing is achieved. Source addressing (who sent the tweet) is embedded in the metadata of the tweet itself. The extra credit is described as the discovery protocol in Section which uses the message format in Section Quality of Service (QoS) QoS: Connected As entities progress through the DFA they will exchange messages to each other to establish the OPEN state. In this state, there is assurance that the messages are being sent to the receiving party since each party has participated in a connection handshake QoS: Best-effort-end-to-end-delivery TWAL is simliar to SMTP in this regard; it can guarantee delivery to the mail exchanger, but it can t guarantee receipt by the end user. Tweets are posted to Twitter through a REST interface that acknowledges receipt of the posted tweet to the user s timeline. Therefore, delivery to twitter is guaranteed. Also, if the tweet contains a mention during the ESTABLISHED or OPEN state, it will show up in the other users timeline, but there is no guarantee that the remote end will consume the tweet. Therefore, it is best-effort. Just like SMTP can t guarantee the user read his . If a socket in TCP network programming is defined by {srcport,srcaddr,dstport,dstaddr}, then the TWAL socket is defined as {srcusername,dstusername}. Delivery of data is provided by Twitter and to continue with the SMTP example, a user s timeline is like their mailbox. When in the OPEN state, tweets with the mention will show in the destination timeline and if they contain the tag, see Section 2.5, the tweet will have unique addressing to differentiate it from another conversation to support concurrent conversations. 1

2 1.1.3 QoS: Flow Control and Ordering Twitter enforces rate limiting based on its API calls. Posting status updates is limited to 1,000 tweets per day [1], which is broken down into hourly intervals. Therefore the TWAL is meant to service relatively low, short-lived conversations. For the Hangman Protocol, the server can t maintain continuos conversations for very long with numerous clients, since the Hangman protocol is a proof-of-concept, we considered this limitation acceptable. Any GET method using the REST API, when authenticated with OAuth, is limited to 350 requests per hour [3]. Through a combination of the three different twitter APIs (REST, Streaming and Search), this limit can be worked-around. If only using the REST API, an entity can t received faster than once every 12 seconds (about) for a steady basis, unless using the streaming API, where it is unlimited. The bottom line is that Twitter itself enforces the flow control and provides HTTP error codes to inform the account when its near / over the rate limits. Also, tweets are given 64 bit unsigned integer identifiers that are no-longer sequential, but are based on time [6]. Therefore, tweets relatively close to each other are sequential, but there is no guarantee that all tweets will maintain this straight-sequential ordering. Combined with the timestamp however, order can be determined. Twitter stores tweets in a user s timeline in like a list where newest tweets are inserted into the head of the list. Therefore, if the sender is tweeting more than the consumer is consuming, tweets are stored by twitter and can be retrieved. Tweets are never dropped, unless, of course Twitter is down and the fail whale is flying. In this case, senders and receiving will be aware of the outage on the next send / receive, when they try to reach twitter. Simliar to pulling the plug on ethernet when using TCP with the exception then even the receiving entity will know immediately and won t have to wait for a timeout QoS: Preventing Duplicate Messages Twitter prevents duplicate tweets. Unfortunately, what it considers duplicate is a bit vague. Definitely, two exacts tweets in are row are considered duplicate and the second produces an error. However, it may consider duplicate a tweet in the last x seconds, where x doesn t appear to be clearly defined. Twitter seems to have purposely obfuscated these details because they are used for spam detection and providing such heuristics would allow for bypassing spam detection. The TWAL does not sending duplicate messages because it is not allowed by Twitter and each message is acknowledged when posted to Twitter QoS: Error Control Error control is provided between the sending account and Twitter since Twitter will respond with the sender s message. At this point, the tweet has been posted, but it provides a final level check among the other protocols that twitter uses (HTTP and REST). There is no end-to-end error control. 1.2 TWAL Stack and Sublayering The TWAL is further internally layered. Besides the main TWAL DFA, it contains a PUSH, PULL and DISCOVERY protocol. Figure 1 shows the internal layers as well as relations to the Hangman Protocol and to Twitter PUSH Protocol The PUSH protocol provides the message sending service. Outgoing messages and handled to the PUSH protocol, which makes the appropriate Twitter POST message to the Twitter service. Twitter provides an acknowledgment, although this is not shown in the diagram. The PUSH protocol does not provide extra rate limiting, but relies on error messages from Twitter to inform the TWAL DFA when it has exceeded a rate limit. This could be improved to monitoring rate limiting prior to a Twitter warning, but was beyond the scope of this project. Lastly, the PUSH protocol uses the Twitter REST API [4] which performs a HTTP POST to the Twitter service, and receives a response on the POST. 2

3 Figure 1: TWAL Stack PULL Protocol The TWAL DFA polls the PULL protocol to receive message and provides the receive service to the TWAL DFA. However, the PULL protocol is actually consuming tweets with two separate Twitter APIs. First, it polls the Twitter service with the REST API. It makes a HTTP GET request every 11.5 seconds to see if there are new status updates for this account. The time is to ensure that Twitter rate limits are not violated (350 queries per hour)[3]. It also uses the Twitter Streaming API [5] to receive tweets. The Streaming API is a different technique to receive tweets by making a persistent HTTP connection and being pushed messages from the Twitter server. This results in near instantaneous tweet retrieval and does not count against the rate limits. However, Twitter describes this service as unreliable, specifically duplicate tweets can be received among other things. By consuming both APIs, near instantaneous receives can occur and reliable messaging can be reconciled every 11.5 seconds Discovery Protocol The Discovery protocol provides a server discovery service to the Hangman protocol. It uses the Twitter Search API [7] to perform real-time searches. The Search API is rate-limited to 150 requests per hour, therefore the discovery protocol checks every 30 seconds. This protocol searches the global hashtag #Hangman. It then examines retrieved tweets and attempts to match a valid announce message to detect a Hangman server. The message is further discussed in Section 2.6. Once detected, it presents the server account name to the Hangman Protocol when prompted. It is a passive discovery service, it does not attempt to contact the server during the discovery phase. Since discovery does not guarantee connection, the discovery services provides the name of a potential server and relies on the TWAL DFA to connect to the server and see if it is online. The Discovery Protocol grabs the last 15 tweets with the given hashtag. Depending on how #Hangman is trending, this could be tweets that are days old. Anecdotal observations showed that 15 tweets with 3

4 this hashtag retrieved tweets 6 hours old. Servers should announce their presence using the discovery protocol using the Message in Section 2.6 on startup. A server may choose not to announce itself on startup, if for example, it has recently aready announced itself. If the server will run continuously, it should announce it s presence every hour to facilitate discovery. Clients using the discovery protocol must search for the announce message described in Section 2.6. Clients must only contact the server during the TWAL DFA states and not during discovery. Servers should ignore messages in reply to the announce message. 2 Messages The following messages are defined in TWAL: 2.1 Following The following message is defined by the Twitter service and is beyond the scope of this specification. The TWAL sends the follow message through a twitter API to another account. By following a user, the followed user s status updates appear in the following user s timeline. 2.2 Hello The hello tweet contains the string: ^hello^ and must contain a TWAL tag described in Section 2.5, as Figure 2 does. The basis of this is to allow an upper layer protocol, which may be a human typing on a twitter client, a straightforward hello message. This may cause confusion if that exact string is used in the payload of the higher protocol, in that case, that upper layer protocol must handle that situation. The hello message should contain other data to make the tweet unique to prevent it from being blocked as a duplicate, see Section However, considering that a human could use the TWAL, there are no restrictions. The TWAL for the Hangman protocol uses a date string with a tag described in Section 2.5. ^hello^ Sun Jun 03 21:28:04 EDT 2470/t> Figure 2: Example Hello message 2.3 Bye Simliar to the Hello message in Section 2.2, the bye message is contains the string ^bye^ and must contain a TWAL tag, as Figure 3 shows. ^bye^ Sun Jun 03 21:31:51 EDT 1048/t> Figure 3: Example Bye message 2.4 Data Transfer The data transfer message is not a hello, bye, follow or announce message and must contain a tag. It is a carrier for a higher layer PDU. It will only be recognized in the OPEN state. 2.5 Tag All TWAL messages contain a tag. The TWAL tag is defined by the regular expression: <t.*?/t>. The tag must mention the destination username, with the exception of the announcement message described in Section 2.6. Additionally, the tag should contain characters to ensure that the tweet does not get 4

5 flagged as a duplicate as Section indicates. For the Hangman protocol, it contains a one-up sequence number initialized at a random number between 0 and This number is not used as a traditional sequence number, since the Twitter service provides ordering as Section describes, but is useful in visual debugging to see the messages of the conversation. The tag has a maximum length of 40 characters, leaving 100 characters for the payload data. The maximum length of a Twitter username is 15 characters. The tag format, based on the above regular expression, has a length of 6 characters. The mention symbol consumes one character. The remaining 18 characters are for unique data strings to prevent tweets from being flagged as duplicates and future options. 4378/t> Figure 4: Example Message with Tag 2.6 Announce The announce message is used to broadcast the establishment of a Hangman server. This message must contain: The hashtag #hangman The keyword ^discover^ A TWAL tag defined in Section 2.5 Also, the announce message should contain random, unique characters to prevent Twitter from flagging the tweet as a duplicate. An example announce message is shown in Figure 5. #hangman^discover^ Sun Jun 03 22:34:47 EDT 2012<t ANNOUNCE/t> Figure 5: Example Announcement Message 3 Deterministic Finite Automata (DFA) The DFA for the TWAL is straightforward. Starting out in the DEAD state, the conversation moves to the ESTABLISHED state only when both parties follow each other. The client follows the server then the server follows the client. Mutual following is required to ensure that the other users tweets show up correctly in the timeline. It is not necessary to always unfollow and transition to the DEAD state, in fact, Twitter could black list an account for aggressive following: following and unfollowing the same user repeatedly[2]. So, clients should not unfollow at the end of each session. The client sends a HELLO message to the server and waits for a HELLO message back. Upon receipt, the client transitions to the OPEN state. The server transitions once it sends a HELLO message to the client. The conversations stays in the OPEN as long as it is sending and receiving data transfer messages, as defined Section 2.4. Either party sending the BYE message will move the state back to ESTABLISHED and unfollow will send it back to DEAD. 4 Extensibility The TWAL provides a flexible payload format and tag definition based on regular expressions, therefore additional options can be added later. Additionally, extra characters have been left in the tag for future expansion. The TWAL was designed to specifically support the Hangman Protocol, but could be further refined to be protocol agnostic with future work. 5

6 Figure 6: Twitter Adaptation Layer DFA 5 Security The TWAL provides limited security as outlined below and it assumes that Twitter is cooperative (nonmalicious) intermediately. The TWAL should not be used to transport sensitive data. As the following sections show, the TWAL is in general, not very secure. 5.1 Authentication End-to-end message authenticity is supported in TWAL. Since a Twitter account is required to POST messages, and all tweets are stamped with the sender account (authenticated with OAuth). Assuming that Twitter is not malicious and does not manipulate the tweet, the receiver has reasonable assurance that the sender is the real sending account. 5.2 Access Control There are no specific access controls enforced by the TWAL, however once in the OPEN state, higher layer protocols may provide additional policies. 5.3 Data Integrity The TWAL provides data integrity as far as POSTing to Twitter, since twitter responds with the posted tweet. Even this is a limited check on data integrity, since the tweet is already posted. There is no end-to-end data integrity. 5.4 Confidentiality TWAL currently provides zero confidentiality. Tweets are public and broadcast to the Twitterverse. 6

7 5.5 Availability Unfortunately, TWAL is susceptible to Denial of Service attacks. Due to Twitter rate limiting, numerous accounts could perform a distributed denial of service attack by connecting to one server, which would in turn tweet each one. The server would quickly exceed it s rate limits and would effectively be silenced. 5.6 Non-Repudiation As a result of Twitters no duplicate policies, a limited degree of non-repudiation is enforce. However, this non-repudiation is ephemeral, since after a short period time the tweet can be duplicated. Also, Twitter does not keep tweets forever (after a certain number). 5.7 Trust The foundation of trust in TWAL is trusting the Twitter service. Twitter is provides the limited security features described above and is trusted to actually transport the data. 6 Definitions Tweet: Also known as a status update. This is a string of at most 140 UTF8 characters. Mention: A tweet that contains a twitter username preceded by the References [1] Twitter. About twitter limits (update, api, dm, and following). articles/15364-about-twitter-limits-update-api-dm-and-following, June [2] Twitter. Following rules and best practices following-rules-and-best-practices, June [3] Twitter. Rate limiting. June [4] Twitter. Rest api resources. June [5] Twitter. The streaming apis. May [6] Twitter. Twitter ids, json and snowflake. June [7] Twitter. Using the twitter search api. June

Secure Telephony Enabled Middle-box (STEM)

Secure Telephony Enabled Middle-box (STEM) Report on Secure Telephony Enabled Middle-box (STEM) Maggie Nguyen 04/14/2003 Dr. Mark Stamp - SJSU - CS 265 - Spring 2003 Table of Content 1. Introduction 1 2. IP Telephony Overview.. 1 2.1 Major Components

More information

CS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay

CS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay CS 716: Introduction to communication networks - 18 th class; 7 th Oct 2011 Instructor: Sridhar Iyer IIT Bombay Reliable Transport We have already designed a reliable communication protocol for an analogy

More information

Transport Protocols & TCP TCP

Transport Protocols & TCP TCP Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC

More information

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link. Internet Layers Application Application Transport Transport Network Network Network Network Link Link Link Link Ethernet Fiber Optics Physical Layer Wi-Fi ARP requests and responses IP: 192.168.1.1 MAC:

More information

User Datagram Protocol

User Datagram Protocol Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram

More information

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia IP - The Internet Protocol Based on the slides of Dr. Jorg Liebeherr, University of Virginia Orientation IP (Internet Protocol) is a Network Layer Protocol. IP: The waist of the hourglass IP is the waist

More information

Introduction to computer networking

Introduction to computer networking edge core Introduction to computer networking Comp Sci 3600 Security Outline edge core 1 2 edge 3 core 4 5 6 The edge core Outline edge core 1 2 edge 3 core 4 5 6 edge core Billions of connected computing

More information

CS544 Computer Networks Midterm Examination Spring Professor Mike Kain

CS544 Computer Networks Midterm Examination Spring Professor Mike Kain CS544 Computer Networks Midterm Examination Spring 12-13 Professor Mike Kain By turning in this exam, each one of you is explicitly making the following pledge of honesty: "I understand that this exam

More information

ET4254 Communications and Networking 1

ET4254 Communications and Networking 1 Topic 9 Internet Protocols Aims:- basic protocol functions internetworking principles connectionless internetworking IP IPv6 IPSec 1 Protocol Functions have a small set of functions that form basis of

More information

[MS-WINSRA]: Windows Internet Naming Service (WINS) Replication and Autodiscovery Protocol

[MS-WINSRA]: Windows Internet Naming Service (WINS) Replication and Autodiscovery Protocol [MS-WINSRA]: Windows Internet Naming Service (WINS) Replication and Autodiscovery Protocol Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes

More information

ARP, IP, TCP, UDP. CS 166: Introduction to Computer Systems Security 4/7/18 ARP, IP, TCP, UDP 1

ARP, IP, TCP, UDP. CS 166: Introduction to Computer Systems Security 4/7/18 ARP, IP, TCP, UDP 1 ARP, IP, TCP, UDP CS 166: Introduction to Computer Systems Security 4/7/18 ARP, IP, TCP, UDP 1 IP and MAC Addresses Devices on a local area network have IP addresses (network layer) MAC addresses (data

More information

[MS-WINSRA]: Windows Internet Naming Service (WINS) Replication and Autodiscovery Protocol

[MS-WINSRA]: Windows Internet Naming Service (WINS) Replication and Autodiscovery Protocol [MS-WINSRA]: Windows Internet Naming Service (WINS) Replication and Autodiscovery Protocol Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes

More information

VoIP Security Threat Analysis

VoIP Security Threat Analysis 2005/8/2 VoIP Security Threat Analysis Saverio Niccolini, Jürgen Quittek, Marcus Brunner, Martin Stiemerling (NEC, Network Laboratories, Heidelberg) Introduction Security attacks taxonomy Denial of Service

More information

Transport Protocols. CSCI 363 Computer Networks Department of Computer Science

Transport Protocols. CSCI 363 Computer Networks Department of Computer Science Transport Protocols CSCI 363 Computer Networks Department of Computer Science Expected Properties Guaranteed message delivery Message order preservation No duplication of messages Support for arbitrarily

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START Page 1 of 11 MIDTERM EXAMINATION #1 OCT. 16, 2013 COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2013-75 minutes This examination

More information

The Data Link Layer. 32 PART I Networking Basics

The Data Link Layer. 32 PART I Networking Basics 32 PART I Networking Basics weather station. More realistic devices use duplex mode, where all systems can send or receive with equal facility. This is often further distinguished as half-duplex (the system

More information

TCP/IP Transport Layer Protocols, TCP and UDP

TCP/IP Transport Layer Protocols, TCP and UDP TCP/IP Transport Layer Protocols, TCP and UDP Learning Objectives Identify TCP header fields and operation using a Wireshark FTP session capture. Identify UDP header fields and operation using a Wireshark

More information

Configuring OpenFlow 1

Configuring OpenFlow 1 Contents Configuring OpenFlow 1 Overview 1 OpenFlow switch 1 OpenFlow port 1 OpenFlow instance 2 OpenFlow flow table 3 Group table 5 Meter table 5 OpenFlow channel 6 Protocols and standards 7 Configuration

More information

Discover (n.): This feature surfaces personalized content tailored to your interests.

Discover (n.): This feature surfaces personalized content tailored to your interests. Glossary: General Terms @: The @ sign is used to call out usernames in Tweets: "Hello @twitter!" People will use your @username to mention you in Tweets, send you a message or link to your profile. @username:

More information

ECE 435 Network Engineering Lecture 9

ECE 435 Network Engineering Lecture 9 ECE 435 Network Engineering Lecture 9 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 2 October 2018 Announcements HW#4 was posted, due Thursday 1 HW#3 Review md5sum/encryption,

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START Page 1 of 11 MIDTERM EXAMINATION #1 OCT. 13, 2011 COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2011-75 minutes This examination

More information

Common Protocols. The grand finale. Telephone network protocols. Traditional digital transmission

Common Protocols. The grand finale. Telephone network protocols. Traditional digital transmission The grand finale Common Protocols An Engineering Approach to Computer Networking Previous chapters presented principles, but not protocol details these change with time real protocols draw many things

More information

Create an Account... 2 Setting up your account... 2 Send a Tweet... 4 Add Link... 4 Add Photo... 5 Delete a Tweet...

Create an Account... 2 Setting up your account... 2 Send a Tweet... 4 Add Link... 4 Add Photo... 5 Delete a Tweet... Twitter is a social networking site allowing users to post thoughts and ideas in 140 characters or less. http://www.twitter.com Create an Account... 2 Setting up your account... 2 Send a Tweet... 4 Add

More information

Stream Control Transmission Protocol (SCTP)

Stream Control Transmission Protocol (SCTP) Stream Control Transmission Protocol (SCTP) Definition Stream control transmission protocol (SCTP) is an end-to-end, connectionoriented protocol that transports data in independent sequenced streams. SCTP

More information

CS 161 Computer Security

CS 161 Computer Security Raluca Ada Popa Spring 2018 CS 161 Computer Security Discussion 7 Week of March 5, 2018 Question 1 DHCP (5 min) Professor Raluca gets home after a tiring day writing papers and singing karaoke. She opens

More information

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols CCNA Exploration Network Fundamentals Chapter 03 Application Functionality and Protocols Updated: 27/04/2008 1 3.1 Applications: The Interface Between Human and Networks Applications provide the means

More information

CCNA R&S: Introduction to Networks. Chapter 10: The Application Layer

CCNA R&S: Introduction to Networks. Chapter 10: The Application Layer CCNA R&S: Introduction to Networks Chapter 10: The Application Layer Frank Schneemann 10.0.1.1 Introduction 10.0.1.2 Activity - Application Investigation 10.1.1.1 OSI and TCP/IP Models Revisited The application

More information

Introduction to Networks and the Internet

Introduction to Networks and the Internet Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.

More information

Transport Protocols and TCP: Review

Transport Protocols and TCP: Review Transport Protocols and TCP: Review CSE 6590 Fall 2010 Department of Computer Science & Engineering York University 1 19 September 2010 1 Connection Establishment and Termination 2 2 1 Connection Establishment

More information

Layer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers

Layer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers Layer 4: UDP, TCP, and others based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers Concepts application set transport set High-level, "Application Set" protocols deal only with how handled

More information

Operational Security Capabilities for IP Network Infrastructure

Operational Security Capabilities for IP Network Infrastructure Operational Security Capabilities F. Gont for IP Network Infrastructure G. Gont (opsec) UTN/FRH Internet-Draft September 1, 2008 Intended status: Informational Expires: March 5, 2009 Status of this Memo

More information

Account Activity Migration guide & set up

Account Activity Migration guide & set up Account Activity Migration guide & set up Agenda 1 2 3 4 5 What is the Account Activity (AAAPI)? User Streams & Site Streams overview What s different & what s changing? How to migrate to AAAPI? Questions?

More information

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the

More information

Configuring attack detection and prevention 1

Configuring attack detection and prevention 1 Contents Configuring attack detection and prevention 1 Overview 1 Attacks that the device can prevent 1 Single-packet attacks 1 Scanning attacks 2 Flood attacks 3 TCP fragment attack 4 Login DoS attack

More information

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP,  , SMTP, Telnet, FTP, Security-PGP-SSH. APPLICATION LAYER : DNS, HTTP, E-mail, SMTP, Telnet, FTP, Security-PGP-SSH. To identify an entity, the Internet used the IP address, which uniquely identifies the connection of a host to the Internet.

More information

Unit 2.

Unit 2. Unit 2 Unit 2 Topics Covered: 1. PROCESS-TO-PROCESS DELIVERY 1. Client-Server 2. Addressing 2. IANA Ranges 3. Socket Addresses 4. Multiplexing and Demultiplexing 5. Connectionless Versus Connection-Oriented

More information

Chapter 7 Transport Layer. 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary

Chapter 7 Transport Layer. 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary Chapter 7 Transport Layer 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary Transport Layer Transportation of Data Role of the Transport Layer The transport layer is responsible

More information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information

Basic Protocols and Error Control Mechanisms

Basic Protocols and Error Control Mechanisms Basic Protocols and Error Control Mechanisms Nicola Dragoni Embedded Systems Engineering DTU Compute ACK/NACK Protocol Polling Protocol PAR Protocol Exchange of State Information Two-Way Handshake Protocol

More information

4 rd class Department of Network College of IT- University of Babylon

4 rd class Department of Network College of IT- University of Babylon 1. INTRODUCTION We can divide audio and video services into three broad categories: streaming stored audio/video, streaming live audio/video, and interactive audio/video. Streaming means a user can listen

More information

Peer entities. Protocol Layering. Protocols. Example

Peer entities. Protocol Layering. Protocols. Example Peer entities Protocol Layering An Engineering Approach to Computer Networking Customer A and B are peers Postal worker A and B are peers Protocols A protocol is a set of rules and formats that govern

More information

Networking Applications

Networking Applications Networking Dr. Ayman A. Abdel-Hamid College of Computing and Information Technology Arab Academy for Science & Technology and Maritime Transport Multimedia Multimedia 1 Outline Audio and Video Services

More information

The Transport Layer. Part 1

The Transport Layer. Part 1 The Transport Layer Part 1 2 OVERVIEW Part 1 User Datagram Protocol Transmission Control Protocol ARQ protocols Part 2 TCP congestion control Mowgli XTP SCTP WAP 3 Transport Layer Protocols Connect applications

More information

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 16 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information

Wide Area Network Device Presence Protocol (WAN DPP)

Wide Area Network Device Presence Protocol (WAN DPP) [MS-GRVWDPP]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

Account Activity Migration guide & set up

Account Activity Migration guide & set up Account Activity Migration guide & set up Agenda 1 2 3 4 5 What is the Account Activity (AAAPI)? User Streams & Site Streams overview What s different & what s changing? How to migrate to AAAPI? Questions?

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

Programming Assignment 1

Programming Assignment 1 CMSC 417 Computer Networks Spring 2017 Programming Assignment 1 Assigned: February 3 Due: February 10, 11:59:59 PM. 1 Description In this assignment, you will write a UDP client and server to run a simplified

More information

On the Internet, nobody knows you re a dog.

On the Internet, nobody knows you re a dog. On the Internet, nobody knows you re a dog. THREATS TO DISTRIBUTED APPLICATIONS 1 Jane Q. Public Big Bank client s How do I know I am connecting to my bank? server s Maybe an attacker...... sends you phishing

More information

Different Layers Lecture 21

Different Layers Lecture 21 Different Layers Lecture 21 10/17/2003 Jian Ren 1 The Transport Layer 10/17/2003 Jian Ren 2 Transport Services and Protocols Provide logical communication between app processes running on different hosts

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:

More information

Last Class: RPCs and RMI. Today: Communication Issues

Last Class: RPCs and RMI. Today: Communication Issues Last Class: RPCs and RMI Case Study: Sun RPC Lightweight RPCs Remote Method Invocation (RMI) Design issues Lecture 9, page 1 Today: Communication Issues Message-oriented communication Persistence and synchronicity

More information

Internet Control Message Protocol

Internet Control Message Protocol Internet Control Message Protocol The Internet Control Message Protocol is used by routers and hosts to exchange control information, and to inquire about the state and configuration of routers and hosts.

More information

Networking: Network layer

Networking: Network layer control Networking: Network layer Comp Sci 3600 Security Outline control 1 2 control 3 4 5 Network layer control Outline control 1 2 control 3 4 5 Network layer purpose: control Role of the network layer

More information

CSC 2209: CLOUD STORAGE FINAL PROJECT

CSC 2209: CLOUD STORAGE FINAL PROJECT CSC 2209: CLOUD STORAGE FINAL PROJECT DAVID SOLYMOSI AND JIMMY ZHU 1. High Level Overview We implemented a backup and sync service with a focus on minimizing network traffic at the cost of local storage

More information

Routing. Info 341 Networking and Distributed Applications. Addresses, fragmentation, reassembly. end-to-end communication UDP, TCP

Routing. Info 341 Networking and Distributed Applications. Addresses, fragmentation, reassembly. end-to-end communication UDP, TCP outing Info 341 Networking and Distributed Applications Context Layer 3 Addresses, fragmentation, reassembly Layer 4 end-to-end communication UDP, TCP outing At layer 3 Often relies on layer 4 Application

More information

CSc 466/566. Computer Security. 18 : Network Security Introduction

CSc 466/566. Computer Security. 18 : Network Security Introduction 1/81 CSc 466/566 Computer Security 18 : Network Security Introduction Version: 2012/05/03 13:57:28 Department of Computer Science University of Arizona collberg@gmail.com Copyright c 2012 Christian Collberg

More information

Different Layers Lecture 20

Different Layers Lecture 20 Different Layers Lecture 20 10/15/2003 Jian Ren 1 The Network Layer 10/15/2003 Jian Ren 2 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every host,

More information

CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols

CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols LOCAL CISCO ACADEMY ELSYS TU INSTRUCTOR: STELA STEFANOVA 1 Objectives Functions of the three upper OSI model layers, network services

More information

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers SC/CSE 3213 Winter 2013 L8: TCP/IP Overview Sebastian Magierowski York University 1 Outline TCP/IP Reference Model A set of protocols for internetworking The basis of the modern IP Datagram Exchange Examples

More information

Network Layer (4): ICMP

Network Layer (4): ICMP 1 Network Layer (4): ICMP Required reading: Kurose 4.4.3, 4.4.4 CSE 4213, Fall 2006 Instructor: N. Vlajic 2 1. Introduction 2. Network Service Models 3. Architecture 4. Network Layer Protocols in the Internet

More information

Chapter 12. Network Organization and Architecture. Chapter 12 Objectives Introduction Introduction

Chapter 12. Network Organization and Architecture. Chapter 12 Objectives Introduction Introduction Chapter 12 Objectives Chapter 12 Network Organization and Architecture Become familiar with the fundamentals of network architectures. Be able to describe the ISO/OSI reference model and the TCP/IP standard.

More information

Reliable Transport I: Concepts and TCP Protocol

Reliable Transport I: Concepts and TCP Protocol Reliable Transport I: Concepts and TCP Protocol Brad Karp UCL Computer Science CS 3035/GZ01 29 th October 2013 Part I: Transport Concepts Layering context Transport goals Transport mechanisms 2 Context:

More information

ECE4110 Internetwork Programming. Introduction and Overview

ECE4110 Internetwork Programming. Introduction and Overview ECE4110 Internetwork Programming Introduction and Overview 1 EXAMPLE GENERAL NETWORK ALGORITHM Listen to wire Are signals detected Detect a preamble Yes Read Destination Address No data carrying or noise?

More information

Network Security and Cryptography. 2 September Marking Scheme

Network Security and Cryptography. 2 September Marking Scheme Network Security and Cryptography 2 September 2015 Marking Scheme This marking scheme has been prepared as a guide only to markers. This is not a set of model answers, or the exclusive answers to the questions,

More information

CSC Network Security

CSC Network Security CSC 474 -- Security Topic 9. Firewalls CSC 474 Dr. Peng Ning 1 Outline Overview of Firewalls Filtering Firewalls Proxy Servers CSC 474 Dr. Peng Ning 2 Overview of Firewalls CSC 474 Dr. Peng Ning 3 1 Internet

More information

Internet Engineering Task Force (IETF) Request for Comments: 8175 Category: Standards Track

Internet Engineering Task Force (IETF) Request for Comments: 8175 Category: Standards Track Internet Engineering Task Force (IETF) Request for Comments: 8175 Category: Standards Track ISSN: 2070-1721 S. Ratliff VT idirect S. Jury Cisco Systems D. Satterwhite Broadcom R. Taylor Airbus Defence

More information

Network Working Group Request for Comments: October 2009

Network Working Group Request for Comments: October 2009 Network Working Group Request for Comments: 5651 Obsoletes: 3451 Category: Standards Track M. Luby M. Watson L. Vicisano Qualcomm, Inc. October 2009 Layered Coding Transport (LCT) Building Block Abstract

More information

Transport Layer (TCP/UDP)

Transport Layer (TCP/UDP) Transport Layer (TCP/UDP) Where we are in the Course Moving on up to the Transport Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Recall Transport layer provides

More information

Chapter 09 Network Protocols

Chapter 09 Network Protocols Chapter 09 Network Protocols Copyright 2011, Dr. Dharma P. Agrawal and Dr. Qing-An Zeng. All rights reserved. 1 Outline Protocol: Set of defined rules to allow communication between entities Open Systems

More information

THE TRANSPORT LAYER UNIT IV

THE TRANSPORT LAYER UNIT IV THE TRANSPORT LAYER UNIT IV The Transport Layer: The Transport Service, Elements of Transport Protocols, Congestion Control,The internet transport protocols: UDP, TCP, Performance problems in computer

More information

Introduction to Twitter

Introduction to Twitter Introduction to Twitter Objectives After completing this class you will be able to: Identify what Twitter is Create a Twitter Account Customize your Twitter profile and settings Follow other users on Twitter

More information

Outline. CS5984 Mobile Computing. Taxonomy of Routing Protocols AODV 1/2. Dr. Ayman Abdel-Hamid. Routing Protocols in MANETs Part I

Outline. CS5984 Mobile Computing. Taxonomy of Routing Protocols AODV 1/2. Dr. Ayman Abdel-Hamid. Routing Protocols in MANETs Part I CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Part I Outline Routing Protocols for Ad hoc Networks Example of a reactive routing protocol AODV: Ad hoc On-demand

More information

Principles behind data link layer services:

Principles behind data link layer services: Data Link Layer Goals: Principles behind data link layer services: Error detection, correction Sharing a broadcast channel: multiple access Link layer addressing Reliable data transfer, flow control: Done!

More information

Connections. Topics. Focus. Presentation Session. Application. Data Link. Transport. Physical. Network

Connections. Topics. Focus. Presentation Session. Application. Data Link. Transport. Physical. Network Connections Focus How do we connect processes? This is the transport layer Topics Naming processes Connection setup / teardown Flow control Application Presentation Session Transport Network Data Link

More information

Stream Control Transmission Protocol

Stream Control Transmission Protocol Chapter 13 Stream Control Transmission Protocol Objectives Upon completion you will be able to: Be able to name and understand the services offered by SCTP Understand SCTP s flow and error control and

More information

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964 The requirements for a future all-digital-data distributed network which provides common user service for a wide range of users having different requirements is considered. The use of a standard format

More information

Chapter 16 Networking

Chapter 16 Networking Chapter 16 Networking Outline 16.1 Introduction 16.2 Network Topology 16.3 Network Types 16.4 TCP/IP Protocol Stack 16.5 Application Layer 16.5.1 Hypertext Transfer Protocol (HTTP) 16.5.2 File Transfer

More information

Computer Networking. Chapter #1. Dr. Abdulrhaman Alameer

Computer Networking. Chapter #1. Dr. Abdulrhaman Alameer Computer Networking Chapter #1 Dr. Abdulrhaman Alameer What is Computer Network? It is a collection of computers and devices interconnected by communications channels that facilitate communications among

More information

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer Layering in Networked computing OSI Model TCP/IP Model Protocols at each layer Learning outcomes Understand the need of layering in Networked computing Understand the OSI model and the tcp/ip model Understand

More information

Grapevine web hosting user manual. 12 August 2005

Grapevine web hosting user manual. 12 August 2005 Grapevine web hosting user manual 12 August 2005 Grapevine web hosting user manual 2 Contents Contents... 2 Introduction... 4 System features... 4 How it looks... 5 Main navigation... 5 Reports... 6 Web

More information

Data Link Layer. Our goals: understand principles behind data link layer services: instantiation and implementation of various link layer technologies

Data Link Layer. Our goals: understand principles behind data link layer services: instantiation and implementation of various link layer technologies Data Link Layer Our goals: understand principles behind data link layer services: link layer addressing instantiation and implementation of various link layer technologies 1 Outline Introduction and services

More information

Functionality, Challenges and Architecture of Social Networks

Functionality, Challenges and Architecture of Social Networks Functionality, Challenges and Architecture of Social Networks INF 5370 Outline Social Network Services Functionality Business Model Current Architecture and Scalability Challenges Conclusion 1 Social Network

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Outline Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 RFC? Transport layer introduction UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 The Transport Layer Transport layer

More information

How to Set Up VPN Certificates

How to Set Up VPN Certificates For the VPN service, you can use either self-signed certificates or certificates that are generated by an external CA. In this article: Before You Begin Before you set up VPN certificates, verify that

More information

4. Basic IP Support Protocols

4. Basic IP Support Protocols 4. Basic IP Support Protocols There are a number of protocols that support the operation of IP. This section will only discuss the most basic three: ICMP, RARP, and ARP. Other more sophisticated protocols

More information

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 2015 Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2016 1 Question 1 Why did the use of reference counting for remote objects prove to be impractical? Explain. It s not fault

More information

Overview of Networking Concepts

Overview of Networking Concepts , page 1 Overview Each Cisco Unity Connection server or cluster has a maximum number of users that it can serve. When the messaging needs of your organization require more than one Unity Connection server

More information

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures.

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures. Transport Protocols! Type A: ISO Defined Types of Network Service: Network connection with acceptable residual error rate and acceptable rate of signaled failures. - Reliable, sequencing network service

More information

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

ICMP (Internet Control Message Protocol)

ICMP (Internet Control Message Protocol) ABSTRACT : ICMP stands for internet control message protocol it is a vital protocol of network layer among the seven layers of OSI(open system interconnection). Here we deal with the several situations

More information

Network Security. Thierry Sans

Network Security. Thierry Sans Network Security Thierry Sans HTTP SMTP DNS BGP The Protocol Stack Application TCP UDP Transport IPv4 IPv6 ICMP Network ARP Link Ethernet WiFi The attacker is capable of confidentiality integrity availability

More information

CS 640 Introduction to Computer Networks Spring 2009

CS 640 Introduction to Computer Networks Spring 2009 CS 640 Introduction to Computer Networks Spring 2009 http://pages.cs.wisc.edu/~suman/courses/wiki/doku.php?id=640-spring2009 Programming Assignment 3: Transmission Control Protocol Assigned: March 26,

More information

Guide to TCP/IP, Third. Chapter 6: Basic TCP/IP Services

Guide to TCP/IP, Third. Chapter 6: Basic TCP/IP Services Guide to TCP/IP, Third Edition Chapter 6: Basic TCP/IP Services Objectives Understand how TCP/IP Application layer protocols and services work Explain the capabilities, message types, and request/reply

More information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3: The Transport Layer: UDP and TCP Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end

More information

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 Network Working Group Request for Comments: 969 David D. Clark Mark L. Lambert Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 1. STATUS OF THIS MEMO This RFC suggests a proposed protocol

More information

Lecture 8: February 19

Lecture 8: February 19 CMPSCI 677 Operating Systems Spring 2013 Lecture 8: February 19 Lecturer: Prashant Shenoy Scribe: Siddharth Gupta 8.1 Server Architecture Design of the server architecture is important for efficient and

More information

Internet Technology 2/18/2016

Internet Technology 2/18/2016 Internet Technology 04r. Assignment 4 & 2013 Exam 1 Review Assignment 4 Review Paul Krzyzanowski Rutgers University Spring 2016 February 18, 2016 CS 352 2013-2016 Paul Krzyzanowski 1 February 18, 2016

More information

CIS 5373 Systems Security

CIS 5373 Systems Security CIS 5373 Systems Security Topic 4.1: Network Security Basics Endadul Hoque Slide Acknowledgment Contents are based on slides from Cristina Nita-Rotaru (Northeastern) 2 Network Security INTRODUCTION 3 What

More information