了解TCP/IP协议

本文详细介绍了TCP/IP协议的基本概念、组成部分,包括TCP/IP协议族、常见协议如TCP、UDP、HTTP等,以及其在应用层、传输层、网络层和网络接口层的作用。同时,还涵盖了TCP的三次握手和四次挥手过程以确保可靠的数据传输。
摘要由CSDN通过智能技术生成

1 简介

TCP/IP(传输控制/网络协议),是网络中最基本的通信协议,他描述了计算机必须遵守的规则,保证计算机之间进行通信。

2 常见协议

TCP/IP协议是一个协议族,是不同协议的大集合。例如http协议也是他的一个子集。

其他常见的协议如下:

  • TCP(传输控制协议):用于应用程序到网络之间通信
  • UDP(用户数据协议):应用程序之间的简单通信
  • IP(网络协议):计算机之间的通信
  • HTTP(超文本传输协议):负责web服务器与web浏览器之间的通信
  • HTTPS(安全的HTTP):负责web服务器与web浏览器之间的安全通信
  • SSL(安全套接字层):SSL协议用于为安全数据传输加密数据
  • POP(邮局协议):从邮件服务器下载电子邮件
  • IMAP(消息访问协议):用于存储和取回电子邮件
  • SMTP(简易邮件传输协议):多用于电子邮件的传输
  • MIME(多用于邮件扩展传输):MIME协议使SMPT有能力通过TCP/IP网络传输多媒体文件(声音、视频、二进制数据等)
  • FTP(文件传输协议):负责计算机之间的文件传输
  • NTP(网络时间协议):用于在计算机之间同步时间
  • DHCP(动态主机配置协议):用于向网络中的计算机分配动态IP地址

3 TCP/IP模型

TCP/IP协议族早期是一个四层的体系结构,包括应用层、传输层、网络层、网络接口层。

3.1 应用层

作用:

主要规定向用户提供服务时通信的协议。例如FTP(文件传输协议)、SMTP(邮件传送协议)、DNS(域名解析协议)、Telnet(远程登录协议)等。

3.2 传输层

作用:

对接上层应用层,提供两个计算机之间的数据传输所使用的协议。主要有面向连接的协议TCP和面向无连接的协议UDP

TCP和UDP主要区别

  • TCP是一种可靠的协议,可以正确处理传输中异常与数据错乱等问题;而UDP是一种不可靠的协议,他无法保证数据的可靠交付
  • TCP提供了阻塞控制,用于缓解网络拥堵;UDP不会检查网络拥堵情况,数据包是否到达情况
  • UDP的优势是效率比较高,常用于分组数据少、视频、多媒体等领域

3.3 网络层

作用

如两个计算机之间传输数据需要通过多台计算机或设备,网络层的作用就是为这两个计算机之间的通信规定一条传输路线。也可以理解为数据透明传送。

包含的主要协议有IP协议(因特网互联协议)、ICMP协议(因特网报文控制协议)

细分的功能有:寻址、路由选择、建立连接、保持、终止等。

3.4 网络接口层

TCP/IP协议族后期参考ISO七层模型,将网络接口层又分为 数据链路层 和 物理层

3.4.1 数据链路层

作用

确定网络数据包的形式,规定了在不同的链路上如何传输数据、提供不同的协议和特征(包括物理编止、网络拓扑结构、数据错误检测、数据帧序列、流控等)。

3.4.2 物理层

作用:

是TCP/IP最底层负责传输的硬件(类似于以太网或电话线路等物理层设备)。

3.5 理解TCP/IP四层模型、五层模型、ISO七层模型

ISO的7层模型:早期推出的一个国际模型标准,但并未被广泛应用。

TCP/IP的4层模型:是目前市场最流行的模型,参考ISO的模型实现。

TCP/IP的5层模型基于TCP/IP的4层模型将网络接口层进行了抽象拆分成数据链路层和物理层。

对比

ISO的7层模型是先规定的模型,再有的协议;先定的标准,再进行实践。

而TCP/IP四层模型相反,是先有的协议,再参考ISO模型设计四层模型。

相比于TCP/IP五层模型,ISO模型是将应用层细分为了应用层、表示层、会话层。

                                        应用层:面向具体的应用传输

                                        表示层:将数据转换成合适的、可以理解的语法或语义

                                        会话层:维护网络中的链接状态

4 TCP的三次握手

TCP既是一种可靠性的协议,所以他的可靠的数据传输通到的建立需要三次握手。

第一次握手:客户端需要建立链接时,发送一个确认连接的报文(SYN=1,随机序列号seq=x)。

第二次握手:服务端接收到链接请求的报文时,返回确认报文给客户端(SYN=1,ACK=1,ack=x+1,随机序列号seq=y)。

第三次握手:客户端接收到服务端的确认链接返回的ACK报文后,会发送一次回执请求到服务器(ACK=1,ack=y+1,seq=x+1),表示确认已经收到

5 TCP的四次挥手

三次握手是为了建立可靠的数据传输通到,而四次挥手则是保证数据都传输完成再关闭连接

第一次挥手:客户端关闭连接时,发送断开连接的请求给服务器(FIN报文,随机生成的seq=u),且自己处于FIN-WIST状态。
第二次挥手:服务器收到FIN关闭请求后,返回一个确认报文(ACK=1,ack=u+1,随机生成seq),表示已经收到客户端要关闭

第三次挥手服务器数据传输完了之后,发送一个FIN报文给客户端(FIN = 1,ACK = 1,ack = u + 1,seq = w),表示服务器要准备关闭连接了

第四次挥手:客户端收到服务器的FIN报文后,会回复一个ACK报文(ACK = 1,seq = u + 1,ack = w + 1),且进入TIME-WAIT状态。表示回复服务器已经收到,客户端等待2MSL之后关闭连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妍思码匠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值