Transcript Slide 1
COM850 Computer Hacking and Security
Lecture 2. Network Basics
Prof. Taeweon Suh
Computer Science & Engineering
Korea University
Open Systems Interconnection (OSI)
• International Standards Organization (ISO) is a
multinational body dedicated to worldwide agreement on
international standards.
Almost three-fourths of countries in the world are represented in
the ISO.
• An ISO standard that covers all aspects of network
communications is the Open Systems Interconnection
(OSI) model.
It was first introduced in the late 1970s.
• The OSI model is a layered framework for the design of
network systems that allows communication between all
types of computer systems
2
Korea Univ
OSI 7 Layers
, POP3, IMAP
•
•
•
•
•
•
•
Physical: transmit bits over a medium
Data link: organize bits into a frame
Network: move packets from source to destination
Transport: provide reliable process-to-process
message delivery
Session: establish, manage, and terminate
sessions
Presentation: translate, encrypt and compress data
Application: allow access to the network resources
3
Korea Univ
TCP/IP Protocol Suite
• The TCP/IP protocol suite was developed prior to the OSI model
Thus, the layer in TCP/IP do not match exactly with those in OSI
4
Korea Univ
Encapsulation
5
Korea Univ
OSI Layers
client
•
•
Router A
Router B
server
As a message travels from A to B, it may pass through many intermediate nodes.
These intermediate nodes usually involve only the first three layers of the OSI model
6
Korea Univ
Ethernet
• Local Area Network (LAN) is a computer network
designed for a limited geographic area such as a
building or a campus
• Most LANs are linked to a wide area network (WAN)
or the Internet
• There are several technologies for LAN such as
Ethernet, Token ring, Token bus, FDDI and ATM
LAN
• Ethernet is by far the dominant technology
7
Korea Univ
Ethernet Frame
MAC (Media Access
Control) addresses
CRC: Cyclic Redundancy Checking
8
Korea Univ
Ethernet Type Field
9
Source: http://www.networkdictionary.com/networking/EtherType.php
Korea Univ
Internet Protocol (IP)
• IP is the transmission mechanism at the network layer
• IP is an unreliable and connectionless datagram protocol
– best-effort delivery
Each datagram is handled independently, and each datagram
can follow a different route to the destination
It implies that datagrams sent by the same source to the same
destination could arrive out of order
IP packets can be corrupted, lost, arrived out of order or delayed
Packets in the network layer are called datagrams
10
Korea Univ
IP Datagram
TTL
•
•
•
•
Version (VER): IPv4 or IPv6
Header Length (HLEN): 20 (5 x 4) or 60 (15 x 4) depending on options
Service Type (TOS): cost, reliability, throughput, delay
Total length: header + data in bytes (max 65535 B)
•
Max. size of data field, Maximum Transfer Unit (MTU), differs from one physical network to another
Ethernet LAN: 1500B, FDDI LAN: 4352B, PPP: 296B
ID, Flags, and Fragmentation offset are used in fragmentation
11
Korea Univ
IPv4 Addresses
• The identifier used in the IP layer, to identify each
device connected to the Internet is called Internet
address, or IP address
• IPv4 address is 32-bit long
The address space of IPv4 is 232, or 4,294,967,296
• IPv4 addresses are unique and universal
• IP addresses use the concept of classes
Classful addressing
• In the mid-1990s, a new architecture called classless
addressing was introduced
Classless addressing supersedes the classful addressing
12
Korea Univ
Classful Addressing
13
Korea Univ
Classful Addressing
•
•
netid defines network. Network address is used in routing a packet to its destination network
hostid defines a particular host on the network
•
Class A: 128 (27) blocks that can be assigned to 128
organizations, each block has 16,777,216 addresses
•
Class B: 16,384 (214) blocks, each block has 65536 addresses
•
Millions of class A address are wasted
Many class B addresses are wasted
Class C: 2,097,152 (221) blocks, each block has 256 addresses
Not so many organizations are so small to have a class C block
14
Korea Univ
Classless Addressing
• Solutions to the IP address depletion problem
IPv6: 128-bit (or 16B) long
Classless addressing: use IPv4, but change the distribution of
addresses to provide a fair share to each organization
• In classless addressing, variable-length blocks are used that
belong to no classes
Prefix defines network, and suffix defines host
The prefix length can be 1 to 32
Slash notation, formally
referred to as Classless
Interdomain Routing (CIDR)
15
Korea Univ
Examples
• One of the addresses in a block is 17.63.110.114/24
Number of addresses: 256
First address in the block: 17.63.110.0
Last address in the block: 17.63.110.255
• One of the addresses in a block is 110.23.120.14/20
Number of addresses: 4096
First address in the block: 110.23.112.0
Last address in the block: 17.63.127.255
16
Korea Univ
Special Addresses
Source: 0.0.0.0
Destination: 255.255.255.255
• 0.0.0.0/32
Reserved for communication when a
host does not know its own address
Normally used at bootstrap time to
get IP from DHCP server
Packet
• 255.255.255.255/32
Reserved for limited broadcast
address in the current network
Network
221.45.71.64/24
221.45.71.20/24
221.45.71.126/24
221.45.71.178/24
• 127.0.0.0/8
Used for the loopback address,
which is an address used to test the
software on a machine
17
Korea Univ
Special Addresses
• Private addresses
A number of blocks are assigned for private use. They
are not recognized globally. These addresses are
used either in isolation or in connection with network
address translation (NAT) techniques
• Multicast addresses
224.0.0.0/4 is reserved for multicast communication
18
Korea Univ
Special Addresses in Each block
•
Network Address: the first address (with the suffix set all to 0s) in a block
defines the network address.
•
It defines the network itself and not any host in the network
Direct Broadcast Address: the last address in a block
It is usually used by a router to send a packet to all hosts in a specific network
All hosts will accept a packet having this type of destination address
This address can be used only as a destination address in an IPv4 packet
Network: 221.45.71.0/24
221.45.71.64/24
221.45.71.126/24
221.45.71.178/24
221.45.71.20/24
Packet
19
Korea Univ
TTL
• TTL is used for controlling the maximum number of hops
(routers) visited by the datagram
When a source host sends the datagram, it stores a number in TTL,
which is approximately 2X the max. number of hops between any 2
hosts
TTL is needed because routing tables in the Internet can become
corrupted, resulting in packet’s looping or cycling the network
endlessly.
• TTL is used intentionally to limit the journey of the packet
If the source wants to confine the packet to the local network, it
can store 1 in TTL
20
Korea Univ
Transmission Control Protocol (TCP)
• TCP is connection-oriented
It establishes a virtual path between the source and
destination.
• All of the segments belonging to a message are then sent
over this virtual path.
You may wonder how TCP, which uses the services of
IP, a connectionless protocol, can be connectionoriented.
• A TCP connection is virtual, not physical.
• TCP uses the services of IP to deliver individual segments to
the receiver, but it controls the connection itself. If a
segment is lost or corrupted, it is retransmitted
21
Korea Univ
TCP
•
•
•
•
Header Length (HLEN): 20 (5 x 4) or 60 (15 x 4) depending on options
Window Size: Normally receiving window (rwnd) in bytes
Checksum: Used to detect errors over the entire user datagram (header + data)
Urgent Pointer
Valid only if the URG flag is set.
Used when the segment contains urgent data
Define a value that must be added to the sequence number to obtain the number of the last urgent
byte in the data section of the segment
22
Korea Univ
Port Addresses
• The local host and the remote host are defined using IP addresses
• To define the client and server programs, the 2nd IDs are needed.
They are called port numbers
• In TCP/IP, the port numbers are integers between 0 and 65,535
The server uses well-known port numbers, which are less than 1,024
A client program on the local computer defines itself with a port number
(called ephemeral port number), chosen randomly by the TCP software.
23
Korea Univ
TCP Control Field
• PSH: Should be processed
immediately
• URG: Urgent data
• RST: Reset the connection
Deny a connection request
Abort an existing
connection
Terminate an idle
connection
24
Korea Univ
IP + TCP
25
Korea Univ
TCP Connection Establishment
seq: 8000
UAPRS F
SYN
seq: 15000
ack: 8001
nd: 5000
w
r
F
S
R
P
A
U
SYN + ACK
seq: 8000
ack: 15001
UAPRS F
rwnd: 10000
ACK
26
Korea Univ
SYN Flooding Attack
•
A SYN flood tries to exhaust states in the TCP/IP stack
•
Attackers flood the victim’s system with many SYN packets, using spoofed
non-existing source addresses
•
Since TCP maintains “reliable” connections, each connection needs to be tracked
somewhere; The TCP/IP stack in the kernel handles this, but it has a finite table that
can only track so many incoming connections
Victim machine sends a SYN/ACK packet to the non-existing IP address and never get
the ACK response
A kind of denial-of-service (DoS) attacks
27
Korea Univ
TCP Connection Termination with 3-way
Handshaking
28
Korea Univ
Notes
• A SYN can’t carry data, but it consumes one
sequence number
• A SYN + ACK segment can’t carry data, but it
consumes one sequence number
• An ACK segment, if carrying no data, consumes no
sequence number
• The FIN segment consumes one sequence number if
it does not carry data
• The FIN + ACK segment consumes one sequence
number if it does not carry data
29
Korea Univ
Data Transfer with TCP
Connection Termination
30
Korea Univ
Flow Control
Client
Messages
are pushed
1
Server
5
Flow control
feedback
3 Messages
are pulled
2
Segements are pushed
4
Flow control feedback
31
Korea Univ
Flow Control Example
32
Korea Univ
TCP Retransmission Timer
• To control a lost or discarded segment, TCP employs a
retransmission timer that handles the retransmission
time.
When TCP sends a segment, it creates a retransmission timer for
that particular segment
• If the timer goes off before the acknowledgement arrives, the segment
is retransmitted and the timer is reset
• TCP uses the dynamic retransmission time,
A retransmission time is different for each connection
A retransmission time may be different during the same
connection
• The most common retransmission time: 2 x RTT
33
Korea Univ
Round Trip Time (RTT) Calculation
• 2 methods
TCP uses the timestamp option
• 10-B option
TCP sends a segment, start a timer, and waits for an acknowledge
• Measure the time between the sending of the segment and the receiving of
the acknowledgement
• RTT = α x previous RTT + (1 - α) x current RTT (α usually
90%)
34
Korea Univ
Hubs
•
•
•
A hub is no more than a repeating device operating on the layer 1
(physical layer) of the OSI model
A hub takes packets sent from one port and transmits (repeats) them to
every other port on the device
A hub can generate a lot of unnecessary traffic and are capable of
operating only in half-duplex mode, it is not typically used in most modern
networks (switches are used instead)
35
Korea Univ
Switches
• Like a hub, a switch is designed to repeat packets
• Unlike a hub, a switch (full-duplex device) sends data to only the
computer for which the data is intended (rather than broadcasting
data to every port)
• Switches operate on the layer 2 (data link layer) of the OSI model
• Switches store the layer 2 address (MAC address) of every
connected device in a CAM table
36
Korea Univ
Routers
• Routers operate on the layer 3 (Network layer) of the OSI model
Routers use IP addresses (layer 3) to uniquely identify devices on a
network
37
Korea Univ
Traffic Classification
•
Broadcast
A broadcast traffic is one that is sent to all ports on a network segment
• Each broadcast domain extends until it reaches the router
• Broadcast packets circulate only within specified broadcast domain
•
•
Layer 2 broadcast: the MAC address, FF:FF:FF:FF:FF:FF is the reserved broadcast
address
Layer 3 broadcast: The highest possible IP address is reserved for use as the
broadcast address
• IP: 192.168.0.xxx
• Subnet mask: 255.255.255.0
• Broadcast address: 192.168.0.255
Multicast
Unicast
38
Korea Univ
Router Paths and Packet Switching
• As a packet travels from one networking device to another
The Source and Destination IP addresses NEVER change
The Source and Destination MAC addresses CHANGE as packet is
forwarded from one router to the next
TTL field decrement by one until a value of zero is reached at
which pointer router discards packet (prevents packets from
endlessly traversing the network)
Source: CISCO Network Academy
39
Korea Univ
http://www.cisco.com/en/US/products/hw/routers/ps282/products_tech_note09186a008035b051.shtml
40
Korea Univ
Path Determination and Switching
Example
• PC1 wants to send something to PC2
Step 1: PC1 encapsulates packet into a frame; The frame
contains R1’s destination MAC address
Source: CISCO Network Academy
41
Korea Univ
Path Determination and Switching
Example
• Step 2:
R1 sees that the destination MAC address matches its own MAC
R1 then strips off Ethernet frame
R1 examines destination IP
R1 consults routing table looking for destination IP
• After finding destination IP in routing table, R1 now looks up the next
hop address
R1 re-encapsulates IP packet with a new Ethernet frame
R1 forwards Ethernet packet out Fa0/1 interface
Source: CISCO Network Academy
42
Korea Univ
Path Determination and Switching
Example
Source: CISCO Network Academy
Korea Univ
Path Determination and Switching
Example
• Step 3 - Packet arrives at R2
R2
R2
R2
R2
R2
receives Ethernet frame
sees that destination MAC address matches its own MAC
then strips off Ethernet frame
examines destination IP
consults routing table looking for destination IP
• After finding destination IP in routing table, R2 now looks up the next hop IP
address
R2 re-encapsulates IP packet with a new data link frame
R2 forwards Ethernet packet out S0/0 interface
Source: CISCO Network Academy
44
Korea Univ
Path Determination and Switching
Example
•
Step 4 – Packet arrives at R3
R3
R3
R3
R3
receives PPP frame
then strips off PPP frame
examines destination IP
consults routing table looking for destination IP
• After finding destination IP in routing table, it figures out that R3 is directly connected to
destination via its fast Ethernet interface
•
R3 re-encapsulates IP packet with a new Ethernet frame
R3 forwards Ethernet packet out Fa0/0 interface
Step 5 – IP packet arrive at PC2
Frame is decapsulated and processed by upper layer protocols
Source: CISCO Network Academy
45
PPP (Point-to-Point Protocol)
Korea Univ
Network Address Translation (NAT)
• NAT is a technology providing the mapping between the
private and universal addresses
Source: 172.18.3.1
172.18.3.1
Source: 200.24.5.8
172.18.3.2
Internet
172.18.3.20
Destination: 172.18.3.1
Site using private addresses
46
Destination: 200.24.5.8
Korea Univ
Network Address Translation (NAT)
200.24.5.8
Use port numbers for a many-to-many
communication between private network
hosts and external server programs
47
Korea Univ
Address Resolution Protocol (ARP)
• ARP (Address Resolution Protocol)
In TCP/IP, a protocol for obtaining the physical address of
a node when the Internet address is known
Type: 0x0806
Preamble
and SFD
Destination
address
Source
address
Type
8 bytes
6 bytes
6 bytes
2 bytes
48
Data
CRC
4 bytes
Korea Univ
Example
49
Korea Univ
ARP Redirection
• ARP cache poisoning
No state info about the ARP traffic is kept in a system
Attacker sends spoofed ARP replies to certain devices
• ARP cache is overwritten with attacker’s MAC address
50
Korea Univ
Domain Name Service (DNS)
• People prefer to use names instead of numeric addresses
• So, need a system that maps a name to an address or an
address to a name
User
1
Host
name
2
Host
name
5
IP address
6
IP address
3
Query
Response
4
Transport layer
51
Korea Univ
POP3, SMTP
• POP3: Post Office Protocol, Version 3
• IMAP4: Internet Mail Access Protocol, Version 4
• SMTP: Simple Mail Transfer Protocol
for communication between the sender and the sender’s mail server
for communication between the 2 mail servers
52
Korea Univ
Backup Slides
53
Korea Univ
Linksys Router – WRT54G
54
Korea Univ
Packet Analysis Programs
• tcpdump
• OmniPeek
• Wireshark
55
Korea Univ
Regarding Multicast
• Every Ethernet frame with its destination in the range 01-005e-00-00-00 ~ 01-00-53-ff-ff-ff contains data for a multicast
group
The prefix 01-00-5e identifies the frame as multicast
The next bit is always 0
So, the upper 25 bits in MAC address are fixed. Only the lower 23
bits (among 48-bit MAC addr) are used for the multicast address
• Multicast groups are 28-bits long (244.0.0.0/4)
The lower 23-bit of the IP multicast group are placed in the frame
(The 5 high-order bits are ignored), resulting in 32 different
multicast groups being mapped to the same Ethernet address
http://www.tldp.org/HOWTO/Multicast-HOWTO-2.html
56
Korea Univ