1 / 26

Windows Network Programming

Windows Network Programming. Chapter 01. Intro. to Network and Socket Programming. Goal. TCP/IP Protocol Basic concept of socket Windows socket overview Writing and executing of Windows socket application. Router. ①. End System (PC, PDA, ...). ②. ③. Router. ④.

lucien
Download Presentation

Windows Network Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows Network Programming

  2. Chapter 01. Intro. to Network and Socket Programming

  3. Goal • TCP/IP Protocol • Basic concept of socket • Windows socket overview • Writing and executing of Windows socket application

  4. Router ① End System (PC, PDA, ...) ② ③ Router ④ End System (PC, PDA, ...) Internet Configuration

  5. End System End System Application Application TCP/IP Protocol (OS) TCP/IP Protocol (OS) Router Router TCP/IP Protocol

  6. Application Layer TELNET, FTP, HTTP, SMTP, MIME, SNMP, ... Transport Layer TCP, UDP Internet Layer IP Network Access Layer Device Driver Network Hardware TCP/IP Protocol Structure (1/6) • TCP/IP Protocol Structure • Layering Structure

  7. TCP/IP Protocol Structure (2/6) • Network access layer • Role • Data transmission through physical network • Components • Network hardware + device driver • Addressing • physical address(MAC address) • Command: ‘ipconfig /all’ • Example • Ethernet

  8. TCP/IP Protocol Structure(3/6) • Internet layer • Role • Packet routing • Addressing • IP address • Transport layer • Role • Data transfer to end system • Addressing • port number • Examples • TCP(Transmission Control Protocol), UDP(User Datagram Protocol)

  9. TCP/IP Protocol Structure(5/6) • TCP and UDP

  10. TCP/IP Protocol Structure(6/6) • Application layer • Role • Including some application protocol and services • Providing various application service • Examples • Telnet, FTP, HTTP, SMTP etc.

  11. Packet transfer Principle (1/5) • Packet • Control information defined by each protocol (IP address, port number, error check code etc.) + data • Depending on the location, header and trailer

  12. Application data TCP TCP Header data IP IP Header TCP Header data Ethernet Ethernet Header IP Header TCP Header data Ethernet trailer Packet transfer Principle(2/5) • Packet transfer at sender side

  13. Application data TCP TCP Header data IP IP Header TCP Header data Ethernet Ethernet Header IP Header TCP Header data Ethernet trailer Packet transfer Principle(3/5) • Packet transfer at receiver side

  14. Application Layer Application Layer Transport Layer Transport Layer Internet Layer Internet Layer Internet Layer Internet Layer Network Access Layer Network Access Layer Network Access Layer Network Access Layer End system Router Router End system Packet transfer Principle(5/5) • Packet transfer using Internet protocol

  15. IP address and port number (1/3) • IP 주소 • Unique identifier of a internet host • IPv4: 32bit, IPv6: 128bit • example) 147.46.114.70 • example) loopback address: 127.0.0.1 • Port number • Unique process identifier

  16. process process process Port number(0~65535) TCP UDP IP IP address IP address and port number (2/3) • IP address and port number

  17. Client/server model • Client/server Model • Server first executed • When client send the request, server processes the request • Example: web client/server Server Client connecting waiting

  18. socket concept (1/5) • Three points of view ① Data type ② communication end-point ③ Network programming interface

  19. socket concept(2/5) • Data type • Each of client and server is identified by a separate socket address • Example of socket address data type • Struct sockaddr_in, in_addr // file creation int fd = open("myfile", ...); ... read(fd, ...) // Reading write(fd, ...) // Writing // socket creation SOCKET sock = socket(...); ... recv(sock, ...) // Receive send(sock, ...) // Send

  20. socket concept(3/5) • Communication end-point • Socket requires three components • protocol(TCP/IP, UDP/IP) • sender IP address, sender port number • receiver IP address, receiver port number

  21. client send (sock, ...) server recv (sock, ...) data <client socket> • protocol: TCP/IP • IP address: 147.46.114.70 • port number: 12023 <server socket> • protocol: TCP/IP • IP address: 61.72.244.22 • port number: 9001 socket concept(4/5) • Communication end-point(cont’d)

  22. application application application Socket interface TCP UDP ICMP, IGMP IP socket concept(5/5) • Network programming interface • Socket is the interface between application layer and transport layer in TCP/IP protocol stack

  23. Windows sockets (1/3) • Windows Sockets, Winsock • Originated by Berkeley Software Distribution UNIX • Included as API(Application Programming Interface) since Windows 95 version

  24. Windows sockets(2/3) • Winsock supported by windows version • Supported protocols • TCP/IP, IPv6(windows XP or above), IrDA(windows 98 or above), Bluetooth(windows XP SP2 or above), IPX/SPX, ATM, DECNet, TP4(Not supported since windows 2000), DLC(TP4(Not supported since windows XP), NetBEUI(Not supported since windows XP)

  25. Winsock 2.x Application Winsock 1.x Application Winsock 1.x API Winsock 1.x Extended API WINSOCK.DLL (16 bit) WSOCK32.DLL (32 bit) MSWSOCK.DLL Winsock 2.x API WS2_32.DLL (32 bit) TCP/IP IrDA Bluetooth IPX/SPX ... Windows sockets(3/3) • Structure

  26. Winsock application practice • Source code: • Class webpage • Sample Winsock application(server.cpp)

More Related