Chapter-1-part-2
Chapter-1-part-2
• Internet
Internet Corporation
CorporationforforAssigned
AssignedNames
Namesand Numbers
and Numbers (ICANNICANN
) is a nonprofit
private organization, created on September 18, 1998 and incorporated on
September 30, 1998 to oversee a number of tasks previously performed directly
on behalf of the U.S. government by other organizations, notably the Internet
Assigned Numbers Authority (IANA) which ICANN now operates.
ICANN’s Role
• ICANN is responsible for the coordination of the
global internet’s unique identifiers.
• to ensure the secure and stable operation of these
systems.
• ICANN staff does not create policy; they support
and provide resources to the worldwide community,
who determine Internet policy in a “bottom-up”
manner.
• ICANN mandate is to make competition and choice
available in a safe, secure operating environment.
| 4
DNS: Contracts – ICANN Funding
| 5
ICANN Structure
+ Supporting Organizations (SOs)
• Address Supporting Organization (ASO)
• Country Code Names Supporting Organization - 155 members (ccNSO)
• Generic Names Supporting Organization (GNSO)
+ Board of Directors‘Advisory Committees (ACs)
• Governmental Advisory Committee (GAC)
• At-Large Advisory Committee (ALAC)
• DNS Root Server System Advisory Committee (RSSAC)
• Security & Stability Advisory Committee (SSAC)
+ Technical Advisory Bodies
• Technical Liaison Group, made up of the European Telecommunications Standards Institute
(ETSI), the ITU-T, the World Wide Web Consortium (W3C), and the Internet Architecture
Board (IAB).
• Internet Engineering Task Force
| 6
Fully qualified domain name (FQDN)
Hosts and LMHosts files
• There are two files in the %systemroot%\system32\drivers\etc
directory that can be used for name resolution.
• The Hosts file, used for DNS name resolution, and the LMHosts.sam
file used for NetBIOS name resolution.
• In an age where DNS dominates your network both locally and
throughout the Internet, these two files are seldom ever used, but they
can be very useful in a few situations.
• Both are simple text files that match names to IP addresses, and are
very easy to create and implement.
• Most people are familiar with these files, but are often unsatisfied
when they do not work as expected.
• This is usually due to the fact that they have some very simple, but
specific requirements, for them to work at all.
TCP and UDP
• The two most common Transport layer protocols are TCP/IP protocol suite are Transmission
Control Protocol (TCP) and User Datagram Protocol (UDP).
• TCP/IP can be used to provide remote login over the network for interactive file transfer to
deliver email, to deliver webpages over the network, and to remotely access a server host's
file system.
• User Datagram Protocol (UDP) is a simple, connectionless protocol.
• In other words, UDP offers no assurance that packets will be received in the correct sequence.
– It can be useful in situations in which a great volume of data must be transferred quickly,
such as live audio or video transmissions over the Internet.
– It has the advantage of providing for low overhead data delivery.
– The pieces of communication in UDP are called datagrams.
– These datagrams are sent as "best effort" by this Transport layer protocol.
• Applications that use UDP include:
– Domain Name System (DNS)
– Video Streaming
– Voice over IP (VoIP)
11
TCP and UDP
• Transmission Control Protocol (TCP)
– TCP is a connection-oriented protocol.
– TCP incurs additional overhead to gain functions.
– Additional functions specified by TCP are the same order
delivery, reliable delivery, and flow control.
– Each TCP segment has 20 bytes of overhead in the
header encapsulating the Application layer data, whereas
each UDP segment only has 8 bytes of overhead.
• Applications that use TCP are:
– Web Browsers
– E-mail
– File Transfers
12
Port Addressing
• The TCP and UDP based services keep track of the
various applications that are communicating.
• To differentiate the segments and datagrams for each
application, both TCP and UDP have header fields that
can uniquely identify these applications.
• These unique identifiers are called port numbers.
• In the header of each segment or datagram, there is a
source and destination port.
• The source port number is the number for this
communication associated with the originating
application on the local host.
• The destination port number is the number for this
communication associated with the destination
application on the remote host. 13
Port Addressing
• Port numbers are assigned in various ways, depending on
whether the message is a request or a response.
• While server processes have static port numbers assigned to
them, clients dynamically choose a port number for each
conversation.
• The destination port contained in the header is the port number
that is assigned to the service inspiring running on the remote
host.
• It is configured, either by default or manually.
• The source port in a segment or datagram header of a client
request is randomly generated from port numbers greater than
1023.
• Acts like a return address for the requesting application.
• The requesting application port number is used as the destination
port number in the response coming back from the server. 14
15
Port Addressing
• The combination of the Transport layer port number and the
Network layer IP address assigned to the host uniquely
identifies a particular process running on a specific host
device.
• This combination is called a socket.
• A socket pair, consisting of the source and destination IP
addresses and port numbers, is also unique and identifies the
conversation between the two hosts.
• For example, an HTTP web page request being sent to a web
server (port 80) running on a host with a Layer 3 IPv4 address
of 192.168.1.20 would be destined to socket 192.168.1.20:80.
• If the web browser requesting the web page is running on host
192.168.100.48 and the Dynamic port number assigned to the
web browser is 49152, the socket for the web page would be
192.168.100.48:49152.
16
Port Addressing
• There are different types of port numbers:
• Well Known Ports (Numbers 0 to 1023)
• These numbers are reserved for services and applications.
• They are commonly used for applications such as HTTP (web
server) POP3/SMTP (e-mail server) and Telnet.
• Registered Ports (Numbers 1024 to 49151)
• And also these port numbers are assigned to user processes or
applications.
• Dynamic or Private Ports (Numbers 49152 to 65535)
• Also known as Ephemeral Ports, these are usually assigned
dynamically to client applications when initiating a connection.
• Some applications may use both TCP and UDP.
• For example, the low overhead of UDP enables DNS to serve
many client requests very quickly.
• The well known port number of 53 is used by both protocols.17
1028 23 23 1028
20
Segmentation and Reassembly
• UDP is not concerned with the order in which the
information was transmitted, or in maintaining a connection.
• There is no sequence number in the UDP header.
• UDP is a simpler design and generates less overhead than
TCP, resulting in a faster transfer of data.
• Information may arrive in a different order than it was
transmitted because different packets may take different
paths through the network.
• An application that uses UDP must tolerate the fact that data
may not arrive in the order in which it was sent.
21
The TCP Protocol - Communicating
with Reliability
• The key difference between TCP and UDP is reliability.
• The reliability of TCP communication is performed using
connection-oriented sessions.
• A complete TCP conversation requires the establishment of
a session between the hosts in both directions.
• After a session has been established, the destination sends
acknowledgements to the source for the segments that it
receives.
• These acknowledgements form the basis of reliability within
the TCP session.
22
The TCP Protocol - Communicating
with Reliability
• As the source receives an acknowledgement, it knows that the
data has been successfully delivered.
• If the source does not receive an acknowledgement within a
predetermined amount of time, it retransmits that data to the
destination.
• Part of the additional overhead of using TCP is the network
traffic generated by acknowledgements and retransmissions.
• The establishment of the sessions creates overhead in the form of
additional segments being exchanged.
23
The UDP Protocol
• UDP - Low Overhead vs. Reliability
• UDP is a simple protocol that provides the basic Transport layer
functions.
• It has much lower overhead than TCP, since it is not connection-
oriented and does not provide the sophisticated retransmission,
sequencing, and flow control mechanisms.
• key Application layer protocols that use UDP include:
– Domain Name System (DNS)
– Simple Network Management Protocol (SNMP)
– Dynamic Host Configuration Protocol (DHCP)
– Routing Information Protocol (RIP)
• The low overhead of UDP makes it very desirable for such
applications.
24
UDP Datagram Reassembly
• Because UDP is connectionless, sessions are not established before
communication takes place as they are with TCP.
• UDP is said to be transaction-based.
• In other words, when an application has data to send, it simply
sends the data.
• The UDP PDU is referred to as a datagram.
• When multiple datagrams are sent to a destination, they may take
different paths and arrive in the wrong order.
• UDP does not keep track of sequence numbers the way TCP does.
• UDP has no way to reorder the datagrams into their transmission
order.
• Therefore, UDP simply reassembles the data in the order that it was
25
received and forwards it to the application.
UDP Server Processes and Requests
• Like TCP-based applications, UDP-based server
applications are assigned Well Known or Registered
port numbers.
• When these applications or processes are running,
they will accept the data matched with the assigned
port number.
• When UDP receives a datagram destined for one of
these ports, it forwards the application data to the
appropriate application based on its port number.
26
UDP Client Processes
• The UDP client process randomly selects a port number from the
dynamic range of port numbers and uses this as the source port for the
conversation.
• The destination port will usually be the Well Known or Registered
port number assigned to the server process.
• Because there is no session to be created with UDP, as soon as the
data is ready to be sent and the ports are identified.
• UDP can form the datagram and pass it to the Network layer to be
addressed and sent on the network.
• Once a client has chosen the source and destination ports, the same
pair of ports is used in the header of all datagrams used in the
transaction.
• For the data returning to the client from the server, the source and
27
destination port numbers in the datagram header are reversed.
Comparison of TCP and UDP
• Both TCP and UDP use port numbers
• Both split up application data if necessary
• TCP sets up a connection
• TCP uses acknowledgements and re-sends
• TCP uses flow control
• TCP can re-assemble segments in the right order if
they arrive out of sequence
• UDP has less overhead so is faster.
28
Comparison of TCP and UDP
UDP TCP
• Connectionless • Connection oriented
• Message based, data is sent in • Stream based, data is sent with no
discrete packages particular structure
• Unreliable, best effort delivery • Reliable delivery of messages; all
without acknowledgements data is acknowledged
• Retransmission is not performed • Lost data is retransmitted
• No flow control mechanism automatically.
• Overhead is very low • Flow control using sliding window
• Transmission speed is very high • Low but higher than UDP
• Used where data delivery speed • High, but not as high as UDP
matters more than completeness • Used where data completeness and
• Applications & protocols like reliability matters most
multimedia data, DNS, BOOTP, • Applications & protocols like FTP,
DHCP, TFTP, SNMP, RIP, etc. Telnet, SMTP, DNS, HTTP, POP,
BGP(Border Gateway Protocol) 29
etc.
• BOOTP, Bootstrap Protocol, is used to configure the host and
get the host address along with bootstrap info.
• DHCP, Dynamic Host Configuration Protocol Server is an
extended version of BOOTP and is used to configure the hosts
dynamically.
• Today, BOOTP has been largely superseded and is rarely used.
You may find it in some older devices, on some antiquated
network printers, or some legacy diskless hosts. It was
originally defined in RFC 951, a standard that has been
obsoleted several times.
30
What is APIPA (Automatic Private
IP Addressing)?
31
Connections
• Layers can offer connection-oriented or
connectionless services.
• Connection-oriented like telephone system.
• Connectionless like postal system.
• Each service has an associated Quality-of-
service (e.g. reliable or unreliable).
Reliability
• Reliable services never lose/corrupt data.
• Reliable service costs more.
• Typical application for reliable service is file
transfer.
• Typical application not needing reliable service
is voice traffic.
• Not all applications need connections.
7-Layer OSI Model
Layer 7 Application Layer • Layers 1-4 relate to
Layer 6 Presentation Layer
communications technology.
• Layers 5-7 relate to user
Layer 5 Session Layer
applications.
Layer 4 Transport Layer The Open Systems
Layer 3 Network Layer Interconnection (OSI) model
describes seven layers that
Layer 2 Data Link Layer computer systems use to
Layer 1 Physical Layer communicate over a network.
Physical Hardware
An exchange using the OSI model
2.36
Layer 7: Application Layer
• Level at which applications access network
services.
– Represents services that directly support software
applications for file transfers, database access, and
electronic mail etc.
Application layer
2.38
Layer 6: Presentation Layer
• Related to representation of transmitted data
– Translates different data representations from the
Application layer into uniform standard format
• Providing services for secure efficient data
transmission
– e.g. data encryption, and data compression.
Presentation layer
2.40
Layer 5: Session Layer
• Allows two applications on different computers to
establish, use, and end a session.
– e.g. file transfer, remote login
• Establishes dialog control
– Regulates which side transmits, plus when and how long it
transmits.
• Performs token management and synchronization.
Session layer
2.44
Layer 3: Network Layer
• Manages addressing/routing of data within the
subnet
– Addresses messages and translates logical addresses and
names into physical addresses.
– Determines the route from the source to the destination
computer
– Manages traffic problems, such as switching, routing, and
controlling the congestion of data packets.
• Routing can be:
– Based on static tables
– determined at start of each session
– Individually determined for each packet, reflecting the
current network load.
Network layer
2.49
What simple utility is used to test for an active
TCP IP device?
• The below-mentioned commands are some of the most useful
commands required to troubleshoot network problems and configure
network settings.
✓ NETSTAT
✓ IPCONFIG. ...
✓ NSLOOKUP. ...
✓ HOSTNAME. ...
✓ PING. ...
✓ TRACERT. ...
✓ ARP(Address Resolution Protocol) ...
✓ SYSTEM INFO
50
What are frames in the OSI model?
• In the OSI model of computer networking, a frame is the
protocol data unit at the data link layer.
• Frames are the result of the final layer of encapsulation before
the data is transmitted over the physical layer.
• In networking, there exist two types of frames: fixed-
length and variable-length frames.
• In fixed-length framing, the size of the frame works as
the delimiter.
• Hence there is no need to set a boundary for the frame.
In variable-length framing, it's difficult to determine the
start and end of a frame.
51
Cont,…
❑ The netstat command generates displays that show network status
and protocol statistics, You can display the status of TCP and UDP
endpoints in a table format, routing table information, and interface
information.
52
TRACERT
❑ TRACERT (Trace Route) - This command will show how long each
link in a route takes, as well as show links that fail to pass packets
to the next link.
• Successful transfers of data will report the total time to the
destination
❑ nbtstat - The name of this utility is NetBIOS over TCP/IP
Statistics. Not very enlightening.
-You need to know that your computer will typically hold the names
and IP addresses of several devices in memory.
-Sometimes those devices go offline, and others come online.
-This may make it desirable to check what is in memory.
53
NSLOOKUP
• NSLOOKUP - This can be used to report the IP address of a DNS
name.
• It does not send a ping to the named server.
• The example in the text shows that the command will result in two
responses in the format: Server: server name
Address: IP address
Name: DNS name
Address: IP address
•The first pair of responses are about the DNS server on your network.
The second pair are about the DNS name you are looking up.
•When I tried this with nslookup microsoft.com, I received two IP
addresses in the line about Microsoft's server. Not unexpected, since a
busy network will have more than one server responding to requests.
•hostname - This command will respond with the name of your device
in your domain.
54
Explosion of New Internet Appliances
Do We Really Need a Larger Address Space?
IP Address Allocation History
1981 - IPv4 protocol published 100.00%
90.00%
1985 ~ 1/16 of total space 80.00%
57
IPv6 Advanced Features
• Security - Built-in, strong IP-layer encryption and
authentication
• Mobility - More efficient and robust mechanisms
• Quality of Service
• Privacy Extensions for Stateless Address
Autoconfiguration (RFC 3041)
• Source address selection
58
Cont,…
• The IP address 127.0. 0.1 is called a loopback address.
Packets sent to this address never reach the network but
are looped through the network interface card only.
• This can be used for diagnostic purposes to verify that
the internal path through the TCP/IP protocols is
working.
• The IP address range 127.0. 0.0 – 127.255. 255.255
is reserved for loopback, i.e. a Host's self-address, also
known as localhost address. This loopback IP address is
managed entirely by and within the operating system.
59