zoukankan      html  css  js  c++  java
  • 计算机网络——运输层

    运输层
     复用:发送方不同的应用程序都可以使用同一个运输层协议传送数据(需要加首部)
    分用:接收方的运输层再剥去报文的首部后能够把数据正确的交付到目的的应用进程
    运输层提供应用程序间的逻辑通信
    网络层为主机提供逻辑通信,应用层为应用程序提供逻辑通信
    可靠传输,拥塞控制,流量控制
    面向连接的TCP,无连接的UDP
    客户-服务器通信模式,主动、被动
    网络层为主机提供尽最大努力交付的数据报服务
    用户数据报协议(UDP):在传送数据前不需要先建立连接
    传输控制协议(TCP):提供面前连接的服务,传送数据前必须先建立连接,传送结束释放
    协议端口号来实现堆通信应用程序的标志,首部需要源端口号和目的端口号,具有本地意义,16位允许有65535个
    熟知端口:FTP21,TELNET23,SMTP25,DNS53,HTTP80
    UDP的优点:1.无连接,减少了开销和发送数据前的时延
    2.尽最大努力交付
    3.没有拥塞控制
    4.面向报文的
    5.支持一对一,一对多,多对多的交互通信
    6.只有8个字节的首部开销长度,相比较TCP20个字节要短得多

    UDP的组成:数据字段,首部字段(8字节):源端口,目的端口,长度(UDP用户数据报的长度,头部加数据),检验和(差错检验码,防止传输时出错)各占2个字节

    计算检验和时增加一个伪首部12字节,临时和数据报放在一起,把首部和数据部分一起检验(简单,处理起来快速)

    UDP报文段的首部格式:

    TCP

       TCP提供可靠的通信服务,它的主要特点有:

       ① 面向连接,点到点的;

       ② 提供可靠交付的服务(无差错、不丢失、不重复、按序到达),全双工(任何时候都能够发送数据);

       ③ 基于字节流的,而非消息流;

       ④ 不支持多播(Multicast)和广播(Broadcast)。

        TCP的面向连接的可靠交付特点保证了它能够提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端,无差错、不丢失、不重复、不失序。当然,可靠性的保证也是要付出代价的,TCP的客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据,因此它的传输速率就比UDP慢,同时,其报文段的首部字段也比UDP要长和复杂得多。

        TCP支持的应用协议主要有HTTP、Telnet、FTP、SMTP等。在互联网上,TCP相对UDP的应用就多得多,因为TCP的双向互动特性能满足用户的实时需求,而UDP则太过于被动。

    TCP报文段的首部格式:

     选项:最大报文段长度MMS(MMS=TCP报文段长度-TCP首部长度)尽可能的大,默认值是536

    往返时间(RTT),超时重传时间应比当前往返时间要长一些:发出时间到接收时间

    超时重传时间应大于平均往返时间

    快速重传:通过收到多个重复的确认可以快速的判断报文段可能已经丢失而不必等待重传,重复确认

    选择确认:(只通告收到的最后一个按序到达的字节,没有通告所以收到的失序到达的那些字节)允许接收方通知发送方所有正确接收了的但是失序的字节块,根据信息重传没有收到的字节块

  • 相关阅读:
    Ldap遇到了事务管理问题
    Spring-Ldap连接Ldap及简单的增删查改
    枚举与数组的使用
    GDI_TCanvas
    获取鼠标当前位置的相对坐标、模拟鼠标点击事件
    绘制不规则图片、窗体与图形
    Message使用
    泛型_Tlist存储对象
    控件Owner和Parent的区别
    鼠标拖放
  • 原文地址:https://www.cnblogs.com/hly97/p/12051609.html
Copyright © 2011-2022 走看看