EETS 7304 Internet Protocols by Dr. Faruk Hadziomerovic Textbook: Andrew Tanenbaum: Computer Networks 4-th Ed. Complementary: Peterson, Davie: Computer networks, 3-rd Ed. 08/30/2007 EETS 7304 1 Syllabus The course is to introduce students to the concept of Networking. After introduction (uses of computer networks, PSTN, PLMN, Internet, reference models, networks examples, standard bodies) the course goes into details TCP/IP layers implementation: the physical layer (theoretical limits, transmission media, multiplexing, switching, GSM, ADSL vs. cable, fiber vs. satellite), the data link layer (framing, error detection, sliding window, HDLC, verification), the medium access protocol (CSMA/CD, Ethernet, 802.xx, data link layer switching), the network layer (routing algorithms, congestion control, IP addressing and application on Internet, ICMP, IPv6), the transport layer (UDP, TCP, performance issues), the application layer (DNS, e-mail, client/server model, web, multimedia, VoIP), network security (data encryption, public-key algorithms, firewalls, VPNs, authentication protocols). 08/30/2007 EETS 7304 2 Admin Office hours: Thursdays 5 to 6:30 PM (Adjunct Room at 3-rd floor Junkins) Verification (open book, no electronic devices): Final 3 hours, 40%, SMU scheduled. Midterm 1.5 hours, 20% mid October. 4 Tests/Assignments, 10% each, every 3 weeks. 08/30/2007 EETS 7304 3 Chapter 1: Introduction • • • • • • 08/30/2007 Uses of Computer networks Network Hardware Network Software Reference Models Network Examples Network Standardization EETS 7304 4 Business Applications • • • • common data bases (inventories, payrolls). company e-mail. video-conferencing (sharing virtual blackboard). e-business (suppliers and customers ordering parts in a real time). • e-commerce (airlines, bookstores, e-bay shopping). • e-governement (application forms and submittals). 08/30/2007 EETS 7304 5 Business Applications: client-server 08/30/2007 EETS 7304 6 Client-server communications 08/30/2007 EETS 7304 7 Home Applications • access to remote information (surfing the web for: business, government, finance, news, music, digital library like IEEE). • person-to-person: e-mail, messenger, phone with video – SKYPE. • Newsgroups • Interactive entertainment: playing chess. • peer-to-peer (swapping music indicating on Napster server, keeping shared list of available songs on personal computer). 08/30/2007 EETS 7304 8 Home Applications: peer-to-peer 08/30/2007 EETS 7304 9 Mobile Users • smart phone (Blackberry): PDA (Personal Digital Assistant) combo with cellular phone. • mobile office (while on the move: surf the web, send e-mail). • fleets of (trucks, taxis, delivery vehicles, repairs). • military. • telemetry (parking, vending machines, utility meter reading). • m-commerce use WAP (Wireless Application Protocol). Locality of the shopping, maps, etc. • cheap and popular SMS. 08/30/2007 EETS 7304 10 Wireless vs. Mobile examples 08/30/2007 EETS 7304 11 Social Issues • • • • • 08/30/2007 censoring (moderating?) newsgroups with sensitive character, politics, religion. tracking users activities (cookies). electronic theft. viruses and security. Uncle Sam vs. privacy. EETS 7304 12 Network Hardware • • • • • • 08/30/2007 Local Area Networks Metropolitan Area Networks Wide Area Networks Wireless Networks Home Networks Internetworks EETS 7304 13 Classification by types of Physical links Broadcast links: Everybody listens (promiscuous mode). Destination address necessary. • Unicast: “Watson come here. I want you.” Although everybody listens only Watson responds. • Multicast (stations are subscribed to the group): “all passengers flight 234 to report to gate 33 for boarding.” • Broadcast: everybody receives a message. Point-to-point links: equivalent (but not equal) to unicast. • No node in between. No addressing necessary. • Logical point-to-point might have many nodes in between. Point-to-multipoint: HDLC. One address necessary either sender or receiver. 08/30/2007 EETS 7304 14 Classification by physical size 08/30/2007 EETS 7304 15 Local Area Networks a. b. Two broadcast LANs: (a) Bus, (b) Ring LANs with decentralized (vs. centralized channel allocation) control: IEEE 802.3 = Ethernet (10 Mbps, 100 Mbps, 10 Gbps) Ring networks: IEEE 802.5 = IBM Token Ring (4 and 16 Mbps), FDDI (Fiber Distributed Data Interface) Gbps. 08/30/2007 EETS 7304 16 Metropolitan Area Networks Example of MAN: cable TV. 08/30/2007 EETS 7304 17 WAN (Wide Area Networks) = Internet • • Data Message is split into PDUs (Packet Data Units have maximum length). Routers are switching elements for PDUs. They use store and-forward concept. 08/30/2007 EETS 7304 18 Store-and-forward concept • • • Connection-oriented: Virtual Circuits (every packet goes the same route). Conectionless: routing decisions are made locally at each router -> missequencing. Source routing: source specifies path (sequence of routers) in a packet header. 08/30/2007 EETS 7304 19 History: Network Milestones 1876 Alexander Graham Bell telephone, 1878 exchange 1884 long distance 1901 Marconi ship-to-shore telegraph using Morse code. Before WWI Strawger Switch WWI: Teletype (fax) (start/stop bits predecessor of RS232 for modems) 1924 Henry Nyquist from AT&T Sampling Theorem WWII: Automatic Repeat Request (ARQ) introduced sequence numbering 1948 Claude Shannon from Bell Labs Channel Capacity Theorem 1950s Forward Error Correction (FEC) 1960 Crossbar switch: Ericsson 1960 RS232 physical layer interface standard 1960 Laser enabled fiber optic communication 1960s Digital Electronic Switch with stored program computer (SPC) 1ESS US Bell 1962 T-1 Carrier System (24 DS0s=1.536 Mbps + 8kbps = 1.544 Mbps) developed by AT&T, DS30 in Europe (32 DS0s = 2.48 Mbps) 1963 Geo-stationary satellite was placed 36,000 miles above equator 1968 FCC decision to let any vendor to attach its equipment to telephony network 1964 First commercial computer network for SABRE built by IBM 08/30/2007 EETS 7304 20 Network Milestones (2) 1970 ALOHA 1971 ARPANET promoted packet switching 1974 Ethernet (Metcalfe at Xerox) 1974 TCP/IP Cerf and Kahn. 1974 SNA (System Network Architecture) was IBM standard: SDLC (Synchronous Data Link Control) -> ISO HDLC (High Level Data Link Control) -> 1984 CCITT (ITU) LAPD (Link Access Procedure D-channel) 1976 Western Electric 4ESS fully digital voice switch 1983 ARPANET was split to MILNET (160 nodes, 24 in Europe, 11 Pacific rim) and ARPANET for Universities (50 nodes) -> NSFNET 1983 ISO OSI (Open System Interconnect) revised 1995 (7 Layer Standard). 1984 AT&T divestiture caused split into 23 BOCs + AT&T services, Lucent systems & technology. 1984 ISDN (Integrated Services Digital Network) CCITT -> ITU (BRI - Base Rate ISDN: 2B+D, and PRI - Primary Rate ISDN: 23B+D) 1984 SS7 - out of band signaling CCITT -> Intelligent Networks (IN) 1984 X.25 packet switching networks CCITT 1987 was 3.2 million km fiber in USA 1988 US/Britain transatlantic fiber 40,000 conversations 08/30/2007 EETS 7304 21 Telephone switching dialer register ringer bell Strawger step-by-step concept signaling marker register bell dialer voice crossbar switch Stage Networks: Benes (recursive approach), Closs 3 stage networks (recursive) Interconnection networks: Shuffle (Stone 1971), Delta (Patel 1976), Omega (Lawrie 1975) etc. 08/30/2007 EETS 7304 22 Hardware switching: Interconnection Network (3 stages blocking vs. 5 stages non-blocking) X N=000 N=000 Y 001 001 010 010 011 011 100 100 101 101 110 110 111 111 non-blocking addition blocking Number of switches = (N/2) log2N + (N/2) (log2N - 1) = N log2N - N/2 = 20 vs crossbar 8 * 8 = 64 for N=8 for N=64 => crossbar = 64*64=4096, stage = 32*6 + 32*5 = 352. 08/30/2007 EETS 7304 23 Network topologies Point-to-point Point-to-multipoint Bus: Aloha, wireless (radio), Ethernet (coax) Ring: FDDI Star Gateway 08/30/2007 General or mesh EETS 7304 Fully connected 24 Wireless Networks • • • • • Categories of wireless networks: System interconnection – Bluetooth. Wireless LANs (WiFi) – 802.11: 50 Mbps/30 ft. Wireless WANs (telephone cellular networks: GSM, CDMA, UMTS) ~ 2 Mbps. WiMax (bypassing telephone system) – 802.16: 10 Mbps/10 ml. 08/30/2007 EETS 7304 25 Wireless Networks (2) (a) Bluetooth configuration: PC master-slave (mouse, keyboard, etc.) (b) Wireless LAN (WiFi): PC use wireless modems to talk to base station. 08/30/2007 EETS 7304 26 Wireless Networks (3) (a) Individual mobile computers (b) A flying LAN 08/30/2007 EETS 7304 27 Home Network Categories • Computers (desktop PC, PDA, shared peripherals • Entertainment (TV, DVD, VCR, camera, stereo, MP3) • Telecomm (telephone, cell phone, intercom, fax) • Appliances (microwave, fridge, clock, furnace, a/c) • Telemetry (utility meter, burglar alarm, babycam). 08/30/2007 EETS 7304 28 Network Software • Protocol Hierarchies • Design Issues for the Layers • Connection-Oriented and Connectionless Services • Service Primitives • The Relationship of Services to Protocols 08/30/2007 EETS 7304 29 Network Software: Protocol Hierarchies Layers, protocols, and interfaces. Each layer is a kind of virtual machine offering services to the layer above it. 08/30/2007 EETS 7304 30 The philosopher-translator-secretary architecture. 08/30/2007 EETS 7304 31 Framing and Encapsulation 08/30/2007 EETS 7304 32 Design Issues for the Layers • Addressing: network has many computers. An address is needed to specify a specific destination. • Error Control: the way to tell if the message is correct. • Flow Control: fast sender can swamp slow receiver. • Multiplexing: statistical multiplexing at any level. • Routing: either political or technical optimization. • Sequencing: keep the order of received messages. • Dissasembling/reassembling. 08/30/2007 EETS 7304 33 Connection-Oriented and Connectionless Services 08/30/2007 EETS 7304 34 Services to Protocols Relationship 08/30/2007 EETS 7304 35 Interfaces and Service Access Points System A Layer (N+1) interface System B peer protocol interface protocol Layer N Layer (N+1) interface protocol peer protocol service access Layer N Interface: boundary between adjacent layers in the same system. Service Access Point (SAP): is a point where the service is provided by lower layer to higher layer. Interface protocol: operating rules between adjacent layers across the interface. Primitive: messages of interface protocol. 08/30/2007 EETS 7304 36 Generic OSI service primitives System A System b Service Service user provider layer (N+1) layer N Service provider layer N request Service user layer (N+1) indication response confirm System A System B connection request connection ack connection phase data (request) data (ack) data transfer phase disconnect request disconnect ack 08/30/2007 EETS 7304 disconnect phase 37 Five service primitives for implementing a simple connection-oriented service. 08/30/2007 EETS 7304 38 Packets sent in a simple client-server interaction on a connection-oriented network. 08/30/2007 EETS 7304 39 Service primitives vs. protocol messages Idle Idle data query 08/30/2007 Connect listen send rece ive rece ive send disco nnect disco nnect client server EETS 7304 40 Reference Models • • • • • • The OSI Reference Model The TCP/IP Reference Model A Comparison of OSI and TCP/IP SS7 Reference Model vs. OSI A Critique of the OSI Model and Protocols A Critique of the TCP/IP Reference Model 08/30/2007 EETS 7304 41 OSI Reference Model 08/30/2007 EETS 7304 42 ISO OSI reference model (protocol stack) Application Layer User interface (task-to-task) Presentation Layer Data representation, formatting, code conversion Session Layer Transport Layer Network Layer Data Link Layer Physical Layer 08/30/2007 Dialog Control (connection establishment, message exchange) Packetizing, end-to-end reliability (error checking, flow control) Routing: X.25 Point-to-point error free: HDLC, LAPD Coding, modulation: AMI, NRZ, Manchester EETS 7304 43 OSI layer functions Physical layer: provides electrical, functional, and procedural means to activate, maintain, and deactivate physical links that transparently pass the bit stream for communication; only recognizes individual bits (not characters nor frames) and provides bit synchronization; peer-to-peer. Data link layer: provides functional and procedural means to transfer data between network entities and possibly correct transmission errors; provides activation, maintenance and deactivation of data link connection; groups bits into characters and message frames; provides frame synchronization, error control, media access control, and flow control; peer-to-peer. Network layer: provides routing, relaying, and switching functions to establish, maintain, and terminate network layer connections between users. Transport layer: provides transparent transfer of data between systems for upper layers; provides end-to-end control and information interchange with required quality of service. Session layer: provides mechanism for organizing dialogue between application processes; allows full duplex or half-duplex data exchange (finite state machine message exchange). Presentation layer: provides different data presentation (for application layer); provides syntax selection and conversion (encryption) by allowing user to select presentation context. Application layer: provides process parts necessary for communication between processes. 08/30/2007 EETS 7304 44 Physical Layer: Baseband PCM waveform types Bits 1 0 1 1 0 0 1 1 0 +V NRZ - Non Return to Zero -V +V AMI - Alternate Mark Invert -V +V Manchester coding -V Requirements: 1. No DC component, 2. Self-clocking, 3. Error detection, 4. Bandwidth compression 5. Noise immunity. 08/30/2007 EETS 7304 45 Fourier Transform: periodic signals xt n j 2nf 0t C e n n n jn 0t C e n 1 Cn T0 where n Example: Pulse train T0 2 X t e jn0t dt T0 2 A t T T0 AT/T0 1 Cn T0 T0 2 Ae T0 2 jn0t AT sin Tnf 0 dt T0 nTf 0 =>> T0/T -5 -4 -3 -2 -1 0 1 2 3 4 5 6 A A A ; C C 0; for T0/T=2 => C ; C C ; C C 0; C C 1 2 2 3 4 0 2 1 3 3 4 08/30/2007 EETS 7304 46 non-periodic signals 1 j 2ft j 2ft S f S t e dt S t S f e df 2 Example: unit impulse function d(t) d 1 j 2ft e j 2fd e j 2fd sin( 2fd ) d t e dt 2d 2 j 2fd 2fd d 1.2 1 1/2d 0.8 0.6 f = 1/(2d) 0.4 d d t 0.2 0 -12.5 -10 -7.5 -5 -2.5 0 2.5 5 7.5 10 12.5 -0.2 2fd 08/30/2007 EETS 7304 47 Delta impulse 1 j 2ft or d t d t d t e dt 1 2 e j 2ft dt =>> white spectrum. 1/2d 1 d d t f 0 white spectrum 08/30/2007 EETS 7304 48 Handshaking between two modems in RS-232C PC DTE TD RTS DTR RD CTS DSR RI RLSD GRND Modem Data Set Ready DSR DTR Data Terminal Ready RI Ring Indicator RTS DCE Request To Send CTS CD Clear To Send Carrier Detect TD RD Modem DCE RTS – 0011110 RI - 0000111 TD RTS DTR RD CTS DSR R RLSD GRND PC Transmit Data Receive Data DSR DTR RI DTE RTS CTS CD TD RD DB9 bit connector 08/30/2007 EETS 7304 49