tcp/ip tcp/ip basics alvin kwan. tcp/ip what is tcp/ip? it is a protocol suite governing how data...

42
TCP/IP TCP/IP Basics Alvin Kwan Alvin Kwan

Post on 19-Dec-2015

241 views

Category:

Documents


4 download

TRANSCRIPT

TCP/IP

TCP/IP BasicsTCP/IP Basics

Alvin KwanAlvin Kwan

TCP/IP

What is TCP/IP?What is TCP/IP?

It is a protocol suite governing how data can It is a protocol suite governing how data can be communicated in a network environment, be communicated in a network environment, both local and globally.both local and globally.

To remind you what a protocol is, please read To remind you what a protocol is, please read http://www.leapforum.org/published/internetwhttp://www.leapforum.org/published/internetworkMobility/split/node10.htmlorkMobility/split/node10.html to learn a particular protocol known as ARQ to learn a particular protocol known as ARQ (automatic repeat request) protocol(automatic repeat request) protocol

TCP/IP

OSI vs. TCP/IPOSI vs. TCP/IP

TCP/IP

History of TCP/IP (1/2)History of TCP/IP (1/2)

Stands for Stands for Transmission Control Transmission Control Protocol/Internet ProtocolProtocol/Internet Protocol (TCP/IP)(TCP/IP)

Developed by Defense Advanced Research Developed by Defense Advanced Research Projects Agency (DARPA) under the Projects Agency (DARPA) under the sponsorship of U.S. Department of Defense sponsorship of U.S. Department of Defense (DoD) in since late 1960s(DoD) in since late 1960s

1972 – 1972 – TelnetTelnet 1973 – 1973 – File Transfer ProtocolFile Transfer Protocol (FTP) (FTP) 1974 – 1974 – Transmission Control ProtocolTransmission Control Protocol (TCP) (TCP)

TCP/IP

History of TCP/IP (2/2)History of TCP/IP (2/2)

1980 – 1980 – User Datagram ProtocolUser Datagram Protocol (TCP) (TCP) 1981 – 1981 – Internet ProtocolInternet Protocol (IP) (IP) 1982 – TCP/IP as a protocol suite1982 – TCP/IP as a protocol suite 1984 – 1984 – Domain Name SystemDomain Name System (DNS) (DNS) 1991 – Transfer of funding responsibility from 1991 – Transfer of funding responsibility from

DAPRA to DAPRA to National Science FoundationNational Science Foundation (NSF), which started to turn the military (NSF), which started to turn the military originated protocols into civic use, notably in originated protocols into civic use, notably in education sector education sector

TCP/IP

Some TCP/IP featuresSome TCP/IP features

It is an open standard, which is also adopted by the It is an open standard, which is also adopted by the Internet.Internet.

It offers a routable protocol such that the path of It offers a routable protocol such that the path of every piece of data that moves through the network is every piece of data that moves through the network is traceable.traceable.

It adopts a single and simple addressing scheme It adopts a single and simple addressing scheme which is easy to understandwhich is easy to understand

IP is a connectionlessIP is a connectionless protocol with data transferred protocol with data transferred in individual packets without prior arrangement with in individual packets without prior arrangement with the recipient whereas the recipient whereas TCP is connection-orientedTCP is connection-oriented..

TCP/IP

Connectionless vs. Connection-oriented Protocols (1/2)

Connectionless vs. Connection-oriented Protocols (1/2)

Connectionless protocolsConnectionless protocols• The data communication method occurs between The data communication method occurs between

hosts with no previous setuphosts with no previous setup• Send data across the network to its destination without Send data across the network to its destination without

guaranteeing receiptguaranteeing receipt• Higher layers handle packet sequencing and certain Higher layers handle packet sequencing and certain

data integrity control issuesdata integrity control issues• Fast; require little overheadFast; require little overhead• Most LAN protocols at the data link layer are Most LAN protocols at the data link layer are

connectionlessconnectionless• Data packets in a connectionless communication over Data packets in a connectionless communication over

