Midterm Exams returned and reviewed Administrative 1. Project outline 2. Weblink readings Quick overview of TCP: http://www.FreeSoft.org/CIE/Topics/83.htm Skim: ftp://ftp.isi.edu/in-notes/rfc793.txt For more info on TCP: http://www.scit.wlv.ac.uk/~jphb/comms/tcp.html FYI: http://tcpsat.lerc.nasa.gov/tcpsat/papers.html For ATM overview: http://www.cis.ohio-state.edu/~jain/papers/atm_tut.htm 3. Homework 4. IEEE 802 Standards by Prof. Brewster, Nov 4 IV. Layer 4 Technology [continued] A. Error Control In the transport layer, error control is performed at the packet level, as opposed to the bit level which is handled at the data link layer. Error control in the transport layer occurs on an end-to-end basis across the entire internetwork. Note: We do not talk in depth about bit-level error control topics: noise, synchronization, attenuation, interference, distortion, parity, hamming codes, and so on in this class due to lack of time. Packet level error control is typically handled by detection and if necessary, retransmission. As opposed to sending redundant data in packets. Classifications of packet errors: i. Packet loss ii. Packet corruption iii. Packet duplication 1. Sequence Numbers A limited size number which indicates in each packet determines the unique position in a stream of packets from a source station. Sequence numbers help determine lost and duplicate packets as well as out-of-order packets. Note: sequence numbers should be large enough so that they do not wrap-around too quickly. 2. Three way handshake To setup sequence numbers and a reliable transport connection, sender and receiver exchange 3 messages, which are sufficient to accomplish this task. Sender: initial sequence number x ---> Receiver Sender: <--- ack sequence x+1, sequence number y: Receiver Sender: acknowledge sequence number y+1 ---> Receiver 3. Timeouts 4. Retransmission B. Flow Control/Congestion Control Note: I'm leaving congestion control to the book in order to save time. Be sure to read section 5.3. Flow control is a mechanism which matches the rate of transmission by a sender to that of the receiver and/or the network. Goals: Fair, Simple and Stable 1. Closed Loop The source describes it's traffic characteristics to the network at "connection-time". The network can then reserve the necessary resources for the source traffic along the path. 2. Open Loop The source dynamically adjusts it's rate of flow to match its current share of the network. This can be done implicity or explicitly. 3. Hybrid A combination of open and closed loop flow control. For example, a station may reserve some minimum network resources, but then be allowed to use more resources as network resources become available. 4. On-off Receiver controls flow of traffic by 'raising' an on signal when data can be sent. When a off signal is asserted, no more data should be sent. -Inefficient when propagation delay is large -What if off/on signal is lost? -Used in RS-232 5. Stop-and-wait Sender transmit a packet and waits for a acknowledgement from the receiver. When received, sender can transmit again. -Provides error control through retransmission -Inefficient in most cases, especially when propagation time is high 6. Static Window Allow sender to transmit more than one packet before receiving acknowledgements. -Efficiency better, since you can send up to x packets in a RTT compared to start and wait example: windowing versus stop-and-wait 7. Dynamic Window Through implicit or explicit means, a sender can adjust the window dynamically. TCP uses implicit information it receives from the network. C. Multiplexing D. User Datagram Protocol UDP is a unreliable transport layer protocol. It's primary purpose is to provide simple application multiplexing to the TCP/IP protocol suite. Since applications do not run directly on top of IP, UDP provides the abstraction needed to run on top of IP with as little complexity and fuss as possible. Format of UDP message UDP source port (16) UDP destination port (16) UDP message length (16) UDP checksum (16) data (variable) Examples of UDP based applications: SNMP, RealAudio, TFTP, etc. E. Transport Control Protocol Note: TCP and the transport layer is fairly complex, we are skipping many of the technical details and opting for a brief overview in order to save time. Be sure to read 6.1, 6.2 and 6.4 from the book. TCP provides reliability to applications. It does this by assuirng packets arrive without loss, duplication and mis-ordered. It enables reliability over a inherently unreliable IP network through the use of error control and flow control on an end-to-end basis. Format of TCP segment Source Port (16) Destination Port (16) Sequence Number (32) Acknowledgement Number (32) Header length (4) Reserved (6) Code bits (6) Window (16) Checksum (16) Urgent Pointer (16) Options (variable) Padding (if necessary) Data (variable) Notes: Sequence number: position in sender's byte stream Acknowldgement number: position expected when receiving data Code bits: URG ACK PSH RST SYN FIN Packet Loss and Retransmission Through the use of timers and to windows, TCP will retransmit a packet that is not acknowledged. How long should TCP wait and how large should the window be? 1. Adaptive Retransmission TCP measures the time it takes to get a response (ACK) and uses this information to set a retransmission time-out value. If the RTT is long, the retransmission timer is set higher. 2. Three way handshake Send SYN seq=x -----> Receive SYN segment Receive SYN+ACK semgnet <----- Send SYN seq y, ACK x+1 Send ACK y+1 -----> Receive ACK segment 3. Silly window syndrome and small packets What if an application generates 1 byte of data at a time to TCP? Should TCP send each one individually? Very inefficient. The same problem occurs when acknowledging one byte at a time in the receiver. Use hueristics, much like adaptive retransmission and the dynamic window control to measure how and when to respond. 4. TCP flow control Rather than receiving specific congestion feedback from the network, TCP adjusts it's window size based on implicit signals received (packet loss). That is, the window is reduced when packet loss is detected, otherwise it is increased up to the maximum window size. V. WAN Technologies WAN connections are usually differentiated from local networks by who owns and runs the infrastructure. Typically a WAN will consist of facilities owned and run by a third party such as telephone company, ISP or other network provider. Costs and efficiency are typically of utmost importance for network design and maintenance in the WAN. A. Digital circuits and DSU/CSUs Typically operating at the data link layer we have studied, you can lease simple point-to-point facilities from various carriers and providers. These "circuits" can be used to interconnect buildings and sites across cities, states, and countries. Customer Premises | --- DSU/CSU ---- | provider | --- CSU/DSU ---> B. DS facilities POTS converted to digital via sampling at 8000 times/sec with each sample representing 8 bits for 64Kb/s data rate. DS0 = 64Kb/s DS1 = 1,544 Mb/s DS3 = 44.736 Mb/s Note: T-carrier defines the physical interface, digital signal defines the bit rate and multiplexing standards. C. ISDN 64Kb/s Bearer Channels 16Kb/s or 64Kb/s Delta Channels ISDN BRI ISDN PRI D. OC facilities OC-3 = 155 Mb/s OC-12 = 622 Mb/s OC-48 = 2.5 Gb/s OC-192 = 10 Gb/s OC-768 = 40 Gb/s E. SONET/SDH A set of standards for digital transmission using OC technology. Specifies how data is framed, multiplexing and clocking. A SONET RING is a popular configuration in which dual fibers are used, one for a back-up (protection) in case the primary ring fails. For more see: SONET/SDH and ATM: Communications Networks for the Next Millenium, S. Kartalopoulos ISBN: 0-7803-4745-5 F. xDSL See xDSL FAQ at http://homepage.interaccess.com/~jkristof/xdsl-faq.txt G. X.25, Frame Relay, ATM In the WAN, various services arose to provide an easy and cost cost effective method of connecting sites around the world via a standardized interface. Using permanent and switched virtual circuits, these packet or cell based networks support asynchronous support to various types of services. Some Terms: Permanant Virtual Circuit - A logical (software) connection between two endpoints, implemented through the use of statistical multiplexing. Switched Virtual Circuit - A logical (software) connection between two endpoints, whose difference from PVC is that it can be setup and torn down as needed (dynamically). Committed Information Rate (CIR) User to Network Interface (UNI) Network to Network Interface (NNI) 1. X.25 A suite of protocols originally defined by the CCITT (now ITU-T) to support packet networking. Public Data Networks (PDNs) such as the old SprintNet connected organizations around the world through store and forward packet switches. X.25 operates at the 3 bottom layers of the OSI Reference Model and hence, occupies a lot of unnecessary overhead using today's reliable digital networks (store/forward, error control). For more information: http://www.rad.com/networks/1996/x25/x25.htm 2. Frame Relay Frame relay, similar to X.25 in that it provides WAN connectivity using packets (here called frames), but in a fashion that results in much less overhead and complexity in the network. Error control and flow control operations are minimal. DLCI - Locally significant data link connection ID FECN - Forward Explicit Congestion Notification (notify receiver) BECN - Backward Explicit Congestion Notification (notify sender) DE - Discard Eligble (mostly used with CIR) http://www.frforum.com/ for more