网络通信概述

一、网络七层协议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。

原文地址:https://www.cnblogs.com/dengquan/p/9982159.html