the network layer are referred to as the network layer are referred to as datagramsdatagrams

More to follow …

TCP/IP

Connectionless vs. Connection-oriented Protocols (2/2)

Connectionless vs. Connection-oriented Protocols (2/2)

Connection-oriented protocolsConnection-oriented protocols• Establish a formal connection between two Establish a formal connection between two

computers, guaranteeing the data will reach its computers, guaranteeing the data will reach its destinationdestination

• Higher layers can rely on low layers to handle Higher layers can rely on low layers to handle matters of packet sequencing, data integrity, and matters of packet sequencing, data integrity, and delivery timeoutsdelivery timeouts

• Slower but more reliable Slower but more reliable • ATM networks are connection oriented at the ATM networks are connection oriented at the

data link layerdata link layer

TCP/IP

Network Interface Layer (1/3)Network Interface Layer (1/3)

Lowest layer in the TCP/IP stackLowest layer in the TCP/IP stack To define how a computer connects to a To define how a computer connects to a

networknetwork It does not regulate the type of network that It does not regulate the type of network that

the host is on and thus TCP/IP can be run on the host is on and thus TCP/IP can be run on an Ethernet, Token Ring or Fiber Distributed an Ethernet, Token Ring or Fiber Distributed Data Interface (FDDI) or any other network Data Interface (FDDI) or any other network topologytopology

TCP/IP

Network Interface Layer (2/3)Network Interface Layer (2/3)

Physical (or MAC) address, which is burnt Physical (or MAC) address, which is burnt into every network interface card (NIC)into every network interface card (NIC)

MAC address is usually represented in 12 MAC address is usually represented in 12 hexadecimal digits (or 48 bits)hexadecimal digits (or 48 bits)• First six hexadecimal digits uniquely represent First six hexadecimal digits uniquely represent

the manufacturerthe manufacturer

• Last six hexadecimal digits is a unique serial Last six hexadecimal digits is a unique serial number that the card’s manufacturer has number that the card’s manufacturer has assigned to the NICassigned to the NIC

TCP/IP

Network Interface Layer (3/3)Network Interface Layer (3/3)

For a TCP/IP packet to be delivered, it must For a TCP/IP packet to be delivered, it must contain the destination node’s MAC address so contain the destination node’s MAC address so that a host can check whether the packet is that a host can check whether the packet is directed to it.directed to it.

A A broadcast packetbroadcast packet is designed to be attended is designed to be attended by all hosts and it has a target MAC address of by all hosts and it has a target MAC address of FFFFFFFF, i.e., all bits set.FFFFFFFF, i.e., all bits set.

TCP/IP

Exercise: Finding Ethernet Card Manufacturer

Exercise: Finding Ethernet Card Manufacturer

Get the MAC address by executing “ipconfig /all” Get the MAC address by executing “ipconfig /all” in a Microsoft command window.in a Microsoft command window.

Look for the first six hexadecimal digits of the Look for the first six hexadecimal digits of the physical address which is the physical address which is the Organizational Organizational Unique IdentifierUnique Identifier (OUI) (OUI)

Go to Go to http://http://standards.ieee.org/regauth/oui/index.shtmlstandards.ieee.org/regauth/oui/index.shtml

and use the OUI to check the Ethernet card and use the OUI to check the Ethernet card manufacturermanufacturer

TCP/IP

The Internet LayerThe Internet Layer

The internal layer contains protocols for The internal layer contains protocols for addressing and routing of packets.addressing and routing of packets.• Internet Protocol (IP)Internet Protocol (IP)

• Address Resolution Protocol (ARP)Address Resolution Protocol (ARP)

• Internet Control Message Protocol (ICMP)Internet Control Message Protocol (ICMP)

• Internet Group Message Protocol (IGMP)Internet Group Message Protocol (IGMP)

• Routing protocols (e.g., RIP)Routing protocols (e.g., RIP)

TCP/IP

Internet Protocol (1/2)Internet Protocol (1/2)

