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

网站开发专业有哪些赛事竞猜网站开发

网站开发专业有哪些,赛事竞猜网站开发,wordpress数据表前缀,好听罕见绝不重名的公司名称系列文章目录 计算机网络 第1章#xff08;概述#xff09; 计算机网络 第2章#xff08;物理层#xff09; 计算机网络 第3章#xff08;数据链路层#xff09; 计算机网络 第4章#xff08;网络层#xff09; 计算机网络 第5章#xff08;运输层#xff09; 计算机…系列文章目录 计算机网络 第1章概述 计算机网络 第2章物理层 计算机网络 第3章数据链路层 计算机网络 第4章网络层 计算机网络 第5章运输层 计算机网络 第6章应用层 文章目录 系列文章目录1. 概述1.1 概念1.2 总结 2. 运输层端口号、复用与分用的概念2.1 为什么用端口号2.2 发送方的复用和接收方的分用2.3 TCP/IP体系的应用层常用协议所使用的运输层熟知端口号2.4 运输层传输流程 3. UDP和TCP的对比3.1 概念3.2 用户数据报协议UDPUser Datagram Protocol3.3 传输控制协议TCPTransmission Control Protocol3.4 总结 4. TCP的流量控制4.1 概念4.2 总结 5. TCP的拥塞控制5.1 概念5.2 拥塞控制的算法5.2.1 慢开始和拥塞避免5.2.1.1 慢开始slow-start5.2.1.2 拥塞避免congestion avoidance5.2.1.3 两个算法完整示意图 5.2.2 快重传和快恢复5.2.2.1 快重传fast retrasmit5.2.2.2 快恢复fast recovery5.2.2.3 改进后的整体算法的示意图 6. TCP超时重传时间的选择7. TCP可靠传输的实现8. TCP的运输连接管理8.1 概念8.2 TCP的连接建立8.2.1 TCP的连接建立要解决以下三个问题8.2.2 TCP使用“三报文握手”建立连接8.2.3 总结 8.3 TCP的连接释放8.3.1 TCP通过“四报文挥手”来释放连接8.3.2 TCP保活计时器的作用 9. TCP报文段的首部格式 1. 概述 1.1 概念 进程之间的通信 从通信和信息处理的角度看运输层向它上面的应用层提供通信服务它属于面向通信部分的最高层同时也是用户功能中的最低层。当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时只有位于网络边缘部分的主机的协议栈才有运输层而网络核心部分中的路由器在转发分组时都只用到三层到网络层的功能。 进程之间通信流程 “逻辑通信”是指运输层之间的通信好像是沿水平方向传送数据但事实上这两条数据并没有一条水平方向的物理连接要传送的数据是沿着图中上下多次的虚线方向传送的 进程Ap1与Ap4之间进行基于网络的通信进程Ap2与Ap3之间进行基于网络的通信 在运输层使用不同的端口来对应不同的应用进程 然后通过网络层及其下层来传输应用层报文 接收方的运输层通过不同的端口将收到的应用层报文交付给应用层中相应的应用进程 这里端口并不是指看得见、摸得着的物理端口而是指用来区分不同应用进程的标识符 1.2 总结 2. 运输层端口号、复用与分用的概念 2.1 为什么用端口号 2.2 发送方的复用和接收方的分用 多个进程这里一个端口表示一个进程 利用一个运输层协议或者称为运输层接口发送数据称为 复用 多个进程这里一个端口表示一个进程 利用一个运输层协议或者称为运输层接口接收时叫做 分用。 2.3 TCP/IP体系的应用层常用协议所使用的运输层熟知端口号 2.4 运输层传输流程 举例 在浏览器输入域名回车浏览 然后用户PC中的DNS客户端进程会发送一个DNS查询请求报文 DNS查询请求报文需要使用运输层的UDP协议 首部中的源端口字段的值在短暂端口号49151~65535中挑选一个未被占用的用来表示DNS客户端进程 首部中的目的端口字段的值53是DNS服务器端进程所使用的熟知端口号 之后将UDP用户数据报封装在IP数据报中通过以太网发送给DNS服务器 DNS服务器收到该IP数据报后从中解封出UDP用户数据报 UDP首部中的目的端口号为53这表明应将该UDP用户数据报的数据载荷部分也就是DNS查询请求报文交付给本服务器中的DNS服务器端进程 DNS服务器端进程解析DNS查询请求报文的内容然后按其要求查找对应的IP地址 之后会给用户PC发送DNS响应报文DNS响应报文需要使用运输层的UDP协议封装成UDP用户数据报 其首部中的源端口字段的值设置为熟知端口号53表明这是DNS服务器端进程所发送的UDP用户数据报目的端口的值设置为49152这是之前用户PC中发送DNS查询请求报文的DNS客户端进程所使用的短暂端口号 将UDP用户数据报封装在IP数据报中通过以太网发送给用户PC 用户PC收到该数据报后从中解封出UDP用户数据报 UDP首部中的目的端口号为49152这表明应将该UDP用户数据报的数据载荷部分也就是DNS响应报文交付给用户PC中的DNS客户端进程 DNS客户端进程解析DNS响应报文的内容就可知道自己之前所请求的Web服务器的域名对应的IP地址 现在用户PC中的HTTP客户端进程可以向Web服务器发送HTTP请求报文和DNS发送和接收流程差不多 3. UDP和TCP的对比 3.1 概念 UDP 和 TCP 是TCP/IP体系结构运输层中的两个重要协议当运输层采用面向连接的 TCP 协议时尽管下面的网络是不可靠的只提供尽最大努力服务但这种逻辑通信信道就相当于一条全双工的可靠信道。当运输层采用无连接的 UDP 协议时这种逻辑通信信道是一条不可靠信道。 可靠信道与不可靠信道 两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元 TPDU (Transport Protocol Data Unit)。TCP 传送的数据单位协议是 TCP 报文段(segment)。UDP 传送的数据单位协议是 UDP 报文或用户数据报。 UDP的通信是无连接的不需要套接字Socket TCP是面向连接的TCP之间的通信必须要在两个套接字Socket之间建立连接 3.2 用户数据报协议UDPUser Datagram Protocol 可以发送广播 可以向某个多播组发送多播 还可以发送单播 UDP 支持单播、多播以及广播 换句话说UDP支持一对一一对多以及一对全的通信 运输过程 UDP对应用进程交下来的报文既不合并也不拆分而是保留这些报文的边界 换句话说UDP是面向应用报文的 UDP向上层提供无连接不可靠传输服务 UDP结构 3.3 传输控制协议TCPTransmission Control Protocol 使用TCP协议的通信双方在进行数据传输之前必须使用“三报文握手”建立TCP连接 TCP连接建立成功后通信双方之间就好像有一条可靠的通信信道通信双方使用这条基于TCP连接的可靠信道进行通信 很显然TCP仅支持单播也就是一对一的通信 运输过程 发送方 TCP会把应用进程交付下来的数据块看作是一连串无结构的字节流TCP并不知道这些待传送的字节流的含义并将他们编号并存储在自己发送缓存中TCP会根据发送策略提取一定量的字节构建TCP报文并发送 接收方 一方面从所接受到的TCP报文段中取出数据载荷部分并存储在接收缓存中一方面将接收缓存中的一些字节交付给应用进程TCP不保证接收方应用进程所收到的数据块与发送方发送的数据块具有对应大小的关系例如发送方应用进程交给发送方的TCP共10个数据块但接收方的TCP可能只用了4个数据块就把收到的字节流交付给了上层的应用进程但接收方收到的字节流必须和发送方应用进程发出的字节流完全一样接收方的应用进程必须有能力识别收到的字节流把它还原成有意义的应用层数据 TCP是面向字节流的这正是TCP实现可靠传输、流量控制、以及拥塞控制的基础 本图只画了一个方向的数据流在实际网络中基于TCP连接的两端可以同时进行TCP报文段的发送和接收 TCP向上层提供面向连接的可靠传输服务 TCP结构 3.4 总结 4. TCP的流量控制 4.1 概念 举例 上图主机A现在可将发送缓存中序号1~200的字节数据全部删除因为已经收到了主机B对它们的累计确认 上图主机A现在可将发送缓存中序号201~500的字节数据全部删除因为已经收到了主机B对它们的累计确认 上图主机A现在可将发送缓存中序号501~600的字节数据全部删除因为已经收到了主机B对它们的累计确认 上图如果零窗口探测报文在发送过程中如果丢失还是能打破死锁局面 因为零窗口探测报文段也有重传计时器重传计时器超时后零窗口探测报文段会被重传 4.2 总结 5. TCP的拥塞控制 5.1 概念 网络拥塞往往是由许多因素引起的。例如 点缓存的容量太小链路的容量不足处理机处理的速率太慢拥塞本身会进一步加剧拥塞 拥塞控制的一般原理 拥塞控制的前提网络能够承受现有的网络负荷。实践证明拥塞控制是很难设计的因为它是一个动态问题。分组的丢失是网络发生拥塞的征兆而不是原因。在许多情况下甚至正是拥塞控制本身成为引起网络性能恶化、甚至发生死锁的原因。 开环控制和闭环控制 监测网络的拥塞 主要指标有 由于缺少缓存空间而被丢弃的分组的百分数平均队列长度超时重传的分组数平均分组时延分组时延的标准差等等。 上述这些指标的上升都标志着拥塞的增长。 5.2 拥塞控制的算法 真正的发送窗口值 Min (接收方窗口值拥塞窗口值) 下图的实例横纵坐标的意思 传输轮次 发送方给接收方发送数据报文段后接收方给发送方发发回相应的确认报文段一个传输轮次所经历的时间其实就是往返时间往返时间并非是恒定的数值使用传输轮次是为了强调把拥塞窗口所允许发送的报文段都连续发送出去并受到了对已发送的最后一个报文段的确认 拥塞窗口 它会随网络拥塞程度以及所使用的拥塞控制算法动态变化 5.2.1 慢开始和拥塞避免 5.2.1.1 慢开始slow-start 目的用来确定网络的负载能力或拥塞程度。算法的思路由小到大逐渐增大拥塞窗口数值。两个变量 拥塞窗口cwnd初始拥塞窗口值2 种设置方法。窗口值逐渐增大。 11 至 2 个最大报文段 旧标准 22 至 4 个最大报文段 RFC 5681 慢开始门限ssthresh防止拥塞窗口增长过大引起网络拥塞。 图中swnd是发送窗口 每经过一个传输轮次拥塞窗口就加倍 窗口大小按指数增加2的n-1次方 5.2.1.2 拥塞避免congestion avoidance 思路让拥塞窗口 cwnd 缓慢地增大避免出现拥塞。每经过一个传输轮次拥塞窗口 cwnd cwnd 1。使拥塞窗口 cwnd 按线性规律缓慢增长。在拥塞避免阶段具有 “加法增大” (Additive Increase) 的特点。 如果在发送过程中出现部分报文段丢失这必然会造成发送方对这些丢失报文段的超时重传 这个时候又回到了慢开始 5.2.1.3 两个算法完整示意图 5.2.2 快重传和快恢复 5.2.2.1 快重传fast retrasmit 5.2.2.2 快恢复fast recovery 5.2.2.3 改进后的整体算法的示意图 6. TCP超时重传时间的选择 如果超时重传时间RTO的值设置得比RTT0的值小很多这会引起报文段不必要的重传使网络负荷增大 如果超时重传时间RTO的值设置得远大于RTT0的值这会使重传时间推迟的太长使网络的空闲时间增大降低传输效率 RFC6298建议使用下式计算超时重传时间RTO 往返时间RTT的测量比较复杂 TCP超时重传的计算 举例 总结 7. TCP可靠传输的实现 8. TCP的运输连接管理 8.1 概念 8.2 TCP的连接建立 TCP 建立连接的过程叫做握手。握手需要在客户和服务器之间交换三个 TCP 报文段。称之为三报文握手。采用三报文握手主要是为了防止已失效的连接请求报文段突然又传送到了因而产生错误。 8.2.1 TCP的连接建立要解决以下三个问题 8.2.2 TCP使用“三报文握手”建立连接 TCP 连接的建立采用客户服务器方式。主动发起连接建立的应用进程叫做TCP客户 (client)。被动等待连接建立的应用进程叫做TCP服务器 (server)。 “握手”需要在TCP客户端和服务器之间交换三个TCP报文段 过程 最初两端的TCP进程都处于关闭状态 一开始TCP服务器进程首先创建传输控制块用来存储TCP连接中的一些重要信息。例如TCP连接表、指向发送和接收缓存的指针、指向重传队列的指针当前的发送和接收序号等 之后就准备接受TCP客户端进程的连接请求 此时TCP服务器进程就进入监听状态等待TCP客户端进程的连接请求 TCP服务器进程是被动等待来自TCP客户端进程的连接请求因此成为被动打开连接 TCP客户进程也是首先创建传输控制块 由于TCP连接建立是由TCP客户端主动发起的因此称为主动打开连接 然后在打算建立TCP连接时向TCP服务器进程发送TCP连接请求报文段并进入同步已发送状态 TCP连接请求报文段首部中 同步位SYN被设置为1表明这是一个TCP连接请求报文段序号字段seq被设置了一个初始值x作为TCP客户端进程所选择的初始序号 请注意TCP规定SYN被设置为1的报文段不能携带数据但要消耗掉一个序号 TCP服务器进程收到TCP连接请求报文段后如果同意建立连接则向TCP客户进程发送TCP连接请求确认报文段并进入同步已接收状态 TCP连接请求确认报文段首部中 同步位SYN和确认为ACK都设置为1表明这是一个TCP连接请求确认报文段序号字段seq被设置了一个初始值y作为TCP服务器进程所选择的初始序号确认号字段ack的值被设置成了x1这是对TCP客户进程所选择的初始序号seq的确认 请注意这个报文段也不能携带数据因为它是SYN被设置为1的报文段但同样要消耗掉一个序号 TCP客户进程收到TCP连接请求确认报文段后还要向TCP服务器进程发送一个普通的TCP确认报文段并进入连接已连接状态 普通的TCP确认报文段首部中 确认位ACK被设置为1表明这是一个普通的TCP确认报文段序号字段seq被设置为x1这是因为TCP客户进程发送的第一个TCP报文段的序号为x所以TCP客户进程发送的第二个报文段的序号为x1确认号字段ack被设置为y1这是对TCP服务器进程所选择的初始序号的确认 请注意TCP规定普通的TCP确认报文段可以携带数据但如果不携带数据则不消耗序号 TCP服务器进程收到该确认报文段后也进入连接已建立状态 现在TCP双方都进入了连接已建立状态它们可以基于已建立好的TCP连接进行可靠的数据传输 为什么TCP客户进程最后还要发送一个普通的TCP确认报文段能否使用“两报文握手”建立连接 下图实例是“两报文握手” 为了防止已经失效的连接请求报文段突然又传到服务端因而产生错误”这种情况是一端(client)A发出去的第一个连接请求报文并没有 丢失而是因为某些未知的原因在某个网络节点上发生滞留导致延迟到连接释放以后的某个时间才到达另一端(server)B。本来这是一个 早已失效的报文段但是B收到此失效的报文之后会误认为是A再次发出的一个新的连接请求于是B端就向A又发出确认报文表示同 意建立连接。如果不采用“三次握手”那么只要B端发出确认报文就会认为新的连接已经建立了但是A端并没有发出建立连接的请求因 此不会去向B端发送数据B端没有收到数据就会一直等待这样B端就会白白浪费掉很多资源。 所以并不多余这是为了防止已失效的连接请求报文段突然又传送到了TCP服务器因而导致错误 8.2.3 总结 8.3 TCP的连接释放 TCP 连接释放过程比较复杂。数据传输结束后通信的双方都可释放连接。TCP 连接释放过程是四报文握手。 8.3.1 TCP通过“四报文挥手”来释放连接 TCP 连接的建立采用客户服务器方式。主动发起连接建立的应用进程叫做TCP客户 (client)。被动等待连接建立的应用进程叫做TCP服务器 (server)。任何一方都可以在数据传送结束后发出连接释放的通知 过程 现在TCP客户进程和TCP服务器进程都处于连接已建立状态 TCP客户进程的应用进程通知其主动关闭TCP连接 TCP客户进程会发送TCP连接释放报文段并进入终止等待1状态 TCP连接释放报文段首部中 终止位FIN和确认为ACK的值都被设置为1表明这是一个TCP连接释放报文段同时也对之前收到的报文段进行确认序号seq字段的值设置为u它等于TCP客户进程之前已传送过的数据的最后一个字节的序号加1确认号ack字段的值设置为v它等于TCP客户进程之前已收到的、数据的最后一个字节的序号加1 请注意TCP规定终止位FIN等于1的报文段即使不携带数据也要消耗掉一个序号 TCP服务器进程收到TCP连接释放报文段后会发送一个普通的TCP确认报文段并进入关闭等待状态 普通的TCP确认报文段首部中 确认位ACK的值被设置为1表明这是一个普通的TCP确认报文段序号seq字段的值设置为v它等于TCP服务器进程之前已传送过的数据的最后一个字节的序号加1这也与之前收到的TCP连接释放报文段中的确认号匹配确认号ack字段的值设置为u1这是对TCP连接释放报文段的确认 TCP服务器进程应该通知高层应用进程TCP客户进程要断开与自己的TCP连接此时从TCP客户进程到TCP服务器进程这个方向的连接就释放了这时的TCP连接属于半关闭状态也就是TCP客户进程已经没有数据要发送了但如果TCP服务器进程还有数据要发送TCP客户进程仍要接收也就是说从TCP服务器进程到TCP客户进程这个方向的连接并未关闭 TCP客户进程收到TCP确认报文段后就进入终止等待2状态等待TCP服务器进程发出的TCP连接释放报文段若使用TCP服务器进程的应用进程已经没有数据要发送了应用进程就通知其TCP服务器进程释放连接由于TCP连接释放是由TCP客户进程主动发起的因此TCP服务器进程对TCP连接的释放称为被动关闭连接 TCP服务器进程发送TCP连接释放报文段并进入最后确认状态 该报文段首部中 终止位FIN和确认位ACK的值都被设置为1表明这是一个TCP连接释放报文段同时也对之前收到的报文段进行确认序号seq字段的值为w这是因为在半关闭状态下TCP服务器进程可能又发送确认号ack字段的值为u1这是对之前收到的TCP连接释放报文段的重复确认 TCP客户进程收到TCP连接释放报文段后必须针对该报文段发送普通的TCP确认报文段之后进入时间等待状态 该报文段首部中 确认为ACK的值被设置为1表明这是一个普通的TCP确认报文段序号seq字段的值设置为u1这是因为TCP客户进程之前发送的TCP连接释放报文段虽然不携带数据但要消耗掉一个序号确认号ack字段的值设置为w1这是对所收到的TCP连接释放报文段的确认 TCP服务器进程收到该报文段后就进入关闭状态而TCP客户进程还要进过2MSL后才能进入关闭状态 TCP客户进程在发送完最后一个确认报文后为什么不直接进入关闭状态而是要进入时间等待状态 因为时间等待状态以及处于该状态2MSL时长可以确保TCP服务器进程可以收到最后一个TCP确认报文段而进入关闭状态 另外TCP客户进程在发送完最后一个TCP确认报文段后在经过2MSL时长就可以使本次连接持续时间内所产生的所有报文段都从网络中消失这样就可以使下一个新的TCP连接中不会出现旧连接中的报文段 8.3.2 TCP保活计时器的作用 TCP双方已经建立了连接后来TCP客户进程所在的主机突然出现了故障 TCP服务器进程以后就不能再收到TCP客户进程发来的数据 因此应当有措施使TCP服务器进程不要再白白等待下去 9. TCP报文段的首部格式 各字段的作用 源端口和目的端口 序号、确认号和确认标志位 数据偏移、保留、窗口和校验和 同步标志位、终止标志位、复位标志位、推送标志位、紧急标志位和紧急指针 选项和填充
http://www.w-s-a.com/news/198520/

