计算机网络&&操作系统面经

本文详细介绍了TCP和UDP的区别、TCP的三次握手和四次挥手过程,以及在面试中常见的TCP连接特点、为何需要三次握手等问题。同时,讲解了HTTP的基本原理、HTTP与HTTPS的区别和HTTP请求方法,探讨了DNS域名解析的过程和原因,以及操作系统中的并发与并行概念、进程和线程的理解。
摘要由CSDN通过智能技术生成

计算机网络

网络七层架构

OSI模型: 七层
TCP/IP模型: 应用层,传输层,网络层,数据链路层,物理层 五层
在这里插入图片描述

简述
物理层 将上层信息编码成电流脉冲信号用于网上传输,不处理错误
数据链路层 确定网络数据包的形式,加入了物理编码,网络拓扑,错误校验,流量控制等特征
网络层 源和终点之间建立链接,需要路由确定计算机位置,IP协议
传输层 向高层提供端对端的网络数据流服务,端口-端口TCP/UDP协议
会话层 建立、管理和终止表示层与实体之间的通信会话,建立一个连接
表示层 用于应用层数据编码和转化,确保一个系统应用层发送的信息,可以被另一个系统应用层识别
应用层 规定数据的传输协议:HTTP-80/HTTPS-443

TCP与UDP

TCP/IP原理

TCP:Transmission Control Protocol,传输控制协议,面向连接,安全可靠的运输层协议

UDP:User Data Protocol,用户数据报协议,不建立连接,可以一对多,尽最大努力交付,不保证。比如ping命令测试

区别

TCP UDP
基于连接 无连接
要求系统资源多
结构复杂 结构简单
流模式 数据报模式,多为短消息
保证数据正确性,可靠 可能丢包,不可靠
保证数据顺序 不保证

TCP和UDP的使用场景

如何让UDP实现可靠传输

TCP建立连接: 三次握手【阿里,字节】

TCP报文首部
  • 源端口和目的端口
  • 序号Sequence:TCP传输的字符流中每个字节按顺序标号,保证有序
  • 确认号ack: 下一个期望收到的报文第一个字节序号
  • 确认ACK: 仅当ACK=1时,确认号字段才有效,规定当建立连接后所有报文传输ACK=1
  • 同步SYN: 建立连接时同步序号,当SYN=1,ACK=0表明连接请求报文,若对方同意,则响应报文SYN=1,ACK=1
  • 终止FIN: 释放连接,FIN=1表示报文发送方数据发送完毕,要求释放
三次握手过程

在这里插入图片描述

目的:使数据包的发送和接受同步
特点: SYN同步位只有在TCP连接时才置1,连接成功后置0

四次挥手过程【阿里】

在这里插入图片描述
数据传输完毕后,双方都可释放连接。最开始的时候,客户端和服务器都是处于ESTABLISHED状态,然后客户端主动关闭,服务器被动关闭。

Q1: TCP连接的特点,如何保证连接的安全可靠【阿里4】

TCP是面向连接安全可靠的传输层协议。

TCP的安全可靠是通过确认重传机制实现的,在滑动窗口协议中,接收窗口会在连续收到的包序列中的最后一个包向接收端发送一个ACK,当网络拥堵的时候,发送端的数据包和接收端的ACK包都有可能丢

  • 1
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值