To determine the source and destination IP To determine the source and destination IP addresses of every packet, every host on a addresses of every packet, every host on a network is assigned a unique IP address network is assigned a unique IP address (logical address)(logical address)

IP address is divided into two parts: network IP address is divided into two parts: network number and host address on that networknumber and host address on that network

Based on the subnet mask and IP address, it Based on the subnet mask and IP address, it can be decided whether the target is a can be decided whether the target is a “remote” host or a “local” host (and details will “remote” host or a “local” host (and details will be given later)be given later)

TCP/IP

Internet Protocol (2/2)Internet Protocol (2/2)

For a remote host, IP needs to send the For a remote host, IP needs to send the packet through a gateway or a router (which packet through a gateway or a router (which is also identified by an IP address).is also identified by an IP address).

IP is connectionless and thus support an IP is connectionless and thus support an unreliable transmissionunreliable transmission

TCP/IP

Address Resolution Protocol (ARP)Address Resolution Protocol (ARP)

Protocol to resolve an IP address to a physical Protocol to resolve an IP address to a physical address (see details in address (see details in WikipediaWikipedia))

The hardware address will be cached for a short The hardware address will be cached for a short time (2-10 minutes).time (2-10 minutes).

To resolve an IP address to a physical addressTo resolve an IP address to a physical address• Try the ARP cache (kept in RAM)Try the ARP cache (kept in RAM)• If not found in cache, initiate an ARP request If not found in cache, initiate an ARP request

broadcast and keep the result in cachebroadcast and keep the result in cache• Try the command “ARP –A” in a command Try the command “ARP –A” in a command

windowwindow

TCP/IP

ARP CommandARP Command

TCP/IP

Internet Control Message Protocol (ICMP)

Internet Control Message Protocol (ICMP)

For sending error messages, performing For sending error messages, performing diagnostics and controlling data flow diagnostics and controlling data flow

Try “ping cite.hku.hk” to test the network Try “ping cite.hku.hk” to test the network connection to another hostconnection to another host

TCP/IP

Ping CommandPing Command

TCP/IP

Internet Group Message Protocol (IGMP)

Internet Group Message Protocol (IGMP)

IGMP enables one host to send one stream of IGMP enables one host to send one stream of data to many hosts at the same time with the data to many hosts at the same time with the use of a multicast addressuse of a multicast address

Some routing protocols use IGMP to Some routing protocols use IGMP to exchange routing tables (which will be exchange routing tables (which will be discussed later)discussed later)

TCP/IP

Routing Protocols (More discussion on routing in another lesson)

Routing Protocols (More discussion on routing in another lesson)

Routing Information Protocol (RIP)Routing Information Protocol (RIP)• Simple IP-based routing protocol that collects Simple IP-based routing protocol that collects

and exchange information about network route and exchange information about network route and statusand status

• Only suitable for small networksOnly suitable for small networks Open Shortest Path First (OSPF)Open Shortest Path First (OSPF)

• Typically used by routers to determine the best Typically used by routers to determine the best path through a networkpath through a network

TCP/IP

Transport LayerTransport Layer

Transmission Control Protocol (TCP)Transmission Control Protocol (TCP)• Primary IP transport protocolPrimary IP transport protocol

• Connection-oriented and thus guarantee a more Connection-oriented and thus guarantee a more reliable deliveryreliable delivery

• Use port numbers to identify communicating Use port numbers to identify communicating applicationsapplications

• Responsible for message fragmentation and Responsible for message fragmentation and reassembly (with the use of sequence number)reassembly (with the use of sequence number)

User Datagram Protocol (UDP)User Datagram Protocol (UDP)• A connectionless transport protocol which runs fasterA connectionless transport protocol which runs faster

continued

TCP/IP

Transmission Control ProtocolTransmission Control Protocol

TCP adopts a 3-way handshake to establish a TCP adopts a 3-way handshake to establish a connection for data communication.connection for data communication.• The client application sends a SYN to the The client application sends a SYN to the

server. server.

• In response, the server replies with a SYN-In response, the server replies with a SYN-ACK. ACK.

