ict 6621 : advanced networkingkhaled mahbub, iict, buet, 2008 ict 6621 advanced networking course...
TRANSCRIPT
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
ICT 6621Advanced Networking
Course TeacherDr Khaled Mahbub
Assistant Professor IICT BUETEmail khaledmahbubiictbuetacbd
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Course Informationbull Structure
ndash 14 week of lecturesndash 2 mid-term exams (one hour each )
- Mid-term 1 in 5th6th week (30 of course marks) - Mid-term 2 in 10th11th week (30 of course marks)ndash Final exam after 14 weeks of classes (40 of course marks)
bull Recommended textbookso Text1 - ldquoTCPIP Illustrated Volume 1 The protocolsrdquo by W Richard
Stevens Publisher Addison Wesleyo Text2 ndash ldquoComputer Networksrdquo 4th edition by Andrew S Tanenbaum
Publisher Prentice Hallo Text3 ndash ldquoComputer Networking A Top-Down Approach Featuring the
Internetrdquo 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
bull Lecture slides and the textbooks can be downloaded from the following pagehttpteacherbuetacbdkhaledmahbubanthtml
bull Lecture slides will be uploaded after each class and it will stay there for next 2 weeks
bull The e-copies of the books will stay there for the first 3 weeks
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Course Outlinebull The TCPIP protocol stack
IP ARP TCP and UDP DNS ICMP Internet addressing routing IP multicast RSVP Next Generation IP Interior gateway protocols RIPv2IGRP EIGRP OSPF
bull Wireless Radio basics satellite systems WAP current trends issues with wireless overTCP
bull Congestion Control control avoidance control and avoidance algorithms congestion in the Internet
bull Network Security IP security firewalls
bull 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
Todayrsquos Outline
bull Review of Computer Network Basics
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Computer Network amp Internet
bull Computer Network Interconnected collection of autonomous computers and other devices
bull Internet network of networks
local ISP
companynetwork
regional ISP
router workstation
servermobile
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Types of Networksbull Local Area Networks (LAN) are generally privately owned networks
ndash restricted in size ie within a single building or campus of up to a few kilometers in size
ndash Traditionally uses a transmission technology consisting of a cable to which all machines are attached
ndash Various topologies are possible eg Bus Ringbull Metropolitan Area Networks (MAN) covers a city or townbull Wide Area Networks (WAN) spans a large geographical area eg a
country or continentndash Collection of machines (hosts) are connected by subnet(s)ndash Subnets are composed of (i) transmission lines (eg 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
bull Wireless Networksndash eg System interconnection wireless LANs wireless WANs not
necessarily mobilebull Internetworks (or Internet) connect different networks
ndash Incompatible networks are connected by means of machines called gateway that provide necessary translation (both hw and sw)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Whatrsquos a protocol
human protocolsbull ldquowhatrsquos the timerdquobull ldquoI have a questionrdquobull introductions
bull hellip specific msgs sentbull hellip specific actions
taken when msgs received or other events
network protocolsbull machines rather than
humansbull all communication
activity in Internet governed by protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Example
Hi
Hi
Got thetime
200
TCP connection req
TCP connectionresponseGet httpwwwawlcomkurose-ross
ltfilegttime
Time Request Human Protocol
URL Request Network Protocol
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocols
bull A protocol definesndash the format and the order of the messages
exchangedndash the syntax semantics and actions on
receipttransmission of a message
bull Why use protocolsndash to provide a common languagendash rules must be unambiguous and followed
exactly
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Network Software
bull Network software is highly structured and are organized as a stack of layers or levels
bull Layered structure is used to deal with complex systemsndash explicit structure allows identification
relationship of complex systemrsquos piecesbull layered reference model for discussion
ndash modularization eases maintenance updating of system
bull change of implementation of layerrsquos service transparent to rest of system
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Course Informationbull Structure
ndash 14 week of lecturesndash 2 mid-term exams (one hour each )
- Mid-term 1 in 5th6th week (30 of course marks) - Mid-term 2 in 10th11th week (30 of course marks)ndash Final exam after 14 weeks of classes (40 of course marks)
bull Recommended textbookso Text1 - ldquoTCPIP Illustrated Volume 1 The protocolsrdquo by W Richard
Stevens Publisher Addison Wesleyo Text2 ndash ldquoComputer Networksrdquo 4th edition by Andrew S Tanenbaum
Publisher Prentice Hallo Text3 ndash ldquoComputer Networking A Top-Down Approach Featuring the
Internetrdquo 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
bull Lecture slides and the textbooks can be downloaded from the following pagehttpteacherbuetacbdkhaledmahbubanthtml
bull Lecture slides will be uploaded after each class and it will stay there for next 2 weeks
bull The e-copies of the books will stay there for the first 3 weeks
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Course Outlinebull The TCPIP protocol stack
IP ARP TCP and UDP DNS ICMP Internet addressing routing IP multicast RSVP Next Generation IP Interior gateway protocols RIPv2IGRP EIGRP OSPF
bull Wireless Radio basics satellite systems WAP current trends issues with wireless overTCP
bull Congestion Control control avoidance control and avoidance algorithms congestion in the Internet
bull Network Security IP security firewalls
bull 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
Todayrsquos Outline
bull Review of Computer Network Basics
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Computer Network amp Internet
bull Computer Network Interconnected collection of autonomous computers and other devices
bull Internet network of networks
local ISP
companynetwork
regional ISP
router workstation
servermobile
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Types of Networksbull Local Area Networks (LAN) are generally privately owned networks
ndash restricted in size ie within a single building or campus of up to a few kilometers in size
ndash Traditionally uses a transmission technology consisting of a cable to which all machines are attached
ndash Various topologies are possible eg Bus Ringbull Metropolitan Area Networks (MAN) covers a city or townbull Wide Area Networks (WAN) spans a large geographical area eg a
country or continentndash Collection of machines (hosts) are connected by subnet(s)ndash Subnets are composed of (i) transmission lines (eg 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
bull Wireless Networksndash eg System interconnection wireless LANs wireless WANs not
necessarily mobilebull Internetworks (or Internet) connect different networks
ndash Incompatible networks are connected by means of machines called gateway that provide necessary translation (both hw and sw)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Whatrsquos a protocol
human protocolsbull ldquowhatrsquos the timerdquobull ldquoI have a questionrdquobull introductions
bull hellip specific msgs sentbull hellip specific actions
taken when msgs received or other events
network protocolsbull machines rather than
humansbull all communication
activity in Internet governed by protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Example
Hi
Hi
Got thetime
200
TCP connection req
TCP connectionresponseGet httpwwwawlcomkurose-ross
ltfilegttime
Time Request Human Protocol
URL Request Network Protocol
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocols
bull A protocol definesndash the format and the order of the messages
exchangedndash the syntax semantics and actions on
receipttransmission of a message
bull Why use protocolsndash to provide a common languagendash rules must be unambiguous and followed
exactly
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Network Software
bull Network software is highly structured and are organized as a stack of layers or levels
bull Layered structure is used to deal with complex systemsndash explicit structure allows identification
relationship of complex systemrsquos piecesbull layered reference model for discussion
ndash modularization eases maintenance updating of system
bull change of implementation of layerrsquos service transparent to rest of system
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Resources
bull Lecture slides and the textbooks can be downloaded from the following pagehttpteacherbuetacbdkhaledmahbubanthtml
bull Lecture slides will be uploaded after each class and it will stay there for next 2 weeks
bull The e-copies of the books will stay there for the first 3 weeks
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Course Outlinebull The TCPIP protocol stack
IP ARP TCP and UDP DNS ICMP Internet addressing routing IP multicast RSVP Next Generation IP Interior gateway protocols RIPv2IGRP EIGRP OSPF
bull Wireless Radio basics satellite systems WAP current trends issues with wireless overTCP
bull Congestion Control control avoidance control and avoidance algorithms congestion in the Internet
bull Network Security IP security firewalls
bull 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
Todayrsquos Outline
bull Review of Computer Network Basics
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Computer Network amp Internet
bull Computer Network Interconnected collection of autonomous computers and other devices
bull Internet network of networks
local ISP
companynetwork
regional ISP
router workstation
servermobile
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Types of Networksbull Local Area Networks (LAN) are generally privately owned networks
ndash restricted in size ie within a single building or campus of up to a few kilometers in size
ndash Traditionally uses a transmission technology consisting of a cable to which all machines are attached
ndash Various topologies are possible eg Bus Ringbull Metropolitan Area Networks (MAN) covers a city or townbull Wide Area Networks (WAN) spans a large geographical area eg a
country or continentndash Collection of machines (hosts) are connected by subnet(s)ndash Subnets are composed of (i) transmission lines (eg 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
bull Wireless Networksndash eg System interconnection wireless LANs wireless WANs not
necessarily mobilebull Internetworks (or Internet) connect different networks
ndash Incompatible networks are connected by means of machines called gateway that provide necessary translation (both hw and sw)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Whatrsquos a protocol
human protocolsbull ldquowhatrsquos the timerdquobull ldquoI have a questionrdquobull introductions
bull hellip specific msgs sentbull hellip specific actions
taken when msgs received or other events
network protocolsbull machines rather than
humansbull all communication
activity in Internet governed by protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Example
Hi
Hi
Got thetime
200
TCP connection req
TCP connectionresponseGet httpwwwawlcomkurose-ross
ltfilegttime
Time Request Human Protocol
URL Request Network Protocol
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocols
bull A protocol definesndash the format and the order of the messages
exchangedndash the syntax semantics and actions on
receipttransmission of a message
bull Why use protocolsndash to provide a common languagendash rules must be unambiguous and followed
exactly
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Network Software
bull Network software is highly structured and are organized as a stack of layers or levels
bull Layered structure is used to deal with complex systemsndash explicit structure allows identification
relationship of complex systemrsquos piecesbull layered reference model for discussion
ndash modularization eases maintenance updating of system
bull change of implementation of layerrsquos service transparent to rest of system
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Course Outlinebull The TCPIP protocol stack
IP ARP TCP and UDP DNS ICMP Internet addressing routing IP multicast RSVP Next Generation IP Interior gateway protocols RIPv2IGRP EIGRP OSPF
bull Wireless Radio basics satellite systems WAP current trends issues with wireless overTCP
bull Congestion Control control avoidance control and avoidance algorithms congestion in the Internet
bull Network Security IP security firewalls
bull 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
Todayrsquos Outline
bull Review of Computer Network Basics
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Computer Network amp Internet
bull Computer Network Interconnected collection of autonomous computers and other devices
bull Internet network of networks
local ISP
companynetwork
regional ISP
router workstation
servermobile
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Types of Networksbull Local Area Networks (LAN) are generally privately owned networks
ndash restricted in size ie within a single building or campus of up to a few kilometers in size
ndash Traditionally uses a transmission technology consisting of a cable to which all machines are attached
ndash Various topologies are possible eg Bus Ringbull Metropolitan Area Networks (MAN) covers a city or townbull Wide Area Networks (WAN) spans a large geographical area eg a
country or continentndash Collection of machines (hosts) are connected by subnet(s)ndash Subnets are composed of (i) transmission lines (eg 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
bull Wireless Networksndash eg System interconnection wireless LANs wireless WANs not
necessarily mobilebull Internetworks (or Internet) connect different networks
ndash Incompatible networks are connected by means of machines called gateway that provide necessary translation (both hw and sw)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Whatrsquos a protocol
human protocolsbull ldquowhatrsquos the timerdquobull ldquoI have a questionrdquobull introductions
bull hellip specific msgs sentbull hellip specific actions
taken when msgs received or other events
network protocolsbull machines rather than
humansbull all communication
activity in Internet governed by protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Example
Hi
Hi
Got thetime
200
TCP connection req
TCP connectionresponseGet httpwwwawlcomkurose-ross
ltfilegttime
Time Request Human Protocol
URL Request Network Protocol
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocols
bull A protocol definesndash the format and the order of the messages
exchangedndash the syntax semantics and actions on
receipttransmission of a message
bull Why use protocolsndash to provide a common languagendash rules must be unambiguous and followed
exactly
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Network Software
bull Network software is highly structured and are organized as a stack of layers or levels
bull Layered structure is used to deal with complex systemsndash explicit structure allows identification
relationship of complex systemrsquos piecesbull layered reference model for discussion
ndash modularization eases maintenance updating of system
bull change of implementation of layerrsquos service transparent to rest of system
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Todayrsquos Outline
bull Review of Computer Network Basics
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Computer Network amp Internet
bull Computer Network Interconnected collection of autonomous computers and other devices
bull Internet network of networks
local ISP
companynetwork
regional ISP
router workstation
servermobile
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Types of Networksbull Local Area Networks (LAN) are generally privately owned networks
ndash restricted in size ie within a single building or campus of up to a few kilometers in size
ndash Traditionally uses a transmission technology consisting of a cable to which all machines are attached
ndash Various topologies are possible eg Bus Ringbull Metropolitan Area Networks (MAN) covers a city or townbull Wide Area Networks (WAN) spans a large geographical area eg a
country or continentndash Collection of machines (hosts) are connected by subnet(s)ndash Subnets are composed of (i) transmission lines (eg 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
bull Wireless Networksndash eg System interconnection wireless LANs wireless WANs not
necessarily mobilebull Internetworks (or Internet) connect different networks
ndash Incompatible networks are connected by means of machines called gateway that provide necessary translation (both hw and sw)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Whatrsquos a protocol
human protocolsbull ldquowhatrsquos the timerdquobull ldquoI have a questionrdquobull introductions
bull hellip specific msgs sentbull hellip specific actions
taken when msgs received or other events
network protocolsbull machines rather than
humansbull all communication
activity in Internet governed by protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Example
Hi
Hi
Got thetime
200
TCP connection req
TCP connectionresponseGet httpwwwawlcomkurose-ross
ltfilegttime
Time Request Human Protocol
URL Request Network Protocol
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocols
bull A protocol definesndash the format and the order of the messages
exchangedndash the syntax semantics and actions on
receipttransmission of a message
bull Why use protocolsndash to provide a common languagendash rules must be unambiguous and followed
exactly
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Network Software
bull Network software is highly structured and are organized as a stack of layers or levels
bull Layered structure is used to deal with complex systemsndash explicit structure allows identification
relationship of complex systemrsquos piecesbull layered reference model for discussion
ndash modularization eases maintenance updating of system
bull change of implementation of layerrsquos service transparent to rest of system
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Computer Network amp Internet
bull Computer Network Interconnected collection of autonomous computers and other devices
bull Internet network of networks
local ISP
companynetwork
regional ISP
router workstation
servermobile
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Types of Networksbull Local Area Networks (LAN) are generally privately owned networks
ndash restricted in size ie within a single building or campus of up to a few kilometers in size
ndash Traditionally uses a transmission technology consisting of a cable to which all machines are attached
ndash Various topologies are possible eg Bus Ringbull Metropolitan Area Networks (MAN) covers a city or townbull Wide Area Networks (WAN) spans a large geographical area eg a
country or continentndash Collection of machines (hosts) are connected by subnet(s)ndash Subnets are composed of (i) transmission lines (eg 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
bull Wireless Networksndash eg System interconnection wireless LANs wireless WANs not
necessarily mobilebull Internetworks (or Internet) connect different networks
ndash Incompatible networks are connected by means of machines called gateway that provide necessary translation (both hw and sw)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Whatrsquos a protocol
human protocolsbull ldquowhatrsquos the timerdquobull ldquoI have a questionrdquobull introductions
bull hellip specific msgs sentbull hellip specific actions
taken when msgs received or other events
network protocolsbull machines rather than
humansbull all communication
activity in Internet governed by protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Example
Hi
Hi
Got thetime
200
TCP connection req
TCP connectionresponseGet httpwwwawlcomkurose-ross
ltfilegttime
Time Request Human Protocol
URL Request Network Protocol
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocols
bull A protocol definesndash the format and the order of the messages
exchangedndash the syntax semantics and actions on
receipttransmission of a message
bull Why use protocolsndash to provide a common languagendash rules must be unambiguous and followed
exactly
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Network Software
bull Network software is highly structured and are organized as a stack of layers or levels
bull Layered structure is used to deal with complex systemsndash explicit structure allows identification
relationship of complex systemrsquos piecesbull layered reference model for discussion
ndash modularization eases maintenance updating of system
bull change of implementation of layerrsquos service transparent to rest of system
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Types of Networksbull Local Area Networks (LAN) are generally privately owned networks
ndash restricted in size ie within a single building or campus of up to a few kilometers in size
ndash Traditionally uses a transmission technology consisting of a cable to which all machines are attached
ndash Various topologies are possible eg Bus Ringbull Metropolitan Area Networks (MAN) covers a city or townbull Wide Area Networks (WAN) spans a large geographical area eg a
country or continentndash Collection of machines (hosts) are connected by subnet(s)ndash Subnets are composed of (i) transmission lines (eg 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
bull Wireless Networksndash eg System interconnection wireless LANs wireless WANs not
necessarily mobilebull Internetworks (or Internet) connect different networks
ndash Incompatible networks are connected by means of machines called gateway that provide necessary translation (both hw and sw)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Whatrsquos a protocol
human protocolsbull ldquowhatrsquos the timerdquobull ldquoI have a questionrdquobull introductions
bull hellip specific msgs sentbull hellip specific actions
taken when msgs received or other events
network protocolsbull machines rather than
humansbull all communication
activity in Internet governed by protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Example
Hi
Hi
Got thetime
200
TCP connection req
TCP connectionresponseGet httpwwwawlcomkurose-ross
ltfilegttime
Time Request Human Protocol
URL Request Network Protocol
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocols
bull A protocol definesndash the format and the order of the messages
exchangedndash the syntax semantics and actions on
receipttransmission of a message
bull Why use protocolsndash to provide a common languagendash rules must be unambiguous and followed
exactly
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Network Software
bull Network software is highly structured and are organized as a stack of layers or levels
bull Layered structure is used to deal with complex systemsndash explicit structure allows identification
relationship of complex systemrsquos piecesbull layered reference model for discussion
ndash modularization eases maintenance updating of system
bull change of implementation of layerrsquos service transparent to rest of system
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Whatrsquos a protocol
human protocolsbull ldquowhatrsquos the timerdquobull ldquoI have a questionrdquobull introductions
bull hellip specific msgs sentbull hellip specific actions
taken when msgs received or other events
network protocolsbull machines rather than
humansbull all communication
activity in Internet governed by protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Example
Hi
Hi
Got thetime
200
TCP connection req
TCP connectionresponseGet httpwwwawlcomkurose-ross
ltfilegttime
Time Request Human Protocol
URL Request Network Protocol
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocols
bull A protocol definesndash the format and the order of the messages
exchangedndash the syntax semantics and actions on
receipttransmission of a message
bull Why use protocolsndash to provide a common languagendash rules must be unambiguous and followed
exactly
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Network Software
bull Network software is highly structured and are organized as a stack of layers or levels
bull Layered structure is used to deal with complex systemsndash explicit structure allows identification
relationship of complex systemrsquos piecesbull layered reference model for discussion
ndash modularization eases maintenance updating of system
bull change of implementation of layerrsquos service transparent to rest of system
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Example
Hi
Hi
Got thetime
200
TCP connection req
TCP connectionresponseGet httpwwwawlcomkurose-ross
ltfilegttime
Time Request Human Protocol
URL Request Network Protocol
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocols
bull A protocol definesndash the format and the order of the messages
exchangedndash the syntax semantics and actions on
receipttransmission of a message
bull Why use protocolsndash to provide a common languagendash rules must be unambiguous and followed
exactly
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Network Software
bull Network software is highly structured and are organized as a stack of layers or levels
bull Layered structure is used to deal with complex systemsndash explicit structure allows identification
relationship of complex systemrsquos piecesbull layered reference model for discussion
ndash modularization eases maintenance updating of system
bull change of implementation of layerrsquos service transparent to rest of system
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocols
bull A protocol definesndash the format and the order of the messages
exchangedndash the syntax semantics and actions on
receipttransmission of a message
bull Why use protocolsndash to provide a common languagendash rules must be unambiguous and followed
exactly
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Network Software
bull Network software is highly structured and are organized as a stack of layers or levels
bull Layered structure is used to deal with complex systemsndash explicit structure allows identification
relationship of complex systemrsquos piecesbull layered reference model for discussion
ndash modularization eases maintenance updating of system
bull change of implementation of layerrsquos service transparent to rest of system
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Network Software
bull Network software is highly structured and are organized as a stack of layers or levels
bull Layered structure is used to deal with complex systemsndash explicit structure allows identification
relationship of complex systemrsquos piecesbull layered reference model for discussion
ndash modularization eases maintenance updating of system
bull change of implementation of layerrsquos service transparent to rest of system
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Protocol Stackbull Layer n on one machine
interacts with layer n on another machine
bull The rules and conversations used in this interaction are collectively known as the layer n protocol
bull A set of layers and protocols is called a network architecture
bull 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 stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
The protocol stackOSI (7 layers) proposed by ISO in 1983 as first step toward international standardization of protocols
TCPIP (4 layers) proposed by DARPA in 1970 as a specification for computer network protocols
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
bull Each layerrsquos responsibilityndash The link layer (data-link layer network interface layer)
bull handle all the hardware details and interaction of physical devices (eg cables network cards)
ndash The network layer (internet layer)bull handles the movement of packets around the network
ndash The transport layerbull provides a flow of data between two hosts for the application
layer abovebull TCP =gt provides a reliable flow of data between two hostsbull UDP =gt unreliable reliability must be added by the
application layer
ndash The application layerbull handles the details of the particular application
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP protocol stack
Two networks connected with a router
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
TCPIP LayeringVarious protocols at the different layers in TCPIP protocol suite
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
IP address and port numbersbull Every host on a network is identified by a unique
number called IP address
bull IP address is a 32 bit number and this number is written in dotted decimal notation ie four decimal numbers one for each byte Eg 140351345
bull Applications in the application layer are identified by unique numbers called port numbers
bull Some well known port numbers arendash 1048716 FTP server is on TCP port 21ndash 1048716 Telnet server is on TCP port 23ndash 1048716 TFTP is on UDP port 69ndash 1048716 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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
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
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Typical network application has two pieces client and serverndash Client
bull initiates contact with server (ldquospeaks firstrdquo)bull typically requests service from serverbull for Web client is implemented in browser for e-
mail in mail reader
ndash Serverbull provides requested service to clientbull eg Web server sends requested Web page mail
server delivers e-mail
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Client-Server Model
bull Two classes of serversndash iterative
bull I1 Wait for a client request to arrivebull I2 Process the client requestbull I3 Send the response back to the client that send the
requestbull I4 Go back to step I1
ndash concurrentbull C1 Wait for a client request to arrivebull C2 Start a new server to handle this clientrsquos request This
may involve creating a new process task or thread depending on the operating system This new server handles this clientrsquos entire request When complete this new server terminates
bull C3 Go back to step C1
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)
Khaled Mahbub IICT BUET 2008 ICT 6621 Advanced Networking
Reading Materialbull Chapter 1 ndash text1 (Stevens)
bull Chapter 1 ndash text2 (Tanenbaum)