* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Lecture 1
Distributed firewall wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Computer network wikipedia , lookup
Deep packet inspection wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Network tap wikipedia , lookup
Internet protocol suite wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Airborne Networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 1 ICOM 6115 ©Manuel Rodriguez-Martinez Course Objectives • Introduction to computer networks – Design – Implementation – Performance Characterization – Application Development • … Computer Science perspective – Design tradeoffs – Software organization – Hardware/Software Interface – Application requirements on the network ICOM 6115 ©Manuel Rodriguez-Martinez This course is not about … • • • • • • • • Putting Cat 5 cables together Cutting fiber Hacking a Linux kernel Configuring routers and workstations Setting up Web servers Troubleshooting networks cards Writing applets, cgi scripts or servlets Reading packet formats ICOM 6115 ©Manuel Rodriguez-Martinez This course is about … • Understanding how networks work and how can they be used – Hardware issues – Software organization and implementation – Application development – Network services – Performance trade-offs ICOM 6115 ©Manuel Rodriguez-Martinez Why do we need networks? Network To share data and computing resources ICOM 6115 ©Manuel Rodriguez-Martinez Rationale • Avoid centralization of resources – Early days • One big computer with disk(s) and printers • Terminals attached to this mainframe – Today • Machine powerful machines with disk, fast CPU, memory and printer(s) • Share these resources among the pool of users ICOM 6115 ©Manuel Rodriguez-Martinez Key benefits • Share resources – Make data, programs, hardware and other stuff available to everyone else • High reliability – Many sources to supply services (disk or CPU) – Reduce down times • In a company, computer down time is money lost • Save Money ($$$) – Get performance and throughput via commodity computers connected in a network ICOM 6115 ©Manuel Rodriguez-Martinez Networks for Enterprises • Interconnect office buildings – In a country and between countries – Exchange data between • Company dependencies • Business partners – Form teams across geographical regions • Leverage on expertise world wide – Keep assets spread and diversified ICOM 6115 ©Manuel Rodriguez-Martinez Networks for people • Access remote information – Journals and books – Software • Personal communication channels – ICQ, e-mail, newsgroups, videoconferencing • Entertainment – Music, Video, newspapers and magazines – Games : Half-life ICOM 6115 ©Manuel Rodriguez-Martinez Building networks of computers UPRM ICOM 6115 UCLA ©Manuel Rodriguez-Martinez Sounds cool but how do I build one? • Need to create a bit pipe!!! – Move bits from one computer to another • Ingredients: – Communication medium – Signaling scheme – Hardware to inject bits into the medium – Software to manipulate the hardware – Software to control data movement – Programming model to build applications ICOM 6115 ©Manuel Rodriguez-Martinez Communications Medium • Provides a channel to carry the bits between machines • Example – Cooper • Use voltage or current to encode bits – Fiber • Use light to encode bit – Air • Use Radio waves or microwaves to encode bits ICOM 6115 ©Manuel Rodriguez-Martinez Signaling Scheme • Provides a mechanism to convert bits into signals propagated by the medium and vice-versa – Bits <- -> voltage – Bits <- -> radio signals – Bits <- -> light pulses – Bits <- -> microwave signal • Specifies possible error conditions on medium ICOM 6115 ©Manuel Rodriguez-Martinez Network Hardware • Has circuit logic to: – convert chunks of bytes into bits that get injected into the network – Read groups of bit from medium and make them into chunks of bytes – Implements the signaling scheme • Has other logic to – Detect error and other conditions on the medium • Diagnostic information ICOM 6115 ©Manuel Rodriguez-Martinez Networking Software • Device drivers are needed to manipulate the networking hardware – Network card • Driver implement the logic to control the card – Read/write operations • Protocols to – recover from error in bit transmission – arbitrate access to the medium ICOM 6115 ©Manuel Rodriguez-Martinez More Networking Software • Many networks might have different pieces – Cooper-based and wireless • Need software to move data between machines on these segments – Identify data packets • Sender • Receiver – Finds paths for packets over the segments – Control traffic of the packets – Support for Quality of Service (QoS) ICOM 6115 ©Manuel Rodriguez-Martinez Moving packets over networks Network 1 Network 2 This is called forwarding ICOM 6115 ©Manuel Rodriguez-Martinez More on Networking Software • Data packets can be lost on transit – Error on media • Bent wire – Error on network hardware • Faulty card – Error on network software • Buggy code • Need to software to make sure data gets to its destination ICOM 6115 ©Manuel Rodriguez-Martinez Reliable data movement • Software needs to monitor data movement – Keep timers to determine timeouts – Resent lost packets – Keep track of packet sequences • To put packet in the proper order – Control the rate of packet movement • To prevent error due to overloaded ICOM 6115 ©Manuel Rodriguez-Martinez Application Software • You programs need to have an API to deal with the network – Find other computer to send/receive data to – Invoke the routines provides by the OS to use the network – Determine the way in which data will be exchanged • Characters • Binary code – Specify operations to exchange data • Control commands ICOM 6115 ©Manuel Rodriguez-Martinez Application Software • The API software must deal with errors and inform them to the application – Computer not found – Illegal operation – Network is not reachable – File is too big … ICOM 6115 ©Manuel Rodriguez-Martinez Network Design • Networks are designed and implemented in terms of layers – Each layer deals with specific communication issue – Provide a service (some kind of useful operation) • A given layer: – Leverages on services provided by lowerlevel layer – Provides services to upper level layers ICOM 6115 ©Manuel Rodriguez-Martinez Internet Networking Layers Application Layer Transport Layer Network Layer Data Link Layer Physical Layer ICOM 6115 ©Manuel Rodriguez-Martinez Communication based on this model Application Layer Application Layer Transport Layer Transport Layer Network Layer Network Layer Data-Link Layer Data-Link Layer Physical Layer Physical Layer Bit Pipe Physical Medium ICOM 6115 ©Manuel Rodriguez-Martinez