相关文章:

  • 网站开发遇到的难题wordpress文章调用
  • 网站建设做的好在线logo免费设计生成器标智客
  • 郑州做网站齿轮网站排名怎么做 site
  • 船员专用网站开发建议wordpress 图片占用id
  • 桌面软件开发跟网站开发那个上海网站备案在哪里查询
  • 罗湖网站建设陕西省建设网官网住房和城乡厅官网
  • 做一个网站的详细教学wordpress 忘记用户名密码
  • 建设银行的网站是多少wordpress添加新页面跳转
  • 网站设计费用抓取网站访客qq号码
  • 驾校视频网站模板郑州网站建设价格
  • 上海 有哪些做网站的公司成都企业网站备案流程
  • 移动端快速建站的方法青海公司网站建设
  • 网站重新搭建程序要多少钱移动互联网应用的使用情况
  • 学建站论坛给别人做网站怎么赚钱吗
  • 响应式网站代码校友会网站建设的目的
  • 北京公司网站网站建设html模板
  • 专门做医疗器械的网站免费网页制作系统团队
  • 网站开发技术 html临夏网站建设
  • flash网站模板免费下载拍卖网站开发多少钱
  • 北京网站建设制作颍州网站建设
  • 网站制作报价表做网站上海公司
  • 简洁大气蓝色文章资讯网站百度搜索广告推广
  • 河南建设工程协会网站网站收银系统建设
  • 网站制作 服务企业网站案例展示
  • 咸宁网站建设wordpress手动降级
  • 昆明做网站建设怎么样做网站赚钱全攻略
  • 企业网站建设实战教程微信如何注册小程序
  • 做一件代发网站百度seo服务
  • 小说网站开发 公司可以做行程的网站
  • 古交市网站建设公司apk连接wordpress