Transcript Slide 1

ICT 6621
Advanced Networking
Course Teacher
Dr. Khaled Mahbub
Assistant Professor, IICT, BUET
Email: [email protected]
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Course Information
• Structure
– 14 week of lectures
– 2 mid-term exams (one hour each, )
- Mid-term 1, in 5th/6th week (30% of course marks)
- Mid-term 2, in 10th/11th week (30% of course marks)
– Final exam after 14 weeks of classes (40% of course marks)
• Recommended textbooks:
o Text1 - “TCP/IP Illustrated, Volume 1: The protocols”, by W. Richard
Stevens, Publisher: Addison Wesley
o Text2 – “Computer Networks”, 4th edition, by Andrew S. Tanenbaum,
Publisher: Prentice Hall
o Text3 – “Computer Networking: A Top-Down Approach Featuring the
Internet”, 3rd edition, by James F. Kurose and Keith W. Ross,
Publisher: Addison Wesley
o Additional materials will be suggested as needed.
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Resources
• Lecture slides and the textbooks can be
downloaded from the following page
http://teacher.buet.ac.bd/khaledmahbub/ant.html
• Lecture slides will be uploaded after each class,
and it will stay there for next 2 weeks.
• The e-copies of the books will stay there for the
first 3 weeks.
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Course Outline
•
The TCP/IP protocol stack:
IP, ARP, TCP and UDP, DNS, ICMP, Internet addressing, routing, IP multicast,
RSVP, Next Generation IP, Interior gateway protocols: RIPv2,IGRP, EIGRP,
OSPF;
•
Wireless:
Radio basics, satellite systems, WAP, current trends, issues with wireless over
TCP;
•
Congestion Control:
control, avoidance, control and avoidance algorithms, congestion in the Internet;
•
Network Security: IP security, firewalls;
•
Management:
Quality of service (QoS), network vs. distributed systems management,
integrated service, differentiated service, protocols, web-based management.
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Today’s Outline
• Review of Computer Network Basics.
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Computer Network & Internet
• Computer Network:
Interconnected
collection of
autonomous computers
and other devices.
router
server
workstation
mobile
local ISP
regional ISP
• Internet: network of
networks
company
network
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Types of Networks
• Local Area Networks (LAN) are generally privately owned networks.
– restricted in size, i.e. within a single building or campus of up to a few
kilometers in size.
– Traditionally uses a transmission technology consisting of a cable to which
all machines are attached
– Various topologies are possible, e.g. Bus, Ring.
• Metropolitan Area Networks (MAN) covers a city or town.
• Wide Area Networks (WAN) spans a large geographical area, e.g. a
country or continent.
– Collection of machines (hosts) are connected by subnet(s)
– Subnets are composed of (i) transmission lines (e.g. copper wire, optical
fiber or radio links) that move bits between machines and (ii) switching
elements (specialized computers, known as router) that connect three or
more transmission lines.
• Wireless Networks
– e.g., System interconnection, wireless LANs, wireless WANs, not
necessarily mobile
• Internetworks (or Internet) connect different networks.
– Incompatible networks are connected by means of machines called gateway
that provide necessary translation (both h/w and s/w).
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
What’s a protocol
human protocols:
• “what’s the time?”
• “I have a question”
• introductions
• … specific msgs sent
• … specific actions
taken when msgs
received, or other
events
Khaled Mahbub, IICT, BUET, 2008
network protocols:
• machines rather than
humans
• all communication
activity in Internet
governed by protocols
ICT 6621 : Advanced Networking
Protocol Example
Time Request:
Human Protocol
URL Request:
Network Protocol
Hi
TCP connection
req
Hi
TCP connection
response
Got the
time?
Get http://www.awl.com/kurose-ross
2:00
<file>
time
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Protocols
• A protocol defines:
– the format and the order of the messages
exchanged
– the syntax, semantics, and actions on
receipt/transmission of a message
• Why use protocols?
– to provide a common language
– rules must be unambiguous and followed
exactly
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Network Software
• Network software is highly structured and are
organized as a stack of layers or levels.
• Layered structure is used to deal with complex
systems,
– explicit structure allows identification,
relationship of complex system’s pieces
• layered reference model for discussion
– modularization eases maintenance, updating of
system
• change of implementation of layer’s service
transparent to rest of system
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Protocol Stack
• Layer n on one machine
interacts with layer n on
another machine.
• The rules and
conversations used in this
interaction are collectively
known as the layer n
protocol.
• A set of layers and
protocols is called a
network architecture.
• A list of protocols used by
certain system, one
protocol per layer, is
called a protocol stack.
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
The protocol stack
OSI (7 layers): proposed by ISO in TCP/IP (4 layers): proposed by
DARPA in 1970 as a specification
1983 as first step toward
for computer network protocols
international standardization of
protocols
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
TCP/IP protocol stack
• Each layer’s responsibility:
– The link layer (data-link layer, network interface layer)
• handle all the hardware details and interaction of physical
devices (e.g. cables, network cards)
– The network layer (internet layer)
• handles the movement of packets around the network
– The transport layer
• provides a flow of data between two hosts, for the application
layer above
• TCP => provides a reliable flow of data between two hosts
• UDP => unreliable, reliability must be added by the
application layer
– The application layer
• handles the details of the particular application
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
TCP/IP protocol stack
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
TCP/IP protocol stack
Two networks connected with a router
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
TCP/IP Layering
Various protocols at the different layers in TCP/IP protocol suite
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
IP address and port numbers
• Every host on a network is identified by a unique
number, called IP address.
• IP address is a 32 bit number and this number is written
in dotted decimal notation, i.e. four decimal numbers one
for each byte. E.g. 140.35.13.45
• Applications in the application layer are identified by
unique numbers, called port numbers.
• Some well known port numbers are,
– 􀂌 FTP server is on TCP port 21
– 􀂌 Telnet server is on TCP port 23
– 􀂌 TFTP is on UDP port 69
– 􀂌 Rlogin is on TCP port 513
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Encapsulation
message
segment
datagram
frame
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Encapsulation example
Encapsulation of data as it goes down the protocol stack
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Demultiplexing
The demultiplexing of a received Ethernet frame
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Client-Server Model
• Typical network application has two
pieces: client and server
– Client:
• initiates contact with server (“speaks first”)
• typically requests service from server,
• for Web, client is implemented in browser; for email, in mail reader
– Server:
• provides requested service to client
• e.g., Web server sends requested Web page, mail
server delivers e-mail
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Client-Server Model
• Two classes of servers
– iterative
• I1. Wait for a client request to arrive
• I2. Process the client request
• I3. Send the response back to the client that send the
request
• I4. Go back to step I1
– concurrent
• C1. Wait for a client request to arrive
• C2. Start a new server to handle this client’s request. This
may involve creating a new process, task, or thread,
depending on the operating system. This new server handles
this client’s entire request. When complete, this new server
terminates
• C3. Go back to step C1
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking
Reading Material
• Chapter 1 – text1 (Stevens)
• Chapter 1 – text2 (Tanenbaum)
Khaled Mahbub, IICT, BUET, 2008
ICT 6621 : Advanced Networking