Download Lecture 6

Document related concepts

Peering wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Zigbee wikipedia , lookup

Net neutrality wikipedia , lookup

Distributed firewall wikipedia , lookup

TCP congestion control wikipedia , lookup

Network tap wikipedia , lookup

Airborne Networking wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

CAN bus wikipedia , lookup

Net neutrality law wikipedia , lookup

Wake-on-LAN wikipedia , lookup

IEEE 1355 wikipedia , lookup

Computer network wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Net bias wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Communication protocol wikipedia , lookup

Deep packet inspection wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Internet protocol suite wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Transcript
Basic network Concepts
Instructors:
Fu-Chiung Cheng
(鄭福炯)
Associate Professor
Computer Science & Engineering
Tatung University
1
Contents
Networks
 Layers
 TCP/IP
 Packet format

2
Networks
• Network: a collection of computers and
other devices that can send data to and
receive data from each other.
• Each machine on a network is called a
node
• Nodes that are fully functional
computers are also called hosts
• Each network node has an address
3
Internet: network of networks
net 3
G
net 1
G
G
G
net 2
net 5
G
net 4
G
G = gateway
4
Layers of a Network
• Networking is complex
• Networking is divided into several layers
• Each layer represents a different level of
abstraction between the physical hardware
and the information to be transmitted
• Layering: the grouping of the communication
functions into related and manageable sets
• Network architecture: a set of protocols that
specify how every layer is to function
5
Layers of a Network
• Benefits of layering:
– Simplifying he design process
– Leading to flexibility in modifying and developing
the network
• There are several different layer models.
– OSI seven-layer model
– TCP/IP
• We focus on standard TCP/IP four-layer
model.
6
The OSI reference model
• There was pressure in the 1970s for an open
systems architecture.
• International Organization for
Standardization (ISO) developed a
reference model for open system
interconnect (OSI) and later to develop
associated standard protocols.
• The OSI reference model provided a
framework for the overall communications
process and was intended to facilitate the
development of standards.
7
The OSI reference model
• The OSI model partitions the overall
communication process into functions
that are carried out by various layers.
• In each layer a process on one machine
carries out a conversation with a peer
process on the other machine.
• The processes at layer n are referred to
as layer n entities.
8
The OSI reference model
• The layer n+1 entities make use of the
services provided by layer n.
• Layer n+1 passes a block of information to
layer n through a software port called the
layer n service access point (SAP).
– This block of information consists of control
information and a layer n SDU , which is the layer
n+1 PDU.
– The layer n entity uses the control information to
form the header of the layer n PDU.
• protocol data units (PDUs) = header +
service data unit (SDU).
9
Layer Services
n+1
entity
n+1
entity
n-SDU
n-SDU
n-SAP
n-SAP
n-SDU H
n entity
n entity
H n-SDU
n-PDU
10
Application A
Application B
Application
Layer
Application
Layer
Presentation
Layer
Presentation
Layer
Session
Layer
Session
Layer
Transport
Layer
Transport
Layer
Communication Network
Network
Layer
Network
Layer
Network
Layer
Network
Layer
Data Link
Layer
Data Link
Layer
Data Link
Layer
Data Link
Layer
Physical
Layer
Physical
Layer
Physical
Layer
Physical
Layer
Electrical and/or Optical Signals
11
PDUs in different layers
Layer
PDU
Transport
Segment
Network
Packet
Data link control
Frame
Physical
Bit
12
TCP/IP network architecture
Application
Layer
Transport
Layer
Internet
Layer
Network
Interface
Application
Layer
Transport
Layer
Internet
Layer
Network
Interface
13
TCP/IP network architecture
• The TCP/IP architecture consists of four layers.
• TCP/IP model does not require strict layering.
– The application layer may bypass intermediate
layers.
• Two basic types of services in the transport layer:
– TCP (Transmission Control Protocol) : reliable
connection-oriented transfer
– UDP (User Datagram Protocol): best-effort
connectionless transfer
14
TCP/IP Layers
• Application layer:
– web application sends a request to a web server
• Transport Layer: TCP/UPD
– Break up the request into TCP segments,
– Add sequence numbers, checksum (Pass to IP)
• Internet Layer: IP
– Fragment the segments into IP datagrams of
necessary size for the local network
– Pass them to host-to-network layer
• Host-to-Network Layer
– Encodes the digital data as analog signals
– Send the request out of wire
15
The 4 layer of TCP/IP
software
16
Layering in a TCP/IP internet
17
Application Layer
• From the user’s point of view, the Internet
appears to consists of a set of application
programs that carry out useful communication
tasks.
• The most popular Internet application
services include:
–
–
–
–
WWW
E-mail
File transfer
Remote login
18
Transport Layer: TCP/UPD
• There is no guarantee that datagrams will be
delivered based on TCP/IP.
• Even datagrams may be delivered, they may
have been corrupted in transit.
• Even datagrams arrive uncorrupted, they do
not necessarily arrive in the order in which
they are sent.
• Transport layer is responsible for ensuring
that packets are received in the order they
were sent and making sure that no data is
lost or corrupted.
19
Transport Layer: TCP/UPD
• There are two primary protocols:
– TCP (transmission control protocol)
– UDP (User Datagram Protocol)
• TCP (reliable protocol)
– High-overhead protocol that allows for
transmission of lost or corrupted data and delivery
of bytes in the order they were sent
• UDP (unreliable protocol)
– Allows the receiver to detect corrupted packages
but does not guarantee that packets are delivered
in the correct order
– Much faster than TCP
20
Internet Layer
• OSI model: network layer
• Network layer:
– Define how bits and bytes of data are organized
into larger groups called packets
– Define addressing scheme by which different
machines can find each other
– Internet protocol (IP protocol) is the most widely
used network layer protocol in the world.
– Other protocols: IPX (NetWare), AppleTalk (Mac.),
NetBEUI (Windows)
21
Internet Layer
• Datagrams: packets sent across internet
• IP datagram:
– header: 20~60 bytes
– Data: up to 65515
– In practice a few dozen byte to 8K+
• At the network level, an internet provides two
broad types of services that all application
program use.
– Connectionless packet delivery service
– Reliable stream transport service
22
Host-to-Network Layer
• Hardware
• OSI model (physical & link layers)
• Physical layer is alanlog
– Bits and bytes are digital
– Digital-to-analog conversion on senders
– Analog-to-digital conversion on receivers
• Link layer
– Error correction and redundancy
– Real analog systems have noise
23
Protocols
• Protocols provide the syntactic and semantic
rules for communications.
– the details of message formats
– how a computer responds when a message arrives
– how a computer handles errors or abnormal
conditions.
• Protocols are to communication what
algorithms are to computation.
• Protocols allows one to understand data
communication without depending on detailed
knowledge of a particular vendor’s network
24
hardware.
TCP/IP Protocols
HTTP
SMTP
RTP
DNS
TCP
UDP
IP
Network
Network
Network
Interface 1
Interface 2
Interface 3
25
An example of an internet
(2,1)
(1,1)
(2,2)
router
s
Ethernet
PPP
(1,3) r
w
(1,2)
Server
HTTP
HTTP
TCP
Router
TCP
IP
IP
IP
Net Interface
Net Interface
Net Interface
Ethernet
PC
PPP
26
Two important boundaries
27
Internet Standard
• The IETF (Internet Engineering Task Force)
concentrate on short-term or medium-term
engineering problems.
• The IRTF (Internet Research Task Force)
coordinates research activities related to
TCP/IP protocols or internet architecture in
general.
• IETF RFCs (Request for Comments)
– page 42~45
• Other group: W3C (http, HTML, XML)
28
Internet Standard
29
Requirements for Success of a
Service
Will it inter-operate?
Technology
Can it be built?
standards
Market
Regulation
Is it allowed?
Will it sell?
30
How are networks
interconnected?
• To have a viable internet, we need special
computers that are willing to transfer packets
from one network to another.
• These computers are called internet gateways
or internet routers.
31
The user’s view
32
The physical structure
33
IP address
• To provide universal communication service,
it needs a globally accepted method of
identifying each computer that attached to it.
• Host identifiers are classified as
– names: what an object is
– addresses: where it is
– routes: how rot get there
• Compact, binary addresses are chosen as
the TCP/IP universal host identifiers.
• This make computations such as the
selection of a route efficient.
34
IP address
• Each host on a TCP/IP internet is assigned a
unique 32-bit internet address that is used in
all communication with that host.
• Each address is a pair (netid, hostid).
– netid identifies a network
– hostid identifies a host on that network
• IP addresses do not specify an individual
computer, but a connection to a network.
35
Addressing Scheme
36
IP address
• IP addresses are written as four decimal
integer separated by decimal points, where
each integer gives the value of one octet of
the IP address.
• 10000000 00001010 00000010 00011110 is
written
128.10.2.30
• Most TCP/IP software that displays or
requires a human to enter an IP address uses
dotted decimal notation.
37
Addressing Scheme
 The network prefix 127.0.0.0 is reserved for loopback, and is
