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

大德通众包 做网站怎么样怎么用flashfxp上传wordpress

大德通众包 做网站怎么样,怎么用flashfxp上传wordpress,天津网站建设运营方案,织梦后台生成网站地图网络原理 传输层 UDP 特点 特点#xff1a;无连接#xff0c;不可靠#xff0c;面向数据报#xff0c;全双工 格式 怎么进行校验呢#xff1f; 把UDP数据报中的源端口#xff0c;目的端口#xff0c;UDP报文长度的每个字节#xff0c;都依次进行累加 把累加结果无连接不可靠面向数据报全双工 格式 怎么进行校验呢 把UDP数据报中的源端口目的端口UDP报文长度的每个字节都依次进行累加 把累加结果保存到两个字节的变量中校验和 加着加着可能就溢出了但是溢出也无所谓所有字节都加一遍最终就得到了校验和 传输数据的时候就会把原始数据和校验和一起传递过去 接收方接收到数据同时也收到了发送端送过来的校验和旧的校验和 接收方按照同样的方式再计算一次得到新的校验和 如果旧的校验和跟新的校验和相同就可以视为数据传输过程中是正确的 如果不同就认为传输过程中出错了 数据相同校验和相同 校验和不同数据不同 但是 校验和相同难道数据就一定相同嘛不一定 正好可能某个字节多了一个1后面一个字节少了一个1两者相加正好抵消 CRC校验确实不那么严谨但是在工程上也足够用了 也有一些其他的算法进行校验可以达到更高的精度但是需要更多的代价因此没必要 如果一个UDP报文出错了怎么办 丢弃而TCP出错了就可以要求重新发这也是TCP可靠性的一种体现 TCP 1.确认应答可靠性机制 TCP的可靠传输是内核实现的写代码的时候是感知不到的 可靠传输的实现机制是 确认应答我给对方发消息对方收到之后给我一个应答说确认收到了确认应答是保证可靠传输的最核心的机制 再说一下确认应答的后发先至 比如我给女神发消息 本来是 结果是 当连续发多条数据的时候可能就会出现后发先至的情况一个数据报是先发的反而后到了 怎么产生的呢 那该怎么解决呢 ikk 这里的tcp确认应答跟我们的例子有两个不同 1.针对字节进行编号的而不是“条数” 2.应答报文也是要和收到的数据的序号相关联的但是不是“相等” 网络上很多关于这个问题的解释是错误的 比如tcp保证可靠性的核心机制是三次握手 2.超时重传可靠性机制 在传输数据的过程中还可能发生**“丢包”也就是发送一个数据然后丢失了 在两个主机之间网络的结构是非常复杂的中间要经过很多路由器和交换机这些路由器和交换机同时也连接着其他的路由器和交换机这些结果错综复杂传输的数据量也是不确定有时候传输的数据可能会多点有时候可能会少点 如果设备太繁忙这些数据包就需要等待如果等太久了就可能被丢弃了网络负载越高线路就越繁忙就越容易丢包 真的出现丢包怎么办呢 重传设置一个时间在规定的时间里面没有收到回应就重新传输这个数据这个就叫做超时重传** 超时重传相当于针对确认应答进行的一个重要补充因为要保证可靠性 丢包有两种可能性如下图 如果网络已经出现严重故障复位操作也无法成功最终只能放弃连接只能把自己保存的对端的信息删除掉了 核心就是一句话确认应答是tcp保证可靠性的最核心机制超时重传是TCP可靠性机制的有效补充 3.连接管理可靠性机制[网络这个模块最常考的部分] 1.建立连接三次握手 上述只是简单描述了一下三次握手实际的三次握手比这个更加复杂如下图 如果面试中面试官问你TCP三次握手是怎样的过程 三次握手的意义是啥要完成什么目的 三次握手也是保证可靠传输的一种重要途径 tcp的三次握手就是要验证网络通信是否畅通以及验证每个主机的发送能力和接收能力是否正常 2.断开连接四次挥手 连接双方各自在内存中保存对端的相关信息如果不需要连接了就得及时释放上述存储空间 四次挥手的流程和三次握手非常相似 三次握手必然是客户端主动发起来的但是四次挥手不一定服务器也可以主动发起大多数还是客户端发起的 还有一些极端情况比如A在等待2MSL时间的过程中B在反复重传FIN多次这些FIN都丢了理论上存在这种情况这时候网络一定存在严重故障了这个时候不具备可靠传输的前提条件了因此A就单方面释放资源也无所谓了 再谈 TCP式如何实现可靠传输的 确认应答 超时重传 连接管理三次握手四次挥手 这些机制都起到了作用在三次握手中一旦路探完了后续就没它事了网络环境事多变的可能这会畅通过会就堵塞了而确认应答是保证每次传输的这些数据都是可靠的因此真正起到决定性作用的还是确认应答 那么TTL和MSL都是存活时间有什么区别呢 4.滑动窗口提高传输效率 更准确地说是让TCP在可靠传输的前提下效率别太拉跨因为可靠传输效率已经降低了 使用滑动窗口不能让TCP变得比UDP快但是可以缩小差距 那么问题又来了现在按照这种批量的方式传输中间丢包了咋整 对呀TCP来说提高效率必然不应该影响到可靠性 丢包分为两种 1.数据丢了 2.ACK丢了 下面让我们来看看滑动窗口下的超时重传机制是怎么样的 快速重传是超时重传结合滑动窗口产生的变形操作本质还是超时重传 使用TCP的时候不一定就涉及到滑动窗口 如果你通信双方大规模传输数据肯定是滑动窗口此时按照快速重传来工作 如果你通信双方大规模传输数据比较少这个时候就不用滑动窗口了仍然按照之前的超时重传来工作 5.流量控制作为滑动窗口补充 滑动窗口的窗口越大传输效率越高 但是窗口也不能无限大如果窗口太大了就可能使接收方处理不过来了或者是使传输的中间链路处理不过来这样就会出现丢包就得重传了这时候窗口大并没有提高效率反而降低效率了 流量控制就是给滑动窗口睬踩刹车避免窗口太大导致接收方处理不过来 光考虑接收方还是不够的还需要考虑中间链路的处理能力也就是拥塞控制 6.拥塞控制 总的传输速率是一个木桶效应取决于最短板 具体怎样衡量中间设备的转发能力呢 此处并不会对中间设备的转发能力进行量化而是把中间的设备都看成一个整体采取“实验”的方式动态调整产出一个合适的窗口大小 使用一个较小的窗口传输如果传输通畅就调大窗口 使用一个较大的窗口传输如果丢包就调小 这是一种工程师思维 这样做也可以非常好的适应网络环境的动态变化 实际发送方的窗口min拥塞窗口流量控制窗口 拥塞控制喝流量控制共同限制了滑动窗口机制可以让滑动窗口能够在保证可靠性的前提下提高传输效率了 也就是说拥塞控制和流量控制也是保证可靠性的机制 7.延迟应答提高传输效率的机制 延迟应答也是围绕滑动窗口来展开的 是否有办法在条件允许的基础上尽可能地提高窗口大小呢 需要在返回ack的时候拖延一点时间利用拖延的这个时间就可以给应用程序腾出来更多的消费数据的时间这样接受缓冲区的剩余空间就更大了 此处通过延时应答到底能提高多少速率还是取决于接收方应用程序实际的处理能力 8.捎带应答 在延迟应答的基础上引入的第一个进一步提高效率的方式 延迟应答使让ack传输的时机更慢 捎带应答使基于延迟应答让数据进行合并 9.面向字节流粘包问题 属于TCP的特性不过我把它写在了下面应用层 10.TCP异常情况的处理经典面试题 网络本身就会存在一些变数导致tcp连接不能继续正常工作了 比如 1.进程崩溃 进程崩溃 进程没了 PCB没了 文件描述符表也就被释放了 相当于调用socket.closesocket在系统内核中也是一个文件也会被放到文件描述符表中 崩溃的这一方就会发出FIN进一步的触发四次挥手此时连接就正常释放了 此时tcp的处理和进程的正常退出没啥区别 2.主机关机正常步骤的关机) 3.主机掉电拔电源没有任何反应的空间 虽然TCP中有心跳包的支持了但是还不够往往还需要在应用层的应用程序中重新实现心跳包。因为TCP的心跳包周期太长了是分钟级别的而在现在大数据的高并发的特点下分钟级别是不够的需要秒级甚至毫秒级的心跳包这样就可以在更短的时间内发现某个服务器出现问题 4.网线断开 网线断开相当于主机掉电的升级版 以上就是TCP的十个主要特性并不是只有这十个特性还有很多特性在标准文档中 TCP和UDP的对比 应用层 面向字节流 在面向字节流的情况下会产生一些其他问题 粘包问题 这里的“粘”是“应用层数据报” 通过tcp的 read/white的数据都是tcp报文的载荷也就是应用层的数据 发送方一次性是可以发送多个应用层数据报的但是接收的时候如何区分从哪里到哪里是一个完整的应用数据报呢如果没设计好接收方就很难区分甚至会产生bug 比如发送是两个包读可能读了半个或者一个半这个时候就会产生问题 此处正确的做法是合理的设计应用层协议 这件事在传输层已经是无解了因为站在tcp的角度它只认字节无法区分是哪个包 因此就需要站在应用层角度来解决这个问题了 可以在应用层协议中引入分隔符区分包之间的边界 或者在应用层协议中引入“包长度”也能区分包之间的边界 粘包问题不仅仅是tcp才有的只要是面向字节流的机制比如文件都会有同样的问题解决方案也都是一样要么使用分隔符要么使用长度来区分 在自定义应用层协议的时候就可以使用这种思想来解决问题了 网络层 IP协议 IP协议虽然复杂但是在这里只是简单讨论实际开发中用到的并不多 IP地址 IP地址采用点分十进制的一种方式可以让你知道别人电脑的位置也可以让别人知道你的电脑的位置 IP地址不够用了咋整 1.动态分配DHCP 你这个设备需要上网的时候就分配给你不需要的时候就把你的IP地址收回这种方案只能缓解不能根治 2.NAT机制 将IP地址分成了两大类 内网IP:不同局域网内的设备内网IP可以重复同一个局域网的设备内网IP不能重复 范围 10.xx.xx.xx 172.16x—172.31.xx 192.168.xx 外网IP外网IP不能重复 在你的电脑控制台输入ipconfig得到的IP地址就是内网IP如果你在浏览器上搜IP地址就是外网 1.如果同一个局域网内部的两台设备想通信肯定是没问题的因为同一个局域网的两台电脑的IP地址肯定是不一样的 2.如果两个局域网的两台电脑要通信呢这两台设备很可能IP地址一样这时候咋整呢 当前的规则是禁止这种情况的 如果必要的时间迫切需要两台设备通信呢比如两个人在地球的两端发微信通信这就需要有一个带有外网IP的设备进行中转 (3).局域网内部的设备访问带有外网IP的设备 像平时的手机电脑都是在局域网内部使用他们会有一个内网IP还有一类设备就是服务器服务器可以有外网ip 这个过程就涉及到NAT工作机制了 真实的情况是我的电脑跟学校是一个局域网一个联通路由器上有很多个局域网于是我的电脑的IP地址经过学校局域网会有一次NAT学校局域网经过联通路由器会有一个NAT每次经历路由器转发都可能有一次NAT为啥说可能呢具体的还要看路由器怎么配置了有的配置下就不会触发 3.IPv6 IPv4是4个字节 IPv6是16个字节非常非常大只要人类没有脱离地球文明ip地址的个数足够用到地老天荒 可是为什么主流还是NAT呢 其实IPv6和NAT诞生的时间差不多为啥NAT能成功呢而IPv6举步维艰呢 是因为IPv6和IPv4不兼容要想升级IPv6就要更换路由器设备花钱 升级IPv6不会提高网速更不会提高流畅性 相比之下NAT方案只需要路由器开发商开发出新版本的软件路由器固件升级软件即可直接支持成本非常低 IP地址的组成 IP地址分为两个部分网络号主机号 网络号标识网段局域网保证相互连接的两个网段具有不同的标识 主机号标识主机同一网段内主机之间具有相同的网络号但是必须有不同的主机号 子网掩码 一个IP地址哪部分是网络号哪部分是主机号通常是通过子网掩码来识别的 特殊的IP地址 路由选择 数据链路层 简单了解越往下距离程序员越远 以太网 是历史问题发明IP地址和MAC地址的是两波人发明之前没讨论所以都发明出来了但是发明出来之后谁也不服谁就都留下了 都留下之后就让IP地址负责网络层的转发让MAC地址负责数据链路层的转发 网络层负责是整体的转发过程 数据链路层负责的是是局部相邻设备的转发过程 举个例子 DNS域名解析系统 平时我们上网要访问服务器需要知道服务器的IP地址而IP地址是渔船数字虽然这个数字使用点分十进制已经清晰不少了但是仍然不方便人们传播记忆于是就使用单词来代替IP地址 使用baidutaobao等单词来代替IP地址 这样的单词就称为域名实践中为了保证域名的唯一性域名往往是分级 www.baidu.com com是一级baidu是二级www是三级 域名是给人看的但是机器不认识于是就有一套系统把域名自动翻译成IP地址这个系统就是DNS 那么问题来了全世界这么多的主机都在上网此时DNS服务器能承担这么高的并发量嘛DNS服务器如何承载高并发量呢 两条原则开源 节流 从技术角度讲DNS服务器是否会挂呢当然会尤其是你所在地区的镜像服务器一年挂了两三次很正常 MTU MTU对IP协议的影响 由于数据链路层MTU的限制对于较大的IP数据包要进行分包。 将较大的IP包分成多个小包并给每个小包打上标签 每个小包IP协议头的 16位标识id 都是相同的 每个小包的IP协议头的3位标志字段中第2位置为0表示允许分片第3位来表示结束标记当前是否是最后一个小包是的话置为1否则置为0 到达对端时再将这些小包会按顺序重组拼装到一起返回给传输层 一旦这些小包中任意一个小包丢失接收端的重组就会失败。但是IP层不会负责重新传输数据 MTU对UDP协议的影响 一旦UDP携带的数据超过14721500 - 20IP首部 - 8UDP首部那么就会在网络层分成多个IP数据报。 这多个IP数据报有任意一个丢失都会引起接收端网络层重组失败。那么这就意味着如果UDP数据报在网络层被分片整个数据被丢失的概率就大大增加了。 MTU对于TCP协议的影响 TCP的一个数据报也不能无限大还是受制于MTU。TCP的单个数据报的最大消息长度称为MSSMax Segment Size TCP在建立连接的过程中通信双方会进行MSS协商。 最理想的情况下MSS的值正好是在IP不会被分片处理的最大长度这个长度仍然是受制于数据链路层的MTU。 双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值。 然后双方得知对方的MSS值之后选择较小的作为最终MSS。 MSS的值就是在TCP首部的40字节变长选项中kind2 ARP 虽然我们在这里介绍ARP协议但是需要强调ARP不是一个单纯的数据链路层的协议而是一个介于数据链路层和网络层之间的协议 ARP协议的作用 ARP协议建立了主机 IP地址 和 MAC地址 的映射关系。 在网络通讯时源主机的应用程序知道目的主机的IP地址和端口号却不知道目的主机的硬件地址 数据包首先是被网卡接收到再去处理上层协议的如果接收到的数据包的硬件地址与本机不符则直接丢弃 因此在通讯前必须获得目的主机的硬件地址 ARP协议的工作流程 1.源主机发出ARP请求询问“IP地址是172.20.1.2的主机的硬件地址是多少”并将这个请求广播到本地网段以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播 2.目的主机接收到广播的ARP请求发现其中的IP地址与本机相符则发送一个ARP应答数据包给源主机将自己的硬件地址填写在应答包中 3.每台主机都维护一个ARP缓存表可以用arp -a命令查看。缓存表中的表项有过期时间一般为20分钟如果20分钟内没有再次使用某个表项则该表项失效下次还要发ARP请求来获得目的主机的硬件地址
http://wiki.neutronadmin.com/news/314358/

