计算机网络常见问题总结

目录

前言

1. 谈一谈对OSI七层模型和TCP/IP四层模型的理解?

2.  谈谈TCP协议的3次握手过程?

3. TCP协议为什么要3次握手?2次,4次不行吗?

4. 谈谈TCP协议的四次挥手过程 

5. 什么是流量控制?

6. 什么是滑动窗口?

7.  什么是拥塞控制?

8. TCP和UDP有什么区别?


前言

以下内容仅根据个人理解编写,为了便于记忆和口头阐述,如有疏漏,请多指正。

1. 谈一谈对OSI七层模型和TCP/IP四层模型的理解?

回答:

为什么要分层?

首先,分层的原因是因为在网络的整个传输过程中,设计是十分复杂的,我们如果要清晰且合理的设计整个网络模型,就必须对它进行分层,明确各自的任务,各层之间相互配合形成整体的计算机网络模型,同时它也作为一种通用的规范,因为有了它,我们按照这个标准可以使计算机网络系统之间可以互相连接。

分别介绍OSI和TCP/IP分层模型:

OSI七层模型是ISO组织定义的一个标准的、理想化的分层模型,从上至下依次包括了:

  1. 应用层:为应用程序提供服务;
  2. 表示层:数据格式的转化、数据的加密;
  3. 会话层:建立、管理、断开连接;
  4. 传输层:通过传输协议(TCP、UDP)、端口来建立端到端的通信;
  5. 网络层:通过IP地址,并选择合适的路由和交换节点送到目的端的传输层;
  6. 数据链路层:提供介质访问和链路管理,把数据封装成帧;
  7. 物理层:通过物理信号进行实际传输;

TCP/IP的四层结构是对其的简化,包括:

  1. 应用层:包含了OSI模型中的应用层,表示层,会话层,提供了常用的协议规范如:Http协议、FTP协议、SMTP协议、Https协议;
  2. 传输层:提供端对端之间的通信;
  3. 网络层:处理IP数据包的传输、路由等;
  4. 数据链路层:包含了数据链路层和物理层,把实体连接起来;

2.  谈谈TCP协议的3次握手过程?

回答:

握手的用处:用来建立客户端和服务器端的TCP连接。

过程:首先由客户端发起连接请求,报文首部中控制位:SYN=1,ACK=0,这是第一次握手;

然后服务器端收到连接请求,若同意连接,会发送确认报文,此时SYN=1,ACK=1,表示同意连接,这是第二次握手;

客户端收到确认报文后,也会发送一个确认报文,此时SYN=0,ACK=1,SYN=0表示双方已建立连接,ACK=1表示确认收到服务器端的确认报文;

3. TCP协议为什么要3次握手?2次,4次不行吗?

  • 3次握手是为了避免重复链接,防止旧连接重复连接引起混乱
  • 另外通过三次握手可以确认序列号seq,用于进行可靠性传输。如果只有两次,则无法确定;
  • TCP连接最少需要三次握手,如果握手次数过多虽然会保证连接更稳定,但是会消耗更多的资源,三次是最节省资源的连接方式

4. 谈谈TCP协议的四次挥手过程 

  1. 概述:四次挥手是用来断开客户端和服务器端的连接的,同样由客户端主动发起。
  2. 第一次挥手:发送请求数据包,并停止发送数据。首部格式中:FIN=1,ACK=0,FIN=1表示想要断开TCP连接;
  3. 第二次挥手:服务器收到请求报文后,向客户端发送确认数据包,首部格式:FIN=0,ACK=1,表示收到请求,并同意断开;此时客户端不再发送数据,而服务器将剩余要发送的数据一直要发送完;
  4. 第三次挥手:服务器发送完数据后,会再次给客户端发送确认报文,首部格式:FIN=1,ACK=1,表示将要断开连接,并且已经将客户端需要的数据发送完了;
  5. 第四次挥手:客户端收到报文后,会发送确认报文,首部格式:ACK=1,FIN=0;表示收到服务器端的确认报文,并且断开连接;

5. 什么是流量控制?

回答:

  • 流量控制是为了控制发送方发送数据的速率,保证接收方要来得及确认、接收,防止丢包;
  • 为了控制这个速率,接收方会规定自己的一个接收能力,并以此来限制发送方所发送的数据;
  • TCP协议是通过滑动窗口来实现流量控制的,接收方可以通过确认报文的首部中的窗口字段来控制发送方的窗口大小,发送方每次最多能发送不得超过窗口大小的数据,以此来实现流量控制;

 6. 什么是滑动窗口?

  1. 它是TCP协议用于实现流量控制的一种机制。
  2. 发送方和接收方会维护各自的缓冲区,这个缓冲区就是窗口。发送方的窗口大小由接收方的确认报文中的窗口字段来决定。
  3. 发送窗口会把已发送并确认的数据滑出窗口外,从缓存中清除;并把缓冲区内、发送窗口以外的剩余数据纳入发送窗口内作为可用窗口(未发送,在发送窗口以内,剩余部分是已发送但是未确认的数据)的内容。随着接收方的确认,发送窗口在窗口内向前滑动。
  4. 接收窗口则是收多少确认多少,窗口也在向前滑动,并能通过改变窗口大小,限制发送方的发送速率,从而实现流量控制;

7.  什么是拥塞控制?

网络拥塞:它是由于网络中存在大量数据包,导致网络性能下降;

拥塞控制的作用:而我们的拥塞控制那就是用来控制发送方同时可以发送多少数据包,这个数据包的多少,将决定网络产生拥塞的可能性大小。

  1. 发送方需要维护一个叫做拥塞窗口(cwnd)的状态值,来决定每次可以同时发多少数据。
  2. 同时通过四个算法:慢开始、拥塞避免、拥塞发生、快恢复来进行拥塞控制;
  3. 分别介绍;
  4. 当发生重传时,代表着拥塞发生,分为超时重传和快速重传,快速重传和快恢复算法配合使用。

8. TCP和UDP有什么区别?

面向连接:TCP协议需要建立连接,仅支持一对一通信;UDP协议无需建立连接,支持一对一、一对多、多对一和多对多的交互通信。

可靠性:TCP协议通过确认应答、连接管理、流量控制、拥塞控制来确保可靠性传输;UDP不保证可靠性传输。

性能效率:TCP协议传输效率慢,需要较多的资源开销。UDP协议传输效率快,需要较少的资源开销。

首部格式:TCP协议的首部需要20-60个字节,UDP协议需要8个字节。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机网络端口号汇总包括逻辑意义上的端口和物理意义上的端口。逻辑意义上的端口是指TCP/IP协议中的端口,范围从0到65535。常见的逻辑端口包括用于浏览网页的80端口、FTP服务的21端口等等。物理意义上的端口指的是连接其他网络设备的接口,如ADSL Modem、集线器、交换机、路由器上的RJ-45端口、SC端口等等。 另外还有一些特定的端口号,如137端口主要用于“NetBIOS Name Service”(NetBIOS名称服务)。总结起来,计算机网络端口号汇总包括逻辑意义上的端口和物理意义上的端口,并且还有一些特定的端口号用于特定的网络服务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [史上最全网络端口号大全,网络工程师必备!](https://blog.csdn.net/weixin_42767604/article/details/109500369)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [FTP,HTTP各种端口号](https://blog.csdn.net/sunsineq/article/details/115396549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值