客户端开发该知道的知识—计算机网络

层次结构的基本原则

  1. 保证数据通路顺畅
  2. 维护通信端的状态
  3. 识别通信端
  4. 数据纠错

类似于责任链模式,分层对一次网络请求进行设计维护

  1. 各层之间相互独立
  2. 各层有灵活性
  3. 各层之间解耦

osi七层模型(未市场化、了解即可)

  • 应用层:提供接口和服务
  • 表示层:数据处理(编码解码,加密解密)
  • 会话层:管理通信会话(建立、维护、重连)
  • 传输层:管理端到端的通信连接
  • 网络层:数据路由
  • 数据链路层:相邻节点之间的数据通信
  • 物理层:光电等物理特性

TCP/IP四层模型(重点)

  • 应用层:HTTP、FTP
  • 传输层:TCP、IP
  • 网络层:IP、ICMP
  • 网络接口层:Ethernet、ARP

TCP计时器

  1. 重传计时器
    重传时间到了.如果还没有接收到对方的ACK,就从发此包,避免陷入无限等待中
  2. 坚持计时器
    目的:解决零大小窗口导致的死锁问题
    死锁产生原因:当接收端窗口大小为0时,发送端停止发送,此后如果接收端有空余空间来接收数据,则发送一个新窗口大小的报文,如果该报文丢失了则导致双方都处于等待状态,产生死锁
    工作原理:当发送端接收到接收端发送的零大小窗口的报文时,就启动坚持计时器,当计时器到达计时时间,发送端就主动发送一个报文段告诉接收端你发送的新窗口大小的报文丢失了,需要重新发送
    坚持时间:开始先设置为超时重传时间,如果超时了还是没有收到接收端发送的新窗口大小报文,则将计时器的值加倍并且复位,直到大于门限值60s,在此之后每隔60s向接收端发送一个询问报文
  3. 保活计时器
    目的:避免空闲连接长时间的占用服务器资源
    工作原理:当服务器收到数据时都将保活计时器重新设置(一般2h),过了2h后,服务器如果没有收到数据,每隔75s发送一个探测报文给客户端,当连续发送10次后,仍然没有收到客户端的回复,则服务器断开连接
  4. 时间等待计时器
    时间等待计时器是在四次握手的时候使用的。时间是2MSL(最长报文生存时间)

网络层的IP协议

IP协议把复杂的实际网络抽象成虚拟互联的网络

IP协议屏蔽了底层实现细节只需要关注网络层的数据转发即可

IP协议解决了虚拟网络中数据报传输路径的问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据帧每一跳MAC地址都在变化

IP数据报每一跳IP地址不变,包括源IP地址和目标IP地址

UDP协议

用户数据报协议(数据报:应用层提供的数据,UDP不处理直接传输)

在这里插入图片描述

UDP首部

在这里插入图片描述

  1. 无连接协议
  2. 不可靠,无法感知是否丢失
  3. 面向报文传输
  4. 没有拥塞控制(不管网络拥塞与否)
  5. 首部开销小,只有32*2 64位

TCP协议

传输控制协议

在这里插入图片描述

  1. 面向连接的协议
  2. 点到点通信
  3. 可靠传输
  4. 全双工
  5. 面向字节流(流:面向字节一段一段传输,对数据块进行合并和分拆)

在这里插入图片描述

序号:数据首字节序号

确认号:期望收到的数据的首字节序号

数据偏移:真实数据偏向头部的距离

TCP标记:

在这里插入图片描述

窗口:对方发送数据量的大小

紧急执行:URG为1时启动

TCP选项:拓展使用

TCP可靠传输基础

ARQ

基于字节的滑动窗口

在这里插入图片描述

未收到消息需要从最前一个未收到的部分开始重新传输

每一次传输都需要收到确认号

TCP流量控制

  1. 让对方发送速率不要太快
  2. 流量控制使用滑动窗口来实现(降低窗口大小为0来控制流量)

窗口大小传输失败会使用坚持计时器

窗口探测报文来探测窗口丢失后的问题

TCP拥塞控制

报文超时认定拥塞

  1. 慢启动算法(由小到大增加发送量,收到一个报文就加一)
  2. 拥塞避免算法(维护一个拥塞窗口的变量,只要不用拥塞就调大窗口)

TCP三次握手

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eQc7lbaH-1609766935550)(/Users/admin/Library/Application Support/typora-user-images/image-20210104210358767.png)]

为什么要三次?

已经失效的连接请求报文传送到对方后,引起传输错误,超时的报文也会建立连接

TCP四次挥手

在这里插入图片描述

等待计时器:等待2MSL,最长报文段寿命2min

为什么需要等待计时器?确保第四次挥手被对方收到,确保所有报文过期

HTTP协议

超文本传输协议

在这里插入图片描述

  1. 可靠
  2. 可传输:文本、图片、视频、音频、文件
  3. CS模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

GET方法

在地址里制定资源

POST方法

在请求头或请求体里指定资源

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bw37yMMA-1609766935553)(/Users/admin/Library/Application Support/typora-user-images/image-20210104211855425.png)]

HTTPS协议

HTTP是明文传输的

在这里插入图片描述

数字证书

可信任组织办法给特定对象的认证

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VIlBBUeH-1609766935555)(/Users/admin/Library/Application Support/typora-user-images/image-20210104212238802.png)]

SSL(安全套接层)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fdFf6kBu-1609766935555)(/Users/admin/Library/Application Support/typora-user-images/image-20210104212308106.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4hTYC47h-1609766935556)(/Users/admin/Library/Application Support/typora-user-images/image-20210104212359807.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lp5Ud57x-1609766935557)(/Users/admin/Library/Application Support/typora-user-images/image-20210104212513053.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S3RZBomu-1609766935557)(/Users/admin/Library/Application Support/typora-user-images/image-20210104212544800.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-slMbCxuw-1609766935558)(/Users/admin/Library/Application Support/typora-user-images/image-20210104212559251.png)]

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机网络涉及的知识点非常广泛,以下是一些重要的知识点: 1. 网络体系结构:了解计算机网络的体系结构,包括客户端/服务器架构、对等网络架构和分布式系统。 2. 网络协议:熟悉常见的网络协议,如TCP/IP协议族、HTTP、DNS、FTP等。了解这些协议的工作原理和功能,以及它们在网络通信中的应用。 3. IP地址和子网划分:理解IP地址的结构和分类,了解子网划分的概念和方法。能够进行IP地址的规划和配置。 4. 路由和转发:了解路由器的工作原理,包括路由表、路由选择算法和数据包转发过程。熟悉常见的路由协议,如RIP、OSPF和BGP。 5. 网络安全:了解网络安全的基本概念和原则,包括身份认证、访问控制、数据加密和防火墙等。掌握常见的网络攻击类型和防御措施。 6. 网络设备和技术:熟悉常见的网络设备,如交换机、路由器、防火墙和负载均衡器。了解虚拟化和云计算等新兴网络技术。 7. 网络性能优化:了解网络性能优化的方法和技术,如带宽管理、流量控制和拥塞控制等。能够使用网络监测工具进行性能分析和故障排除。 8. 网络应用开发:熟悉网络应用开发的基本原理和技术,如Socket编程、Web服务和RESTful API设计。 这些知识点只是计算机网络领域的一部分,但它们是构建一个稳定、安全和高效网络的基础。在实际应用中,还需根据具体需求深入学习和掌握相关知识

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值