面试可能遇到的问题总结【一】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cx55887/article/details/82889186

(1)简述TCP的三次握手
1.第一次握手:客户端请求建立连接时,会将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给服务器,客户端进入SYN_SENT状态,等待服务器确认。
2.第二次握手:服务器收到来自客户端的数据包后,根据SYN=1可以得知客户端请求建立连接,服务端将SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给客户端确认连接请求,服务端进入SYN_RCVD状态。
3.第三次握手:客户端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给服务端,服务端检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,客户端和服务器进入ESTABLISHED状态,完成三次握手。

(2)简述tcp和udp的区别和优缺点
1.tcp提供有连接的数据传输,udp是没有连接的数据传输
2.由于tcp基于有连接的数据传输和错误重传机制,因此具有高可靠性,确保传输数据的正确性,不出现丢失或乱序,而udp的数据传输则相对不可靠
3.由于udp传输数据时不需要建立连接,因此具有较好的实时性,工作效率较tcp协议高。udp段结构比tcp的段结构简单,因此网络开销也小。

(3)简述一下iptables的四表五链
1.filter表:对数据包进行过滤
INPUT链:对发送到上层应用的数据包进行过过滤
OUTPUT链:对上层应用所产生的数据包进行过滤
FORWARD链:对经过本机转发的数据包进行过滤

2.nat表:对数据包中的的地址进行转换
PREROUTING链:进行路由选择之前修改数据包的ip地址
POSTROUTING链:在进行路由选择之后 且从主机发送出去之前修改数据包的ip
OUTPUT链:修改上层应用产生数据包的ip

3.mangle表:不能过滤数据包,也不能修改数据包中的地址,仅仅能对报文进行特定的修改(ttl, tos…)
INPUT链
OUTPUT链
FORWARD链
PREROUTING链
POSTROUTING链

4.raw表:决定数据包是否被状态追踪机制所处理
组成:
PREROUTING
OUTPUT

猜你喜欢

转载自blog.csdn.net/cx55887/article/details/82889186
今日推荐