Twitter Adaptation Layer Submitted for Drexel University s CS544
|
|
- Edmund Hall
- 5 years ago
- Views:
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)
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 informationCS 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 informationTransport 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 informationInternet 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 informationUser 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 informationIP - 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 informationIntroduction 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 informationCS544 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 informationET4254 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 Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes
More informationARP, 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 Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes
More informationVoIP 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 informationTransport 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 informationPLEASE 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 informationThe 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 informationTCP/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 informationConfiguring 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 informationDiscover (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 informationECE 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 informationPLEASE 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 informationCommon 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 informationCreate 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 informationStream 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 informationCS 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 informationCCNA 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 informationCCNA 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 informationIntroduction 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 informationTransport 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 informationLayer 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 informationOperational 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 informationAccount 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 informationTransport 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 informationConfiguring 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 informationAPPLICATION 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 informationUnit 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 informationChapter 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 informationChapter 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 informationBasic 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 information4 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 informationPeer 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 informationNetworking 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 informationThe 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 informationEEC-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 informationWide 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 informationAccount 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 informationTSIN02 - 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 informationProgramming 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 informationOn 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 informationDifferent 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 informationTSIN02 - 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 informationECE 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 informationLast 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 informationInternet 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 informationNetworking: 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 informationCSC 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 informationRouting. 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 informationCSc 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 informationDifferent 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 informationCCNA 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 informationSC/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 informationNetwork 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 informationChapter 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 informationReliable 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 informationECE4110 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 informationNetwork 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 informationCSC 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 informationInternet 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 informationNetwork 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 informationTransport 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 informationChapter 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 informationTHE 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 informationIntroduction 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 informationOutline. 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 informationPrinciples 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 informationConnections. 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 informationStream 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 informationOn 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 informationChapter 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 informationComputer 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 informationLayering 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 informationGrapevine 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 informationData 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 informationFunctionality, 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 informationTSIN02 - 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 informationHow 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 information4. 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 informationDistributed 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 informationOverview 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 informationTransport 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 informationChapter 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 informationICMP (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 informationNetwork 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 informationCS 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 informationGuide 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 informationLecture 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 informationLixia 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 informationLecture 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 informationInternet 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 informationCIS 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