tcp/ip面试题整理

1.TCP/IP:四层模型。

①网络接口层:对应物理层和数据链路层。

②网络层

③传输层

④应用层:包括会话层、表示层、应用层。

 

 

2. TCP与UDP的区别。
(1)TCP:面向连接,可靠的,速度慢,效率低。

(2)UDP:无连接、不可靠、速度快、效率高。

当进程需要传输可靠的数据时应使用TCP,当进程需要高效传输数据,可以忽略可靠性时应使用UDP协议。

 

3.tcp报文结构

如何记忆呢?可以把tcp报文当作物流体系中的一票运单,运单上面记录了出发地(源端口),目的地(目的端口),运单编号(序号),运单是否有效(确认号)。现在问题来了数据偏移怎么看?物流体系中一车货物是又很多票货物的,但是如果遇到了一个大客户一车根本装不完,所以需要很多车装,但是大客户明确的要求了那些货物需要那些天送达,所以就有时效(数据偏移),但是为了保证货物完整不缺的送达客户,需要校验货物数量(校验和),一车能拉多少货就是荷载体积(窗口),但是运单也又各种类型(标志位),有时候业务需要紧急派送(紧急指针)。

4. TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用。

TimeWait作用:

1。防止上一次连接中的包,迷路后重新出现,影响新连接
  (经过2MSL,上一次连接中所有的重复包都会消失)
2。可靠的关闭TCP连接
  在主动关闭方发送的最后一个ack(fin) ,有可能丢失,这时被动方会重新发
  fin, 如果这时主动方处于CLOSED 状态 ,就会响应rst 而不是ack。所以
  主动方要处于TIME_WAIT 状态,而不能是CLOSED 。
TIME_WAIT 并不会占用很大资源的,除非受到攻击。
还有,如果一方send 或recv 超时,就会直接进入CLOSED 状态
 

5. TCP拥塞控制。
(1)在通信子网出现过多数据包的情况,使得网络的性能下降,甚至不能正常工作,这种现象就称为拥塞。

(2)网络拥塞的成因主要有三:1、处理器的速度太慢。2、线路容量的限制。3、节点输出包的能力小于输入包的能力。

(3)拥塞控制与流量控制是相关的,流量控制在数据链路层对一条通信路径上的流量进行控制,其的是保证发送者的发送速度不超过接收者的接收速度,它只涉及一全发送者和一个接收者,是局部控制。拥塞控制是对整个通信子网的流量进行控制,其目的是保证通信子网中的流量与其资源相匹配,使子网不会出现性能下降和恶化、甚至崩溃,是全局控制。

(4)拥塞控制的最终目标是:1、防止由于过载而使吞吐量下降,损失效率;2、合理分配网络资源;3、避免死锁;4、匹配传输速度。

(5)对拥塞控制,可用的方法有两类:开环控制和闭环控制。
1、开环控制的思想是通过良好的设计避免拥塞问题的出现,确保拥塞问题在开始时就不可能发生。开环控制方法包括何时接受新的通信何时丢弃包、丢弃哪些包。其特点是在作出决定时不考虑网络当前的状态。
2、闭环控制的思想是反馈控制。即通过将网络工作的动态信息反馈给网络中节点的有关进程,节点根据网络当前的动态信息,调整转发数据包的策略。闭环控制过程包括三部分: ①监视系统  检测网络发生或将要发生拥塞的时间和地点。②报告  将监视中检测到的信息传送到可以进行拥塞控制的节点。③决策  调整系统的操作行为,以解决问题。

(6)对应于开环控制的方法有:(基于拥塞预防)

1、预定缓冲区

2、合理分配缓冲区

3、通信量整形法(A、许可证算法,B、漏桶算法,C、令牌漏桶算法。)

对应于闭环控制的方法有:(基于拥塞抑制,即拥塞出现或即将出现时采取适当的措施进行控制,直到消除拥塞)

1、阻塞包法。 

2、负载丢弃法

 

6. TCP滑动窗口与回退N针协议。
(1)

(2)go-back-N:为了提高信道的利用率和传输的效率,在未收到确认信息时允许发送方连续发送N帧数据,收方的缓冲区只能存放一帧数据。当接收方检测出出错的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。因为对接收方来说,由于这一帧出错,就不能以正常的序号向它的高层递交数据,对其后发送来的N帧也可能都不能接收而丢弃。GO-BACK-N可能将已正确传送到目的地的数据帧再重传一遍,这显然是一种浪费。为了不出现二义性发方的窗口大小不得大于2n-1。

 


7. Http的报文结构。

(1)HTTP请求报文
一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。


(2)HTTP响应也由三个部分组成,分别是:状态行、消息报头、响应正文。

8. Http的状态码含义。


9. Http request的几种类型。


10. Http1.1和Http1.0的区别


11. Http怎么处理长连接。


12. Cookie与Session的作用于原理。


13. 电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP。


14. Ping的整个过程。ICMP报文是什么。


15. C/S模式下使用socket通信,几个关键函数。


16. IP地址分类。


17. 路由器与交换机区别。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值