美文网首页
计算机网络TCP/IP协议组和UDP

计算机网络TCP/IP协议组和UDP

作者: LittleTrue | 来源:发表于2018-06-14 23:00 被阅读0次

    概述TCP/IP

    TCP/IP不是传输层协议,而是网络通讯协议,它包括许多协议。
    TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。

    TCP/IP特点:

    使用于互联网, 统一地址分配标准化高层协议。

    在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
    在传输层中有TCP协议与UDP协议。
    在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。

    图片.png 图片.png

    —————————————————————————————————————

    UDP

    1)无连接的数据包服务,一方向另一方发送数据不需要建立连接。相当于发短信,别人是否收到,短信信息是否丢失都不能知道。

    2)面向报文的,从上层接收的数据如果报文不大于传输限制,则直接加上首部传输,如果报文过大,则进行IP分片后,再分别加入首部进行传输。

    3)UDP协议可以一对一通信,同时可以一对多通信(用于广播)。

    4)UDP仅仅是尽最大的努力进行交付,只是做比较初级的检查,比如端头检查,差错检测,往往在传输过程中会出现分组丢失、乱序、重复传输等问题。

    TCP

    1)面向连接的可靠的传输控制协议,连接的建立需要三次握手,连接的释放需要进行四次握手才能保证连接的建立,数据的同步传输。

    2)面向字节流,会把从上层传输下来的数据当作是无结构的字节流。

    3)一对一的通信。

    4)TCP在IP协议的基础之上添加了序号机制,确认机制,超时重传机制,数据校验,从而保证传输的可靠性,同时保证不出现丢失或者是乱序。

    —————————————————————————————————————

    TCP与UDP基本区别

    1.基于连接与无连接
    2.TCP要求系统资源较多,UDP较少;
    3.UDP程序结构较简单
    4.流模式(TCP)与数据报模式(UDP);
    5.TCP保证数据正确性,UDP可能丢包
    6.TCP保证数据顺序,UDP不保证

    UDP编程:

    与之对应的UDP编程步骤要简单许多,分别如下:
    UDP编程的服务器端一般步骤是:
      1、创建一个socket,用函数socket();
      2、设置socket属性,用函数setsockopt();* 可选
      3、绑定IP地址、端口等信息到socket上,用函数bind();
      4、循环接收数据,用函数recvfrom();
      5、关闭网络连接;

    UDP编程的客户端一般步骤是:
      1、创建一个socket,用函数socket();
      2、设置socket属性,用函数setsockopt();* 可选
      3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选
      4、设置对方的IP地址和端口等属性;
      5、发送数据,用函数sendto();
      6、关闭网络连接;

    —————————————————————————————————————

    另外,说一下视频传输协议

    RTSP/RTP/RTCP协议族

    该协议族是最早的视频传输协议。其中RTSP协议用于视频点播的会话控制。该协议族RTSP是建立在TCP之上的,RTP、RTCP建立在UDP之上。

    RTMP

    这个是adobe公司自己推出的视频播放协议。需要专用的服务器,如FMS,开源的有red5.这种协议也是flash默认支持的。

    理论上RTSP RTMPHTTP都可以做直播和点播,但一般做直播用RTSP RTMP,做点播用HTTP。做视频会议的时候原来用SIP协议,现在基本上被RTMP协议取代了。

    图片.png

    —————————————————————————————————————

    相关文章

      网友评论

          本文标题:计算机网络TCP/IP协议组和UDP

          本文链接:https://www.haomeiwen.com/subject/frfyeftx.html