Download Lecturing Notes 1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Multiprotocol Label Switching wikipedia , lookup

AppleTalk wikipedia , lookup

Zigbee wikipedia , lookup

Distributed firewall wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

RapidIO wikipedia , lookup

Net bias wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

CAN bus wikipedia , lookup

Network tap wikipedia , lookup

Zero-configuration networking wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Computer network wikipedia , lookup

Airborne Networking wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Deep packet inspection wikipedia , lookup

TCP congestion control wikipedia , lookup

IEEE 1355 wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Internet protocol suite wikipedia , lookup

Transcript
ECEN 619 “Internet Protocols and Modeling”
Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc
Grading (Tentative): HW: 20%, Projects: 40%, Exam-1:20%, Exam-II:20%
Lecture notes and Paper Reading Lists: available on-line: TBA
Class Website: http://ece.tamu.edu/~xizhang/ECEN619
Research Interests and Projects: URL:http://ece.tamu.edu/~xizhang
Instructor: Professor Xi Zhang
E-mail: [email protected]
Office: WERC 331D
Protocols and the TCP/IP Suite
Introductions and Overviews
Key Features of a Protocol
• Syntax
– Concerns the format of the data blocks
• Semantics
– Includes control information for coordination
and error handling
• Timing
– Includes speed matching and sequencing
Agents Involved in
Communication
• Applications
– Exchange data between computers (e.g.,
electronic mail)
• Computers
– Connected to networks
• Networks
– Transfers data from one computer to another
TCP/IP Layers
•
•
•
•
•
Physical layer
Network access layer
Internet layer
Host-to-host, or transport layer
Application layer
TCP/IP Physical Layer
• Covers the physical interface between a
data transmission device and a
transmission medium or network
• Physical layer specifies:
–
–
–
–
Characteristics of the transmission medium
The nature of the signals
The data rate
Other related matters
TCP/IP Network Access Layer
• Concerned with the exchange of data
between an end system and the network to
which it's attached
• Software used depends on type of network
–
–
–
–
Circuit switching
Packet switching (e.g., X.25)
LANs (e.g., Ethernet)
Others
TCP/IP Internet Layer
• Uses internet protocol (IP)
• Provides routing functions to allow data to
traverse multiple interconnected networks
• Implemented in end systems and routers
TCP/IP Host-to-Host, or
Transport Layer
• Commonly uses transmission control
protocol (tcp)
• Provides reliability during data exchange
– Completeness
– Order
TCP/IP Application Layer
• Logic supports user applications
• Uses separate modules that are peculiar to
each different type of application
Protocol Data Units (PDUs)
Common TCP/IP Applications
• Simple mail transfer protocol (SMTP)
– Provides a basic electronic mail facility
• File Transfer Protocol (FTP)
– Allows files to be sent from one system to
another
• TELNET
– Provides a remote logon capability
Layers of the OSI Model
•
•
•
•
•
•
•
Application
Presentation
Session
Transport
Network
Data link
Physical
OSI Application Layer
• Provides access to the OSI environment for
users
• Provides distributed information services
OSI Presentation Layer
• Provides independence to the application
processes from differences in data
representation (syntax)
OSI Session Layer
• Provides the control structure for
communication between applications
• Establishes, manages, and terminates
connections (sessions) between cooperating
applications
OSI Transport Layer
• Provides reliable, transparent transfer of
data between end points
• Provides end-to-end error recovery and flow
control
OSI Network Layer
• Provides upper layers with independence
from the data transmission and switching
technologies used to connect systems
• Responsible for establishing, maintaining,
and terminating connections
OSI Data link Layer
• Provides for the reliable transfer of
information across the physical link
• Sends blocks (frames) with the necessary
synchronization, error control, and flow
control
OSI Physical Layer
• Concerned with transmission of
unstructured bit stream over physical
medium
• Deals with accessing the physical medium
–
–
–
–
Mechanical characteristics
Electrical characteristics
Functional characteristics
Procedural characteristics
Comparison of OSI and TCP/IP
TCP/IP Architecture Dominance
• TCP/IP protocols matured quicker than
similar OSI protocols
– When the need for interoperability across
networks was recognized, only TCP/IP was
available and ready to go
• OSI model is unnecessarily complex
– Accomplishes in seven layers what TCP/IP
does with fewer layers
Elements of Standardization
within OSI Framework
• Protocol Specification
– Format of protocol data units (PDUs) exchanged
– Semantics of all fields
– Allowable sequence of PDUs
• Service Definition
– Functional description that defines what services are
provided, but not how the services are to be provided
• Addressing
– Entities are referenced by means of a service access
point (SAP)
Internetworking Terms
• Communication network – facility that provides a
data transfer service among devices attached to the
network
• Internet – collection of communication networks,
interconnected by bridges/routers
• Intranet – internet used by an organization for
internal purposes
– Provides key Internet applications
– Can exist as an isolated, self-contained internet
Internetworking Terms
• End System (ES) – device used to support
end-user applications or services
• Intermediate System (IS) – device used to
connect two networks
• Bridge – an IS used to connect two LANs
that use similar LAN protocols
• Router - an IS used to connect two networks
that may or may not be similar
Functions of a Router
• Provide a link between networks
• Provide for the routing and delivery of data
between processes on end systems attached
to different networks
• Provide these functions in such a way as not
to require modifications of the networking
architecture of any of the attached
subnetworks
Network Differences Routers
Must Accommodate
• Addressing schemes
– Different schemes for assigning addresses
• Maximum packet sizes
– Different maximum packet sizes requires segmentation
• Interfaces
– Differing hardware and software interfaces
• Reliability
– Network may provide unreliable service
Packet Switched Networks
• Hosts send data in packets
• network supports all data communication
services by delivering packets
Host
Host
– Web, email, multimedia video
Application
Host
Web
Host
Host
email
28
One network application example
[email protected]
[email protected]
msg
29
What is happening inside ?
[email protected]
msg
email
[email protected]
Transport
protocol
Transport
protocol
Network
protocol
Physical net
Network
protocol
Network
protocol
Physical net
Network
protocol
physical net
30
Layered Network Architecture
• network consists of geographically
distributed hosts and switches (nodes)
• Nodes communicate with each other by
standard protocols
A
host
A
C
switch
B
C
D
network topology
B
physical connectivity
Protocol layers
31
a picture of protocol layers
A
Application (data)
header
data
Transport segment
header
DATA
network packet
DATA
header
Ethernet frame
B
physical connectivity
What’s in the header: info needed for the protocol’s
function
32
tail
TCP/IP Protocol Suite
• IP Protocol: Inter-networking protocol
– RFC791
• TCP Protocol: reliable transport protocol
– RFC793
33
The picture of the world
according to IP
application protocols
transport layer protocols
TCP UDP
universal datagram delivery
transport
(end-to-end)
IP
inter-network layer
subnets
hardware-specific
network technologies ethernet token-ring FDDI dialup ATM
34
TCP: Transmission Control Protocol
• a transport protocol
– IP delivers packets “from door to door”
– TCP provides full-duplex, reliable byte-stream
delivery between two application processes
Application process
More terminology:
• TCP segment
• Max. segment
size (MSS)
Application process
Write
bytes
Read
bytes
TCP
TCP
Send buffer
Receive buffer
segment
segment
35
TCP: major functionalities
• Header format
• Connection Management
• Open, close
• State management
• Reliability management
• Flow and Congestion control
• Flow control: Do not flood the receiver’s buffer
• Congestion control: Do not stress the network by
sending too much too fast
36
TCP header format
0
3
1
1
6
IP header
source port
destination port
Data sequence number
acknowledgment number
Hlen unused
u a p r s f
r c s s y i
g k h t n n
checksum
window size
urgent pointer
Options (viable length)
data
37
opening a connection:
three-way hand-shake
client
open request(x)
server
Passive open
ack(x+1) + request(y)
ack(y+1)
(now in estab. state)
enter estab. state
38
TCP’s Two Major Functional Components
• [1] Flow control and congestion control
– Refer to a set of techniques enabling a data source to match
its transmission rate to the currently available service rate at
the receiver and in the networks.
– Flow Control Mechanism Design Ceriteria
» Simple to implement and use least network resources
» Scales well as the network size increases
» Must be stable and converging to equilibriums
• [2] Error Control and Loss Recovery
– Refer to a set of techniques to detect and correct data losses
– Two levels of error control
» Bit-level: inversion of 0 bit to 1, or 1 bit to 0, also called bit corruption =>
often occur over the mobile and wireless networks
» Packet-level: packet loss, duplications, reordering => often occur and be
treated at higher layer protocol, such as TCP, over wired networks.
» Erasure error: the information about the positions of error/loss is
available for error control => packet level loss usually be treated as
erasure loss by using sequence number.
39
Classification of Flow Control Mechanisms
• Open-loop control scheme
– Flow control function is achieved without using
feedback via the closed-loop channel.
• Closed-loop flow control scheme
– Flow control adapt its transmission rate to the bottleneck
available bandwidth according to the feedback through the
closed-loop channel
» Window-based scheme vs. Rate-based schemes
» Explicit scheme vs. Implicit scheme
» End-to-end scheme vs. Hop-by-Hop scheme
• Hybrid schemes
– Mixing open-loop flow control with closed-loop scheme
40
TCP Flow Control Categories and Principles
• Flow control categories
– Implicit,
– Window-based,
– End-to-End scheme.
• TCP Hahoe
– Use timeout to detect packet loss and congestions
• TCP Reno
– Use triple-duplicate ACK to same sequence number and
timeouts to detect packet loss and congestions
– Use fast retransmissions and fast recovery
» Skip Slow Start phase
• TCP Vegas
– Use expected and measured throughputs to detect
congestions
41
References
• Basic knowledge of calculus
• Programming experiences
– familiar with C/C++/UNIX
– useful reference books:
• “Internetworking with TCP/IP, Vol’s I, II, III” by
Doug Comer
• “TCP/IP Illustrated, Vol’s 1 & 2” by Stevens
References
• Probability Theories & Applications
– Discrete vs. continuing random variables
– Probability distribution functions
– Stochastic process
• Optimization Principles