12
Network Programmi ng Lecture 1 Overview of Socket Programming Erick Pranata © Sekolah Tinggi Teknik Surabaya 1

Lecture 1 Overview of Socket Programming Erick Pranata © Sekolah Tinggi Teknik Surabaya 1

Embed Size (px)

Citation preview

Network Programming

Lecture 1 Overview of Socket Programming

Erick Pranata© Sekolah Tinggi Teknik Surabaya

1

Networks, Packets, & Protocols» Hosts and Routers» Communication Channel» Packets» Protocol» TCP/IP as Protocol Suite

˃ Internet Protocol (IP)˃ Transmission Control Protocol (TCP)˃ User Datagram Protocol (UDP)

2

© Sekolah Tinggi Teknik Surabaya

TCP/IP

3

© Sekolah Tinggi Teknik Surabaya

David Makofske, Michael J. Donahoo, Kenneth L. Calvert,TCP/IP Sockets in C#: Practical Guide for Programmers, Morgan Kaufmann, 2004, p. 3

TCP/IP Layers

Application •GUI being Displayed

Transport •TCP•UDP

Internet •Internet Protocol•Datagram Service

Network Interface

•Routing 4

© Sekolah Tinggi Teknik Surabaya

TCP/IP Layers» Datagram Service

˃ Each IP packet has destination address˃ Best-effort Protocol

+ May lose+ Needs to be reordered+ Duplicate packets

» TCP and UDP utilize Port Numbers» TCP and UDP are called end-to-end

transport» TCP provides error recovery on host-to-host

channel˃ UDP doesn’t

5

© Sekolah Tinggi Teknik Surabaya

Addresses» Internet Address (IP)

˃ 32-bit (e.g. 10.1.2.3, dotted-quad notation): IPv4

˃ 128-bit: IPv6» Port Number (TCP and UDP)

˃ 16-bit unsigned binary (1 to 65.535)

6

© Sekolah Tinggi Teknik Surabaya

Names» Example: host.example.com» IP deals with numerical addresses, not names» TCP/IP doesn’t need names

˃ It requires extra work to resolve name into address

» Advantages:˃ Easier to remember˃ Insulates users from IP address changes

» Name-resolution Service˃ DNS˃ Local Configuration Database 7

© Sekolah Tinggi Teknik Surabaya

Clients and Servers» Client program initiates communication» Server program

˃ Waits passively˃ Responds to clients that contact it

» Example:˃ Database Application˃ Web Application˃ Directory Services

8

© Sekolah Tinggi Teknik Surabaya

Clients and Servers» Client needs to know server’s address

and port, not vice versa» Server’s address: through name or IP

Address» Server’s port number

˃ Convention (Internet Assigned Number Authority)

+ 21: FTP+ 80: HTTP

˃ Custom port number 9

© Sekolah Tinggi Teknik Surabaya

Socket» An abstraction which allow an

application to send and receive data» Different types of socket correspond

with different types of protocol suites» TCP/IP Sockets:

˃ Stream Sockets (TCP)˃ Datagram Sockets (UDP)

10

© Sekolah Tinggi Teknik Surabaya

Sockets, Protocols, and Ports

11

© Sekolah Tinggi Teknik Surabaya

David Makofske, Michael J. Donahoo, Kenneth L. Calvert,TCP/IP Sockets in C#: Practical Guide for Programmers, Morgan Kaufmann, 2004, p. 7

Referensi» David Makofske, Michael J. Donahoo,

Kenneth L. Calvert, TCP/IP Sockets in C#: Practical Guide for Programmers, Morgan Kaufmann, 2004

12

© Sekolah Tinggi Teknik Surabaya