永发信息网

tcp 请求路径和ack路径一样吗

答案:1  悬赏:20  手机版
解决时间 2021-02-01 15:55
  • 提问者网友:溺爱和你
  • 2021-01-31 15:34
tcp 请求路径和ack路径一样吗
最佳答案
  • 五星知识达人网友:酒安江南
  • 2021-01-31 17:08
网络编程之TCP/IP基础一、ISO/OSI参考模型1、 OSI(open system interconnection)开放系统互联模型是由ISO(InternationalOrganization for Standardization)国际标准化组织定义的网络分层模型,共七层。2、q 物理层(PhysicalLayer):物理层定义了所有电子及物理设备的规范,为上层的传输提供了一个物理介质,本层中数据传输的单位为比特(bit)。属于本层定义的规范有EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等,实际使用中的设备如网卡等属于本层。q 数据链路层(DataLink Layer):对物理层收到的比特流进行数据成帧。提供可靠的数据传输服务,实现无差错数据传输。在数据链路层中数据的单位为帧(frame)。属于本层定义的规范有SDLC、HDLC、PPP、STP、帧中继等,实际使用中的设备如switch交换机属于本层。q 网络层(NetworkLayer):网络层负责将各个子网之间的数据进行路由选择,分组与重组。本层中数据传输的单位为数据包(packet)。属于本层定义的规范有IP、IPX、RIP、OSPF、ICMP、IGMP等。实际使用中的设备如路由器属于本层。q 传输层(TransportLayer):提供可靠的数据传输服务,它检测路由器丢弃的包,然后产生一个重传请求,能够将乱序收到的数据包重新排序。q 会话层(SessionLayer):管理主机之间会话过程,包括会话建立、终止和会话过程中的管理。q 表示层(PresentationLayer):表示层对网络传输的数据进行变换,使得多个主机之间传送的信息能够互相理解,包括数据的压缩、加密、格式转换等。q 应用层(ApplicationLayer):应用层与应用程序界面沟通,以达至展示给用户的目的。在此常见的协定有: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等二、TCP/IP四层模型对等通信封装分用端口q 众所周知端口(WellKnown Ports):从0到1023,这些端口由IANA分配和控制它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:21端口为ftp服务端口。q 注册端口(RegisteredPorts):从1024到49151。它些端口不受IANA控制,但由IANA登记并提供使用情况清单。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:1433 Microsoft SQL服务端口q 动态或私有端口(Dynamicor Private Ports):从49152到65535。IANA不管这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。02TCP/IP基础(二)一、MTU以太网和IEEE 802.3对数据帧的长度都有限制,其最大值分别是1500和1492字节,将这个限制称作最大传输单元(MTU,Maximum Transmission Unit)如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就要进行分片(Fragmentation),把数据报分成若干片,这样每一片都小于MTU。当网络上的两台主机互相进行通信时,两台主机之间要经过多个网络,每个网络的链路层可能有不同的MTU,其中两台通信主机路径中的最小MTU被称作路径MTU。二、以太网帧格式三、ICMP四、ARP五、数据在网络中传输过程步骤a:应用程序ping会判断发送的是主机名还是IP地址,调用函数gethostbyname()解析主机机B,将主机名转换成一个32位的IP地址。这个过程叫做DNS域名解析步骤b:ping程序向目的IP地址发送一个ICMP的ECHO包步骤c:将目标主机的IP地址转换为48位硬件地址,在局域网内发送ARP请求广播,查找主机B的硬件地址。步骤d:主机B的ARP协议层接收到主机A的ARP请求后,将本机的硬件地址填充到应答包,发送ARP应答到主机A。步骤e:发送ICMP数据包到主机B步骤f:主机B接收到主机A的ICMP包,发送响应包。步骤g:主机A接收到主机B的ICMP包响应包。六、RARP03TCP/IP基础(三)一、IP数据报格式1. 版本a) IP协议版本号,长度为4位,IPv4此字段值为4,IPv6此字段值为62. 首部长度a) 以32位的字为单位,该字段长度为4位,最大值为15,所以首部长度最大为60个字节3. 服务类型(TOS)a) 长度为8位。此字段包含3位的优先权(现已忽略),4位的服务类型子字段和1位的保留位(必须置0)。4位的服务类型分别为最小延迟(D)、最大吞吐量(T)、最高可靠性(R)、最小费用(F)。4. 5. 总长度a) 该字段长度为16位,以字节为单位,该字段长度包含IP的头部和数据部分。IP数据报最大可达65535个字节。6. 标识a) 16位标识,用来标识一个IP包,每发送一个此值会加17. 标志与片偏移a) 3位标志其中第一位不使用, 每二位DF(Don’tFragment),该位如果为1,如果传输的数据报超过最大传输单元,该数据报会被丢弃,并发送一个ICMP差错报文。第三位MF(More Fragment)表示是否有更多的片,该位为1,说明后续有分片。最后一片MF为0。b) IP分片后每一个分组都具有自己的首部,但是片偏移值不同,通过片偏移值接收端可以重新组装IP包。8. TTLa) TTL(Time To Live)表示数据报最多可经过的路由器的数量。数据报每经过一个路由器,TTL减1,减为0时丢弃,并发送ICMP报文通知源主机。TTL可以避免数据报在路由器之间不断循环。9. 协议类型a) 表示IP层上承载的是哪个高级协议。在封装与分用的过程中,协议栈知道该交给哪个层的协议处理。1 ICMP 2 IGMP 6 TCP 17 UDP10. 头部校验和a) 保证数据报头部的数据完整性,但校验不包括数据部分。这样做的目的有二:一是所有将数据封装在IP数据包中的高层协议均含有覆盖整个数据的校验和,因此IP数据报没有必要再对其所承载的数据部分进行校验。二是每经过一个路由器,IP数据报的头部要发生改变,而数据部分不变,这样只对发生改变的头部进行校验,显然不会浪费太多的时间。为了减少计算时间,一般不用CRC校验码,而是采用更简单的网际校验和。11. TTLa) TTL(Time To Live)表示数据报最多可经过的路由器的数量。数据报每经过一个路由器,TTL减1,减为0时丢弃,并发送ICMP报文通知源主机。TTL可以避免数据报在路由器之间不断循环。12. 协议类型a) 表示IP层上承载的是哪个高级协议。在封装与分用的过程中,协议栈知道该交给哪个层的协议处理。1 ICMP 2 IGMP 6 TCP 17 UDP13. 头部校验和a) 保证数据报头部的数据完整性,但校验不包括数据部分。这样做的目的有二:一是所有将数据封装在IP数据包中的高层协议均含有覆盖整个数据的校验和,因此IP数据报没有必要再对其所承载的数据部分进行校验。二是每经过一个路由器,IP数据报的头部要发生改变,而数据部分不变,这样只对发生改变的头部进行校验,显然不会浪费太多的时间。为了减少计算时间,一般不用CRC校验码,而是采用更简单的网际校验和。14. 源IP地址a) 发送数据的主机IP地址15. 目的IP地址a) 接收数据的主机IP地址16. 选项与填充(选项为4字节整数倍,否则用0填充)a) 安全和处理限制b) 路径记录:记录所经历路由器的IP地址c) 时间戳:记录所经历路由器的IP地址和时间d) 宽松源站路由:指定数据报文必须经历的IP地址,可以经过没有指定的IP地址。e) 严格的源站路由:指定数据报文必须经历的IP地址,不能经过没有指定的IP地址。二、网际校验和网际校验和,英文全称(Internet Checksum)发送方对要发送的数据划分为许多16位字序列(如果数据的字节数为奇数,则在末尾补一字节0凑成偶数。)对这些序列反码求和,便得到校验和。如果数据在传输过程中没有发生任何差错,那么接收方计算校验和的结果应该为全1。如果结果不是全1(即校验和错误)。三、路由04TCP/IP基础(四)一、TCP的特点 基本于字节流面向连接可靠传输缓冲传输全双工流量控制二、TCP报文段格式1. 源端口号与目的端口号a) 源端口号和目的端口号,加上IP首部的源IP地址和目的IP地址唯一确定一个TCP连接。2. 序号a) 序号表示在这个报文段中的第一个数据字节序号。3. 确认号a) 仅当ACK标志为1时有效。确认号表示期望收到的下一个字节的序号。4. 头部长度a) 4位,TCP头部最多60个字节5. 保留位a) 6位,必须为06. 6个标志位a) URG-紧急指针有效b) ACK-确认序号有效c) PSH-接收方应尽快将这个报文段交给应用层d) RST-连接重置e) SYN-同步序号用来发起一个连接f) FIN-表示将要终止一个连接7. 窗口大小8. 通过窗口大小来达到流量控制。9. 校验和10. 对tcp头与数据进行校验11. 紧急指针a) 是一个正的偏移量,与序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。12. 选项与填充(选项为4字节整数倍,否则用0填充)a) 最常见的可选字段是最长报文大小MSS(Maximum Segment Size),每个连接方通常都在通信的第一个报文段中指明这个选项。它指明本端所能接收的最大长度的报文段。该选项如果不设置,默认为536(20+20+536=576字节的IP数据报)三、连接建立三次握手四、连接终止四次握手五、TCP如何保证可靠性应用数据被分割成TCP认为最适合发送的数据块,称为段传递给IP层。当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒。TCP将保持它首部和数据的校验和。这是一个端到端的校验和,目的是检测数据在传输过程中的任何变化。如果收到段的校验和有差错,TCP将丢弃这个报文段并且不确认(导致对方超时重传)TCP承载于IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。TCP将对收到的数据进行重新排序。IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。TCP还能提供流量控制。TCP连接的每一方都有一定大小的缓冲空间。05TCP/IP基础(五)一、滑动窗口协议通告接收窗口(rwnd):预防应用程序发送的数据超过对方的缓冲区。接收方使用的流量控制拥塞窗口(cwnd):预防应用程序发送的数据超过网络所能承受的能力。发送方使用的流量控制发送窗口取两者较小值慢启动阀值(ssthresh:slow start threshold)慢启动阶段:cwnd从1开始按指数增长直到ssthresh拥塞避免阶段:cwnd按线性增长,直到拥塞,将cwnd=1,ssthresh减半。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