Network Programming. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University
|
|
- Osborn Gibbs
- 5 years ago
- Views:
Transcription
1 Network Programming Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1
2 Objectives (Ideal) You will learn about: Network basics The Internet Network programming in Java and Python How to compose a client How to compose a (multithreaded) server How to serialize and communicate objects 2
3 Agenda (Ideal) Network basics The Internet Network programming Communicating objects 3
4 Objectives You will learn about: Network programming in Java and Python How to compose a client How to compose a (multithreaded) server How to serialize and communicate objects Network basics (as time allows) The Internet (as time allows) 4
5 Agenda Network programming Communicating objects Network basics (as time allows) The Internet (as time allows) 5
6 Key Concept: Network Address Any computer on the Internet has two addresses: Medium Access Control (MAC) address Used by network adapters, bridges, routers Example: 90:1b:0e:6a:32:26 Internet Protocol (IP) address Used by routers (and people) 32 bit integer, usually expressed in dotted-decimal form Example: Example:
7 Key Concept: Network Address Many computers on the Internet have a third address: Domain name Used by people Domain Name System (DNS) converts to IP address Example: courselab01.cs.princeton.edu Example: localhost 7
8 Key Concept: Port Port A software abstraction 16-bit integer Identifies unique process on specified host Client process on host X communicates with a server process on host Y via ports Server uses a known port on server Client uses an ephemeral port 8
9 Key Concept: Socket Socket IP address + port Dominant abstraction in network programming First developed by Unix/C community Beautiful abstraction Adopted by Java, Python, many others 9
10 Aside: Sockets and Unix File descriptor table File table File table is a surrogate for: the terminal (/dev/tty) a file Process Process can use same functions to read from or write to terminal or file Process can use Unix system-level functions (read, write) Process can wrap FILE objects around file tables, and use standard I/O functions (scanf, printf, ) 10
11 Aside: Sockets and Unix File descriptor table File table File table is a surrogate for: the terminal (/dev/tty) a file a pipe Process Process can use same functions to read from or write to terminal or file or another process on same computer We ll study pipes later 11
12 Aside: Sockets and Unix File descriptor table Process File table File table is a surrogate for: the terminal (/dev/tty) a file a pipe a socket Process can use same functions to read from or write to terminal or file or another process on same computer or another process on different computer We ll study sockets now 12
13 Client and Server Sockets courselab01 Client Process listen Known Port courselab02 Server Process Server Socket Server process creates ServerSocket on host courselab02.cs.princeton.edu port ServerSocket listens for connection requests 13
14 Client and Server Sockets courselab01 Client Process Socket Ephemeral Port connection request Known Port courselab02 Server Process Server Socket Client process creates Socket on host courselab01.cs.princeton.edu (port 50830) Client process requests connection to server process at host courselab02.cs.princeton.edu port
15 Client and Server Sockets courselab01 Client Process Socket Ephemeral Port accept Known Port courselab02 Server Process Server Socket Socket Server process accepts request ServerSocket creates Socket on host courselab02.cs.princeton.edu port ServerSocket informs client process of Socket 15
16 Client and Server Sockets courselab01 Client Process Socket Ephemeral Port read/write Known Port courselab02 Server Process Server Socket Socket Client process reads from or writes to socket on host courselab02.cs.princeton.edu port Server processes reads from or writes to socket on host courselab01.cs.princeton.edu at port
17 Network Pgmming in COS 333 The ideal: Teammate1 Local Computer Client Teammate2 Local Computer Client socket socket CourseLab Firewall courselab01/02 Server (Teammate1) Problem: firewall 17
18 Network Pgmming in COS 333 Option 1: Run on CourseLab CourseLab Firewall courselab02 Client (Teammate1) socket courselab01 Server (Teammate1) Client (Teammate2) socket Important: Use ports in range
19 Network Pgmming in COS 333 Option 2: Run on local computers Teammate2 Local Computer Client socket Teammate1 Local Computer Server Client socket Teammate1 issues ifconfig (Mac/Linux) or ipconfig (MS Windows) command to determine IP addr of server host 19
20 Aside: Telnet Telnet program Provides access to a command-line interface on a remote host Similar to ssh But without data encryption Often useful as a client when testing server programs 20
21 DayTime Example Client: Connects to server Server: Accepts connection Writes current day and time to client Disconnects Client: Reads current day and time from server Writes to stdout 21
22 DayTime in Java See DayTimeClient.java and DayTimeServer.java Try: telnet time-a.nist.gov 13 java DayTimeClient time-a.nist.gov 13 Try: java DayTimeServer someport telnet localhost someport Try: java DayTimeServer someport java DayTimeClient localhost someport 22
23 DayTime in Python See daytimeclient.py and daytimeserver.py AF_INET => IP connection SOCK_STREAM => TCP connection [SOCK_DGRAM => UDP (datagram) connection] 23
24 DayTime in Python See daytimeclient.py and daytimeserver.py (cont.) Try: telnet time-a.nist.gov 13 python daytimeclient.py time-a.nist.gov 13 Try: python daytimeserver.py someport telnet localhost someport Try: python daytimeserver.py someport python daytimeclient.py localhost someport 24
25 Echo Example Client: Connects to server, reads line from stdin, writes line to server Server: Reads line from client, writes uppercase line to client Client: Reads echoed line from server, writes echoed line to stdout, repeats until EOF of stdin Note: Sockets are bi-directional 25
26 Echo in Java See EchoServer.java and EchoClient.java Try: java EchoServer someport telnet localhost someport Try: java EchoServer someport java EchoClient localhost someport 26
27 Echo in Java Problem: EchoServer.java can handle only 1 client at a time Try: java EchoServer someport telnet localhost someport telnet localhost someport Try: java EchoServer someport java EchoClient localhost someport java EchoClient localhost someport 27
28 Echo in Java Solution: See EchoServerMult.java Multithreaded server Described more thoroughly later in course Try: java EchoServerMult someport telnet localhost someport telnet localhost someport Try: java EchoServerMult someport java EchoClient localhost someport java EchoClient localhost someport 28
29 Echo in Python See echoserver.py and echoclient.py Try: python echoserver.py someport telnet localhost someport Try: python echoserver.py someport python echoclient.py localhost someport 29
30 Echo in Python Problem: echoserver.py can handle only 1 client at a time Try: python echoserver.py someport telnet localhost someport telnet localhost someport Try: python echoserver.py someport python echoclient.py localhost someport python echoclient.py localhost someport 30
31 Echo in Python Solution: See echoservermult.py Multithreaded server Described more thoroughly later in course Try: python echoservermult.py someport telnet localhost someport telnet localhost someport Try: python echoservermult.py someport python echoclient.py localhost someport python echoclient.py localhost someport 31
32 Echo Conclusion Note: EchoServer.java works with: Telnet EchoClient.java echoclient.py echoserver.py works with: Telnet echoclient.py EchoClient.java 32
33 Agenda Network programming Communicating objects Network basics (as time allows) The Internet (as time allows) 33
34 Courses Example Server: Writes Course objects (referencing Book objects) to client Client: Reads Course objects (referencing Book objects) from server Writes them to stdout 34
35 Courses in Java See Book.java See Course.java For now, ignore Serializable 35
36 Courses in Java See CourseServer1.java Convert int course count to a human-readable byte sequence; write to client Convert Course object to a human-readable byte sequence; write to client; repeat course count times See CourseClient1.java Read a human-readable byte sequence from server; convert to int course count Read a human-readable byte sequence from server; convert to Course object; repeat course count times 36
37 Courses in Java Fine But is there an easier way? 37
38 Serializable Interface Serializable Tagging interface; no methods ObjectOutputStream serializes object Converts primitive datum or Serializable object to byte stream ObjectInputStream deserializes object Converts byte stream to primitive datum or Serializable object Data of type int and type double, and objects of class String are Serializable 38
39 Courses in Java See CourseServer2.java Write int course count to client Write Course object s String objects & double to client, repeat course count times See CourseClient2.java Read int course count from server Read String objects & double from server; create Course object; repeat course count times 39
40 Courses in Java But wait! Book objects and Course objects are objects... Can define the Book and Course classes to implement Serializable 40
41 Courses in Java See CourseServer3.java Write int course count to client Write Course object to client; repeat course count times See CourseClient3.java Read int course count from server Read Course object from server; repeat course count times 41
42 Courses in Java But wait! ArrayList objects also are Serializable... 42
43 Courses in Java See CourseServer4.java Write an ArrayList object to server! See CourseClient4.java Read an ArrayList object from server! No need to write/read course count! 43
44 Courses in Python See book.py See course.py 44
45 Courses in Python See courseserver1.py Convert int course count to a human-readable byte sequence; write to client Convert Course object to a human-readable byte sequence; write to client; repeat course count times See courseclient1.py Read a human-readable byte sequence from server; convert to int course count Read a human-readable byte sequence from server; convert to Course object; repeat course count times 45
46 Courses in Python Fine But is there an easier way? 46
47 The Pickle Module pickle.dump(obj, flo) Serializes obj to byte stream Writes byte stream to flo obj = pickle.load(flo) Reads byte stream from flo Deserializes byte stream to form obj 47
48 Courses in Python See courseserver2.py Write int course count to client Write Course object s str objects & float to client, repeat course count times See courseclient2.py Read int course count from server Read str objects & float from server; create Course object; repeat course count times 48
49 Courses in Python But wait! Book objects and Course objects are objects and so can be pickled... 49
50 Courses in Python See courseserver3.py Write int course count to client Write Course object to client; repeat course count times See courseclient3.py Read int course count from server Read Course object from server; repeat course count times 50
51 Courses in Python But wait! list objects are objects, and so can be pickled 51
52 Courses in Python See courseserver4.py Write a list object to client! See courseclient4.py Read a list object from server! No need to write/read course count! 52
53 Courses Conclusion Note: CourseServer1.java works with: CourseClient1.java courseclient1.py telnet! courseserver1.py works with: courseclient1.py CourseClient1.java telnet! 53
54 Courses Conclusion Note: CourseServer2.java works only with CourseClient2.java courseserver2.py works only with courseclient2.py Same for 3 and 4 Object serialization/pickling is languagespecific 54
55 Comm of Shared Objects Problem: What if multiple objects are composed of the same nested objects... 55
56 Comm of Shared Objects Using the Courses example... In server: Course0 Course1 Course2 Book0 Book1 56
57 Comm of Shared Objects In client (bad): Course0 Course1 Course2 Book0 Book1 Book1 No!!! In client (good): Course0 Course1 Course2 Book0 Book1 57
58 Shared Objects in Java Solution: Handled automatically! ObjectOutputStream maps each unique object address to a serial num Sees same object address again => writes only serial num ObjectInputStream maps serial numbers to unique objects Sees same serial num again => creates ref to existing object 58
59 Shared Objects in Java See CourseServer5.java See CourseClient5.java Change of Book price in client confirms that shared object was written/read properly COS 217 COS 226 COS 333 King Sedgewick Kernighan 59
60 Shared Objects in Python Solution: Handled automatically! pickle.dump() maps each unique object address to a serial num Sees same object address again => writes only serial num pickle.load() maps serial numbers to unique objects Sees same serial num again => creates ref to existing object 60
61 Shared Objects in Python See courseserver5.py See courseclient5.py Change of Book price in client confirms that shared object was written/read properly COS 217 COS 226 COS 333 King Sedgewick Kernighan 61
62 Agenda Network programming Communicating objects Network basics (as time allows) The Internet (as time allows) 62
63 Network Basics: Goals Networking Huge topic Can only scratch the surface Goal Convey workable mental model From programmer s point of view Approach Bottom-up... 63
64 Hosts and Network Adapters Host Computer Network Adapter Network Network adapter: HW that connects host computer to network Each has unique "medium access control (MAC) address" MAC address: xx:xx:xx:yy:yy:yy, where each x and y is a hexadecimal digit xx:xx:xx is unique to vendor yy:yy:yy is unique to device 64
65 Hosts and Network Adapters Try on CourseLab: ifconfig Note ether 65
66 Hubs and Segments Host1 Adapter header payload Host2 Adapter header payload Network Segment frame Hub frame Frame = header + payload Header identifies source and destination addresses Payload contains user data Hub (alias repeater) = HW (no SW) that transmits frames among hosts Receives frame from adapter; doesn t examine header; copies to all others Every adapter sees frame; only destination adapter reads it Network Segment = hosts + hub Scope: one room; one floor of a building 66
67 Bridges and LANs Host1 Host2 Hub1 Bridge1 Host3 Hub3 Bridge2 Hub4 LAN Host4 Host5 Host6 Host7 Bridge (alias switch) = HW+SW that connects hosts, hubs, other bridges Does examine headers Analyzes message sources; learns where hosts are host1 host2: hub1 bridge1 (discard) host1 host7: hub1 bridge1 bridge2 hub4 Local Area Network (LAN) = hosts + hubs + bridges Scope: one building; one campus 67
68 Routers and WANs LAN1 LAN2 Router WAN Router (~alias gateway) = HW that connects multiple (incompatible) LANs Wide Area Network (WAN) = LANs + routers Scope: planet Earth! And beyond! Each host has both a LAN (MAC) address and a WAN address LAN address: not related to network topology WAN address: related to network topology 68
69 WAN Data Transfer Host1 Protocol SW on Host1 payload When Host1 on LAN1 sends a payload to Host2 on LAN2... WAN packet LAN1 Adapter on Host1 LAN1 header (MAC addr of Router) WAN header (WAN addr of Host2) LAN1 frame payload Hub Bridge 69
70 WAN Data Transfer WAN packet LAN1 header (MAC addr of Router) WAN header (WAN addr of Host2) payload Router LAN1 Adapter LAN1 frame Protocol SW on Router WAN packet WAN header (WAN addr of Host2) payload 70
71 WAN Data Transfer WAN packet WAN header (WAN addr of Host2) payload Router LAN2 Adapter Protocol SW on Router WAN packet LAN2 header (MAC addr of Host2) WAN header (WAN addr of Host2) payload LAN2 frame 71
72 WAN Data Transfer Bridge Hub LAN2 Adapter on Host2 Protocol SW on Host2 Host2 LAN2 header (MAC addr of Host2) payload WAN header (WAN addr of Host2) LAN2 frame WAN packet payload 72
73 Protocol Stacks Generic Packet Structure Level 0 header Level 1 header Level 2 header... payload Level 2 packet Level 1 packet Level 0 packet Protocols can be (and typically are) layered/stacked And so packets can be (and typically are) layered/stacked 73
74 Agenda Network programming Communicating objects Network basics (as time allows) The Internet (as time allows) 74
75 The Internet The Internet A WAN that uses a particular protocol stack 75
76 The Internet Protocol Stack Application Layer HTTP, HTTPS, SMTP, POP3, IMAP, FTP, SFTP telnet, SSH, daytime, echo, DNS, Transport Layer TCP UDP Internet Layer IP Typical Internet Packet Structure LAN header IP header TCP header App header... payload 76
77 The Internet Layer Application Layer HTTP, HTTPS, SMTP, POP3, IMAP, FTP, SFTP telnet, SSH, daytime, echo, DNS, Transport Layer Internet Layer TCP UDP IP Dominant protocol: IP (Internet Protocol) 77
78 IP Characteristics IP characteristics Connectionless No persistent connection Packetized Sender splits long message into packets Receiver re-assembles the packets Unreliable Packets can be lost (errors, congestion) Receiver not notified of lost packets 78
79 IP Headers IP Header Source WAN address Destination WAN address 79
80 IP Addresses IP addresses WAN address = IP address Internal form: 32 bits Human-readable form: dotted decimal xxx.xxx.xxx.xxx 80
81 Some IP Addresses IP Address Computer Princeton courselab cluster computers Princeton CS Dept web server host computer Princeton web server host computer A US gov computer The local host 81
82 Exploring IP Try on CourseLab: ifconfig Note inet Note: is IP address of the local host Useful for testing networking apps 82
83 Domain Names Problem: Difficult for humans to remember/use dotted decimal IP addresses Solution: Domain names Domain name: A symbolic name for IP address(es) Example: Example: Example: localhost 83
84 The Domain Name System Problem: How to map domain name to IP address(es)? Solution 1: hosts.txt file at SRI International Downloaded ~weekly Didn t scale Solution 2: Domain Name System 84
85 The Domain Name System The Domain Name System Domain name system (DNS) The phone book of the Internet Maps domain names to their IP addresses Distributed hierarchical database 85
86 The Domain Name System Your Computer What is DNS Resolver What is Root Name Server References Try xxx.xx.xxx.x (Addr of edu name server) 86
87 The Domain Name System Your Computer What is DNS Resolver What is edu Name Server References Try yyy.yy.yyy.y (addr of princeton.edu name server) 87
88 The Domain Name System Your Computer It's DNS Resolver What is princeton.edu Name Server References It's
89 DNS root servers: DNS Root Servers Many hundreds; over 130 physical locations 89
90 DNS Root Servers Q: How can DNS root servers handle the heavy workload? A: Caching at each level of the DNS hierarchy In reality, root servers handle mostly silly requests 90
91 Exploring DNS Try on CourseLab: nslookup courselab.cs.princeton.edu nslookup courselab01.cs.princeton.edu nslookup nslookup nslookup time-a.nist.gov nslookup nonexistingdomainname 91
92 Exploring DNS See IpAddress.java java IpAddress courselab.cs.princeton.edu java IpAddress courselab01.cs.princeton.edu java IpAddress java IpAddress java IpAddress time-a.nist.gov java IpAddress localhost java IpAddress nonexistingdomainname 92
93 Exploring DNS See ipaddress.py python ipaddress.py courselab.cs.princeton.edu python ipaddress.py courselab01.cs.princeton.edu python ipaddress.py python ipaddress.py python ipaddress.py time-a.nist.gov python ipaddress.py localhost python ipaddress.py nonexistingdomainname 93
94 The Transport Layer Application Layer HTTP, HTTPS, SMTP, POP3, IMAP, FTP, SFTP telnet, SSH, daytime, echo, DNS, Transport Layer Internet Layer TCP UDP IP Dominant protocols UDP (User Datagram Protocol) TCP (Transmission Control Protocol) 94
95 UDP UDP characteristics Connections are not persistent Connections are unreliable Adds port number to IP protocol Why UDP? Fast Not all applications need reliable transmission E.g. streaming audio E.g. DNS We will not use UDP in COS
96 TCP TCP characteristics Connections are persistent Virtual circuit Connections are reliable Reassembles packets in proper order Requests resend of missing/corrupted packets Ordered reliable byte stream Recall file descriptors Most Internet apps use TCP We will use TCP in COS
97 TCP Headers Header Source port Destination port 97
98 Ports Port A software abstraction 16-bit integer Identifies unique process on specified host Client and server communicate via ports Known port on server Ephemeral port on client Ports allow comm between specific processes on specific hosts (as opposed to comm between hosts) 98
99 Port Numbers : Well-Known Server Ports Used by common servers (HTTP, FTP, etc.) : Registered Server Ports Registered by software vendors to reduce likelihood of conflicts : Dynamic/Private Ports Available for any purpose 99
100 Well-Known/Registered Ports Some Well-Known Server Ports Port Kind of Process 7 echo 13 daytime 20 FTP-control 21 FTP-data 22 SSH, SFTP 23 telnet 25 SMTP Port Some Registered Server Ports 3306 MySQL Kind of Process 8080 Apache Tomcat 53 DNS 80 HTTP 110 POP2 143 IMAP 443 HTTPS 100
101 The Application Layer Application Layer HTTP, HTTPS, SMTP, POP3, IMAP, FTP, SFTP telnet, SSH, daytime, echo, DNS, Transport Layer Internet Layer TCP UDP IP Many protocols, each with its own header/payload format 101
102 Application Layer Protocols Some application layer protocols: Protocol daytime echo HTTP (Hypertext Transfer Protocol) HTTPS (Hypertext Transfer Protocol Secure) SMTP (Simple Mail Transfer Protocol) POP3 (Post Office Protocol 3) IMAP (Internet Message Address Protocol) FTP (File Transfer Protocol) SFTP (Secure File Transfer Protocol) Telnet SSH (Secure Shell) DNS (Domain Name System) Internet Application Time of Day Echo World Wide Web File Transfer Remote Shell DNS 102
103 Exploring App Layer Protocols Telnet program Remote shell Provides access to a command-line interface on a remote host Similar to ssh, but with no encryption Has its own (vacuous) app layer protocol and default port (23) 103
104 Exploring App Layer Protocols Telnet program Given computer (IP address or domain name) and port Establishes connection with app running on specified computer at specified port Can use to explore other app level protocols 104
105 Exploring the Daytime Protocol Daytime protocol (port 13) Try on CourseLab: telnet time-a.nist.gov
106 Exploring the Echo Protocol Echo protocol (port 7) No publicly available echo server, so I wrote one Access courselab01.cs.princeton.edu, port Try on CourseLab: telnet courselab01.cs.princeton.edu
107 Exploring the FTP Protocol On CourseLab: From ftp-using-raw-commands-and-telnet/ $ telnet ftp.ietf.org 21 Trying Connected to ftp.ietf.org. Escape character is '^]'. 220 FTP server ready USER anonymous 331 Anonymous login ok, send complete address as your password PASS your address 230 Anonymous access granted, restrictions apply CWD ietf/ftpext/ 250 CWD command successful PASV 227 Entering Passive Mode (64,170,98,33,151,31). IP address: Port: 151 * =
108 Exploring the FTP Protocol On CourseLab, in a second window: $ telnet Trying Connected to Escape character is '^]'. 108
109 Exploring the FTP Protocol Back to the first window: $ telnet ftp.ietf.org 21 Trying Connected to ftp.ietf.org. Escape character is '^]'. 220 FTP server ready USER anonymous 331 Anonymous login ok, send complete address as your password PASS your address 230 Anonymous access granted, restrictions apply CWD ietf/ftpext/ 250 CWD command successful PASV 227 Entering Passive Mode (64,170,98,33,151,31). RETR ftpext-charter.txt 150 Opening ASCII mode data connection for ftpext-charter.txt (6060 bytes) 226 Transfer complete QUIT 221 Goodbye. $ Document appears in the second window 109
110 Exploring the HTTP Protocol HTTP protocol (port 80) Try on CourseLab: telnet 80 Type: GET /index.html HTTP/1.1<Enter> Host: <Enter> 110
111 Exploring the HTTP Protocol HTTP protocol (port 80) Try on CourseLab: telnet 80 Type: GET /index.html HTTP/1.1<Enter> Host: <Enter> Yields HTTP redirect to
112 Aside: Other HTTP Clients Try on CourseLab curl wget and, of course firefox 112
113 Exploring the HTTPS Protocol HTTPS protocol (port 443) Too complex for telnet! Try on CourseLab: openssl s_client connect Type (quickly!!!) GET /index.html HTTP/1.1<Enter> Host: <Enter> 113
114 Aside: Other HTTPS Clients Try on CourseLab: curl wget and, of course firefox 114
115 Internet Protocol Summary HTTP SMTP DNS TCP UDP Provide platform for Internet app development LAN Interface 1 IP LAN Interface 2 Provides independence from LAN technologies LAN Interface 3 115
116 Summary We have covered: Network programming in Java and Python How to create a client How to create a (multithreaded) server How to serialize and communicate objects Network basics (as time allows) The Internet (as time allows) 116
117 Appendix 1: Network Programming in C 117
118 Echo in C See echoclient.c and echoserver.c Try: echoserver someport Try: echoclient localhost someport Try: echoclient localhost someport 118
119 Echo in C See echoclient.c Same as before See echoservermult.c Forks multiple processes Try: echoservermult someport Try: echoclient localhost someport Try: echoclient localhost someport 119
Interprocess Communication Mechanisms
Interprocess Communication 1 Interprocess Communication Mechanisms shared storage These mechanisms have already been covered. examples: shared virtual memory shared files processes must agree on a name
More informationshared storage These mechanisms have already been covered. examples: shared virtual memory message based signals
Interprocess Communication 1 Interprocess Communication Mechanisms shared storage These mechanisms have already been covered. examples: shared virtual memory shared files processes must agree on a name
More informationA+ Guide to Software: Managing, Maintaining, and Troubleshooting, 5e. Chapter 8 Networking Essentials
A+ Guide to Software: Managing, Maintaining, and Troubleshooting, 5e Chapter 8 Networking Essentials Objectives Learn about the protocols and standards Windows uses for networking Learn how to connect
More informationThe OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).
Network Models The OSI Model Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Model for understanding and developing computer-to-computer communication
More informationMemory-Mapped Files. generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length)
File Systems 38 Memory-Mapped Files generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length) mmap call returns the virtual address to which the file is mapped munmap call unmaps
More informationFundamentals of Computer Networking AE6382
Computer networks are an integral part of the modern computing infrastructure The local network (LAN) is usually Ethernet LAN s are inter-connected with other LAN s in a hierarchical fashion eventually
More informationDefining Networks with the OSI Model. Module 2
Defining Networks with the OSI Model Module 2 Objectives Skills Concepts Objective Domain Description Objective Domain Number Understanding OSI Basics Defining the Communications Subnetwork Defining the
More informationDebian/GNU Linux Networking
Debian/GNU Linux Networking Basics of the Networking Károly Erdei October 15, 2014 Károly Erdei Debian/GNU Linux Networking 1/41 Agenda 1 Networks 2 Ethernet 3 Internet Protocol 4 TCP 5 DHCP 6 Check Network
More informationTransport layer Internet layer
Lecture 2-bis. 2 Transport Protocols As seen by the application developer point of view The primary (in principle unique) role of transport protocols!" # $ % "!"& Transport httpd 25 80 3211... My app 131.175.15.1
More information06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322
1 Local & Metropolitan Area Networks ACOE322 Lecture 5 TCP/IP Protocol suite and IP addressing 1 0. INTRODUCTION We shall cover in this topic: 1. The relation of TCP/IP with internet and OSI model 2. Internet
More informationTransport Layer (TCP/UDP)
Transport Layer (TCP/UDP) Where we are in the Course Moving on up to the Transport Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Recall Transport layer provides
More informationChapter 2 Network Models 2.1
Chapter 2 Network Models 2.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Network Models n Network Architecture: n A) Hardware: at the core of any network;
More information6 Computer Networks 6.1. Foundations of Computer Science Cengage Learning
6 Computer Networks 6.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: 6.2 Describe network criteria, physical structures and categories
More informationCOMS3200/7201 Computer Networks 1 (Version 1.0)
COMS3200/7201 Computer Networks 1 (Version 1.0) Assignment 3 Due 8pm Monday 29 th May 2017. V1 draft (hopefully final) Note that the assignment has three parts Part A, B & C, each worth 50 marks. Total
More information9th Slide Set Computer Networks
Prof. Dr. Christian Baun 9th Slide Set Computer Networks Frankfurt University of Applied Sciences WS1718 1/49 9th Slide Set Computer Networks Prof. Dr. Christian Baun Frankfurt University of Applied Sciences
More informationCIT 380: Securing Computer Systems. Network Security Concepts
CIT 380: Securing Computer Systems Network Security Concepts Topics 1. Protocols and Layers 2. Layer 2 Network Concepts 3. MAC Spoofing 4. ARP 5. ARP Spoofing 6. Network Sniffing Protocols A protocol defines
More informationA Client-Server Exchange
Socket programming A Client-Server Exchange A server process and one or more client processes Server manages some resource. Server provides service by manipulating resource for clients. 1. Client sends
More informationChapter 4: Networking and the Internet. Network Classifications. Network topologies. Network topologies (continued) Connecting Networks.
Chapter 4: Networking and the 4.1 Network Fundamentals 4.2 The 4.3 The World Wide Web 4.4 Protocols 4.5 Security Network Classifications Scope Local area network (LAN) Metropolitan area (MAN) Wide area
More informationCopyleft 2005, Binnur Kurt. Objectives
1 ing Fundamentals Copyleft 2005, Binnur Kurt Objectives Define basic networking terms Describe some commonly used network applications Describe the main purposes and functions of computer networking Describe
More informationComputer Networking. Chapter #1. Dr. Abdulrhaman Alameer
Computer Networking Chapter #1 Dr. Abdulrhaman Alameer What is Computer Network? It is a collection of computers and devices interconnected by communications channels that facilitate communications among
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2014 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Project #1 Starts in one week Is your Linux environment all ready? Bring your laptop Work time after quick
More informationApplied Networks & Security
Applied Networks & Security TCP/IP Networks with Critical Analysis http://condor.depaul.edu/~jkristof/it263/ John Kristoff jtk@depaul.edu IT 263 Spring 2006/2007 John Kristoff - DePaul University 1 Critical
More informationNT1210 Introduction to Networking. Unit 10
NT1210 Introduction to Networking Unit 10 Chapter 10, TCP/IP Transport Objectives Identify the major needs and stakeholders for computer networks and network applications. Compare and contrast the OSI
More informationDifferent Layers Lecture 21
Different Layers Lecture 21 10/17/2003 Jian Ren 1 The Transport Layer 10/17/2003 Jian Ren 2 Transport Services and Protocols Provide logical communication between app processes running on different hosts
More informationLecture-4. TCP/IP-Overview:
Lecture-4 TCP/IP-Overview: The history goes back to ARPANET a research network sponsored by DoD US Govt. It eventually connected hundreds of universities and govt installations, using leased telephone
More informationB.Sc. (Hons.) Computer Science with Network Security B.Eng. (Hons) Telecommunications B.Sc. (Hons) Business Information Systems
B.Sc. (Hons.) Computer Science with Network Security B.Eng. (Hons) Telecommunications B.Sc. (Hons) Business Information Systems Bridge BTEL/PT BCNS/14/FT BIS/14/FT BTEL/14/FT Examinations for 2014-2015
More informationComputer Communication Networks Socket Programming
Computer Communication Networks Socket Programming ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Application Programming Interface Interface exported by the network Since most network protocols are implemented
More informationNetwork+ Guide to Networks 6 th Edition. Chapter 4 Introduction to TCP/IP Protocols
Network+ Guide to Networks 6 th Edition Chapter 4 Introduction to TCP/IP Protocols Objectives Identify and explain the functions of the core TCP/IP protocols Explain the TCP/IP model and how it corresponds
More informationTSIN02 - Internetworking
Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure
More informationThe Internet. Session 3 INST 301 Introduction to Information Science
The Internet Session 3 INST 301 Introduction to Information Science Outline The creation story What it is Exploring it Using it Outline The creation story What it is Exploring it Using it Source: Wikipedia
More informationDistributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017
Distributed Systems 02. Networking Paul Krzyzanowski Rutgers University Fall 2017 1 Inter-computer communication Without shared memory, computers need to communicate Direct link Direct links aren't practical
More informationTRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016
TRANSMISSION CONTROL PROTOCOL ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016 ETI 2506 - TELECOMMUNICATION SYLLABUS Principles of Telecom (IP Telephony and IP TV) - Key Issues to remember 1.
More information4. The transport layer
4.1 The port number One of the most important information contained in the header of a segment are the destination and the source port numbers. The port numbers are necessary to identify the application
More informationCSE 333 Lecture C++ final details, networks
CSE 333 Lecture 19 -- C++ final details, s Steve Gribble Department of Computer Science & Engineering University of Washington Administrivia HW3 is due in 5 days! - we re up to 6 bugs for you to patch
More informationPLEASE READ CAREFULLY BEFORE YOU START
Page 1 of 11 MIDTERM EXAMINATION #1 OCT. 13, 2011 COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2011-75 minutes This examination
More informationPLEASE READ CAREFULLY BEFORE YOU START
MIDTERM EXAMINATION #1 NETWORKING CONCEPTS 03-60-367-01 U N I V E R S I T Y O F W I N D S O R - S c h o o l o f C o m p u t e r S c i e n c e Intersession 2009 Question Paper NOTE: Students may take this
More informationSockets 15H2. Inshik Song
Sockets 15H2 Inshik Song Internet CAU www server (www.cau.ac.kr) Your web browser (Internet Explorer/Safari) Sockets 2 How do we find the server? Every computer on the Internet has an Internet address.
More information2. Introduction to Internet Applications
2. Introduction to Internet Applications 1. Representation and Transfer 2. Web Protocols 3. Some Other Application Layer Protocols 4. Uniform Resource Identifiers (URIs) 5. Uniform Resource Locators (URLs)
More informationCS1302 / Computer Networks
CS1302 / Computer Networks Year/Sem : III/VI UNIT I- DATA COMMUNICATIONS 1. Define Data communication 2. List out the characteristics of data communication 3. What are the components of data communication?
More informationCOMS Introduction to Computers. Networking
COMS 1001 Introduction to Computers Networking What's Ahead Networking layers Network Speeds Protocols, sockets, client/server Routing, DNS, Ethernet, LANs, wireless What is a Network? Loose definition:
More informationJAVA Network API. 2 - Connection-Oriented vs. Connectionless Communication
JAVA Network API To be discussed 1 - java.net... 1 2 - Connection-Oriented vs. Connectionless Communication... 1 3 - Connectionless:... 1 4 - Networking Protocols... 2 5 - Sockets... 2 6 - Multicast Addressing...
More informationM2-R4: INTERNET TECHNOLOGY AND WEB DESIGN
M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the
More informationReview of Previous Lecture
Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose
More informationOperating Systems CS 571
Computer Networks: Overview Operating Systems CS 571 Network types Range Bandwidth (Mbps) Latency (ms) LAN 1-2 kms 10-1000 1-10 WAN worldwide 0.010-600 100-500 MAN 2-50 kms 1-150 10 Wireless LAN 0.15-1.5
More informationThe Transmission Control Protocol (TCP)
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, e-mail, WWW) Reliable Stream Transport (TCP) Unreliable Transport Service (UDP) Connectionless Packet Delivery Service (IP) Goals
More informationCS 4390 Computer Networks. Transport Services and Protocols
CS 4390 Computer Networks UT D data Session 07 Transport Layer Overview and UDP Adapted from Computer Networking a Top-Down Approach 1996-2012 by J.F Kurose and K.W. Ross, All Rights Reserved Transport
More information(Refer Slide Time: 1:09)
Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecturer # 30 UDP and Client Server Good day, today we will start our discussion
More informationWeb Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery
Web Mechanisms Draft: 2/23/13 6:54 PM 2013 Christopher Vickery Introduction While it is perfectly possible to create web sites that work without knowing any of their underlying mechanisms, web developers
More informationVolume INFOSEC4FUN/UNIX4FUN DOCS. IT Troubleshooting Documentation. Troubleshooting the Stack
Volume 1 INFOSEC4FUN/UNIX4FUN DOCS IT Troubleshooting Documentation Troubleshooting the Stack D E S I G N C U S T O M I Z A T I O N Chapter 1 OSI Model Troubleshooting should always start with the basics.
More informationch02 True/False Indicate whether the statement is true or false.
ch02 True/False Indicate whether the statement is true or false. 1. No matter what medium connects computers on a network copper wires, fiber-optic cables, or a wireless setup the same protocol must be
More informationApplication Level Protocols
Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application
More informationAgenda. Before we start: Assignment #1. Routing in a wide area network. Protocols more concepts. Internetworking. Congestion control
Agenda Last time (Tues) No class Tuesday Jan 30 (Marty at conference) Will be made up Thurs Feb 8 / Fri Feb 9 This time Continue with Networks (chpt 3) Interprocess Communication (chpt 4) 1 st HW/PA out
More informationPLEASE READ CAREFULLY BEFORE YOU START
Page 1 of 20 MIDTERM EXAMINATION #1 - B COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2008-75 minutes This examination document
More informationPLEASE READ CAREFULLY BEFORE YOU START
Page 1 of 20 MIDTERM EXAMINATION #1 - A COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2008-75 minutes This examination document
More informationEITF25 Internet Techniques and Applications L7: Internet. Stefan Höst
EITF25 Internet Techniques and Applications L7: Internet Stefan Höst What is Internet? Internet consists of a number of networks that exchange data according to traffic agreements. All networks in Internet
More informationUNIX Sockets. Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E.
UNIX Sockets Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E. Socket and Process Communication application layer User Process Socket transport layer (TCP/UDP) network layer (IP)
More informationNetwork Protocols - Revision
Network Protocols - Revision Luke Anderson luke@lukeanderson.com.au 18 th May 2018 University Of Sydney Overview 1. The Layers 1.1 OSI Model 1.2 Layer 1: Physical 1.3 Layer 2: Data Link MAC Addresses 1.4
More informationClient/Server Computing & Socket Programming
COMP 431 Internet Services & Protocols Client/Server Computing & Socket Programming Jasleen Kaur January 29, 2019 Application-Layer Protocols Overview Application-layer protocols define:» The types of
More informationPractical Session #09 Exceptions & Networking. Tom Mahler
Practical Session #09 Exceptions & Networking Tom Mahler 1 In This Recitation We ll Cover Exceptions Java Sockets Datagram vs. Stream The Client-Server Model 2 Exceptions 3 Exceptions Java uses exceptions
More informationApplication Layer: OSI and TCP/IP Models
Application Layer Application Layer: OSI and TCP/IP Models The communication process between two communicating nodes is actually a communication process between two applications on these devices. Service
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:
More informationCCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers
CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers 2007, Jae-sul Lee. All rights reserved. 1 Agenda 11.1 TCP/IP Transport Layer 11.2 The Application Layer What does the TCP/IP transport layer
More informationOperating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski
Operating Systems 16. Networking Paul Krzyzanowski Rutgers University Spring 2015 1 Local Area Network (LAN) LAN = communications network Small area (building, set of buildings) Same, sometimes shared,
More informationThe TCP Protocol Stack
The TCP Protocol Stack Michael Brockway February 16, 2018 Introduction - Layered archtecture Networking software is desgined in a layered fashion The bottom layer is the services offered by the underlying
More informationApplication Layer Introduction; HTTP; FTP
Application Layer Introduction; HTTP; FTP Tom Kelliher, CS 325 Feb. 4, 2011 1 Administrivia Announcements Assignment Read 2.4 2.6. From Last Time Packet-switched network characteristics; protocol layers
More informationChapter 16 Networking
Chapter 16 Networking Outline 16.1 Introduction 16.2 Network Topology 16.3 Network Types 16.4 TCP/IP Protocol Stack 16.5 Application Layer 16.5.1 Hypertext Transfer Protocol (HTTP) 16.5.2 File Transfer
More informationReview for Internet Introduction
Review for Internet Introduction What s the Internet: Two Views View 1: Nuts and Bolts View billions of connected hosts routers and switches protocols control sending, receiving of messages network of
More informationInternet Technology 3/2/2016
Question 1 Defend or contradict this statement: for maximum efficiency, at the expense of reliability, an application should bypass TCP or UDP and use IP directly for communication. Internet Technology
More informationIntroduction to TCP/IP
Introduction to TCP/IP Properties and characteristics of TCP/IP IPv4 IPv6 Public vs private vs APIPA/link local Static vs dynamic Client-side DNS settings Client-side DHCP Subnet mask vs CIDR Gateway TCP/IP
More informationLecture 18 Overview. Last Lecture. This Lecture. Next Lecture. Internet Protocol (1) Internet Protocol (2)
Last Lecture Internet Protocol (1) This Lecture Internet Protocol (2) Lecture 18 Overview Source: chapters 19.1, 19.2, 22,1 22.2, 26.6 Next Lecture Transport Control Protocol (1) Source: chapters 24.1,
More informationTransport Layer. Chapter 3: Transport Layer
Transport Layer EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 29-Jan-18 1-1 Chapter 3: Transport Layer our goals: understand principles behind layer services: multiplexing,
More informationSignificance of TCP/IP Model Divya Shree Assistant Professor (Resource Person), Department of computer science and engineering, UIET, MDU, Rohtak
Significance of TCP/IP Model Divya Shree Assistant Professor (Resource Person), Department of computer science and engineering, UIET, MDU, Rohtak Abstract: TCP/IP (Transmission Control Protocol/Internet
More informationInternet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016
Internet Technology 06. Exam 1 Review Paul Krzyzanowski Rutgers University Spring 2016 March 2, 2016 2016 Paul Krzyzanowski 1 Question 1 Defend or contradict this statement: for maximum efficiency, at
More informationTCP/IP THE TCP/IP ARCHITECTURE
TCP/IP-1 The Internet Protocol (IP) enables communications across a vast and heterogeneous collection of networks that are based on different technologies. Any host computer that is connected to the Internet
More informationThe ACK and NACK of Programming
NFJS Software Symposium Series 2012 The ACK and NACK of Programming Ken Sipe About Speaker http://kensipe.blogspot.com/ http://del.icio.us/kensipe twitter: @kensipe ken.sipe@gmail.com Developer: Embedded,
More informationPLEASE READ CAREFULLY BEFORE YOU START
Page 1 of 11 MIDTERM EXAMINATION #1 OCT. 16, 2013 COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2013-75 minutes This examination
More informationSCS3004 Networking Technologies Application Layer Protocols
SCS3004 Networking Technologies Application Layer Protocols Dr. Ajantha Atukorale University of Colombo School of Computing (UCSC) 2 TCP/IP Suit Applications and application-layer layer protocols Application:
More information6 Computer Networks 6.1. Foundations of Computer Science Cengage Learning
6 Computer Networks 6.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: 6.2 Describe network criteria, physical structures and categories
More informationNetwork+ Guide to Networks 5 th Edition. Chapter 4 Introduction to TCP/IP Protocols
Network+ Guide to Networks 5 th Edition Chapter 4 Introduction to TCP/IP Protocols Objectives Identify and explain the functions of the core TCP/IP protocols Explain how the TCP/IP protocols correlate
More informationC18: Network Fundamentals and Reliable Sockets
CISC 3120 C18: Network Fundamentals and Reliable Sockets Hui Chen Department of Computer & Information Science CUNY Brooklyn College 4/16/2018 CUNY Brooklyn College 1 Outline Networking fundamentals Network
More informationComputer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University
Computer Networks More on Standards & Protocols Quality of Service Week 10 College of Information Science and Engineering Ritsumeikan University Introduction to Protocols l A protocol is a set of rules
More informationLECTURE WK4 NETWORKING
LECTURE WK4 NETWORKING Workbook and Quiz Workbook o Due in WK5 o Must hand in a hard copy to the tutor as well as an online submission Quiz o In the practical class o 30mins to complete the quiz o Short,
More informationCS321: Computer Networks FTP, TELNET, SSH
CS321: Computer Networks FTP, TELNET, SSH Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in FTP File Transfer Protocol (FTP) is the standard protocol provided
More informationCMPE 80N: Introduction to Networking and the Internet
CMPE 80N: Introduction to Networking and the Internet Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 11 CMPE 80N Fall'10 1 Announcements Forum #2 due on 11.05. CMPE 80N Fall'10 2 Last
More informationTCP /IP Fundamentals Mr. Cantu
TCP /IP Fundamentals Mr. Cantu OSI Model and TCP/IP Model Comparison TCP / IP Protocols (Application Layer) The TCP/IP subprotocols listed in this layer are services that support a number of network functions:
More informationConcept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.
223 Chapter 19 Inter mediate TCP The Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols was developed as part of the research that the Defense Advanced Research Projects Agency
More informationCSE 461: Computer Networks John Zahorjan Justin Chan Rajalakshmi Nandkumar CJ Park
CSE 461: Computer Networks John Zahorjan zahorjan@cs Justin Chan jucha@cs Rajalakshmi Nandkumar rajaln@cs CJ Park cjparkuw@cs Course Staff Grading Assignments/Projects/Homeworks: 55% Midterm: 15% Final:
More informationChapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet
Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties
More informationWe will cover in this order: 2.1, 2.7, 2.5, 2.4, 2.2
CSE 422 Notes, Set 2 These slides contain materials provided with the text: Computer Networking: A Top Down Approach,5 th edition, by Jim Kurose and Keith Ross, Addison-Wesley, April 2009. Additional figures
More informationNetwork Programming. ò Network Protocols ò Communication Connection ò Naming
Network Programming Network Programming ò Network Protocols ò Communication Connection ò Naming Why are these important? You are developing a multi-player game, you will need to know how to: ò Establish
More informationPosition of IP and other network-layer protocols in TCP/IP protocol suite
Position of IP and other network-layer protocols in TCP/IP protocol suite IPv4 is an unreliable datagram protocol a best-effort delivery service. The term best-effort means that IPv4 packets can be corrupted,
More informationLab 1: Packet Sniffing and Wireshark
Lab 1: Packet Sniffing and Wireshark Fengwei Zhang Wayne State University Course: Cyber Security Practice 1 Packet Sniffer Packet sniffer is a basic tool for observing network packet exchanges in a computer
More informationGuide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols
Guide to Networking Essentials, 6 th Edition Chapter 5: Network Protocols Objectives Describe the purpose of a network protocol, the layers in the TCP/IP architecture, and the protocols in each TCP/IP
More informationComputer Networks 1DV201
Computer Networks 1DV201 1 Link to coursepage http://w3.msi.vxu.se/users/ofl/1dv201/index.html 2 Chapter 1-3 Introduction 3 Topic and Scope Computer networks and internets: an overview of concepts, terminology,
More informationElectronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol
SMTP Electronic Mail Three Components: 1. User Agents a.k.a. mail reader e.g., gmail, Outlook, yahoo 2. Mail Servers mailbox contains incoming messages for user message queue of outgoing (to be sent) mail
More informationAPPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.
APPLICATION LAYER : DNS, HTTP, E-mail, SMTP, Telnet, FTP, Security-PGP-SSH. To identify an entity, the Internet used the IP address, which uniquely identifies the connection of a host to the Internet.
More informationNetworks, WWW, HTTP. Web Technologies I. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP / 35
Networks, WWW, HTTP Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP 2018 1 / 35 Table of Contents Networks Internet 1 Networks Internet
More informationChapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP
Chapter 2: outline 2.1 principles of network applications app architectures app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming
More informationECPE / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ECPE / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Application Layer Transport Layer Network Layer Link Layer Physical Layer 2 Application Layer HTTP DNS IMAP
More informationTransport Layer. Gursharan Singh Tatla. Upendra Sharma. 1
Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message
More information