• Finally the client sends an ACK (usually called Finally the client sends an ACK (usually called SYN-ACK-ACK) back to the server. SYN-ACK-ACK) back to the server.

TCP/IP

TCP/IP ApplicationsTCP/IP Applications

Domain Name System (DNS)Domain Name System (DNS)• For URL to IP-address translationFor URL to IP-address translation

File Transfer Protocol (FTP)File Transfer Protocol (FTP)• Application protocol for file transfer and directory/file Application protocol for file transfer and directory/file

manipulation servicesmanipulation services TelnetTelnet

• For remote terminal sign-onFor remote terminal sign-on Simple Mail Transport Protocol (SMTP)Simple Mail Transport Protocol (SMTP)

• Provide messaging services (i.e., sending e-mails)Provide messaging services (i.e., sending e-mails)

continued

TCP/IP

IP AddressingIP Addressing

IP is responsible for addressing and routing in the IP is responsible for addressing and routing in the TCP/IP environmentTCP/IP environment

IP addressesIP addresses• Logical addresses, which are 32 bits (4 bytes) longLogical addresses, which are 32 bits (4 bytes) long• A decimal number from 0 to 255, separated by periods, A decimal number from 0 to 255, separated by periods,

represents each byte or octetrepresents each byte or octet• Two sectionsTwo sections

One defines the network a computer is on (i.e. One defines the network a computer is on (i.e. network IDnetwork ID)) One defines the host ID for a computer (i.e. One defines the host ID for a computer (i.e. host IDhost ID))

• All devices on the same network share the same All devices on the same network share the same common network IDcommon network ID

• Example: 172.24.206.18Example: 172.24.206.18

TCP/IP

Classful Network (1/3) Classful Network (1/3)

Originally, three classes of IP addresses (which is Originally, three classes of IP addresses (which is obsolete on modern internet)obsolete on modern internet)• Class AClass A

Large corporationsLarge corporations ID numbers between 1 and 126 (in its first octet, or 8 bits)ID numbers between 1 and 126 (in its first octet, or 8 bits)

• Class BClass B Medium-sized networksMedium-sized networks Network IDs between 128 and 191 (in its first octet, or 8 bits)Network IDs between 128 and 191 (in its first octet, or 8 bits)

• Class CClass C Small networksSmall networks Range from 192 to 223 (in its first octet, or 8 bits)Range from 192 to 223 (in its first octet, or 8 bits)

IP address registries manage the total collection of valid IP address registries manage the total collection of valid IP addressesIP addresses

TCP/IP

Classful Network (2/3) Classful Network (2/3)

TCP/IP

Classful Network (3/3) Classful Network (3/3)

The number of valid networks and hosts The number of valid networks and hosts available is always 2available is always 2NN - 2 (where N is the - 2 (where N is the number of bits used, and the 2 adjusts for the number of bits used, and the 2 adjusts for the invalidity of the first and last addresses). invalidity of the first and last addresses).

TCP/IP

Subnetting (1/2)Subnetting (1/2)

Subnetting allows a single larger network to Subnetting allows a single larger network to have a number of smaller networks within it have a number of smaller networks within it by allocating bits from the host portion as a by allocating bits from the host portion as a network portion. network portion.

TCP/IP

Subnetting (2/2)Subnetting (2/2)

A subnet mask is made of a sequence of 1’s A subnet mask is made of a sequence of 1’s followed by a sequence of 0’s.followed by a sequence of 0’s.

To reduce network traffic, routers are usually To reduce network traffic, routers are usually used to separate subnets.used to separate subnets.

Questions:Questions:• How many subnets can be formed in the How many subnets can be formed in the

previous example for a classful network?previous example for a classful network?• What is the size of each subnet for a classful What is the size of each subnet for a classful

network in the previous example?network in the previous example?

TCP/IP

Problem of Classful NetworkProblem of Classful Network

The principal problem was that most sites The principal problem was that most sites were too big for a "class C" network number, were too big for a "class C" network number, and received a "class B" number instead. and received a "class B" number instead. With the rapid growth of the Internet, the With the rapid growth of the Internet, the available pool of class B addresses was available pool of class B addresses was rapidly used up. rapidly used up.

