TCP、UDP、TCP_IP

TCP是面向连接的协议,提供可靠传输,通过三次握手建立连接,适用于传输大量数据。UDP则是无连接的,不可靠但高效,适用于少量数据传输。TCP/IP协议集包括应用层、传输层、网络层和网络访问层,IP协议位于网络层,TCP和UDP位于传输层。TCP/IP的通信细节被隐藏,使得应用程序更专注于应用逻辑。
摘要由CSDN通过智能技术生成

1. TCP协议

TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。

可靠的面向连接的字节流传输层协议。

TCP:端点(end point)或套接字,一个ip地址+端口号
两个端点可以唯一标识一个TCP连接。

TCP报文段
TCP头:20字节,有可选项的60字节。
源ip地址+端口号, 目标ip地址+端口号 32位
序列号(SEQ) 32位 代表要发送的数据的第一个字节
确认号(ACK) 32位 代表要发送的数据的最后一个字节+1
头大小+URG/SYN/RST/FIN/(8位)+窗口大小(16位->65536字节) 32位

窗口大小用来解决网络拥塞

TCP数据
TCP数据是可选的,如果不带数据,表示是建立连接或删除连接

TCP建立连接:

  1. 客户端发送SYN TCP报文头到服务端,序列号为ISN
  2. 服务端发送SYN TCP报文头到客户端,序列号为ISN+1
  3. 客户端发送ACK TCP报文头到客户端,序列号为ISN+1,确认号为SEQ+1

2. UDP(User Data Protocol,用户数据报协议)

是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!
UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值