计算机网络面试汇总(自用)

请简述TCP和UDP的区别

TCP和UDP都是OSI模型中运输层中的协议,
TCP—传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。
UDP—用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。

  • TCP 是面向连接的,UDP 是面向无连接的
  • UDP程序结构较简单
  • TCP 是面向字节流的,UDP 是基于数据报的
  • TCP 保证数据正确性,UDP 可能丢包
  • TCP 保证数据顺序,UDP 不保证

为什么TCP可靠而UDP不可靠

  • 通过 TCP 连接传输的数据无差错,不丢失,不重复,且按顺序到达。

  • TCP 报文头里面的序号能使 TCP 的数据按序到达

  • 报文头里面的确认序号能保证不丢包,累计确认及超时重传机制

  • TCP 拥有流量控制及拥塞控制的机制

    可以参考这一篇博客

请简单说一下你了解的端口及对应的服务

  • 21端口:21端口主要用于FTP(File Transfer Protocol,文件传输协议)服务。
  • 25端口:25端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务器所开放,主要用于发送邮件,如今绝大多数邮件服务器都使用该协议。
  • 53端口:53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最为广泛。
  • 80端口:80端口是为HTTP(HyperText Transport Protocol,超文本传输协议)开放的,这是上网冲浪使用最多的协议,主要用于在WWW(World Wide Web,万维网)服务上传输信息的协议。
    在这里插入图片描述

TCP三次握手

三次握手指的是:建立一个TCP连接时,需要客户端和服务器总共发送三个包。
三次握手的目的是:连接服务器的指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换TCP窗口大小。

  • 第一次握手:建立连接,客户端向服务器发送请求报文段,将SYN置为1,客户端进入SYN_SEND状态,等待服务器确认
  • 第二次握手:服务器接收到客户端的SYN 报文段,对这个SYN报文段进行确认;同时自己发送SYN请求信息,将SYN置为1;服务器将上述所有信息放入报文段(SYN+ACK)一起发送给客户端,此时服务器进入SYN_RECV状态
  • 客户端接收到SYN+ACK报文段,向服务器发送ACK报文段,发送完毕后客户端和服务器都进入ESTABLISHED状态,完成三次握手

TCP四次挥手

  • 第一次挥手:客户端数据传输完毕需要断开连接,发送报文段并停止再次发送数据,主动关闭TCP连接,进入FIN-WAIT-1状态
  • 第二次挥手:服务器接收到客户端发送的报文段后,进入关闭等待状态,客户端到服务器的连接释放,客户端收到服务器的确认后,进入FIN-WAIT-2状态,等待服务器发出连接释放的报文段
  • 服务器的数据传输完毕后,向客户端发送连接释放报文段,服务器进入最后确认状态,等待客户端的确认
  • 客户端收到服务器的连接释放报文段后,发出确认报文段,进入等待状态,经过等待时间后进入关闭状态,四次握手结束

从输入网址到显示网页的全过程

  • 输入网址
  • DNS域名解析,将url解析为ip地址
  • 客户端与服务器建立TCP连接
  • 客户端向服务器发送HTTP请求
  • 服务器处理客户端发来的请求
  • 服务器响应请求,返回给浏览器一个响应
  • 浏览器解析响应,展示HTML

参考

IP地址分为哪几类?简单说一下各个分类

在这里插入图片描述

OSI七层模型

在这里插入图片描述

TCP/IP四层模型

在这里插入图片描述

HTTP 协议包括哪些请求

  • GET:对服务器资源的简单请求
  • POST:发送包含用户提交数据的请求
  • HEAD:类似于GET请求,不过返回的响应中没有具体内容,用于获取报头
  • PUT:用来传输文件,要求在请求报文的主体中包含文件内容,然后保存到请求的URI指定位置
  • DELETE:与PUT相反,用来删除文件,按照请求删除指定的资源
  • TRACE:让服务器将之前的请求通信环返回给客户端
  • CONNECT:与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信

HTTP响应状态码

在这里插入图片描述

  • 200
    从客户端发来的请求在服务器端被正常处理了
  • 204
    服务器接收的请求已被成功处理,但在返回的响应报文中不包含实体的主体成分
  • 206
    客户端向服务器成功请求指定范围的实体内容
  • 301
    请求的资源已经被永久的移动到新的URI,以后新的请求应该使用新的URI代替
  • 302
    资源临时移动,客户端应继续使用原有的URI
  • 303
    请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源
  • 302
    客户端发送附带条件的请求时,服务器允许访问资源,但是并没有返回任何实体
  • 400
    客户端请求的语法错误,服务器无法理解
  • 401
    请求需要有通过HTTP认证的认证信息
  • 403
    请求资源的房屋内被服务器拒绝了
  • 404
    服务器上无法找到请求的资源
  • 500
    服务器内部错误,无法完成请求
  • 503
    服务器暂时处于超负载或正在进行停机维护,现在无法处理请求
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值