相关文章:

  • 合肥建网站学院网站建设项目概述
  • 珠海网站建设技术支持单位网页制作
  • 网站开发需求描述湖南天人安装建设有限公司网站
  • 微网站开发公司自己能建网站吗
  • 电子商务网站建设与管理考试本地的沈阳网站建设
  • 洛阳网站建设价格低wordpress 区块编辑器
  • 走出趣网站怎么做在阿里云域名可以做网站吗
  • 山东省建设人才网站能不能自己做视频网站
  • 成都网站开发建设推广做视频的素材怎么下载网站
  • 4a级旅游网站建设的要求东莞建设监督网
  • 可以做cps合作的棋牌网站6长沙律师网站建设
  • 外国客户网站wordpress 个人写作
  • 学网站建设软件开发网站改版 升级的目的是什么
  • 雄安做网站昆明网站推广排名
  • 咸宁市网站建设网站建设需要什么资质
  • 制作网页需要哪些技术苏州百度关键词优化
  • 怎样免费建个人网站锐旗 天梯网站建设
  • 网站建设可自学吗wap网站开发教材
  • 合肥企业网站笔记 发布 wordpress
  • 东莞做网站 汇卓网络服务合同
  • 网站首页导航代码较便宜的网站建设
  • 蔚县网站建设哪些网站可以接兼职做
  • 一个网站建设初期的成本wordpress vip
  • 安阳网站建设设计个人微信小店怎么开通
  • 手机微网站怎么制作的线上名片制作
  • 自己做的网站显示不安全怎么回事平度推广网站建设
  • 成都网站设计与制作网站域名查询官网
  • 中小企业服务中心网站建设加工平台网站
  • 一台电脑如何做网站广州骏域网站建设专家 V
  • 公司建站系统template是什么意思