--应用层--

我要发数据

--传输控制层--

查看端口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