Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS-328 A Networking Primer

Similar presentations


Presentation on theme: "CS-328 A Networking Primer"— Presentation transcript:

1 CS-328 A Networking Primer
Internet Programming TCP/IP CS-328

2 OSI Network Model 7 6 5 4 3 2 1 Application Layer Presentation Layer
Provides the interface to a set of network-wide services. Provides such services as: file transfer access and management, document and Message interchange, job transfer, etc. 6 Presentation Layer Provides a syntax independent message interchange service. Provides for data representation conversion and syntax negotiation. 5 Session Layer Provides the control structure for communication between applications. Establishes, manages, and terminates sessions between applications. 4 Transport Layer Provides a message transfer facility independent of underlying network. Provides for end-to-end message transfer. Deals with connection management, fragmentation, flow control, error control. 3 Network Layer Breaks data into information packets. Provides a virtual packet carrying end-to-end connection. Deals with routing, addressing, call setup, buffering, and flow control. 2 Data Link Layer Breaks data into information frames. Provides a data link that is free of undetected transmission errors. Deals with framing, data transparency, error control, flow control 1 Physical Layer Deals with bits. Provides a virtual bit pipe. Provides for the transmission of bit streams over physical medium. Deals with mechanical, electrical, functional, & procedural aspects of medium. CS-328

3 LANs Local Area Networks Layers 1 and 2 of the OSI model
A collection of peer computers connected together with a common wire protocol Ethernet Token Ring for the purpose of local communications Printer sharing File sharing Usually connected together in the same geographical area Each host identified by its Media Access Control (MAC) address CS-328

4 2 Peers Connected Together
PC NIC NIC PC R R Crossover Cable Peer Connections like this are ok for connecting two computers together, connecting additional computers together requires the creation of a Local Area Network (LAN) CS-328

5 LAN ethernet ethernet ethernet HUB STAR Topology ethernet ethernet
CS-328

6 Ethernet (CSMA/CD) Polite Human Communication
Listen before speaking, if someone else is speaking wait for them to finish While speaking, if someone else starts speaking, stop speaking This collision detection Carrier Sense Multi Access w/Collision Detection Carrier Sense is how you tell if someone else is already talking While sending, listen to the receive if you hear someone a collision is occurring so hold off and try later CS-328

7 Ethernet Cable CS-328

8 An internetwork LAN LAN LAN LAN WAN LA LAN LAN LAN CS-328

9 Internetworks A network of networks Hubs let you build LANs
To join LANs into a WAN requires a device that works at the Network Layer of the OSI model to bridge the multiple networks This is usually an IP Router Could also be a Switch or a Bridge CS-328

10 TCP/IP Transmission Control Protocol and Internet Protocol (TCP/IP)
software suite that enables a single, standards based approach to communications for a heterogeneous wide area network CS-328

11 Layering Network protocols are usually developed in layers
TCP/IP protocol suite is a combination of a set of protocols operating at the various layers CS-328

12 TCP/IP Layers Application Telnet, FTP, SMTP.... Transport TCP, UDP
Network IP, ICMP,IGMP Link device driver and interface card ARP/RARP CS-328

13 Link Layer Handles all of the details of physically connecting a machine to the network network card device driver for the card operating system Protocols Address Resolution Protocol (ARP) Reverse Address resolution Protocol (RARP) CS-328

14 NetworkLayer handles the movements of packets around the network
routing takes place in the network layer protocols Internet Protocol (IP) Internet Control Message Protocol (ICMP) Internet Group Management Protocol (IGMP) CS-328

15 Transport Layer provides a flow of data between two hosts for the application layer Transmission Control Program (TCP) Reliable Delivery System User Datagram Protocol (UDP) also known as Unreliable Datagram Protocol CS-328

16 Application Layer handles details of the particular application
common applications: Telnet for remote login File Transfer Protocol (FTP) Simple Mail Transfer Protocol (SMTP) Simple Network Management (Protocol) Ping DateTime CS-328

17 TCP and UDP TCP UDP reliable data flow connection based
receipt acknowledgement packet sizing timeouts checksuming connection based telephone metaphor call another host caller knows if answered UDP sends datagrams (packets) fast no guarantees connectionless mailbox metaphor datagram is a letter put letter into mailbox hope someone picks it up CS-328