To solve the problem, classful network was To solve the problem, classful network was replaced by classless inter-domain routing replaced by classless inter-domain routing (CIDR) around 1993.(CIDR) around 1993.

TCP/IP

Classless Inter-domain Routing (CIDR)

Classless Inter-domain Routing (CIDR)

A more efficient way to assign IP addresses than A more efficient way to assign IP addresses than using IP address “classes”using IP address “classes”

The network and host addresses boundary is not The network and host addresses boundary is not always made on octet boundaries, but may be always made on octet boundaries, but may be made any specific number of bits from the made any specific number of bits from the beginning of the addressbeginning of the address

A slash following IP address is used to indicate A slash following IP address is used to indicate the number of bits of the network ID, e.g., the number of bits of the network ID, e.g., 192.203.187.32 /22192.203.187.32 /22

Steal bits from the network address for use in the Steal bits from the network address for use in the host address and this is also called host address and this is also called supernettingsupernetting

TCP/IP

Class RangesClass Ranges

TCP/IP

Special Ranges of IP AddressSpecial Ranges of IP Address

TCP/IP

Supernetting ExampleSupernetting Example

TCP/IP

Without SupernettingWithout Supernetting

TCP/IP

With SupernettingWith Supernetting

TCP/IP

Pros and Cons of CIDRPros and Cons of CIDR

AdvantagesAdvantages• Subnet ID may now be all 0’s or 1’sSubnet ID may now be all 0’s or 1’s

• Avoid of wasting a number of IP addresses Avoid of wasting a number of IP addresses when subnetting a Class C addresswhen subnetting a Class C address

DisadvantageDisadvantage• Router support is neededRouter support is needed

• Complexity Complexity

TCP/IP

Exercise: Network CalculatorExercise: Network Calculator

Go to Go to http://www.subnetmask.info/http://www.subnetmask.info/ to try to to try to use the network calculator for computing the use the network calculator for computing the subnet mask. subnet mask.

TCP/IP

Why IPv6Why IPv6

IP addresses are rapidly becoming scarceIP addresses are rapidly becoming scarce TCP/IP’s technical governing body has TCP/IP’s technical governing body has

reserved a series of addresses for private reserved a series of addresses for private networksnetworks

IETF is working on a new implementation of IETF is working on a new implementation of TCP/IP (IPv6) that uses addresses that are 8 TCP/IP (IPv6) that uses addresses that are 8 bytes long but retain backward compatibility bytes long but retain backward compatibility with IPv4 4-byte addresses with IPv4 4-byte addresses

TCP/IP

Dynamic Host Configuration Protocol (DHCP)

Dynamic Host Configuration Protocol (DHCP)

A TCP/IP protocol that allows automatic IP A TCP/IP protocol that allows automatic IP addresses and subnet mask assignmentaddresses and subnet mask assignment

Major benefit is ease with which computers Major benefit is ease with which computers can be movedcan be moved

Not suitable for systems that require a static Not suitable for systems that require a static address, such as web serversaddress, such as web servers

A dedicated host, which can be a router or a A dedicated host, which can be a router or a computer, to take the role of DHCP servercomputer, to take the role of DHCP server

TCP/IP

ReferencesReferences

Relevant pages in WikipediaRelevant pages in Wikipedia http://www.firewall.cx/supernetting-intro.phphttp://www.firewall.cx/supernetting-intro.php http://www.wown.com/j_helmig/tcpip.htmhttp://www.wown.com/j_helmig/tcpip.htm http://www.yale.edu/pclt/COMM/TCPIP.HTMhttp://www.yale.edu/pclt/COMM/TCPIP.HTM http://www.ii.uib.no/~magnus/TCP-1.html http://www.ii.uib.no/~magnus/TCP-1.html

http://www.pcsupportadvisor.com/search/c04100.htmhttp://www.pcsupportadvisor.com/search/c04100.htm