Web Communication Public

Web Communication

Tomas Katz
Course by Tomas Katz, updated more than 1 year ago Contributors

Description

Web Communication

Module Information

Description

The OSI Model
Q: What are protocols? A: Protocols are a set of rules and regulation on how to communicate. ________________________________________________________________________________________________________________________________________________                      |                       | The networking applications themselves. example: Email-client, browser, Comand Line (CL also provides ways to interact over the web).                      | This layer is responsible for supplying an interface for a user to communicate                      | with over the web. It deals with showing requested resources (e.g text, images, videos) Application |  Layer           | Used protocol: Http, Https (for data assembling).                        | Protocols that have metadata (headers) for request/responses, along with data, for the application to use.                      |                      |                      | Data type (PDU): User Data , user specific data (e.g user input, user requested resources) ____________|_________________________________________________________________________________________________________________________________                      |                      | This layer is responsible for recieving the encoded data, decoding it, making data ready to use by application layer.                      | On the other hand it also is responsible for encrypting application layer data to be ready to be transported.                      | This layer also deals with compression of formated data to be ready to be sent out. Presentation| Character encoding also happens at this layer. Layer             |             | Used protocols: Http (for character encoding)             |             | Data type (PDU): Formated Data             | NOTE!!! many people consider Presentation Layer to be part of the Application Layer _______|__________________________________________________________________________________________________________________________________             |               | This layer is responsible for managing all the incomming/outgoing sessions, opening them and destroying them.              | It keeps session data for session oppened. Session | Sessions could be oppened by Client Softwear such as e-mail, browsers, command line etc... Layer     |                | Used protocols: Does not use protocols, this layer basically keeps session data and add it to the formated data from Presentation Layer             |             | Data type (PDU): Formated Data             | NOTE!!! You can check current sessions using the netstat comand on CMD.             | NOTE!!! This is the last fully softwear level, all three of the above layers were using softwear to process data.  _______|__________________________________________________________________________________________________________________________________             |             | This layer is responsible for segmenting the data encoded/encrypted in session layer into small chunks of data.[    ] -> [][][]               | This layer is also responsible for assembling segmented data recieved. [][][] -> [     ]             | Data type (PDU): Segment              | Transport   | Each segment must have a sequence-number added to it to keep it in order, this is since the segments might not arrive in order.   Layer       |              | The sequence-number is added into a header thats attached to every segment:             | [segment|header:{seq_num:1}] [segment|header:{seq_num:2}]...              |              | The segment-header also includes the maximum-segment-size attr that tells what is the size of the segment in bits.             | [segment|header:{seq_num:1,mss:256}] [segment|header:{seq_num:2, mss:256}]...              |              | The type connection relayebility os also determined here, and added to the segment header. Connection relayebility has to with UDP/TCP.             | TCP (Transfer Control Protocol) -  connection oriented, relayable connection. This protocol is used for data that is important.             | UDP (User Datagram Protocol) - connectionless, un-relayable connection. This protocol is used for un-important data,             |             | PORT NUMBERS             | ------------             | This layer also adds the protocol corresponding port number.             | For example: http uses port 80, https uses 443, ftp uses 20,21.             | If your using TCP or UDP your using these 16bit port numbers.             | The segments now look as such:             | [segment|header:{seq_num:1,mss:256,port:80}] [segment|header:{seq_num:2, mss:256, port:80}]...             |             | What is connection oriented? Its the use of aknowledgment of the two sides (transmiting/recieving) of each other to promise a secure connection.             |             | ------------------------------------------------------------             | TCP (Transfer Control Protocol)             | ------------------------------------------------------------             |             | There are two phases for transmitting segments over TCP: Three way handshake & transmition with acknowledgment.             | ================ Three way handsake =====================>             |   1) Check its the right recipient.             |   2) agree on the file size and segments to transmit.             |   3) agree on protocol and other params             | <=========================================================             |              | ---------- segment.1 ------------> sending segment with segment-number             |<---------- Acknowledge.send.2 ---- segment recieved, sending aknowledgement & next segment-number to send             | ---------- segment.2 ----\-------> Segment got lost or was corrupted on the way. Recipient does not send acknowledgment.             | --- wait for acknowledgment ?              | --- did not recieve, send again !              | ---------- segment.2 ------------> This time segment was recieved.             | <--------- Aknowledgment.send.3             | ---------- segment.3 ------------>             |              | NOTE!!! HTTP/HTTPS/FTP/TELENET all use TCP, this is since connection relayebility is needed.             |             | ------------------------------------------------------------             | UDP (User Datagram Protocol)             | ------------------------------------------------------------             | UDP is used for unimportent data or data that needs speed of transfer, for examples:              | Video streaming, needs to transmit 30/40fps at optimal setting (no buffer)                | Voiceover IP, needs fast data transmition for voice quality.              | Multiplayer games, needs fast data transmition for game accuracy.              |             | ============== NO HANDSHAKE OR ANY CONNECTION RELAYEBILITY ================              |              | ------------- segment.1 -------------> transmited into the ether             | ------------- segment.2 -------------> transmited into the ether             | ------------- segment.3 -------------> transmited into the ether             |              | NOTE!!! Used for LIVE stuff mainly.             |              | ---------------- OTHER PROTOCOLS ---------------------------             | ------------------------------------------------------------             | RIP (Routing Information Protocol) PROTOCOL             | ------------------------------------------------------------             | This is the protocol that router speaks with each other to.              | RIP uses UDP for fast transfer.              |             | ------------------------------------------------------------             | DNS (Domain Name System)              | ------------------------------------------------------------             | Protocol for Domain Name Servers to communicate and translate ip number to domain names.             | Uses both UDP & TCP.             | _______|________________________________________________________________________________________________________________________________________________              |              | This layers responsibility has to do with routing, also known as Best Path Determination.              | Since the network is devided into many smaller local networks, connected by routers/gateways, this layer build the path               | of routers between the Source IP and the Destination IP.             |             | This layer takes the segments from the transport layer, and adds routing ioformation to it, packing up a segment to  Network        | new unit called "packet".  Layer          |             | Additional data this layer adds to the network layer header is Source IP (own ip), and Destination IP (requested ip).               | The process of resolution of IPs is called Host Adressing.              |              | This layer contains also the TCP/IP model, thought by many to be a seperate layer, though this assumption is misleading since              | TCP/IP is only one of the protocols supported.                     |             | After the procedure of Best Path Determination, the packet is issued to the data link layer to be transmited out.             |             | Data type (PDU): Packet             |             | _______|__________________________________________________________________________________________________________________________________             |             | This layers whole responsibility is to deliver/send the packets to next router/gateway on the  Best Path determined in the network layer.             | The data link layer makes decision based on physical adresses (MAC adresses), and  Data Link   | provides a reliable way to transit the data across physical links.  Layer       |              | The recieved packet is wrraped again with a Data Link header that contains the MAC adress of the next router on path.             | The devices that can understand MAC adresses, such as switches, are called layer 2 devices, this is since layer 2 (Data Link Layer)             | contain the ability to read/write MAC adresses.             | The Source IP and and Destination IP from the previous layer are converted to Source MAC (originating device) & Destination MAC (destination             | device), and this is added to the layer             | DL layer header.                 | NOTE!!! here the layer deal with MAC & destination devices, previous layer delt with IPs not  MAC.                         |             | The packet wrraped with the DL layer header (also known as Ethernet header) is now called a frame.             | Data type (PDU): Frames.             |  _______|__________________________________________________________________________________________________________________________________             |             | In this layer the packets from the previous level are serialized via hardware into binary, and transmited out to the ether.             | This layer is the most complex layer since it deals with serializing higher level data into binary, this means dependens on many types of  Physical    | chip and card types (wifi, cable, sattalite). Layer       |             | The physical layer provides an electrical, mechanical, and procedural interface to the transmission medium.              | The shapes and properties of the electrical connectors, the frequencies to broadcast on,              | the line code to use and similar low-level parameters, are specified here.             |              | Within the semantics of the OSI model, the physical layer translates logical              | communications requests from the data link layer into hardware-specific operations to              | cause transmission or reception of electronic signals.             | _______|__________________________________________________________________________________________________________________________________________
Show less

Description

Data Buffers
No tags specified
In computer science, a data buffer (or just buffer) is a region of a physical memory storage used to temporarily store data while it is being moved from one place to another. Typically, the data is stored in a buffer as it is retrieved from an input device (such as a microphone) or just before it is sent to an output device (such as speakers). However, a buffer may be used when moving data between processes within a computer. This is comparable to buffers in telecommunication. Buffers can be implemented in a fixed memory location in hardware—or by using a virtual data buffer in software, pointing at a location in the physical memory. In all cases, the data stored in a data buffer are stored on a physical storage medium. A majority of buffers are implemented in software, which typically use the faster RAM to store temporary data, due to the much faster access time compared with hard disk drives. Buffers are typically used when there is a difference between the rate at which data is received and the rate at which it can be processed, or in the case that these rates are variable, for example in a printer spooler or in online video streaming.
Show less
Show full summary Hide full summary