当前位置: 首页 > news >正文

建设网站写需求分析/上海优化公司有哪些

建设网站写需求分析,上海优化公司有哪些,手机怎么制作网站教程视频教程,网站建设公司华网天下公司第五章 传输层 【期末复习|考研复习】 计算机网络系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称&缩写 文章目录 第五章 传输层 【期末复习|考研复习…

第五章 传输层 【期末复习|考研复习】

计算机网络系列文章传送门:
第一章 计算机网络概述
第二章 物理层
第三章 数据链路层
第四章 网络层
第五章 传输层
第六章 应用层
第七章 网络安全
计算机网络整理-简称&缩写


文章目录

  • 第五章 传输层 【期末复习|考研复习】
  • 前言
  • 五、传输层
    • 5.1 传输层提供的服务
      • 5.1.1 传输层功能
      • 5.1.2 传输层的寻址与端口
    • 5.2 UDP协议
    • 5.3 TCP协议
      • 5.3.1 TCP协议的特点
      • 5.3.2 TCP报文段
      • 5.3.3 TCP管理连接
      • 5.3.4 TCP的可靠传输
      • 5.3.5 TCP的流量控制
      • 5.3.6 TCP的拥塞控制
  • 下一章 第六章 应用层


前言

给大家整理了一下计算机网络中的重点概念,以供大家期末复习和考研复习的时候使用。
参考资料是王道的计算机操作系统和西电的计算机操作系统。


五、传输层

5.1 传输层提供的服务

5.1.1 传输层功能

传输层的功能如下:1、传输层提供应用进程之间的逻辑通信即端到端的通信,与网络层之间的区别为网络层提供的是主机之间的逻辑通信,即使网络层协议不可靠,传输层同样能为应用程序提供可靠的服务。2、复用分用。复用是指发送方不同的应用进程都可以使用同一个传输层协议传送数据;分用是指接收方的传输层在剥去报文的首部后能把这些数据正确的交付到目的应用进程,网络层也同样有复用分用的功能。3、传输层还要对收到的报文进行差错检验,检验其首部和数据部分;而网络层是检查IP数据报的首部,不检验数据部分是否出错。4、传输层提供两种不同的传输协议即面向连接的TCP和无连接的UDP,而网络层无法实现两种协议要么只提供面向连接的服务如虚电路,要么只提供无连接服务如数据报,而不可能在网络层同时存在这两种方式。

5.1.2 传输层的寻址与端口

端口是传输层服务访问点TSAP,它在传输层的作用类似于IP地址在网络层的作用或MAC地址在数据链路层的作用,只不过IP地址和MAC地址标识的是主机而端口标识的是主机中的应用进程。传输层使用的是软件端口。
端口号采用16位标志端口号,一共为65535个端口。端口号分为服务器端使用端口号和客户端使用端口号。服务器端使用的端口号分为熟知端口号0到1023和登记端口号1024到49151。常用的端口号如下:文件传输协议FTP(21)、远程登录协议TELNET(23)、电子邮件传输协议SMTP(25)、域名系统协议DNS(53)、简单文件传输协议TFTP(69)、超文本传输协议HTTP(80)、简单网络管理协议SNMP(161)、超文本传输安全协议HTTPS(443)、邮局协议POP3(110)。
在网络中通过IP地址来标识和区别不同主机,通过端口号来标识和区别一台主机的不同进程,端口号拼接到IP地址即形成套接字Socket,在网络中采用发送方和接收方的套接字来识别端点。套接字实际上是一个通信端点,它唯一的标识网络中的一台主机和其上的一个应用进程。
TCP提供面向连接的服务在传输数据之前必须建立连接传输,结束后要释放连接。TCP不提供广播或组播服务。 TCP 要进行确认、流量控制、计时器及连接管理等,因此TCP适合用于可靠性更高的场合如文件传输协议FTP、超文本传输协议HTTP、远程登录协议TELNET等。UDP是一个无连接的非可靠传输层协议,它在IP之上仅提供两个服务,多路复用和对数据的错误检查,UDP在使用前不需要建立连接,收到UDP报文后也无需任何确认。UDP比较简单因此执行速度较快实时性更好,使用UDP的应用包括小文件传输协议TFTP、DNS、SNMP和实时传输协议RTP等。
IP数据包和UDP数据报的区别:IP数据报在网络层要经过路由的存储转发而UDP数据报在传输层的端到端的逻辑通信中传输,封装成IP数据包在网络层传输时,UDP数据报的信息对路由是不可见的。TCP和网络程序电路的区别:TCP报文段在传输层的端到端的逻辑通信中传输,对路由不可见,虚电路经过交换节点必须保存虚电路的状态信息,在网络层若采用虚电路的方式则无法提供无连接服务而传输层采用TCP不影响网络层提供无连接服务。

