EECS 122 “Communications Networks”inst.eecs.berkeley.edu/~ee122/sp04/01.pdf · EECS 122...

41
EECS 122 “Communications Networks” Department of Electrical Engineering and Computer Sciences

Transcript of EECS 122 “Communications Networks”inst.eecs.berkeley.edu/~ee122/sp04/01.pdf · EECS 122...

EECS 122“Communications

Networks”

Department of Electrical Engineering and Computer Sciences

Table of Contents1. Course Organization2. Introduction3. Applications/Design4. Architecture 15. Models6. Physical Layer7. Ethernet8. 802.119. IP: Network Layer10. Switching and Forwarding11. TCP/UDP: Transport Layer12. Flow and Congestion Control13. WWW/DNS; RTP; etc.14. Socket Programming15. Distributed Algorithms16. Network Security17. Overlay Networks and Peer-to-Peer Networks18. Sensor Networks19. Architecture 2

Communication Networks

These slides are for a one-semester course intended for juniors and seniors in Electrical Engineering or Computer Science.

The course describes the design and operating principles of the Internet and associated technologies.

The following people contributed to this material over many years: JörnAltmann, Kevin Fall, Kevin Lai, Abhay Parekh, Shyam Parekh, Ion Stoica, Jean Walrand. We thank Nick McKeown (Stanford) for some of the slides.

We hope that you will find this material useful for teaching or learning. Please acknowledge the source when you use these slides. Comments welcome at [email protected].

Course Logistics – SP2005Instructors:

Dr. Shyam Parekh: OH TBA; shyam@eecsProf. Jean Walrand: OH TBA; wlr@eecs

TAs:Marghoob Mohiyuddin Daron Spektor

Course Manager:Dr. Shyam Parekh; shyam@eecs

TOC - Logistics

Grading

� Final Exam (25%), Mid-term (15%)� Homework Assignments (25%) – 5 Assignments� Projects (35%)

� Socket Programming (1 Project – Weighted 2x)� OPNET Exercises (5 Assignments)

TOC - Logistics - grading

Projects

� Network Programming� Application of socket programming� Client/Server; Get and manage files; handle

errors

� OPNET� Study protocols through simulation experiments� OPNET environment provided;

Minimize learning curve

TOC - Logistics - Projects

Books� Required Textbook:

L. Peterson & B. Davie,Computer Networks: A Systems Approach, 3rd Ed.

� Other Useful Networking Texts:� A. Tanenbaum, Computer Networks� R. Stevens, TCP/IP Illustrated (vol 1)� S. Keshav, An Engineering Approach to

Computer Networking� Kurose and Ross, Computer Networking� Walrand, Communication Networks, 2nd Ed

TOC - Logistics - Books

Programming� This course will involve programming. Network

programming project will be implemented in C on either Windows or UNIX

� Your work can be done on your “named” account. If you lack one, you may log in as “newacct” on one of the clients listed below:

http://www-inst.eecs.berkeley.edu/clients

TOC - Logistics - Programming

Books on Programming

� S. Maguire, Writing Solid Code� S. Lippman, C++ Primer� R. Stevens, UNIX Network Programming,

Volume 1, 2nd ed.

TOC - Logistics – Books on Programming

Introduction� Network Examples� Network Components � Ethernet� Interconnected LANs� Internetwork� Types of Networks� Internet� Packets� Transport

TOC - Introduction

Network Examples� UCB� Backbone:

� Teleglobe� Global Crossing� Williams

� Regional: Palo Alto� Types of Networks� Internet� Packets� Transport

TOC - Introduction – Network Examples

UCB

��

��

��

�������� ����������

������������

���

���

������

�����

����

TOC - Introduction – Network Examples - UCB

Backbone� � !��"

TOC - Introduction – Network Examples – Backbone/Teleglobe

Backbone���"#�������$�!����%��# $��

TOC - Introduction – Network Examples – Backbone/Global Crossing

Backbone &$��$#'����''(�$)# $���

TOC - Introduction – Network Examples – Backbone/Williams

Regional �#���� �� *��+

TOC - Introduction – Network Examples – Regional/Palo Alto

Network Components

� Links: carry bits from one place to another (or maybe to many other places)

� Interface: attaches device to link� Switch/router: interconnect links� Host: communication endpoint (workstation, PDA,

cell phone, toaster, tank) – connected to links

TOC - Introduction – Network Components

Links

�$" ��

�# ,����-$ �� ��*$� ���#$��

��#.$#���#"�

&$� � ��

TOC - Introduction – Network Components - Links

Ethernet Network Interface Card

TOC - Introduction – Network Components - NIC

TOC - Introduction – Network Components – Switch & Router

Telephone Switch Router

Ethernet

� - �� �$��#���)#��� #� *��+�/�0

1 �)-$ ) (� 2��*$ )-�#��3���4("

1 ��� '��$ *2�� �5$) �

TOC - Introduction – Ethernet

Architecture�*$ )-�#��3���4("2

TOC - Introduction – Ethernet - Architecture

System View

� Ethernet is a broadcast-capable, multi-access LAN� Provides a “Link” service between nodes

