ip地址+子网掩码可以算出在哪个子网(局域网)里面
路由器内有网关
今日内容
1、互联网通信协议详解
arp协议
ip地址与子网划分
ip地址的两方面用途:
1、arp协议会把ip地址解析成mac地址
2、标识子网地址
tcp协议与udp协议
tcp协议的三次握手与四次挥手
arp协议
arp协议功能:广播的方式发送数据包,获取目标主机的mac地址
1、通信的第一步先拿到目标主机的ip地址
2、判断出目标主机与自己是否在一个子网(局域网)里
如果在一个子网里,数据包的走向:
源主机----》本地交换机----》目标主机
如果不在一个子网里,数据包的走向:
源主机-》本地交换机-》本地路由器----》公网----》目标路由器-》目标交换机-》目标主机
详解:
1、拿到目标主机的ip与子网掩码
2、arp协议算出本机的网络地址、目标主机的网络地址
3、判断源的子网地址与目标的子网地址是否一样
# 如果一样,那么通信就是在同一个子网内通信,靠的是mac地址定位到对方在哪里:
发送arp协议的广播包拿到目标的mac地址,格式如下
自己的mac地址 FF-FF-FF-FF-FF-FF 自己ip/子网掩码 目标ip/子网掩码 数据部分
特殊mac地址:FF-FF-FF-FF-FF-FF 收到这个mac地址就表示对方要自己的mac地址
# ps:这个包会以广播的方式在发送端所处的子网内传输,所有主机接收后拆开包,发现目标ip为自己的,就响应,返回自己的mac
4、发起真正的通信
自己的mac地址 目标主机的mac地址 自己ip/子网掩码 目标ip/子网掩码 源端口 目标端口 数据部分
# 如果不一样,那么通信不在同一个子网内通信,靠路由器把数据包转发出去:
发送arp协议的广播包拿到网关的mac地址,格式如下
自己的mac地址 FF-FF-FF-FF-FF-FF 自己ip/子网掩码 网关ip/子网掩码 数据部分
4、 发起真正的通信
自己的mac地址 网关的mac地址 自己ip/子网掩码 目标ip/子网掩码 源端口 目标端口 数据部分
ps:交换机只有在两种情况下才会把包广播
1、目标mac是:FF-FF-FF-FF-FF-FF
2、目标mac不存在与mac地址表中
ip地址的两方面用途
1、arp协议会把ip地址解析成mac地址
2、标识子网地址
二层隔离与三层隔离
1、两台计算机接入不同的交换机,称之为二层隔离(交换机是二层设备)
2、二层连通,三层可以隔离。(两台计算机接入了同一个交换机,不一定在一个局域网内)(路由器是三层设备)
tcp与udp协议
tcp协议/可靠协议
udp协议/不可靠协议
tcp三次握手,建立双向链接
tcp三次握手
建链接三次握手
syn洪水攻击
syn洪水攻击利用tcp好人协议这个特点
模拟大量假客户端,向服务端发syn请求。
backlog(半连接池)
半连接池调大优化。如果遭受ddos攻击,可能造成用户访问缓慢或者拒绝访问。
断链接四次挥手
客户端优先发起FIN请求以后,客户端会进入FIN_WAIT_1状态(主动发起链接请求)。
服务端收到以后,服务端进入CLOSE_WAIT状态(服务端收到断链接请求)
客户端收到确认信息以后进入FIN_WAIT_2状态(一个通道已经断开)
服务端再发一个请求给客户端,服务端会进入LAST_ACK状态(还有一个通道也快要断了)
客户端收到信息以后,客户端进入TIME_WAIT状态(双向通路链接断开了)