5.2 UDP协议

UDP仅在IP数据报的服务之上增加了复用分用及差错检验以及端口功能。UDP数据报包含两个部分:UDP首部和用户数据报,UDP首部有8B,有四个字段,包括源端口号、目的端口号、长度和校验和。
1、无需建立连接,不会引入建立连接的时延。2、无连接状态,因此能支持更多的活动客户机。3、分组首部开销小,TCP有20B的首部开销而UDP只有8B。4、UDP没有拥塞控制,满足以稳定速度发送,容忍丢失但不允许较大时延的要求。5、UDP支持一对一、一对多、多对一和多对多的需求。6、UDP不保证可靠交付,给因此所有的维护可靠性的工作可由用户在应用层来完成。7、UDP是面向报文的,仅在添加首部后就向下交付给IP层。
在这里插入图片描述

UDP的伪首部仅在计算和校验时用到。长度为12B。既不上交也不传。
UDP常用于DNS、SNMP、多媒体应用、IP电话、实时会议、流媒体等。
UDP的伪首部的第四字段时17,而TCP是6。

5.3 TCP协议

5.3.1 TCP协议的特点

其任务是在IP层不可靠的、尽力而为的服务的基础上确立一种可靠的数据传输服务。特点如下:1、TCP只能是一对一的。2、TCP提供可靠的交付服务保证无差错、不丢失、不重复且有序。3、TCP提供全双工通信并且TCP连接两端设有发送缓存和接收缓存用来临时存放双向通信的数据。4、TCP是面向连接的。5、TCP是面向字节流的。6、TCP报文的长度是由接收方窗口值和当前网络的拥塞程度来确定,而UDP报文的长度是由发送应用程序决定。

5.3.2 TCP报文段

TCP传送数据单元称为报文段,TCP报文段即可以用来运载数据也可以用来建立连接、释放连接和应答。一个TCP报文分为首部和数据两部分,整个TCP报文段作为IP数据报的数据部分封装在IP数据包中,其首部的前20字节是固定的,TCP报文段的首部最短为20B。
在这里插入图片描述

确认号是期望收到对方下一个报文段的第一个数据字节的序号如果确认后为N则导游序号N减1为止的所有数据已正确收到。
紧急位URG、确认位ACK(确认位为1有效,为0无效)、推送位PSH、复位位RST(表示出现严重差错必须重新连接)、同步位SYN(表明这是个连接请求或连接接受报文)、终止位FIN(释放连接)。

5.3.3 TCP管理连接

TCP是面向连接的协议,每个TCP连接都有三个阶段:连接建立、数据传输和连接释放。TCP连接的端口为套接字或插口,每个TCP连接唯一的被通信的两个端点确定,即被两个个套接字确定。TCP连接采用客户/服务器方式,主动发起连接建立的应用进程称为客户,而被动等待连接建立的应用进程称为服务器。
ACK-确认位,SYN-同步位(只有建立连接时SYN为1其余为0),FIN-终止位,ack确认号,seq序号。
在这里插入图片描述
连接建立:1、SYN=1,seq=x(随机)。2、SYN=1,ACK=1,seq=y,ack=x+1。3、SYN=0,ACK=1,seq=x+1,ack=y+1。
在这里插入图片描述
释放连接:1、FIN=1,seq=u。2、ACK=1,seq=v,ack=u+1。3、FIN=1,ACK=1,seq=w,ack=u+1。。4、FIN=0,ACK=1,seq=u+1,ack=w+1。必须等待2MSL最大报文段寿命后客户机才进入CLOSED状态。

5.3.4 TCP的可靠传输

TCP使用校验、序号、确认和重传等机制来达到可靠传输的目的,校验机制与UDP校验一样。TCP默认使用累计确认。TCP对于两种事件会导致对报文段进行重传:超时和冗余ACK。对于超时:TCP采用一种自适应算法记录一个报文段发出的时间以及收到相应确认的时间,这两个时间之差称为报文段的往返时间,而TCP保留一个RTT的加权平均值,它会随着新测量的RTT的样本值而变化。对于冗余ACK:当接收端收到3个以上的冗余AC K时则可以认为该报文段已丢失,则快速重传该报文段。
RTT的赋值=(1-a)oldRTT+anewRTT

5.3.5 TCP的流量控制

