目录
1.TCP协议
2.UDP协议
3.IP协议
4.以太网帧协议
5.HTTP协议
网络协议就是一组网络规则的集合,是我们共同遵守的约定或标准。常见的协议:
◼ HTTP:超文本传输协议
◼ FTP: 文件传输协议
◼ TELNET : 是 internet 远程登陆服务的标准协议。
◼ TCP : 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可
靠的、基于字节流的传输层通信协议
◼ UDP :用户数据报协议
◼ IP : Internet Protocol 简称 IP,又译为网际协议或互联网协议
◼ ICMP :因特网控制报文协议
◼ ARP : 地址解析协议,是根据 IP 地址获取 MAC 地址的协议
◼ RARP : 逆地址解析协议
以下是一些常见的网络协议的具体解释:
1.TCP协议
TCP是一种面向连接的、可靠的、基于字节流的传输层协议。它是互联网协议套件(TCP/IP)的核心之一,用于在网络上可靠地传输数据。以下是TCP协议的一些关键特点:
面向连接: 在进行数据传输之前,需要在通信的两端建立连接。这是通过三次握手来实现的。
可靠性: TCP提供可靠的数据传输。它使用序列号和确认机制来确保数据的正确性、完整性和顺序性。如果数据包丢失或损坏,TCP会自动进行重传。
流控制: TCP使用滑动窗口机制进行流量控制。接收方可以通知发送方其可接受的数据量,以避免因接收方处理不及时而导致的数据丢失。
拥塞控制: TCP通过拥塞窗口和慢启动等算法来处理网络拥塞。当网络出现拥塞时,TCP会降低发送速率,以避免网络的过度负荷。
全双工通信: TCP支持全双工通信,即数据可以在两个方向上同时传输。每个TCP连接都是双向的,允许在同一连接上同时进行发送和接收。
面向字节流: TCP将数据视为字节流而不是消息。它不关心应用层的消息边界,而是负责将字节流传输到目的地。
可靠的错误检测和纠正: TCP使用校验和机制来检测传输中的错误,并通过重新发送丢失或损坏的数据来进行纠正。
连接的释放: 在数据传输完成后,通过四次挥手来释放连接。这是通过发送FIN(Finish)标志来实现的。
TCP协议适用于对数据可靠性和顺序性有较高要求的应用,例如文件传输、电子邮件传输和Web浏览。
2.UDP协议
UDP是一种无连接的、不可靠的传输层协议。与TCP不同,UDP不会在通信前建立连接,也不保证数据的可靠传输。它主要用于那些对实时性要求较高、能够容忍一定数据丢失的应用。
以下是UDP协议的一些关键特点:
无连接: UDP是无连接的,通信双方在传输数据前不需要建立连接,也不会维护连接状态。
不可靠性: UDP不提供数据的可靠传输。它不使用像TCP那样的确认和重传机制,因此可能会导致数据包的丢失或乱序。
面向数据报: UDP是面向数据报的,每个UDP数据包(数据报)都是一个独立的消息单元,与其他数据包无关。每个数据包都包含了完整的目标地址信息。
较低的开销: 由于不需要建立连接、不需要进行可靠性保证,UDP的开销相对较低,传输速度较快。
适用于广播和多播: UDP支持广播(一对多)和多播(一对多)通信方式,适用于一次向多个接收者发送相同数据的场景。
无流量控制和拥塞控制: 与TCP不同,UDP不提供流量控制和拥塞控制。这意味着UDP会尽力发送数据,不会根据网络状况进行调整。
应用场景: 适用于对实时性要求较高的应用,例如音视频流、在线游戏等。在这些应用中,实时性比数据的可靠性更为重要。
由于UDP的不可靠性,它通常用于那些对数据传输延迟较为敏感,且能够容忍一定数据丢失的场景。
3.IP协议
IP是互联网上数据通信的基础协议之一,它负责在网络中寻址和路由数据包。IP协议定义了在网络上如何寻址和路由数据,使得数据能够从源主机传输到目标主机。
关键特点和概念包括:
IP地址: 每个连接到互联网的设备都有一个唯一的IP地址,用于标识该设备在网络上的位置。IPv4和IPv6是两个常见的IP地址版本。
数据包: IP负责将数据分割成小的数据包,每个包包含一部分原始数据、源和目标IP地址以及其他控制信息。
路由: IP协议通过路由来确定数据包从源到目标的路径。路由器是负责将数据包从一个网络节点传输到另一个网络节点的设备。
数据报: IP数据包也称为数据报。每个数据报都是一个独立的、自包含的单元,可以独立地在网络上传输。
IPv4和IPv6: IPv4是较早的IP地址版本,使用32位地址,已经耗尽。IPv6是新一代的IP地址版本,使用128位地址,提供了更多的地址空间。
分组交换: IP是一个分组交换协议,意味着它将数据分割成小的块,并在网络上逐个发送这些块。这与电路交换不同,电路交换需要在通信开始之前建立一个物理连接。
面向无连接: IP是无连接的协议,每个数据包在网络上独立传输,没有事先建立的连接。
IP协议通常与其他协议一起使用,最常见的是与TCP(传输控制协议)和UDP(用户数据报协议)结合使用,形成TCP/IP协议栈,以提供可靠的、面向连接的或无连接的通信。
4.以太网帧协议
以太网帧是在以太网网络上传输数据的基本单位。以太网是一种常见的局域网(LAN)技术,它使用了一种特定的帧格式来封装和传输数据。
以下是以太网帧协议的主要特点:
Preamble(前导码): 以太网帧以一个7字节的前导码开始,用于同步接收方的时钟。
Start Frame Delimiter(起始帧定界符): 紧跟在前导码后,用于标识数据帧的开始。
目标MAC地址(Destination MAC Address): 6字节,指示数据帧的目标设备的物理地址。
源MAC地址(Source MAC Address): 6字节,指示数据帧的发送设备的物理地址。
Type或Length字段: 如果值大于0x05DC,则表示数据帧的类型,表明上层协议是什么(例如,IPv4、IPv6等)。如果小于0x05DC,则表示数据帧的长度。
数据(Payload): 实际的数据部分,长度最小46字节,最大1500字节。
FCS(Frame Check Sequence,帧检验序列): 4字节,用于帧的错误检测。
帧的最小和最大长度: 以太网帧的最小长度为64字节,如果数据部分不足46字节,则需要填充。最大长度为1518字节(不包括前导码和帧检验序列)。
CSMA/CD(Carrier Sense Multiple Access with Collision Detection): 以太网使用CSMA/CD协议来处理多个设备共享同一链路时的冲突。设备在发送前会检测信道是否空闲,如果发现冲突,设备会等待一段随机时间后重新发送。
以太网帧协议是在以太网技术中用于在网络中传输数据的标准格式。在局域网中,设备通过以太网帧进行通信,这种协议是现代网络中最为常见的之一。
5.HTTP协议
HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议。它是互联网上应用最为广泛的协议之一,通常用于在Web浏览器和Web服务器之间传递文本、图像、音频、视频等资源。
以下是HTTP协议的一些关键特点:
无连接: HTTP是无连接的协议,每个请求/响应都需要在建立连接后独立传输。连接建立后,请求被发送,然后服务器响应,之后立即关闭连接。这样的机制降低了服务器的负载,但也增加了每个请求的延迟。
无状态: HTTP是无状态的协议,每个请求都是独立的,服务器不会保留任何关于客户端状态的信息。这导致了每个请求都需要携带足够的信息,以便服务器能够理解和处理请求。
请求方法: HTTP定义了多种请求方法,其中最常见的是GET和POST。GET用于请求获取特定资源,而POST用于提交数据给指定的资源,例如提交表单数据。
状态码: 服务器在响应中返回一个状态码,用于指示请求的成功、失败或其他状态。常见的状态码有200(OK,请求成功)、404(Not Found,未找到请求的资源)、500(Internal Server Error,服务器内部错误)等。
头部信息: HTTP消息包括请求头和响应头,这些头部包含了关于消息的元信息,如内容类型、长度、请求的来源等。
URL(Uniform Resource Locator): HTTP使用URL来定位和标识网络上的资源。URL由协议、主机名、端口号、路径等组成。
Cookie和Session: HTTP协议本身是无状态的,为了实现跨请求的状态保持,引入了Cookie和Session机制。服务器可以在响应头中设置Cookie,客户端将其保存并在后续请求中发送,以维护用户状态。
安全性: HTTP本身是不安全的,数据传输是明文的。为了增加安全性,常常使用HTTPS(HTTP Secure),它在HTTP上层加入了TLS/SSL协议,实现了加密和身份验证。
HTTP协议是现代互联网中最为基础和常用的协议之一,支撑了Web应用的开发和数据传输。