网络通信协议详解

 

1,网络通信协议:是指两个(或多个)终端之间信息交换和资源共享所遵守的规则(多个客户端,手机,电脑,ipad,之间的通信需要大家都懂的语言,就相当于人与人之间的交流有中文,英文);
     举例说明:
	例如一个手机和一个电脑进行通信,由于这两个数据终端所用字符集不同,因此所输入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。因此,网络通信协议也可以理解为网络上各台终端之间进行交流的一种语言;

2,常用的通信协议主要包括:
    TCP/IP协议:
    NETBEUI协议:
    IPX/SPX协议:

3,我们普遍接受和使用的就是TCP/IP协议,所以我主要说说TCP/IP协议:
TCP/IP协议,共分为四层,由一组具有专业用途的多个子协议组合而成的,这些子协议包括TCP,UDP,IP,FTP,HTTP,SMTP等
    网络接口层协议:Ethernet 802.3、Token Ring 802.5
    网络层协议:
	IP(Internet Protocol,英特网协议)
	ICMP(Internet Control Message Protocol,控制报文协议)
	ARP(Address Resolution Protocol,地址转换协议)
	RARP(Reverse ARP,反向地址转换协议)
     传输层协议: 
	TCP(Transmission Control Protocol,传输控制协议)
	UDP(User Datagram protocol,用户数据报协议)
     应用层协议:
	FTP(File Transfer Protocol,文件传输协议)
	HTTP(Hypertext Transfer Protocol,超文本传输协议)
	SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)
	TELNET(用户远程登录服务协议)
	NFS(Network File System,网络文件系统)
	DNS(Domain Name Service,是域名解析服务)

4,TCP 与 UDP 的区别:
(1)TCP是面向连接(如打电话要先拨号建立连接);
        UDP是无连接的(即发送数据之前不需要建立连接);
(2)TCP提供可靠的传输(也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,如出现数据丢失,会进行重发);
        UDP尽最大努力交付,不保证数据的完整,会出现局部数据的丢失;
(3)UDP具有较好的实时性,工作效率比TCP高,适用于高速传输和实时性要求较高的通信中;
(4)每一条TCP连接只能是点到点的;
        UDP支持一对一,一对多,和多对多;
(5)TCP对系统资源要求较多;
        UDP对系统资源要求较少;
  我们举一个通过 IP 电话进行通话的例子。如果使用 TCP,数据在传送途中如果丢失会被重发,但这样无法流畅的传输通话人的声音,会导致无法进行正常交流。而采用 UDP,他不会进行重发处理。从而也就不会有声音大幅度延迟到达的问题。即使有部分数据丢失,也支持会影响某一小部分的通话。此外,在多播与广播通信中也是用 UDP 而不是 TCP

 

5、http协议/https协议:(https是Http协议的的安全版)
    特点:
	简单快速:客户向服务器请求服务时,只需传送请求方法和路径;
	无连接:每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接,采用这种方式可以节省传输时间;
	无状态:HTTP协议是无状态协议,无状态是指协议对于事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大,所以引入了cookie和session,另一方面,在服务器不需要先前信息时它的应答就较快;

    请求方法有8种:
	GET : 从服务器请求指定页的信息,并返回实体主体;
	POST : 向服务器提交数据,并进行处理;
	HEAD : 类似于GET,但只获得响应报文头信息;
	PUT : 从客户端向服务器传送的数据取代指定的文档的内容;
	DELETE : 请求服务器删除指定的页面;
	CONNECT : HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器;
	OPTIONS : 允许客户端查看服务器的性能;
	TRACE : 回显服务器收到的请求,主要用于测试或诊断;

    (1)POST 和 GET的区别:
	post 比 get 更加安全,get请求是明文传输。
	post 比 get 传输的数据量更大,因为get受限于浏览器地址栏的字符数量限制,而post则不受限制。
	post 可以使用更多数据类型,而get 只能使用 ASCII码。
	post 比 get 慢,因为post先发送头部信息,再发送数据。相当于三次握手2个RTT和一个发送数据(实体主体)的RTT,一个三个RTT, 而get无实体主体,数据都在url中所以只需三次握手2个RTT, get/post = 2/3。

     (2)HTTP与HTTPS的区别:
	HTTPS协议需要到ca申请证书,一般免费证书很少,需要交费; 
	HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的ssl加密传输协议;
	HTTP和HTTPS使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443;  
	HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议, 要比http协议安全;

6、WebSocket协议

DNS (Domain Name System) 是 “域名系统” 的英文缩写,它用于 TCP/IP 网络,它从事将主机名或域名转换为实际 IP 地址的工作。DNS 就是这样的一位 “翻译官”,

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页