为了匹配发送方的发送速率与 接收方的读取速率,TCP提供流量控制服务来消除发送方使接收方缓存区溢出的可能性。TCP提供一种基于滑动窗口协议的流量控制机制,在通信过程中接收方根据自己接收缓存的大小动态的调整发送方的发送窗口大小称为接收窗口rwnd,即调整TCP报文段首部的窗口字段,来限制发送方向网络注入的报文的速率,同时发送方会根据其对当前网络拥塞程度的估计而确定窗口值,称为拥塞窗口cwnd。
TCP为每个连接设置一个持续的计时器,只要TCP收到对方零窗口通知,就启动持缓计时器,时间到期就发送一个零窗口探测报文段,接收方给出当前的窗口值若仍是零,则返回重新计时。
传输层和数据链路层的流量控制的区别:传输层定义的端到端用户之间的流量控制,数据链路层定义2个中间 的相邻节点的流量控制,另外数据链路层的滑动窗口协议的窗口大小不能动态变化而传输层的则可以动态变化。

5.3.6 TCP的拥塞控制

拥塞控制是指防止过多的数据注入网络保证网络中的路由器或链路不致过载,拥塞控制和流量控制的区别:拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程涉及所有主机路由器。相反流量控制往往是指点对点的通信量的控制,是一个端到端的问题,他所要做的是抑制发送端发送数据的速率以便接收端来得及接收。两者也有相似的地方即都是通过控制发送方的发送速率来达到控制效果。
发送窗口的上限值=min{rwnd,cwnd}。拼车网建议标准定义了进行拥塞控制的4种算法:慢开始、拥塞避免、快重传和快恢复。
慢开始算法在TCP刚刚建立好并开始发送TCP报文段时,先令拥塞窗口cwnd等于1即一个最大报文段长度MSS,每收到一个对新报文段的确认将cwnd加1即增大一个MSS,用这样的方法逐步增大发送方的cwnd可使分组注入网络的速率更加合理。cwnd的大小指数式增长,直到cwnd的增大到一个规定的慢开始门限ssthresh然后改用拥塞避免算法。
拥塞避免算法的思路是当cwnd到达慢开始门限时,让拥塞窗口cwnd缓慢增大,每经过一个往返时延RTT就把发送方的拥塞窗口cwnd加1,使拥塞窗口cwnd线性规律缓慢增长。无论在慢开始阶段还是在拥塞避免阶段只要发送方判断网络出现拥塞未按时收到确认就把慢开始门限设置为出现拥塞时发送方的cwnd的值的一半,但不能小于2,然后把拥塞窗口cwnd的重新设置为1,执行慢开始算法。这样的目的是迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够的时间把队列中积压的分组处理完。cwnd值不能跃过ssthresh值。
快充传:当发送方连续收到3个重复的ACK报文时直接重传对方尚未收到的报文,而不必等待那个报文段设置的重传计时器超时。快恢复的算法原理如下:当发送方连续收到3个冗余ACK时执行快恢复算法,把慢开始门限设置为此时发送方cwnd的一半,这是为了预防网络发生拥塞。
在这里插入图片描述
在TCP建立和网络出现超时时采用慢开始和拥塞避免算法当发送方接收到冗余ACK采用快重传和快恢复算法

下一章 第六章 应用层

第六章 应用层

相关文章:

计算机网络重点概念整理-第五章 传输层【期末复习|考研复习】

第五章 传输层 【期末复习|考研复习】 计算机网络系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称&缩写 文章目录 第五章 传输层 【期末复习|考研复习…...

Java毕业设计 SpringBoot 新能源充电桩管理系统

Java毕业设计 SpringBoot 新能源充电桩管理系统 SpringBoot 新能源充电桩管理系统 功能介绍 管理员 登录 验证码 注册 系统用户管理 普通用户管理 通知公告管理 留言管理 充电站管理 充电桩管理 充电桩预约 充电管理 订单管理 修改密码 普通用户 登录 修改个人资料 通知公告…...

JNI接口

NewStringUTF和NewString接口测试 打开输入法“显示表情与符号” 右键,拷贝字符简介 🍌 香蕉 Unicode: U1F34C,UTF-8: F0 9F 8D 8C unicode码 🍌 \U0001f34c utf-8编码为0xf09f8d8c,结合char或char8_t的长度&…...

国内好用的免费ai软件

国内就只推荐几个大厂,基本感受都差不多 百度文心一言 百度研发的知识增强大语言模型,能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。 地址:文心一言 (baidu.com) 阿里通…...

MAC缓解WebUI提示词反推

当前环境信息: 在mac上安装好stable diffusion后,能做图片生成了之后,遇到一些图片需要做提示词反推,这个时候需要下载一个插件,参考: https://gitcode.net/ranting8323/stable-diffusion-webui-wd14-tagg…...