� Abstract view:

TOC - Introduction – Ethernet – System View

Interconnected LANs

���$� �)��� ) ��"����( ��

��

��

���� ��

����

���6

TOC - Introduction – Interconnected LANs

Internetwork� Provides message delivery between multiple networks

that may belong to different organizations:

�("� ���("� ��

����������

�.#'%� 2�("� ���7�� *��+��8�����8�%� 5$�(����$� ������7��%�$� 9�������7�����("� ���7������ *��+

TOC - Introduction – Internetwork

Types of Network� Classification 1: Size, Information, Application

� Classification 2: Use, Protocols, Technologies

� Switching� Broadcast vs. Switched� Characteristics� How to switch� Taxonomy

TOC - Introduction – Types of Nework

Classification 1

� Geographical distance� Local Area Networks (LAN): Ethernet, Token ring, FDDI� Metropolitan Area Networks (MAN): DQDB, SMDS� Wide Area Networks (WAN): X.25, ATM, frame relay� Caveat: LAN, MAN, WAN may mean different things:

Service, network technology, networks

� Information type� Data networks vs. telecommunication networks

� Application type� Special purpose networks: airline reservation network,

banking network, credit card network, telephony, CATV� General purpose network: Internet

TOC - Introduction – Types of Nework – Classification 1

Classification 2

� Right to use�Private: enterprise networks�Public: telephony network, Internet

� Protocols:�Proprietary: SNA, AppleTalk�Open: IP

� Technologies�Terrestrial vs. satellite�Wired vs. wireless

TOC - Introduction – Types of Nework – Classification 2

� Broadcast Network:

Broadcast vs. Switched

�*$ )- �� *��+2

TOC - Introduction – Types of Nework – Switching – Broadcast vs. Switched

� Broadcast� One to all� Examples: some LANs (Hub-Ethernet, 802.11) � Problem: coordinate the access of all nodes to the

shared communication medium (Multiple Access Problem)

� Switched� One to subset� Examples: WANs (Telephony Network, Internet)� Problem: how to forward information to intended

node(s)� This is done by special nodes (e.g., routers, switches)

running routing protocols

Characteristics

TOC - Introduction – Types of Nework – Switching – Characteristics

� Circuit-Switched: 1. Set up circuit between two devices2. Exchange information3. Release circuit

� Packet-Switched:� Send packets with source and destination

addresses� Virtual-Circuit Switched:

1. Select path from source to destination (Virtual Circuit)

2. Assign a “label” to that path3. Send packets with that label4. Release Virtual Circuit

{Note: Some VCs are permanent.}

How to Switch?

TOC - Introduction – Types of Nework – Switching – How to Switch?

� Based on the way in which the nodes exchange information:

Taxonomy

� � %-�� ��������#' �� �#�

�*:;� - �� �� ��

4(";� - �� ���

TOC - Introduction – Types of Nework – Switching – Taxonomy

The Internet� Overview� Scale

TOC - Introduction – The Internet

Overview� A global network of networks all using a

common protocol (IP, the Internet Protocol)

� Focus of this class� A challenge to understand:

� large scale (10’s of millions of users, 10’s of thousands of networks)

� heterogeneity, irregular topology, decentralized management

TOC - Introduction – The Internet - Overview

Scale

1 �# #�8��'�***:�*:)�'

TOC - Introduction – The Internet - Scale

Packets

� Illustration� Main Ideas

TOC - Introduction – Packets

Illustration

��→ %�� ��

��

��<���<�:::

TOC - Introduction – Packets - Illustration

Main Ideas

� The switches have no memory of packets: scalability

� The network is independent of the applications: flexibility

� The packet formats and addresses are independent of the technology: extensibility

TOC - Introduction – Packets – Main Ideas

Transport)+��*� �!' � ��$�+��-#�$�!

TOC - Introduction – Transport

Acknowledgments

�- �� � $�# $���� ����"#)+�#��#)+��*� �!' � �8��� 5 ���)��� ) �%#)+ �$ �! �:�- ���(�) �(� �� - � ���� �; � �#��'$ �(�#)+��*� �! ��%#)+ �; �=(� � - ��# ��8�$ �� �#��'$��$���:

�- �� � $�# $���� ����"#)+�#��#)+��*� �!' � �8��� 5 ���)��� ) �%#)+ �$ �! �:�- ���(�) �(� �� - � ���� �; � �#��'$ �(�#)+��*� �! ��%#)+ �; �=(� � - ��# ��8�$ �� �#��'$��$���:

TOC - Introduction – Transport - Acknowledgments

Link Sharing�-#� ���$�+�

�- ���(�) ��"#� � - $� �#��'$��$�������*- �� - ��! �#)+��*� �!' � �:�- ��)- ' �� !(�# �� - ��-#�$�!��8�)�''����$�+�

�- ���(�) ��"#� � - $� �#��'$��$�������*- �� - ��! �#)+��*� �!' � �:�- ��)- ' �� !(�# �� - ��-#�$�!��8�)�''����$�+�

TOC - Introduction – Transport – Link Sharing