TCP/IP-运输层-你需要知道的运输层观点

TCP/IP-运输层-你需要知道的运输层观点

电脑自动获取IP地址----DHCP动态主机配置协议

TCP/IP-运输层-你需要知道的运输层观点

 

运输层向它上面的应用层提供通讯服务. 两个主机举行通讯就是两个主机中的应用历程相互通讯. 从运输层的角度看, 通讯的真正端点并不是主机而是主机的历程运输层提供应用历程间的逻辑通讯. 运输层之间的通讯好像是沿水平偏向传输数据.但事实上这两个运输层之间并没有一条水平偏向的物理毗邻.要传送的数据是沿着图中的虚线向(经由多个条理)传送的 .

5.1 运输层协议概述

5.1.1 历程之间的通讯

  • 网络层是为了主机之间提供逻辑通讯,而运输层为应用历程之间提供端到端的逻辑通讯.
  • 运输层向高层用户屏障了下面网络焦点的细节,它使应用历程瞥见的就是好像在两个运输层实体之间有一条端到端的逻辑通讯信道.
  • 当运输层接纳面向毗邻的TCP协议时,只管下面的网络是不可靠的,但这种逻辑通讯信道就相当于一条全双工的可信信道.
  • 接纳UDP协议时,这种逻辑通讯信道仍然是一条不可靠信道.

5.1.2 运输层的两个主要协议.

  1. UDP(User Datagram Protocol)[RFC 768]
  2. TCP(Transmission Control Protocol)[RFC793] UDP在传送数据之间不需要先确立毗邻. TCP 提供面向毗邻的服务.

5.1.3 运输层的端口.

通过端口解决通讯的目的地.虽然通讯的终点是应用历程,但我们只要把要传送的报文交到目的主机的某一个合适的目的端口,剩下的事情(即最后交付给目的历程)就由TCP来完成. 在协议栈层间的抽象的协议端口是软件端口,软件端口是应用层的种种协议历程与运输试题举行层间交流的一种地址 . 端口号只具有内陆意义.

5.2 UDP

5.2.1 UDP概述

  1. 无毗邻
  2. 尽最大努力交付.
  3. 面向报文.
  4. 没有拥塞控制.
  5. 支持1对1,1对n,n-1和n-n交互通讯.
  6. 首部开销小. 只有8个字节.

5.2.2 UDP的首部花样

  1. 源端口
  2. 目的端口
  3. 长度
  4. 校验和

5.3 TCP

