网络协议是计算机之间为了实现网络通信而达成的一种“约定”或者”规则“,有了这种”约定“,不同厂商的生产设备,以及不同操作系统组成的计算机之间,就可以实现通信。
什么是TCP/IP协议?
TCP/IP传输控制协议/因特网互联协议,又名网络通讯协议),英文是Transmission Control Protocol/Internet Protocol,是Internet最基本的协议,它是TCP、IP协议等组成的协议集。
OSI: (Open System IInterConnection)开放式系统互联模型
由ISO国际标准化组织定义的参考模型,这个模型把网络通信的工作分为7层,分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
各层的顺序及主要功能:
但是OSI是一个理想的理论模型,实际网络只涉及用到TCP/IP协议的这4层,下图是OSI简化为TCP/IP模型的对应关系,以及每层的主要协议。
各层主要协议的中英文名称:
TCP(Transport Control Protocol)传输控制协议
IP(Internetworking Protocol)网间网协议
UDP(User Datagram Protocol)用户数据报协议
ICMP(Internet Control Message Protocol)互联网控制信息协议
SMTP(Simple Mail Transfer Protocol)简单邮件传输协议
SNMP(Simple Network manage Protocol)简单网络管理协议
FTP(File Transfer Protocol)文件传输协议
ARP(Address Resolation Protocol)地址解析协议
ICMP是(Internet Control Message Protocol)Internet控制报文协议
DNS是域名系统(DomainNameSystem)的缩写
TCP与UDP的区别:
UDP(User Datagram Protocol),用户数据报协议,
1.提供无连接的,不可靠的传输。传输速度较快。缺点是不可靠、不稳定。
2.发送数据之前不需要建立连接,减少了开销和时延。UDP没有阻塞机制,宁愿阻塞时丢弃数据不传,也不阻塞造成延时。
3.UDP支持一对一、一对多、多对一、多对多通信。
TCP(Transmission Control Protocol)传输控制协议。
1.面向连接的、提供可靠的数据传输服务,但是开销较大、传输速度较慢。
2.使用TCP通信之前,需要进行“三次握手”建立连接,通信结束后需要“四次挥手”断开连接。
3.TCP是点对点的连接,一条TCP连接只能连接两个端点。
4.TCP是全双工通信,允许通信双方任何时候都能发送数据,发送数据按顺序、不丢失、不重复。
TCP和UDP的使用场景
需要对网络通讯质量有要求较高的时候,数据要准确无误的传递给对方,如HTTP、HTTPS、FTP等传输文件的协议,以及POP、SMTP等邮件传输的协议。
常见使用TCP协议的应用如下:
浏览器,用的HTTP
Outlook,用的POP、SMTP
对网络通讯质量要求不高的时候,并且要求网络传输速度能尽量的快,这时就可以使用UDP协议。
日常生活中,常见使用UDP协议的应用如下:
QQ语音
QQ视频
三次握手和四次挥手
SYN是标志位,SYN=1表示请求连接.只
有ACK标志位为1时,确认序号字段才有效,ack=seq 1
TCP的标志位有6种标示:
SYN(synchronous建立联机)
ACK(acknowledgement 确认)
PSH(push传送) FIN(finish结束)
RST(reset重置)
URG(urgent紧急)
Sequence number(顺序号码)
Acknowledge number(确认号码)
三次握手:客户端(SYN=1)----服务端(SYN=1、ACK=1)----客户端(ACK=1)
建立连接(拨打电话解读):
客户端:给对方拨电话:喂,你好,我是客户端。
服务器:喂,你好,我是服务器。
客户端:哦,我知道了,那咱们传输数据吧
请点击此处输入图片描述
四次挥手:主动关闭方(FIN)---被动关闭方(ACK)----主动关闭方(FIN)----被动关闭方(ACK)