• 网络通信概述


    一、网络七层协议OSI

    例如:采用socket通讯时,用到了IP和端口,表明涉及网络层和传输层;无视多台电脑通信的系统差别,所以它涉及了表示层;一般Socket都是基于一个应用程序的,所以会涉及到会话层和应用层。

    二、TCP、UDP、IP

    IP协议是在源地址和目的地址之间传送数据包,IP负责选择传送的道路,这种选择道路称为路由功能。当有些网络内只能传送小数据包时,还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。对数据没有差错控制,它只使用报头的校验码。

    UDP(User Datagram Protocol 用户数据报协议)是无连接,无数据包分组排序的协议。

    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。建立连接时需要三次“握手”

    1、TCP与UDP区别总结:
    1、TCP面向连接,发送数据要先建立连接;UDP是无连接的,即发送数据之前不需要建立连接
    2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付

      Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。

    3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。

    4.每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

    5、TCP对系统资源要求较多,UDP对系统资源要求较少。
    三、SOCKET

    socket不是通信协议,而是一种通信模型,是一种进程通信机制。

    socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。

    四、同步、异步网络通信

    同步通信是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。

    异步通信不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节,所以必须加上开始位和停止位。

    通俗理解:

    同步、异步通信在网络通讯中是指,代码控制数据传输的具体手段。

    同步通信时,发送端发送数据后一直处于阻塞状态,发送端接收到接受端对应回应后,再进行下一次发送。

    异步通信时,a发个b后还未得到b回应前,可以再a发给c。

  • 相关阅读:
    LNMP源码安装配置
    CentOS6 Apache配置详解(上)
    CentOS6 Apache配置详解(中)
    BZOJ4152 AMPPZ2014 The Captain(最短路)
    BZOJ4028 HEOI2015公约数数列(分块)
    Codeforces Round #517 Div. 1翻车记
    BZOJ4027 HEOI2015兔子与樱花(贪心)
    BZOJ4000 TJOI2015棋盘(状压dp+矩阵快速幂)
    Codeforces Round #510 Div. 2 Virtual Participate记
    BZOJ5190 Usaco2018 Jan Stamp Painting(动态规划)
  • 原文地址:https://www.cnblogs.com/dengquan/p/9982159.html
Copyright © 2020-2023  润新知