5.3.1 TCP最主要的特点 TCP 是TCP/IP系统中非常复杂的一个协议.

  1. 面向毗邻的运输层协议.也就是说,应用程序在使用TCP协议之前,必须先确立TCP毗邻.在传送数据完毕后,必须释放已经确立的TCP毗邻.
  2. 每一条TCP毗邻只能有两个端点(endpoint),每一条TCP毗邻只能是点对点.
  3. TCP提供可靠交付的服务.
  4. TCP提供全双工通讯. TCP允许通讯双方的应用历程在任何时刻都能发送数据.TCP毗邻的两头都设有发送缓存和吸收缓存,用来暂且存放双向通讯的数据.在发送时,应用程序在把数据传送给TCP的缓存后,就可以做自己的事,而TCP在合适的时刻吧数据发送出去.在接受时,TCP把收到的数据放在缓存,上层的应用历程在合适的时刻读取缓存中的数据.
  5. 面向字节省. TCP中的流(stream指的是流入到历程或从历程流出的字节序列. 虽然应用程序和TCP的交互是一次一个数据块(巨细不等),但TCP把应用程序叫下来的数据看成仅仅是一连串的 无结构的字节省. TCP并不知道所传送的字节省的寄义.TCP不保证吸收方应用程序锁收到的数据块和发送方应用程序所发出的数据块具有对应巨细的关系(例如,发送方应用程序交给发送方的TCP供10个数据块,但吸收方的TCP可能只用了4个数据块就把收到的字节省交付给了上层的应用程序).但吸收方应用程序收到的字节省必须和发送方应用程序发送的字节省完全一样.固然吸收方的应用程序必须有能力识别收到的字节省,把它还原成有意义的应用层数据.

5.3.2 TCP的毗邻

TCP把毗邻作为最基本的抽象. 每一条TCP毗邻有两个端点. TCP 毗邻的端点叫做套接字(socket)或者插口. 凭据RFC793的界说:端口号拼接到(conatenated with)IP地址即构成了套接字.

5.4 可靠传输的事情原理

理想的传输条件有以下两个特点:

  1. 传输信道不发生差错.
  2. 不管发送方以多快的速率发送数据,吸收方总是来得及处置收到的数据. 在以上理想传输条件下,不需要接纳任何措施就能够实现可靠传输

5.4.1 住手守候协议

  1. 无差错情形.
  2. 泛起差错情形.
  3. 确认丢失和确认迟到
  4. 信道行使率

5.4.1 延续ARQ协议

滑动窗口协议比较复杂,是TCP协议的精髓所在.

云服务器安全配置开放哪些端口

5.5 TCP报文段的首部花样.

TCP虽然是面向字节省的,但TCP传送的数据单元确实报文段.一个TCP报文段分为首部和数据两个部门.

首部不顶部门个字段的意义

  1. 源端口和目的端口
  2. 序号
  3. 确认号
  4. 数据廉价
  5. 保留
  6. 紧要URG
  7. 确认ACK
  8. 推送PSH
  9. 复位RST
  10. 同步SYN
  11. 终止FIN
  12. 窗口
  13. 校验和
  14. 紧要指针
  15. 选项

5.6 TCP可靠传输的实现

5.6.1 以字节为单元的滑动窗口

5.6.2 超时重传时间的选择

TCP接纳自适应算法,纪录一个报文段发出的时间,以及受到响应的确认的时间.这两个时间之差就是报文段的往返时间RTT.TCP保留了RTT的一个加权平均往返时间RTTs.

5.6.3选择确认SACK

 

5.7TCP的流量控制

5.7.1 行使滑动窗口实现流量控制.

流量控制(flow control)就是让发送方的发送速率不要太快,要让吸收方来得及接受. 发送方的发送窗口不能超过吸收方给出的接受窗口的数值.

5.9TCP的运输毗邻治理

毗邻确立,数据传送 毗邻释放. TCP毗邻确立过程中要解决以下三个问题:

  1. 要使每一方能够确知对方的存在.
  2. 要允许双方协商一些参数(如最大窗口值,是否使用窗口扩大选项和时间戳选项及服务质量等)
  3. 能够对运输实体资源(如缓存巨细,毗邻表中的项目等)举行分配. TCP毗邻的确立接纳客户服务器方式.自动提议毗邻确立的应用历程叫做客户(client).而被动守候毗邻确立的应用历程叫做服务器(server).

5.9.1 TCP毗邻的确立

为什么A还要发送一次确认呢,这主要是为了防止已失效的毗邻请求报文段突然又传送到了B,而发生错误. A发出的第一个毗邻请求报文没有丢失,滞留在网络上,延误到毗邻释放以后的某个时间才到达B.原本这个是早已失效的报文段.然则B收到此失效的毗邻请求报文段后,就误认为是A有发出一次新的毗邻请求.于是就向A发出确认报文段,赞成确立毗邻.假定不接纳三次握手,那么只要B发出确认,新的毗邻就确立了. 由于现在A并没有发出确立毗邻的请求,因此不会理财B的确认.也不会向B发送数据.然则B却以为新的运输毗邻已经确立了,并一直守候A发送数据.B的许多资源就这样白白浪费的.

5.9.2TCP的毗邻释放

数据传输竣事后,通讯的双方都可释放毗邻.

如何设置远程监控硬盘录像机内存储的监控画面?

分享到 :
相关推荐

发表评论

登录... 后才能评论