Latency:
Bandwidth:
Throughput:
Baud rate:
Multiplexing (muxing):
Duplex:
Transceiver:
Octet:
Network segment:
A B ◯─┤ ├─◯ A,B = network segments ├─◯ ◯─┼─◯ ┼ = The physical wiring of the network segment ◯─┼─◯ │ ◯ = machines connected to the network segment │ ├─◯
Bridge:
A B A,B = network segments │ │ │,─ = physical wiring ▢───────────▢ ▢ = bridge device(s)
Repeater:
Switch:
Gateway:
Whenever you read something like 'layer 3 switch' this is where that comes from. These define the various layers of networking topology from the low level hardware, to protocols used at the hardware and mid-layer levels to user front-end.
Physical Layer (10Base-T, 100Base-T, 802.11, etc.)
Data Link Layer (Ethernet / others)
Network Layer (IP(v4|v6) / ICMP / etc.)
Transport Layer (TCP / UDP / etc.)
Session Layer (TCP / RPC / Sockets)
Presentation Layer (Encryption (SSL/TLS) / format conversions)
Application Layer (User interface)
Ssh is a program suite and protocol to provide an encrypted transport of data to/from your local machine to a remote host. Encrypted transport is important to have to avoid a man in the middle from intercepting passwords or other privileged information. Ssh deprecates older protocols such as the unencrypted telnet or rlogin/rsh protocols (the latter of which ssh is largely based on.)
> ssh
> ssh user@host
@
> ssh user@host [command]
-l login name Login as login name `-X Forward X11 `-Y Trusted X11 forwarding (allows applications more access to keys being typed, amung other things.) `-x Don't forward X11
-l
Ssh allows forwarding a port from the local machine (localhost) to a remote machine through the machine you're connecting to.
localhost
> ssh -L localhost:8080:cs.indstate.edu:80 -n -N user@host &
> ssh -L localhost:8080:cs.indstate.edu:80 -n -N
&
`-L Forward localhost:8080 to cs.indstate.edu:80 `-N Don't execute command -n Redirect stdin from /dev/null
-n
/dev/null
> sftp
> scp src dest > rsync src dest
> scp
> rsync
> ssh-keygen
-R hostname Remove key for hashed host. -t type Generate key for type (dsa
-R
-t
> ssh-copy-id
install your public key in a remote machine's authorized_keys
[TODO: Demonstrate ssh key generation and authorized keys access]
/etc/ssh/ssh_host*_key
/etc/ssh/ssh_host*_key.pub
/etc/ssh/ssh_config
/etc/ssh/sshd_config
Ssh daemon config (man 5 sshd_config)
[TODO: Configure sshd and ssh for X11 forwarding?]
~/.ssh/authorized_keys
~/.ssh/known_hosts
> telnet
> nc
> curl
> wget