Lesson 9: Networking¶
Who is this talk for?¶
Someone with little or no networking knowledge.
ECE/CS 372 at OSU covers this content, more or less
What is a network?¶
“a group or system of interconnected people or things“
To us, a network is:
- Electronic devices
- Sending signals over wire, fiber, or radio
- Communicating data using a standardized protocol
What is a protocol?¶
“A set of agreed upon rules for communication“
- Defines sequence & format of packets being sent
The OSI Model¶
Open Systems Interconnection
- Layers of abstraction
Note
“Create a layer of easily localized functions so that the layer could be totally redesigned and its protocols changed in a major way... without changing the services expected from and provided to adjacent layers”
Layer 1: Physical¶
Networking Hardware
- Connector shapes
- Wire, optical fiber, or radio signal specifications
RS-232
Layer 2: Data Link¶
MAC: Media Access Control
- MAC address should be globally unique
- ARP: Address Resolution Protocol (between layer 2 & 3)
- NDP (neighbor discovery protocol) used in IPv6
- Flow control & error checking
Layer 4: Transport¶
Interact directly with program same-order delivery, reliability, flow control, and congestion avoidance
TCP: | Transmission Control Protocol |
---|
- used by HTTP, HTTPS, SMTP, POP3, IMAP, SSH, FTP, Telnet
UDP: | User Datagram Protocol |
---|
- No error checking built in
- No retransmission delays
- VoIP, media, games
Get your hands dirty¶
In a linux terminal run::
ip a
These will display information about your network interfaces.
See also:
ifconfig
iwconfig
Example output:¶
user@host:~$ ip a
...
2: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 33:77:00:44:66:33 brd ff:ff:ff:ff:ff:ff
3: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 24:77:33:44:55:66 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.55/24 brd 192.168.1.255 scope global wlan1
inet6 fe80::2677:3ff:fed4:538c/64 scope link
valid_lft forever preferred_lft forever
Netmask:¶
Decimal IP Address | Binary IP Address |
192.168.1.55 | 11000000.10101000.00000001.00110111 |
255.255.255.0 | 11111111.11111111.11111111.00000000 |
Part of address | Corresponding address |
Network (Decimal) | 192.168.1.0 |
Network (Binary) | 11000000.10101000.00000001.00000000 |
Host (Decimal) | 0.0.0.55 |
Host (Binary) | 00000000.00000000.00000000.00110111 |
Available Hosts: 192.168.1.[1-254]
Broadcast address: 192.168.1.255
Netmask Example:¶
Decimal IP Address | Binary IP Address |
192.168.90.55 | |
255.255.192.0 |
Netmask Example:¶
Decimal IP Address | Binary IP Address |
192.168.90.55 | 11000000.10101000.01011010.00110111 |
255.255.192.0 | 11111111.11111111.11000000.00000000 |
Part of address | Corresponding address |
Network (Decimal) | 192.168.64.0 |
Network (Binary) | |
Host (Decimal) | 0.0.26.55 |
Host (Binary) |
Netmask Example:¶
Decimal IP Address | Binary IP Address |
192.168.90.55 | 11000000.10101000.01011010.00110111 |
255.255.192.0 | 11111111.11111111.11000000.00000000 |
Part of address | Corresponding address |
Network (Decimal) | 192.168.64.0 |
Network (Binary) | 11000000.10101000.01000000.00000000 |
Host (Decimal) | 0.0.26.55 |
Host (Binary) | 00000000.00000000.00011010.00110111 |
Available Hosts: 192.168.[64-127].[1-254]
Broadcast Address: 192.168.127.255
Routes¶
user@host:~$ route
Kernal IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default foo.osuosl 0.0.0.0 UG 0 0 0 wlan1
link-local * 255.255.0.0 U 1000 0 0 wlan1
192.168.1.0 * 255.255.255.0 U 2 0 0 wlan1
user@host:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan1
192.168.1.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan1
Bootstrapping¶
What happens when your computer connects to a network?
- Duplex and speed negotiation
- Static or dynamic configuration is applied
Static Configuration¶
Must in advance know:
- IP Address
- Netmask
- Default Gateway
- DNS Servers (optional in some cases)
Dynamic Configuration¶
All of the statically defined parameters are retrieved over the network via DHCP
But how do you communicate over the network without a network configuration?
Public vs Private Address¶
NAT: | Network Address Translation |
---|
- lose end-to-end traceability
- hides internal network topology
- allows use of private IP’s over public internet
- conserves limited public IP’s
Control Layer¶
Connection oriented vs Connectionless
Collisions¶
- CSMA CA
- All Wireless networks use this Carrier Sense Multiple Access with Collisions Avoidance
- CSMA CD
- Carrier Sense Multiple Access with Collisions Detection
Why is this important?