Компютърни Мрежи и GNU/Linux Боян Кроснов Мариян Маринов SiteGround LLC
2 Лекцията Преговор Linux Networking Stack Команди – IP ARP протокол Команди – ARP Sniffers TCP и UDP протоколи Команди – TCP и UDP
3 Преговор
4 Слоести мрежови модели
5
6 Протоколи
7 Мрежова топология
8 Команди lspci ip link ethtool, mii-tool ifconfig; /proc/net/dev vconfig; /proc/net/vlan
9 Demo setup
10
11 NIC
12 Linux kernel networking stack
13 Linux kernel
14 Команди - IP ipcalc ip addr; ifconfig ip route; route ping; fping traceroute; mtr /etc/network/interfaces (Debian) /etc/sysconfig/network-scripts (Redhat)
ARP Protocol RFC826: Ethernet Address Resolution Protocol: Or Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware. D. Plummer. November (Format: TXT=21556 bytes) (Also STD0037) (Status: STANDARD)
Команди - ARP ip neigh, arp arping
ARP Table gw:~# arp -n Address HWtypeHWaddress Flags MaskIface ether00:0B:DB:4A:BD:8ACeth ether00:0E:A6:6A:B1:12Ceth ether00:14:BF:2C:94:5ACeth ether00:13:02:4F:78:16Ceth ether00:1C:BF:0F:24:F9Ceth (incomplete) eth ether00:17:0F:AD:E1:C0Ceth ether00:19:66:34:B1:24CMeth0
MAC address table Switch# show mac-address-table vlan vlan mac address type learn age ports * a00.326c dynamic Yes 5 Gi1/29 * f402.60e5 dynamic Yes 0 Gi1/3 * a00.35c0 dynamic Yes 5 Gi1/3 * a00.31dc dynamic Yes 5 Gi1/3 * c7f6.11e3 dynamic Yes 0 Gi1/3 * a dynamic Yes 5 Gi1/3 * a00.350c dynamic Yes 5 Gi1/3 * a dynamic Yes 5 Gi1/3...
20 Sniffers Wireshark, tshark tcpdump
21 Демонстрация
22 Q&A
23 TCP и UDP протоколи UDP (RFC768 J.Postel 1980) – ports TCP (RFC793 J.Postel 1981) – Session establishment and tear-down – Window procedure – Slow start and congestion avoidance (VJ 1988) Berkeley sockets (1983) – The Berkeley socket API forms the de facto standard abstraction for network sockets. Most other programing languages use an interface similar to the C API. // wikipedia
24 Протоколи
UDP header | Source | Destination | | Port | Port | | | | | Length | Checksum | | | data octets User Datagram Header Format
TCP Header | Source Port | Destination Port | | Sequence Number | | Acknowledgment Number | | Data | |U|A|P|R|S|F| | | Offset| Reserved |R|C|S|S|Y|I| Window | | | |G|K|H|T|N|N| | | Checksum | Urgent Pointer | | Options | Padding | | data | TCP Header Format
27 Linux kernel networking stack
28 TCP и UDP команди telnet tcptraceroute netstat, fuser, lsof hping nc - TCP/IP swiss army knife /etc/inetd.conf
29 Q&A
Extra slides
iptables Netfilter firewall connection tracking filter, nat, mangle, raw
Linux router ip route zebra/quagga XORP, Vyatta
Linux bridge (switch) brctl ebtables
IP Fragmentation, MTU, PMTU-D MTU concept TCP MSS DF (Don't Fragment) bit ICMP type 3 (destination unreachable), code 4 (fragmentation needed but don't-fragment bit set)