--应用层--
我要发数据
--传输控制层--
查看端口netstat -anatp
发http请求curl www.xxx.com
抓包eth0网卡tcpdump -nn -i eth0 port 80
抓包eth0带详细信息网卡tcpdump -nn -X -i eth0 port 80
每次请求都有确认ack。
--网络层--
有ip与route表。组成互联网。
vim /etc/sysconfig/network-scripts/ifcfg-eth0可显示网卡详细信息。
255.255.255.0做二进制的按位与,有1则1,有0则0。
route -n
Des Getway
192.168.150.0 0.0.0.0
与255按位与等于原值;与0按位与等于0。
网关0.0.0.0表示不需网关。表示直连了192.168.150.0
下一跳,跳到另一个网,家中的局域网连到另一个局域网
发哪给谁,就在路由表中掩码255.255.255.0做与运算。比如:ping xxx.com,与0.0.0.0仍等于0.0.0.0,找到了0.0.0.0,网关就是下一跳。
若ping局域网内地址,不需要下一跳。
另一个地址是路由的mac地址。
发给百度,要有三个地址:ip,mac,端口(80给apach,8080给tomcat,22给ssh)
--链路层--
有arp表,arp -a
请求才会有。route表依设置就有,而arp要请求才能。若有全f地址,会被广播在局域网。
arp -d删除后,还会再请求回来。
arp -d 192.168.150.2 && curl www.xxx.com
tcpdump -mm i eth0 port 80 or arp
前几个数据包有请求找192.168.150.2mac的过程。
----补充-----
建回路地址:ifconfig lo:22 192.168.88.88
不能ping通,因为路由表中没有。
新增一条就能ping通,交给同一个能ping通的地址:192.168.150.12
route add -host 192.168.88.88 gw 192.168.150.12