CSCE 510 - Systems Programming Lecture 01 - Template CSCE 510 Jan 14, 2013.
CSCE 201 - Farkas1 CSCE 201 Computer Networks. CSCE 201 - Farkas2 Reading Assignment Required: –...
-
Upload
alexis-jordan -
Category
Documents
-
view
239 -
download
2
Transcript of CSCE 201 - Farkas1 CSCE 201 Computer Networks. CSCE 201 - Farkas2 Reading Assignment Required: –...
CSCE 201 - Farkas 2
Reading AssignmentReading Assignment
Required:– Security Awareness: Chapter 3
Recommended:– Internet Society (ISOC) homepage, http://www.isoc.org – Computer Network,
http://en.wikipedia.org/wiki/Computer_network – Easttom: Chapter 2
CSCE 201 - Farkas 3
Before InternetBefore Internet Isolated, local packet-switching networks
– only nodes on the same network could communicate Each network is autonomous:
– different services
– different interfaces
– different protocols
CSCE 201 - Farkas 4
Before Internet (cont)Before Internet (cont)ARPANET: sponsored by Defense Advanced Research Projects Agency (DARPA):• 1969: interconnected 4 hosts• 1970: host-to-host protocol: Network Control Protocol (NCP)• 1972: first application: e-mail
Univ. of California at LA (UCLA)
Stanford Research Institute (SRI)
Univ. of California at Santa Barbara (UCSB)
Univ. of Utah
CSCE 201 - Farkas 5
InternetInternetConnect Existing Networks: ARPANET, Packet Radio, and Packet Satellite NCP not sufficient Develop new protocol 1970s: Transmission Control Protocol (Kahn and Vinton)
– Based on packet switching technology– Good for file transfer and remote terminal access
Divide TCP into 2 protocols– Internet Protocol (IP): addressing and forwarding of packets– Transmission Control Protocol (TCP): sophisticated services, e.g. flow control, recovery
1980: TCP/IP adopted as a DoD standard 1983: ARPANET protocol officially changed from NCP to TCP/IP 1985: Existing Internet technology 1995: U.S. Federal Networking Council (FNC) define the term Internet
CSCE 201 - Farkas 6
Goals (Clark’88)Goals (Clark’88)Connect existing networks
1. Survivability
2. Support multiple types of services
3. Must accommodate a variety of networks
4. Allow distributed management
5. Allow host attachment with a low level of effort
6. Be cost effective
7. Allow resource accountability
CSCE 201 - Farkas 7
Internet ChallengeInternet Challenge Interconnected networks differ (protocols,
interfaces, services, etc.) Solutions:
1. Reengineer and develop one global packet switching network standard: not economically feasible
2. Have every host implement the protocols of any network it wants to communicate with: too complex, very high engineering cost
3. Add an extra layer: internetworking layer Hosts: one higher-level protocol Network connecting use the same protocol Interface between the new protocol and network
CSCE 201 - Farkas 8
LayeringLayering
Organize a network system into logically distinct entities– the service provided by one layer is based only
on the service provided by the lower level entity
CSCE 201 - Farkas 9
Without LayeringWithout Layering
Each application has to be implemented for every network technology!
SMTP FTP HTTP
Coaxial cable
Fiberoptic
Application
TransmissionMedia
CSCE 201 - Farkas 10
With LayeringWith LayeringIntermediate layer provides a unique abstraction
for various network technologies
SMTP FTP
Coaxial cable
Fiberoptic
Application
TransmissionMedia
HTTP
Intermediate layer
CSCE 201 - Farkas 11
LayeringLayering
Advantages– Modularity – protocols easier to manage and maintain– Abstract functionality –lower layers can be changed
without affecting the upper layers– Reuse – upper layers can reuse the functionality
provided by lower layers
Disadvantages– Information hiding – inefficient implementations
CSCE 201 - Farkas 12
TCP/IP Networking ModelTCP/IP Networking ModelTCP/IP has a different layered model
Network Access LayerPhysical ConnectionLAN Connection
Internetwork Layer (IP)WAN ConnectivityUnreliable Datagram Service
Transport Layer (TCP)Error CorrectionReliable Connection
Application Layer
CSCE 201 - Farkas 13
Network Access LayerNetwork Access Layer Responsible for physical connection
– Shape– Size– Voltages
Responsible for rules of how to put bits on the “wire” These are the building blocks for the network The goal of the physical layer is to move information
across one “hop”
CSCE 201 - Farkas 14
Internet LayerInternet Layer Transports data from one end-user system to another
end-user systems by hopping across as many physical connections as necessary
Provides a mechanism to connect many LANs together effectively
Connectionless and unreliable datagram protocol Protocols:
– Internet Protocol– Routing Protocol– Supporting Protocol
CSCE 201 - Farkas 15
IP HeaderIP Header
Comments– HLen – header length only in 32-bit words (5 <= HLen <= 15)– TOS (Type of Service): now split in
Differentiated Service Field (6 bits) remaining two bits used by ECN (Early Congestion Notification)
– Length – the length of the entire datagram/segment; header + data– Flags: Don’t Fragment (DF) and More Fragments (MF)– Fragment offset – all fragments excepting last one contain multiples of 8 bytes– Header checksum - uses 1’s complement
Version HLen TOS Length
Identification Fragment offsetFlags
Source address
Destination address
TTL Protocol Header checksum
0 4 8 16 19 31
Options (variable)
20 bytes
CSCE 201 - Farkas 16
IP AddressesIP Addresses IP provides logical address space and a corresponding
addressing schema IP address is a globally unique or private number
associated with a host network interface Every system which will send packets directly out
across the Internet must have a unique IP address IP addresses are based on where station is connected IP addresses are controlled by a single organization -
address ranges are assigned They are running out of space!
CSCE 201 - Farkas 17
Routing ProtocolsRouting Protocols
• Enable routing decisions to be made• Manage and periodically update routing tables, stored at each router • Autonomous collection of routers:
•Under single administration•Use same routing protocol: Interior Gateway Protocol (IGP)•Use Exterior Gateway Protocol (EGP) to communicate other systems
• Router : “which way” to send the packet closer. (Keep routing table small and allow to handle unlimited number of systems.)• Protocol types:
•Reachability•Distance vector
CSCE 201 - Farkas 18
Supporting ProtocolsSupporting Protocols
Handle specific tasks– Address Resolution Protocol (ARP)– Reverse Address Resolution Protocol (RARP)– Internet Control Message Protocol (ICMP)– Internet Group Management Protocol (IGMP)
CSCE 201 - Farkas 19
The Domain Name SystemThe Domain Name System Each system connected to the Internet also has one or
more logical addresses. Unlike IP addresses, the domain address have no
routing information - they are organized based on administrative units
There are no limitations on the mapping from domain addresses to IP addresses
CSCE 201 - Farkas 20
Domain Name ResolutionDomain Name Resolution Domain Name Resolution: looking up a logical name
and finding a physical IP address There is a hierarchy of domain name servers Each client system uses one domain name server
which in turn queries up and down the hierarchy to find the address
If your server does not know the address, it goes up the hierarchy possibly to the top and works its way back down
CSCE 201 - Farkas 21
Transport Layer (TCP)Transport Layer (TCP) Present a reliable end-to-end pipe to the application Data either arrives in the proper order or the
connection is closed Keeps buffers in the sending and destination system to
keep data which has arrived out of order or to retransmit if necessary
Provides individual connections between applications
CSCE 201 - Farkas 22
TCP Connection EstablishmentTCP Connection Establishment Three-way handshake
– Goal: agree on a set of parameters: the start sequence number for each side
Client (initiator) Server
SYN, SeqNum = x
SYN and ACK, SeqNum = y and Ack = x + 1
ACK, Ack = y + 1
CSCE 201 - Farkas 23
Application LayerApplication Layer Uses the reliable TCP connections to accomplish
useful work over the network– client-server applications– standard applications
telnet (port 23) mail (port 25) finger (port 79) ftp (port 21)
Each application uses a “port” and a protocol Each port can have many connections