intended for use in testing TCP/IP and for inter-process
communication on the local computer.
 A host or router should never propagate routing or reachability
for network number 127.
38
Special address conventions
39
Internet addressing authority
• Originally, the Internet Assigned Number
Authority (IANA) had control over numbers
assigned, and set the policy.
• In late 1998, the Internet Corporation For
Assigned Names and Numbers (ICANN) sets
policy and assigns values for name and other
constants used in protocols as well as
address.
40
Internet addressing authority
• Only the largest ISPs need to contact
ICANN.
• Once an organization obtains a prefix
for a network, the organization can
choose how to assign a unique suffix to
each host on the network without
contacting the central authority.
41
Network byte order
• The internet standard specifies that
integers are sent with the most
significant byte first (i.e., big endian).
• Computers using Intel microprocessors
are based on little-endian system.
42
Connectionless delivery
system
• The packet delivery service is an unreliable,
best-effort, connectionless service.
• The protocol that defines the unreliable,
connectionless delivery mechanism is
called the Internet Protocol, or IP.
43
Connectionless delivery
system
• Unreliable
– Delivery is not guaranteed.
– The packet may be lost, duplicated, delayed, or
delivered out of order.
• Best-effort
– The internet software makes an earnest attempt to
deliver packets.
– Unreliability arises only when resources are exhausted
or underlying networks fail.
• Connectionless
– Each packet is treated independently from all others.
44
IP Protocol
• IP provides three definitions:
– IP specifies the exact format of all data as
it passes across the internet.
– IP software performs the routing function.
– IP includes a set of rules that embody the
idea of unreliable packet delivery.
• A TCP/IP internet is sometimes called
an IP-based technology.
45
Internet Datagram
• The internet calls its basic transfer unit an
Internet datagram, IP datagram, or datagram.
46
Internet Datagram
• Page 26 IPv4 (32 bits for IP address)
• IPv6 128 bits for IP address
47
Protocol version
• All IP software is required to check the 4-bit
version field before processing a datagram to
ensure it matches the format the software
expects.
• If standards change, machines will reject
datagrams with protocol versions that differ
from theirs.
• The current IP protocol version is 4.
• IPv4 is often used to denote the current
protocol.
48
Header length
• The 4-bit header length field gives the
datagram header length measured in 32-bit
words.
• All fields in the header have fixed length
except for IP OPIONS and corresponding
PADDING fields.
• The most common header, which contains no
options and no padding, measures 20 octets
and has a header length field equal to 5.
49
Total length
• The TOTAL LENGTH field gives the length of
IP datagram, including header and data.
• The size of data area can be computed by
subtracting the length of the header from the
TOTAL LENGTH.
• Because the TOTAL LENGTH field is 16 bits
long, the maximum possible size of an IP
datagram is 216 or 65,535 octets.
• This may become more important in the
future if higher speed networks can carry data
packets larger than 65,535 octets.
50
Datagram type of service
• The 8-bit SERVICE TYPE field specifies how the
datagram should be handled.
• The field was originally divided into five subfields:
• PRECEDENCE specify datagram precedence,
with values ranging from 0 through 7
• D bit requests low delay, the T bit requests high
throughput, and the R bit requests high reliability.
• Transport request is a hint to the routing
51
algorithms, not as a demand.
Fragmentation control
52
An example of fragmentation
Frame 1
Frame 2
Frame 3
53
Fragmentation control
• Three fields in the datagram header
control fragmentation and reassembly of
datagrams.
– IDENTIFCATION
• Computers sending IP datagrams must
generate a unique value for the
IDENTIFCATION field for each datagram.
54
Fragmentation control
– FLAGS
• Setting the do not fragment bit to 1 specifies
that the datagram should not be fragmented.
• The more fragment bit specifies whether the
fragment contains data from the middle of the
original datagram or from the end.
– We need this bit because the TOTAL LENGTH field
refers to the size of the fragment.
– FRAGMENT OFFSET
• This field specifies the offset in the original
datagram of the data being carried in the
fragment, measured in units of 8 octets, starting
55
at offset zero.
Time to Live
• Routers and hosts must decrement the TIME
TO LIVE field by one and remove the
datagram from the internet when its time
expires.
• In practice, the TTL acts a “hop limit” rather
than an estimate of delays.
• Two uses:
– It guarantees that datagrams cannot travel around
an internet forever.
– Source might want to intentionally limit the journey
of the packet.
56
Other datagram header fields
• Field PROTOCOL specifies which high-level
protocol was used to create the message
carried in the DATA area of the datagram.
• Field HEADER CHECKSUM ensures integrity
of header values.
• Field SOURCE IP ADDRESS and
DESTINATION IP ADDRESS contains the
32-bit IP addresses.
• Field PADDING contains zeros that may be
needed to ensure the datagram header
extends to an exact multiple of 32 bits.
57
IP checksum
• This is formed by treating the header as
a sequence of 16-bit integers, adding
them together using one’s complement
arithmetic, an then taking the one’s
complement of the result.
58
Internet datagram options
• Options are included primarily for
network testing or debugging.
When the COPY bit is set to 1, the option should be copied
into all fragments.
59