18 TCP Frame 16 bit Source Port number 16 bit Destination Port Number
32 bit Sequence Number 32 bit Acknowledgement Number 4 bit Data Offset 6 bit reserved 1 bit Urgent Flag (URG) 1 bit Acknowledgement Field is valid (ACK) 1 bit Push Function (PSH) 1 bit Reset connection (RST) 1 bit Synchronized sequence numbers (SYN) 1 bit No more data from sender (FIN) 16 bit Window field (# of bytes sender is willing to accept) 16 bit checksum (one’s complement sum of all 16 bit words in the header and data) 16 bit urgent pointer (add to sequence # of this segment, this pointer to last octet of urgent data options - padding data CS-328

19 TCP Connection - Establish
TCP establishes a connection between two hosts by performing a 3-way handshake, this will establish a virtual connection between the two hosts Host 1 Host 2 Network Messages Send SYN seq=x Receive SYN segment Send SYN seq=y, ACK x+1 Receive SYN + ACK segment Send ACK y+1 Receive ACK Segment CS-328

20 TCP Connection - Closing
Network Messages Send FIN seq=x Receive FIN segment Send ACK x+1 Receive ACK segment Send FIN ,ACK seq=x+1 Receive FIN + ACK segment Send ACK y+1 Receive ACK Segment CS-328

21 Client/Server and TCP/IP
FTP Protocol FTP Client FTP Server TCP Protocol TCP TCP IP Protocol IP IP Ethernet Protocol Ethernet driver Ethernet driver Ethernet CS-328

22 IP Routing and protocol conv.
FTP Protocol FTP Client FTP Server TCP Protocol TCP TCP Router IP Protocol IP Protocol IP IP IP Ethernet driver Ethernet driver Token ring driver Token ring Driver Ethernet Token Ring CS-328

23 A Clearer Picture User Process User Process User Process User Process
Application TCP UDP Transport ICMP IP IGMP Network Hardware Interface ARP RARP Link media CS-328

24 Internet Addresses (IPv4)
32 bit number written as 4 decimal numbers seperated by periods (dotted decimal notation) Five classes of internet addresses class A thru class E netid are issued by InterNIC (Internet Network Information Center) also registers domain names CS-328

25 Class A 0.0.0.0 thru 127.255.255.255 7 bits 24 bits netid hostid
netid hostid CS-328

26 Class B 128.0.0.0 thru 191.255.255.255 14 bits 16 bits 10 netid hostid
CS-328

27 Class C 192.0.0.0 thru 223.255.255.255 21 bits 8 bits 110 netid hostid
CS-328

28 Class D 224.0.0.0 thru 239.255.255.255 28 bits 1110 multicast group id
CS-328

29 Class E thru 27 bits 11110 reserved for future use CS-328

30 IPv6 (IPng) 128 bit number 3 types of addresses
written as 8 decimal numbers separated by colons 3 types of addresses Unicast - a packet sent to a unicast address is delivered to the interface identified by that address Anycast - an identifier for a set of interfaces(typically belonging to different nodes). A packet sent to an anycast address is delivered to one of the interfaces identified by the address (the “nearest” identified by the routing protocol’s measure of distance) Multicast - An identifier for a set of interfaces ( typically belonging to different nodes). A packet sent to a multicast address will be delivered to all interfaces identified by that address. CS-328

31 IPv6 Text representation of Addresses
Preferred form: x:x:x:x:x:x:x:x where each x represents a 4 hexadecimal digit 16-bit piece of the address FEDC:BA89:7654:3210:FEDC:BA98:7654:3210 1080:0:0:0:8:800:200C:417A note - leading zeros are not required note- pieces consisting of all zero bits may be shown as :: Alternative form sometimes used in mixed IPv4 and IPv6 environments x:x:x:x:x:x:d.d.d.d where x represents high order 6 pieces of IPV6 address and the 4 d’s represent the IPv4 address CS-328

32 IPv4 to IPv6 transition For tunneling IPV6 packets through an IPv4 infrastructure use: IPv4-compatible IPv6 address (special IPv6 unicast address that contain the IPv4 address) 80 bits 16bits 32 bits 0000………………………………………… IPv4 address For nodes that are IPv4 only (do not support IPv6) use: IPv4-mapped IPv6 address 80 bits 16bits 32 bits 0000………………………………………… FFFF IPv4 address CS-328

33 Domain Name System (DNS)
Distributed database provides translation between IP addresses and hostnames (and vice-versa) Most TCPIP Applications can use either way of identifying a host (i.e. by host name or IP address) CS-328

34 Encapsulation user data Application App.Hdr user data Transport
TCP Hdr App.Hdr user data Network IP Hdr TCP Hdr App.Hdr user data Link ethernet hdr ethernet trailer IP Hdr TCP Hdr App.Hdr user data ethernet frame CS-328

35 Ports and Sockets mean the same thing, part of a buffering scheme
implemented at transport layer (TCP/UDP) 16 bit number in the TCP or UDP header (32767 connection possible) ports 1 thru 1023 reserved for “well known ports” CS-328

36 Well Known Ports ports used for common TCP/IP applications
TCP port 7 - Echo TCP port 20 - FTP-Data TCP port FTP-Commands TCP port telnet UDP port 67 - BOOTP (Server) UDP port 68 - BOOTP (Client) UDP port 69 - TFTP etc CS-328

37 Java and sockets supports both TCP and UDP sockets
also multicast under RMI provided both ends of a TCP application connection (i.e. client and server facilities) java.net also provides URL connections can be used to implement almost any existing internet protocol. CS-328

38 Java Sockets create a socket create an input stream
create an output stream connect the inputstream to the socket connect the output stream to the socket reading and writing the stream transfers data between the two hosts (local and remote) CS-328


Download ppt "CS-328 A Networking Primer"

Similar presentations


Ads by Google