Network Fundamentals

Network Protocols

Define rules and format of communication between network devices.

Layered Models

Standard framework for interconnecting network protocols for end-to-end communication.

Open Systems Interconnection (OSI)

Used to teach computer networking. Developed in 1970s.

TODO PlantUML

  1. Application
  2. Presentation
  3. Session
  4. Transport
  5. Network
  6. Data Link
  7. Physical

Transmission Control Protocol / Internal Protocol (TCP/IP)

More widely-used abstraction model.

TODO plantUML

  1. Application
  2. Transport
  3. Internet
  4. Host-Network

Breakdown of data units at each layer:

“Don’t Smoke Pot From Bongs”

Data UnitTCP/IP Layer
DatagramsApp
SegmentsTransport
PacketsNetwork
FramesData Link
BitsPhysical

Data Encapsulation

Encapsulation: Application \to Physical

Decapsulation: Physical \to Application

Example: Encapsulation

TODO Names

1Data
2TCP/UDP HeaderData
3IP HeaderTCP/UDP HeaderData
4Frame HeaderIP HeaderTCP/UDP HeaderDataFrame Trailer

Physical Layer

Transmission of bits/waveform/timing/et cetera.

Examples: coaxial, radio, fiber optic, et cetera.

Things to Consider:

Delivers data in a local network (or point-to-point).

IEEE 802.3 (Ethernet)

IEEE 802.11 (Wi-Fi)

Network Layer

Delivers data between hosts, possibly on different networks.

Internet Protocol (IPv4)

Note: Current standard is IPv6

Other Protocols

Address Resolution Protocol (ARP): Resolves MAC address to corresponding IP address.

Internet Control Message Protocol (ICMP): Allows hosts to communicate about network conditions.

Dynamic Host Configuration Protocol (DHCP): Dynamically assigns IP addresses.

Transport layer

Delivers data from process on one host to process on another.

Port Numbers: Used to get the data to the correct process on a host.

Transmission Control Protocol (TCP)

Connection-oriented with reliable delivery, flow, and congestion control.

Flags: SYN, ACK, FIN, PSH, URG

Most internet traffic uses TCP.

Universal Control Protocol (UDP)

Connectionless, less overhead than TCP.

Basically, anything that buffers or can be lossy, is good for UDP.

Ap pl Display status of network connectionsication Layer Protocols

Domain Name System (DNS)

Resolves domain names to IP addresses.

Hypertext Transfer Protocol (HTTP/s)

Web browser/server interaction.

Email

Secure Shell (SSH)

Remote accessing other computers.

File Transfer Protocol (FTP)

Sharing files between computers.


Network Address Translation

Basic NAT: Translates one IP into another.

Port Address Translation: Multiple hosts share one single public IP.

Can be static or dynamic (IP assigned to you).

Benefits:

Basic Networking Commands

CommandDescription
ipconfigDisplay network interface config
pingSend ICMP echo request
netstatDisplay status of network connections
nslookupDNS info

Layers and Devices