CN Module 4
CN Module 4
CN Module 4
Before ge ng into the specifics of the network layer in the Internet, it is worth taking a look
at the principles that drove its design in the past and made it the success that it is today. Top
10 principles
1. Make sure it works. Do not finalize the design or standard un l mul ple prototypes have
successfully communicated with each other.
2. Keep it simple. When in doubt, use the simplest solu on. If a feature is not absolutely
essen al, leave it out, especially if the same effect can be achieved by combining other
features.
3. Make clear choices. If there are several ways of doing the same thing, choose one.
4. Exploit modularity. This principle leads directly to the idea of having protocol stacks,
each of whose layers is independent of all the other ones. In this way, if circumstances
that require one module or layer to be changed, the other ones will not be affected.
6. Avoid sta c op ons and parameters. If parameters are unavoidable (e.g., maximum
packet size), it is best to have the sender and receiver nego ate a value than defining
fixed choices.
7. Look for a good design; it need not be perfect. O en the designers have a good design
but it cannot handle some weird special case. Rather than messing up the design, the
designers should go with the good design and put the burden of working around it on
the people with the strange requirements.
8. Be strict when sending and tolerant when receiving. In other words, only send packets
that rigorously comply with the standards, but expect incoming packets that may not be
fully conformant and try to deal with them.
9. Think about scalability. If the system is to handle millions of hosts and billions of users
effec vely, no centralized databases of any kind are tolerable and load must be spread as
evenly as possible over the available resources.
10. Consider performance and cost. If a network has poor performance or outrageous costs,
nobody will use it.
IP protocol
The glue that holds the whole Internet together is the network layer protocol, IP (Internet
Protocol).
The Internet Protocol (IP) is the network layer communica ons protocol in the Internet
protocol suite that delivers datagrams (basic transfer units associated with a packet-switched
network) across network boundaries. Its rou ng func on enables internetworking, and
essen ally establishes the Internet
The Internet’s basic protocol called IP for Internet Protocol. The objec ve of star ng this
protocol is assigned to interconnect networks do not have the same frame-level protocols or
package level. The internet acronym comes from inter-networking and corresponds to an
interconnec on fashion: each independent network must transport in the we or in the
data area of the packet an IP packet,
There are two genera ons of IP packets, called IPv4 (IP version 4) and IPv6 (IP version 6).
IPv4 has been dominant so far. The transi on to IPv6 could accelerate due to its adop on in
many Asian countries. The transi on is however difficult and will last many years.
Internet Protocol (IP) of network layer contains addressing informa on and some
control informa on that enables the packets to be routed.
Internet Protocol being a layer-3 protocol (OSI) takes data Segments from layer-4 (Transport)
and divides it into packets. IP packet encapsulates data unit received from above layer and
add to its own header informa on.
IPV4 HEADER
IP header includes many relevant informa on including Version Number, which, in this
context, is 4. Other details are as follows –
IP Addresses
Every host and router on the Internet have an IP address, which encodes its network
number and host number. The combina on is unique: in principle, no two machines on the
Internet have the same IP address. All IP addresses are 32 bits long and are used in the
Source address and Des na on address fields of IP packets. It is important to note that an IP
address does not actually refer to a host. It really refers to a network interface, so if a host is
on two networks, it must have two IP addresses. However, in prac ce, most hosts are on one
network and thus have one IP address
Originally IP addresses were divided into five different categories called classes. These
divided IP classes are class A, class B, class C, class D, and class E. Out of these, classes A, B,
and C are most important. Each address class defines a different number of bits for
its network prefix (network address) and host number (host address). The star ng address
bits decide from which class an address belongs
Network Address: The network address specifies the unique number which is assigned to
your network. In the above figure, the network address takes two bytes of IP address.
Host Address: A host address is a specific address number assigned to each host machine.
With the help of the host address, each machine is iden fied in your network. The network
address will be the same for each host in a network, but they must vary in host address.
IP address formats
All IP addresses are 32 bits long and are used in the SOURCE ADDRESS and DESTINATION
ADDRESS fields of IP packets.
• For several decades, IP addresses were divided into the FIVE CATEGORIES.
• This alloca on has come to be called CLASSFUL ADDRESING.
CLASS A format allows for up to 128 networks with 16 million hosts each, B - 16,384
networks with up to 64K hosts, C – 2 million networks (e.g., LANs) with up to 256 hosts each
(although a few of these are special), and D is mul cast, in which a datagram is directed to
mul ple hosts.
Subnets
As more and more organiza ons run into this situa on, a small change was made to the
addressing system to deal with it. The solu on is to allow a network to be split into several
parts for internal use but s ll act like a single network to the outside world.
• A typical campus network nowadays might look like that of next slide, which a main
router connected to an ISP or regional network and numerous Ethernets spread around
campus in different departments.
Each of the Ethernets has its own router connected to main router. In the internet literature,
the parts of the network are called subnet.
SUBNET MASKS are also wri en in do ed decimal nota on, with the addi on of a slash
followed by the number of bits in THE NETWORK + SUBNET part.
CIDR – Classless Interdomain Rou ng
By using a single CIDR IP address many unique IP addresses can be designated. CIDR IP
address is the same as the normal IP address except that it ends with a slash followed by a
number.
NAT stands for network address transla on. It's a way to map mul ple local private
addresses to a public one before transferring the informa on. Organiza ons that want
mul ple devices to employ a single IP address use NAT, as do most home routers.
The problem of running out of IP addresses is not a theore cal problem that might occur at
some point in the distant future.
• It is happening right here and right now.
• The long-term solu on is for the whole internet to migrate to IPv6, which has 128 – bit
addresses. This transi on is slowly occurring, but it will be years before the process is
completed.
• As a consequence, some people felt that a quick fix was needed for the short term.
• This quick fix came in the form of NAT (Network Address Transla on) The basic idea
behind NAT is to assign each company a single IP address (or at most, a small number of
them) for Internet traffic.
Within the company, every computer gets a unique IP address, which is used for rou ng
intramural traffic However, when a packet exits the company and goes to the ISP, an address
transla on takes place.
• To make this scheme possible, three ranges of IP addresses have been declared as
private.
• Companies may use them internally as they wish
Placement and opera on of a NAT box
In addi on to IP, which is used for data transfer, the Internet has several control protocols
used in the network layer, including ICMP, ARP, RARP, BOOTP, and DHCP.
The opera on of the Internet is monitored closely by the routers. When something
unexpected occurs, the event is reported by the ICMP (Internet Control Message Protocol),
which is also used to test the Internet. About a dozen types of ICMP messages are defined.
The most important ones are listed in the Fig. Each ICMP message type is encapsulated in an
IP. Packet.
The TIME EXCEEDED message is sent when a packet is dropped because its counter has
reached zero. This event is a symptom that packets are looping, that there is enormous
conges on, or that the mer values are being set too low.
The PARAMETER PROBLEM message indicates that an illegal value has been detected in a
header field. This problem indicates a bug in the sending host’s IP so ware or possibly in the
so ware of a router transited.
The SOURCE QUENCH message was formerly used to thro le hosts that were sending too
many packets. When a host received this message, it was expected to slow down. It is rarely
used anymore because when conges on occurs, these packets tend to add more fuel to the
fire. Conges on control in the Internet is now done largely in the transport layer;
The REDIRECT message is used when a router no ces that a packet seems to be routed
wrong. It is used by the router to tell the sending host about the probable error.
The ECHO and ECHO REPLY messages are used to see if a given des na on is reachable and
alive. Upon receiving the ECHO message, the des na on is expected to send an ECHO REPLY
message back.
The TIMESTAMP REQUEST and TIMESTAMP REPLY messages are similar, except that the
arrival me of the message and the departure me of the reply are recorded in the reply.
This facility is used to measure network performance.
ARP is used to find the physical address of the node when its Internet address is known.
Any me a host. or a router needs to find the physical address of another host on its
network. it formats an ARP query packet that includes the IP address and broaden ts in over
the network.
Every host on the network receives and processes the ARP packet, but only the intended
recipient recognizes its internet address and sends back its physical address
The host holding the datagram adds the address of the target host both to its cache memory
and to the datagram header, then sends the datagram on its way.
ARP is a low-level protocol that uses the services of the MAC (Data Link) Layer, and as with
all protocols, is then encapsulated in a physical network frame.
WORKING OF ARP
1. When a host tries to interact with another host, an ARP request is ini ated. If the IP
address is for the local network, the source host checks its ARP cache to find out the
hardware address of the des na on computer
2. If the correspondence hardware address is not found, ARP broadcasts the request to all
the local hosts.
3. All hosts receive the broadcast and check their own IP address. If no match is discovered,
the request is ignored.
4. The des na on host that finds the matching IP address sends an ARP reply to the source
host along with its hardware address, thus establishing the communica on.
5. The ARP cache is then updated with the hardware address of the des na on host
• ARP Cache: A er resolving the MAC address, the ARP sends it to the cache stored in a
table for future reference. The subsequent
communica ons can use the MAC address from the table.
• ARP Cache Timeout: It is the me for which the MAC address in the ARP cache can reside.
• ARP request: Broadcas ng a packet over the network to validate
whether we came across the des na on MAC address or not.
• ARP response/reply: The MAC address response that the source
receives from the des na on aids in further communica on of the
data.
REVERSE ADDRESS RESOLUTION PROTOCOL (RARP)
RARP works much like ARP. The host wishing to retrieve its internet address
broadcast an RARP query packet that contains its physical address to every host on its
physical network.
A server on the network recognizes the RARP packet and returns the host's internet address
The TCP/IP protocol that allows a computer to obtain its IP address from a server is known as
the Reverse Address Resolu on Protocol (RARP).
RARP is adapted from the ARP protocol and uses the same message format. Like an ARP
message, a RARP message is sent from one machine to another encapsulated in the data
por on of a network frame.
METHOD
• Source Device “Generates RARP Request Message” – The source device generates a
RARP Request message.
• Source Device “Broadcasts RARP Request Message” – The source broadcasts the RARP
Request message on the local network.
• Local Devices “Process RARP Request Message” – The message is received by each
device on the local network and processed. Devices that are not configured to act as
RARP servers ignore the message.
• RARP Server Generates RARP Reply Message - Any device on the network that is a RARP
server responds to the broadcast from the source device. It generates a RARP Reply
• RARP Server Sends RARP Reply Message - The RARP server sends the RARP Reply
message unicast to the device looking to be configured.
• Source Device Processes RARP Reply Message - The source device processes the reply
from the RARP server. It then configures itself using the IP address in the Target Protocol
Address supplied by the RARP server.
To overcome some of the drawback of RARP, researcher developed the BOOT strap Protocol
(BOOTP). Later, the Dynamic Host Configura on Protocol (DHCP) was developed as a
successor to BOOTP. Because the two protocol are closely related. Because it uses UDP uses
IP, BOOTP can be implemented with an applica on program. Like RARP. BOOTP operates in
the client-server paradigm and requires only a single packet exchange. However, BOOTP is
more efficient than RARP because a single BOOTP message specific many items needed at
start-up. including a computer IP address, the address of a router, and the address of a
server. BOOTP also includes a vender-specific field in the reply that allows hardware vendors
to send addi onal informa on used only for their computers.
Dynamic Host Configura on Protocol (DHCP)
Dynamic Host Configura on Protocol (DHCP) is a network protocol that is used to configure
network devices to communicate on an IP network. A DHCP client uses the DHCP protocol
to acquire configura on informa on, such as an IP address, a default route, and one or more
DNS server addresses from a DHCP server.
DHCP (Dynamic Host Configura on Protocol). DHCP allows both manual IP address
assignment and automa c assignment. It is described in RFCs 2131 and 2132. In most
systems, it has largely replaced RARP and BOOTP.
• Dynamic Host Configura on Protocol (DHCP) is a network management protocol used to
dynamically assign an IP address to any device, or node, on a network so they can
communicate using IP (Internet Protocol).
• DHCP automates and centrally manages these configura ons. There is no need to
manually assign IP addresses to new devices. Therefore, there is no requirement for any
user configura on to connect to a DHCP based network.
• DHCP can be implemented on local networks as well as large enterprise networks. DHCP
is the default protocol used by the most routers and networking equipment. DHCP is also
called RFC (Request for comments).
• DHCP runs at the applica on layer of the TCP/IP protocol stack to dynamically assign IP
addresses to DHCP clients/nodes and to allocate TCP/IP configura on informa on to the
DHCP clients. Informa on includes subnet mask informa on, default gateway, IP
addresses and domain name system addresses.
• DHCP is based on client-server protocol in which servers manage a pool of unique IP
addresses, as well as informa on about client configura on parameters, and assign
addresses out of those address pools.
Open Shortest Path First (OSPF) is a rou ng protocol for Internet Protocol (IP) networks. It
uses a link state rou ng (LSR) algorithm and falls into the group of interior gateway protocols
(IGPs), opera ng within a single autonomous system (AS). Open Shortest Path First.
Communica on protocol. Purpose.
Internet is made up of a large number of Autonomous Systems (AS).
• Each AS is operated by a different organiza on and can use its own rou ng algorithm
inside. For example, the internal networks of companies X, Y, and Z are usually seen as
three ASes if all three are on the internet.
• All three may use different rou ng algorithms internally. A rou ng algorithm within an
AS is called an Interior Gateway Protocol. An algorithm for rou ng between ASes is
called an Exterior Gateway Protocol
Routers connect networks using the Internet Protocol (IP), and OSPF (Open Shortest Path
First) is a router protocol used to find the best path for packets as they pass through a set
of connected networks.
The original Internet interior gateway protocol was a distance vector protocol (RIP) based on
the Bellman-Ford algorithm inherited from the ARPANET. It worked well in small systems,
but less well as ASes got larger. It also suffered from the count-to-infinity problem and
generally slow convergence, so it was replaced in May 1979 by a link state protocol. In 1988,
the Internet Engineering Task Force began work on a successor. That successor, called OSPF
(Open Shortest Path First), became a standard in 1990. Most router vendors now support it,
and it has become the main interior gateway protocol.
A mul access network is one that can have mul ples routers on it, each of which can
directly communicate with all the others.
• All LANs and WANs have this property. AS containing all three kinds of networks. OSPF
operates by abstrac ng the collec on of actual networks, routers, and lines into a
directed graph in which each arc is assigned a cost (distance, delayed.).
• It then computes the shortest path based on the weight on the arcs.
During normal opera on, three kinds of routes may be needed: Intra-area, Interarea, and
Inter-AS.
• Intra-area routes are the easiest, since the source router already knows the shortest path
to the des na on router
• Interarea rou ng always proceeds in three steps:
a) Go from the source to the backbone;
b) Go across the backbone to the des na on area;
c) Go to the des na on
This figure shows part of the Internet with Ases and areas.
Between ASes, a different protocol, BGP (Border Gateway Protocol), is used. A different
protocol is needed between ASes because the goals of an interior gateway protocol and an
exterior gateway protocol are not the same. All an interior gateway protocol has to do is
move packets as efficiently as possible from the source to the des na on
Exterior gateway protocols in general, and BGP in par cular, have been designed to allow
many kinds of rou ng polices to be enforced in the inter AS traffic.
A few examples of rou ng constraints are:
BGP (Border Gateway Protocol) is the protocol underlying the global rou ng system of the
internet. It manages how packets get routed from network to network through the
exchange of rou ng and reachability informa on among edge routers.
Pairs of BGP routers communicate with each other by establishing TCP connec ons.
Opera ng this way provides reliable communica on and hides all the details of the network
being passed through.
BGP is fundamentally a distance vector protocol, but quite different from most others such
as RIP. Instead of maintaining just the cost to each des na on, each BGP router keeps track
of the path used. Similarly, instead of periodically giving each neighbor its es mated cost to
each possible des na on, each BGP router tells its neighbors the exact path it is using
As an example, consider the BGP routers shown in Fig. (a). In par cular, consider F's rou ng
table. Suppose that it uses the path FGCD to get to D. When the neighbors give it rou ng
informa on, they provide their complete paths, as shown in Fig. (b) (for simplicity, only
des na on D is shown here).
Characteris cs of BGP
1: It is an advanced distance vector protocol
2: It sends full rou ng updates at the start of the session, trigger updates are sent a erward
3: It maintains connec ons by sending periodic keep lives
4: It sends a triggered update when a keep alive, an update, or a no fica on is not received
5: It creates and maintains connec ons between peers using TCP port 179
6: It Has its own rou ng table, although it is capable of both sharing and inquiring of the
interior IP rou ng table
7: BGP uses a very complex metric, and is the source of its strength. The metric, referred to
as a ributes, allows great flexibility in path selec on
INTERNET MULTICASTING
Internet mul tasking can be defined as “any combina on of Internet use with other media
or non-media ac vi es” This includes both work and non-work- related ac vi es.
EXAMPLE: Responding to emails while listening to the television. Talking to someone person
to person while crea ng a plan for the day. Star ng two different projects at the same me.
Performing customer service tasks while taking care of data collec on.
MULTICASTING
In mul cast communica on, there is one source and a group of des na on. The
rela onship is one-to-many. In this type of communica on, the source address is a unicast
address. But the des na on address is a group address which defines one or more
des na ons. The group address iden fies the members of the group. A mul cast packet
starts from the source S1 and goes to all des na ons that belong to group G1. In
mul cas ng, when a router receives a packet, it may forward it through several of its
interfaces
1: Access to Distributed Databases: Most of the large databases today are distributed. That
is, the informa on is stored in more than one loca on, usually at the me of produc on.
2: Informa on Dissemina on: Businesses o en need to send informa on to their
customers. If the nature of the informa on is the same for each customer, it can be mul cast
3: Dissemina on of News: In a similar manner news can be easily disseminated through
mul cas ng. one single message can be sent to those interested in a par cular topic
4: Teleconferencing: It Involves mul cas ng. the individuals a ending a Teleconference all
need to receive the same informa on at the same me. temporary or permanent groups can
be formed for this purpose
5: Distance Learning: One growing area in the use of mul cas ng is Distance Learning.
Lesson taught by one single professor can be received by a specific group of students
Normal IP communica on is between one sender and one receiver. However, for some
applica ons it is useful for a process to be able to send to a large number of receivers
simultaneously. Examples are upda ng replicated, distributed databases, transmi ng stock
quotes to mul ple brokers, and handling digital conference (i.e., mul party) telephone calls.
IP supports mul cas ng, using class D addresses. Each class D address iden fies a group of
hosts. Twenty-eight bits are available for iden fying groups, so over 250 million groups can
exist at the same me. When a process sends a packet to a class D address, a best-efforts
a empt is made to deliver it to all the members of the group addressed, but no guarantees
are given. Some members may not get the packet.
Mul cas ng is implemented by special mul cast routers, which may or may not be
collocated with the standard routers. About once a minute, each mul cast router sends a
hardware (i.e., data link layer) mul cast to the hosts on its LAN (address 224.0.0.1) asking
them to report back on the groups their processes currently belong to. Each host sends back
responses for all the class D addresses it is interested in.
These query and response packets use a protocol called IGMP (Internet Group Management
Protocol), which is vaguely analogous to ICMP. It has only two kinds of packets: query and
response, each with a simple, fixed format containing some control informa on in the first
word of the payload field and a class D address in the second word.
IPv6
IPv6 (Internet Protocol version 6) is a set of specifica ons from the Internet
Engineering Task Force (IETF) that's essen ally an upgrade of IP version 4 (IPv4). The basics
of IPv6 are similar to those of IPv4 -- devices can use IPv6 as source and des na on
addresses to pass packets over a network, and tools like ping work for network tes ng as
they do in IPv4, with some slight varia ons. A main advantage of IPv6 is increased address
space. The 128-bit length of IPv6 addresses is a significant gain over the 32-bit length of IPv4
addresses, allowing for an almost limitless number of unique IP addresses. The size of the
IPv6 address space makes it less vulnerable to malicious ac vi es such as IP scanning. IPv6
packets can support a larger payload than IPv4 packets resul ng in increased throughput
and transport efficiency. IPv6 also supports auto-configura on to help correct most of the
shortcomings in version 4, and it has integrated security and mobility features.
Traffic Class (8-bits): These 8 bits are divided into two parts. The most significant 6 bits are
used for Type of Service to let the Router Known what services should be provided to this
packet. The least significant 2 bits are used for Explicit Conges on No fica on (ECN).
Flow Label (20-bits): This label is used to maintain the sequen al flow of the packets
belonging to a communica on. The source labels the sequence to help the router iden fy
that a par cular packet belongs to a specific flow of informa on. This field helps avoid re-
ordering of data packets. It is designed for streaming/real- me media.
Payload Length (16-bits): This field is used to tell the routers how much informa on a
par cular packet contains in its payload. Payload is composed of Extension Headers and
Upper Layer data. With 16 bits, up to 65535 bytes can be indicated; but if the Extension
Headers contain Hop-by-Hop Extension Header, then the payload may exceed 65535 bytes
and this field is set to 0.
Next Header (8-bits): This field is used to indicate either the type of Extension Header, or if
the Extension Header is not present then it indicates the Upper Layer PDU. The values for
the type of Upper Layer PDU are same as IPv4’s.
Hop Limit (8-bits): This field is used to stop packet to loop in the network infinitely. This is
same as TTL in IPv4. The value of Hop Limit field is decremented by 1 as it passes a link
(router/hop). When the field reaches 0 the packet is discarded.
Source Address (128-bits): This field indicates the address of originator of the packet
Des na on Address (128-bits): This field provides the address of intended recipient of the
packet.
Extension Headers
Extension headers carry op ons that are used for special treatment of a packet in the
network, e.g., for rou ng, fragmenta on, and for security using the IPsec framework
1: Larger Address Space: Address filed in IPv6 is 128 bits long while the address filed of IPv4
is only 32 bits in length IPv6 offers very large, i.e. 296 address space as compared to IPv4
2: Be er Header Format: The header of IPv6 has been designed in a way to speed up the
rou ng process. In header of IPv6 op ons are separated from the base header. op ons are
inserted into base header only when required by the upper-layer data
3: Provision for Extension: IPv6 has been designed in a way that a protocol can be extended
easily to meet the requirements of emerging technologies or new applica ons
4: Resource Alloca on Support in IPv6: IPv6 provides a mechanism called flow label for
resource Alloca on. Flow label enables source to send request for the special handling of a
packet. This mechanism is really helpful in real - me audio and video transmission
5: Security Features: To ensure confiden ality and packet's integrity encryp on and
authen ca on op ons are included in IPv6
ICMPv6
Internet Control Message Protocol version 6 (ICMPv6) is the implementa on of the Internet
Control Message Protocol (ICMP) for Internet Protocol version 6 (IPv6). ICMPv6 is an integral
part of IPv6 and performs error repor ng and diagnos c func ons.
Internet Control Message Protocol (both ICMPv4 and ICMPv6) is a protocol which acts as a
communica on messenger protocol between the communica ng devices in IP network.
ICMP messages provide feedback, error repor ng and network diagnos c func ons in IP
network which are necessary for the smooth opera on of IPv6 ICMPv6 is a new version of
the ICMP that forms an integral pan of the IPv6 architecture. ICMPv6 message are
transported within an IPv6 packet that may include IPv6 extension within header
Func on of ICMPv6
ICMPv6 Messages
1: Error Messages: ICMPv6 error messages are used to report errors in the forwarding or
delivery of IPv6 packets. The ICMPv6 "Type field'' values for the error message are between
O and 127.
2: Informa on Messages: ICMPv6 informa onal messages are used for network diagnos c
func ons and addi onal cri cal network func ons like Neighbour Discovery. Router
Solicita on & Router Adver sement, Mul cas ng Memberships. Echo Request and Echo
Reply are also ICMPv6 informa on messages. ICMPv6 informa onal messages have values
for the Type field (8-bit binary number) between 128 and 255.
ICMPv6 ADVANTAGES
✓ Provides more address space (which is being needed in larger business scales- example
Comcast)
✓ More powerful internet (128bit versus IPv4's current 32 bit)
✓ Offers and overall larger scale internet-which again will be needed in the future
✓ Address alloca on is done by the device itself
✓ Support for security using (IPsec) Internet Protocol Security
The zeroes tell you which bytes indicate the host; in this case, 12 zeroes allow for 212 = 4096
different IP addresses within the subnet. Of these, two (the first and the last) are unusable
for a host, so you have a maximum of 4094 hosts.
The zeroes tell you which bytes indicate the host; in this case, 12 zeroes allow for 212 = 4096
different IP addresses within the subnet. Of these, two (the first and the last) are unusable
for a host, so you have a maximum of 4094 hosts.
The zeroes tell you which bytes indicate the host; in this case, 12 zeroes allow for 212 = 4096
different IP addresses within the subnet. Of these, two (the first and the last) are unusable
for a host, so you have a maximum of 4094 hosts.
The zeroes tell you which bytes indicate the host; in this case, 12 zeroes allow for 212 = 4096
different IP addresses within the subnet. Of these, two (the first and the last) are unusable
for a host, so you have a maximum of 4094