【设计模式之原型模式 】– C++

5. 原型模式 – 复制粘贴,一摸一样 简介 原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有对象来创建新的对象,而无需从头开始构建。 使用场景 它通常用于以下情况: 当一个系统…...

Flask路由机制分析之二

一、前言 上篇 《Flask 路由机制分析之一》主要讲了Python函数的特性以及装饰器的基本概念,这节我们具体分析一下路由内部机制,Flask路由依赖于werkzegu的routing模块来实现。 二、werkzegu的routing模块介绍 Werkzegu库的routing模块主要功能在于URL…...

vue中如何获取当时时间时分秒

在 Vue 中可以使用 JavaScript 中的 Date 对象来获取当前时间&#xff0c;然后使用 Vue 中的数据绑定将时间显示在页面上。 <template><div><p>当前时间&#xff1a;{{ time }}</p></div> </template><script> export default {dat…...

matlab simulink 直线一级倒立摆控制(自起摆和稳态控制)

1、内容简介 略 6-可以交流、咨询、答疑 2、内容说明 控制器设计 自起摆建模 规定正方向&#xff1a;顺时针为角度&#xff08;力矩&#xff09;正方向&#xff0c;向右为位移正方向。 在规定的正方向条件下&#xff0c;图 1 所示摆杆的角度φ为正值&#xff0c; 下车向右加…...

Transformers实战(二)快速入门文本相似度、检索式对话机器人

Transformers实战&#xff08;二&#xff09;快速入门文本相似度、检索式对话机器人 1、文本相似度 1.1 文本相似度简介 文本匹配是一个较为宽泛的概念&#xff0c;基本上只要涉及到两段文本之间关系的&#xff0c;都可以被看作是一种文本匹配的任务&#xff0c; 只是在具体…...

【错误解决方案】ModuleNotFoundError: No module named ‘PeptideBuilder‘

1. 错误提示 在python程序中&#xff0c;试图导入一个不存在的模块PeptideBuilder导致的错误&#xff1a; 错误提示&#xff1a;ModuleNotFoundError: No module named PeptideBuilder 2. 解决方案 解决方案是确保你已经正确安装了PeptideBuilder模块。你可以通过pip来安装它…...

汇编学习(1)

汇编、CPU架构、指令集、硬编码之间的关系 ● 汇编语言&#xff1a;这是一种低级语言&#xff0c;用于与硬件直接交互。它是由人类可读的机器码或指令组成的&#xff0c;这些指令告诉CPU如何执行特定的任务。每条汇编指令都有一个对应的机器码指令&#xff0c;CPU可以理解和执…...

C#,数值计算——分类与推理Svmlinkernel的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { public class Svmlinkernel : Svmgenkernel { public int n { get; set; } public double[] mu { get; set; } public Svmlinkernel(double[,] ddata, double[] yy) : base(yy, ddata) …...

【鸿蒙软件开发】ArkTS容器组件之Badge

文章目录 前言一、Badge组件1.1 子组件1.2 接口接口1参数 接口2参数 BadgePosition枚举说明BadgeStyle对象说明 1.3 示例代码 总结 前言 Badge组件&#xff1a;可以附加在单个组件上用于信息标记的容器组件。 一、Badge组件 可以附加在单个组件上用于信息标记的容器组件。 说…...

H5游戏源码分享-命悬一线

H5游戏源码分享-命悬一线 在合适的时机跳下绳子&#xff0c;能安全站到木桩上&#xff0c;就通过。 游戏源码 <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><meta name&…...

【电路笔记】-交流电阻和阻抗

交流电阻和阻抗 文章目录 交流电阻和阻抗1、概述&#xff1a;电阻率2、交流状态与直流状态近似性3、交流状态与直流状态的差异性3.1 趋肤效应(The Skin Effect)3.2 靠近效应&#xff08;The Proximity Effect&#xff09; 4、总结 电阻是一种特性&#xff0c;用于表征当电压差施…...

android开发使用OkHttp自带的WebSocket实现IM功能

一、背景 android app开发经常会有IM需求&#xff0c;很多新手不晓得如何入手&#xff0c;难点在于通讯不中断。其实android发展到今天&#xff0c;很多技术都很完善&#xff0c;有很多类似框架可以实现。例如有&#xff1a;okhttp自带的websocket框架、easysocket等等。本文主…...

前端小技巧: TS实现柯里化函数

实现 curry 函数&#xff0c;把其他函数柯里化 curry 返回一个函数fn执行fn, 中间状态返回函数&#xff0c;如 add(1), 或者 add(1)(2)最后返回执行结果&#xff0c;如 add(1)(2)(3) function curry(fn:Function) {const fnArgsLen fn.length // 传入函数的参数长度let args…...

