Standards organizations

February 28, 2016 ยท View on GitHub

http://programmers.stackexchange.com/questions/109517/how-is-ietf-different-from-w3c

IETF

Internet Engineering Task Force.

Specifies many important IPS transport and internet layer protocols, in particular IP and HTTP, thus a large part of standards discussed in this project.

Be wary of the Aprils Fool RFCs! http://en.wikipedia.org/wiki/April_Fools%27_Day_Request_for_Comments They are formated exactly like regular RFCs: http://tools.ietf.org/html/rfc6592 It things start looking weird, check if the date is not April 1st.

Meta RFCs

RFC 2199

Key words

Explains what the key words like MUST, SHOULD and MAY used in RFCs mean. Used in many many other specifications, including stuff that is not from IETF like

http://www.ietf.org/rfc/rfc2119.txt

  • MUST: obligatory
  • SHOULD: do it unless you have a good reason no to
  • MAY: completely optional: only implement if it's worth it for you

RFC 7127

Describes standards themselves.

Proposed Standard

TODO check: looks like the lowest level of acceptance. Are there others?

Category

TODO? What are all the categories?

IEEE

Specifies many OSI link layer protocols amongst other things, thus low level stuff close where physical characteristics of the mediums matter.

W3C

Works on top of the application layer, and uses the IETF HTTP spec a lot. We shall not discuss many W3C standards here.

OSI vs IPS

Models for network protocols.

IPS is from IETF and has only 4 layers, OSI is from ISO and has 7.

Both seem to contain more or less the same protocols, except that they are put into different layers.

IPS is simpler to remember where each protocol goes since it has less layers.

IPS

http://en.wikipedia.org/wiki/Internet_protocol_suite

Layers

Each layer contains many protocols, each of which helps the layer achieve its functions

Some of the most common protocols in each layer are and the function of the layers are:

  • application: HTTP, HTTPS, FTP, DHPC and many more.

    Whatever protocol any application uses.

    Many protocols are standardized by large organizations, and have a specific port reserved for them on each computer.

  • transport: TCP and UDP are by far the most common

    The transport layer:

    • splits up the data for the application layer in more manageable chunks.

    • guarantees that each chunk arrived, and if not asks for it again.

  • Internet: IP is the most common

    Finds the path between any two computers even if they are not on the same network.

  • link: Ethernet, ARP

    Finds the path between two computers that are on the same network.

To get a feeling for what each layer does, learn some of the most popular protocols of each of those layers.

Layer data structure

Each layer adds a header to the layer below containing its information:

| application data  |
| transport data    | transport header |
| internet data                        | internet header |
| link data                                              | link data  |
  • the transport data is the same as the application data.

  • the Internet data contains exactly:

    • the transport data
    • the transport header
  • the link data contains exactly:

    • the Internet data
    • the Internet header

Example: browser fetches page

A browser wants to make a typical HTTP request to a remove server to get a web page.

It knows the IP of that server.

The browser gives to the networking system

  • the HTTP data

  • the IP of the server

  • the port on the server.

    HTTP is standardized by IANA to be accepted on port 80/TCP.

And then asks the networking system to:

  • add TCP header data to the HTTP data generated by the browser to make a TCP package
  • add an IP header to make an IP package.
  • add an Ethernet header to make an Ethernet package.

Next the computer sends the Ethernet header to its router, which is on the same network.

The router is able to receive that data because of the information contained in the Ethernet header.

The router is now done with the Ethernet header and throws it away.

The router puts the Ethernet header...

TODO continue. Add diagrams.