Upload
theresa-yoe
View
221
Download
7
Tags:
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