【算法-数组2】有序数组的平方 和 长度最小的子数组

今天&#xff0c;带来数组相关算法的讲解。文中不足错漏之处望请斧正&#xff01; 理论基础点这里 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 示例 1&#xff1a; 输…...

H5游戏源码分享-接苹果游戏拼手速

H5游戏源码分享-接苹果游戏拼手速 看看在20秒内能接多少个苹果 <html> <head><title>我是你的小苹果</title><meta charset"utf-8"/><meta name"viewport" content"initial-scale1, user-scalableno, minimum-scale…...

详解类生到死的来龙去脉

类生命周期和加载过程 一个类在 JVM 里的生命周期有 7 个阶段&#xff0c;分别是加载&#xff08;Loading&#xff09;、校验&#xff08;Verification&#xff09;、准备&#xff08;Preparation&#xff09;、解析&#xff08;Resolution&#xff09;、初始化&#xff08;Ini…...

寻找倒数第K个节点

这篇文章也是凑数的 ... 寻找倒数第K个节点 描述 : 找出单向链表中倒数第 k 个节点。返回该节点的值。 题目 : LeetCode 返回倒数第K个节点 : 面试题 02.02. 返回倒数第 k 个节点 说明 : 给定的 k 保证是有效的。 分析 : 我们给出个例子 : 首先&#xff0c;我们创建两个…...

[ROS系列]ubuntu 20.04 从零配置orbslam3(无坑版)

目录 背景: 结果展示: 一、配置虚拟机 二、 同步网络时间 三、ping网络 四、 安装ros 五、下载源码 六、下载orb_slam3 error1:Pangolin error2: ./HelloPangolin: error while loading shared libraries: libpango_windowing.so: cannot open shared object file…...

网络协议--TCP的保活定时器

23.1 引言 许多TCP/IP的初学者会很惊奇地发现可以没有任何数据流通过一个空闲的TCP连接。也就是说&#xff0c;如果TCP连接的双方都没有向对方发送数据&#xff0c;则在两个TCP模块之间不交换任何信息。例如&#xff0c;没有可以在其他网络协议中发现的轮询。这意味着我们可以…...

leetcode 1353. 最多可以参加的会议数目

给你一个数组 events&#xff0c;其中 events[i] [startDayi, endDayi] &#xff0c;表示会议 i 开始于 startDayi &#xff0c;结束于 endDayi 。 你可以在满足 startDayi < d < endDayi 中的任意一天 d 参加会议 i 。注意&#xff0c;一天只能参加一个会议。 请你返回…...

hadoop权威指南第四版

第一部分 HaDOOP基础知识 1.1 面临的问题 存储越来越大&#xff0c;读写跟不上。 并行读多个磁盘。 问题1 磁盘损坏 – 备份数据HDFS 问题2 读取多个磁盘用于分析&#xff0c;数据容易出错 --MR 编程模型 1.2 衍生品 1 在线访问的组件是hbase 。一种使用hdfs底层存储的模型。…...

LeetCode75——Day20

文章目录 一、题目二、题解 一、题目 2215. Find the Difference of Two Arrays Given two 0-indexed integer arrays nums1 and nums2, return a list answer of size 2 where: answer[0] is a list of all distinct integers in nums1 which are not present in nums2. an…...

搭建微信小程序环境及项目结构介绍

一、注册 访问微信公众平台&#xff0c;将鼠标的光标置于账号分类中的小程序上&#xff0c; 点击‘查看详情’ 点击“前往注册” 下方也可以点击注册&#xff1a; 小程序注册页面&#xff1a; 步骤a:进入小程序注册页&#xff0c;根据指引填写信息和提交相应的资料&#x…...

Python通过pyecharts对爬虫房地产数据进行数据可视化分析(一)

一、背景 对Python通过代理使用多线程爬取安居客二手房数据&#xff08;二&#xff09;中爬取的房地产数据进行数据分析与可视化展示 我们爬取到的房产数据&#xff0c;主要是武汉二手房的房源信息&#xff0c;主要包括了待售房源的户型、面积、朝向、楼层、建筑年份、小区名称…...

关于测试组件junit切换testng的示例以及切换方式分享

文章目录 概要首先看看junit和testng的区别实践篇摸拟业务逻辑代码简单对象数据层摸拟类业务逻辑层摸拟类后台任务摸拟类 基于springmockjunit基于springmocktestng 示例的差异点junit与testng的主要变动不大,有以下几个点需要注意注解部分在before,after中testng多出按配置执行…...