click below
click below
Normal Size Small Size show me how
NF Chapter 2
Network Fundamentals Chapter 2
| Term | Definition |
|---|---|
| Network Apps | Social Networking, web, text messaging, e-mail, multiuser network games, streaming stored videos (YouTube), P2P File sharing, voice over IP (skype), Real time video conferencing(zoom), Internet search, remote login |
| Client-Server Architecture | This is when a client and server are connecting to each other |
| Server | There are different servers in different places Always on host, Permanent IP Address, and often in data centers for scaling |
| Client | These communicate with servers, may be intermittently connected, may have dynamic IP address, do not communicate directly with each other Example: HTTP, IMAP, FTP |
| Peer-Peer Architecture | No always-on server. This is where peers talk to each other. Peers request service from other peers, provide service in return to other peers |
| Self Scalability | New peers bring new service capacity, as well as new service demands |
| Issues | Peers are intermediately connected and change IP addresses |
| Process | Programs running within a host |
| Processes Communicating | Within the same host, two processes communicate through inter-process communication as defined by the operating system. Processes in different hosts communicate by exchanging messages |
| Client Process | Process that initiates communication |
| Server Process | Process that waits to be connected |
| Aside | Application with P2P architecture have both client process and server processes |
| Sockets | Processes send/receive messages to and from its socket. These include the Ip address and the port number |
| Addressing Processes | To receive messages, processes must have an identifier Host device has a unique 32-bit IP address |
| Identifier | Includes both IP Address and port numbers associated with process on host |
| App-Layer Protocol Defines | Types of messages exchanges, Message syntax, message semantics, rules, open protocols, and proprietary protocols |
| Message syntax | What fields in messages and how fields are delineated |
| Message semantics | Meaning of information fields |
| Rules | When and how processes send and respond to messages |
| Open Protocols | Defined in Request for Comment (RFC), allows for interoperability, example: HTTP, SMTP |
| Data Integrity | Some apps require 100% reliable data transfer Other apps can tolerate some loss |
| Timing | Some apps require delay to be "effective" |
| Throughput | Some apps require minimum amount of throughput to be effective Other apps make use of whatever throughput they get |
| Security | Encryption, data integrity |
| Transport Control Protocol (TCP) | Reliable transport between sending and receiving process Flow Control: sender won't overwhelm receiver Congestion Control: Throttle sender when network overload Does not provide timing minimum throughput guarantee, security Requires C and S connection |
| Internet Transport Protocols | TCP and UDP |
| UDP | Unreliable data transfer between sending and receiving process Does not provide reliability, flow control, congestion control, timing, throughput guarantee, security, or connection setup |
| Securing TCP and UDP | no encryption cleartext passwds sent into socket traverse Internet in cleartext |
| Securing SSL | provides encrypted TCP connection, data integrity, end-point, and authentication |
| Securing SSL at App Layer | Apps use SSL libraries, which “talk” to TCP |
| Securing SSL socket API | Cleartext Passwords sent into socket traverse |
| Web Page | Consists of objects, Consists of base HTML-file which includes several referenced objects. Each object is addressable by a URL |
| Objects | Can be HTML File, JPED image, Java applet and audio File |
| Host name | First part of the URL |
| Path name | Second part of the URL, the specific destination in the URL |
| Hypertext Transfer Protocol (HTTP) | Web's application layer protocol |
| Client/Server Model | Client: Browser that requests, receives and displays web objects Server: Web server sends objects response to requests |
| Uses TCP | Once the HTTP connection has been established then the TCP connection is established |
| How TCP works | Client initiates TCP connection(created socket) to server Server accepts TCP connection from client HTTP messages exchanged between browser and web server TCP connection closed |
| Stateless | Server maintains no information about past client requests |
| Non-persistent HTTP | At most one object can be sent over TCP connections(connecte then closed) downloading multiple object requires multiple connections |
| Persistent HTTP | Multiple objects can be sent over single TCP connection between client and server. Connection is left open |
| RTT | Time for a small packet to travel from client to server and back |
| HTTP Response Time | One RTT to initiate TCP connection One RTT for HTTP request File Transmission time |
| Non-Persistent HTTP Response Time | 2RTT + File transmission time |
| HTTP Messages | Request and Response |
| HTTP Request Message | Written in ACII (human readable) |
| Methods used in HTTP | GET, POST, HEAD, PUT, DELETE |
| GET method | What we send when we want something |
| POST method | Input is uploaded to server in entity body Web page often includes form input |
| HEAD method | Asks server to leave request object out of response |
| PUT method | Uploads file in entity body to path specified in URL field |
| DELETE method | Deletes file specified in the URL field |
| Keep Alive | Keeps connection as long as you want |
| 200 OK Response Status Code | This mean request is established and connection is made |
| 301 Moved Permanently Response Status Code | Requested object moved |
| 400 Bad Request Response Status Code | Request msg not understood by server |
| 404 Not Found Response Status Code | Requested document not found on this server |
| 505 HTTP version not supported Response Status Code | HTTP version not supported |
| Cookies | Cookies are used to keep information on the user, such as carts, authorization, recommendations, and user session state HTTP message carry "state" |
| Keeping "state" | This is storing data |
| Protocol Endpoints | Maintain state at sender/receiver over multiple transactions |
| Web Caches (proxy server) | This satisfies customer requests without involving origin servers. It can be both a client and a server |
| Why Web Caching? | Reduces response time Reduces traffic on an institutions access link |
| File Transfer Protocol (FTP) | Allows data to be moved from/to remote host |
| User Agents | AKA mail reader, compose, edit, read mail, outgoing, incoming messages stored on Example: outlook |
| Simple Mail Transfer Protocol (SMTP) | Delivery/storage to receivers server Protocol for email transfer |
| Mail Access Protocol | User retrieval from server |
| POP | Post office retrieval, authorization, download |
| IMAP | Internet Mail Access Protocol: more features, including manipulation of stored msgs on server Deals with only access, not delivery |
| HTTP Mail access Protocol | Gmail, Hotmail, Yahoo! Mail |
| Protocol for Mail Protocol | Uses TCP Persistent connections Port 25 Mail server can be client and server |
| Mail Access Protocol | Authorization (user/pass) get and OK or ERR Transaction (list, retr, dele, quit) |
| Download and Delete Mode | When one agent downloads email, deleted from server This means the msg is no longer available for other agents |
| Download and Keep | Copies messages to client, keeps on server |
| Web Based Email | Hotmail is an example |
| Domain Name System (DNS) | This protocol uses UDP and can be thought of as the "Internets Directory Service" |
| Host or Router Identifier | IP address, Name |
| DDOS Attacks | A malicious attempt to disrupt the normal traffic of a targeted server, service or network by overwhelming the target or its surrounding infrastructure with a flood of Internet traffic. It from many different locations |
| Man in the middle Attack | Intercept requests and give back fake responses |
| DNS Poisoning | Send bad replies to local DNS server which caches and uses them |
| File Distribution | The server transmits N copies in row |
| Tracker | Tracks peers participating in Torrent |
| Torrent | Group of peers exchanging chunks of a file When a peer first joins it has no chunks |
| Socket Programming | Allows communication between processes on different hosts Can use either UDP or TCP |
| UDP Sockets | No connection created |
| TCP Sockets | Client mist contact server |