TCPIP协议——TCP协议
- TCPIP协议——TCP协议 推荐度:
- 相关推荐
TCP/IP协议——TCP协议
今天算是对了TCP协议有个肤浅的理解了!
尽管TCP和UDP都是一样的网络层IP,但是TCP却和UDP实现着不一样的服务,TCP是一个面向连接的,可靠地字节流服务!
面向连接是指:两个使用TCP的程序要建立一个TCP连接才能交换数据。
TCP以以下方式提供可靠性:
1)应用程序被分为TCP认为合适发送的数据块!
2)TCP发送一个数据段以后,它启动一个定时器,等待目的端确认收到这个数据段,超时将会重新发送这个数据段!
3)当TCP接收到发自TCP连接另一端的数据,他会发送一个确认!
4)TCP会保持他首部和数据的检验和!
5)既然TCP报文段可以作为IP数据包来传送,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序!
6)既然IP数据报会发生重复,那么TCP的接收端必定会丢弃重复的数据报!
7)TCP还提供流量控制。
每个TCP段都包含了源端和目的端的端口号和IP地址。
第一:TCP的链接的建立和终止
首先我们得知道几个符号的作用
SYN:同步序号
FIN:发送方完成数据发送
RST:复位连接
PSH:尽可能快的将数据发送往接受进程
TCP的三次握手:
1,客户进程发送一个SYN段指明客户打算链接的服务器端口,以及初始序号(ISN),并将TCP的SYN段为报文段1。
2,服务器发回包含服务器的初始序号的SYN报文段(报文段为2)作为应答。
3,客户必须将确认序号设置为服务器的ISN加1对服务器的SYN段加以确认(报文段3)。
这三个报文段完成连接的建立,这个过程就叫三次握手!
建立一个TCP链接需要三次握手,但是断开一个TCP链接则要四次握手:
1,首先是客户想服务器进程发送一个数据报文段FIN,
2,服务器进程收到这个报文段FIN,它发回一个ack,确认序号为收到的加1。
3,服务器向客户进程发送一个FIN,
4,和第二步一样!
TCP的最大报文段长度
首先我们解释一下什么是最大报文长度:表示TCP传往另一端的最大块数据长度!
当一个链接建立时,链接的双方都要通告各自的MSS大小!
有些系统是可以协商mss的大小长度的,但是有些不可以,如果一方不接受来自另一方的mss协商的话,那么就默认为536个字节,一般来说,如果没有分段发生,我们的mss还是越大越好,当然了mss亦可以限制一段的发送大小,以减少分片的发生!
(未完待续)
- PHP服务器端API原理及示例(接口开发)
- Cocos Creator Layout组件
- Tensorflow框架初识
- Application.platform 平台
- 大型高并发高负载网站的系统架构[转载]
- Unity数据可视化 温度图效果(一)
- 职场经验
- 职场论
- IIS服务器的安全保护措施
- 招商银行证书到期后不同机器恢复导致的问题——“用户密码、证件号码和证书错误#3”
- netcore 开源cms
- VC知识大全
- 【网络流量监控工具之Nethogs】
- Idea 精准到类的打包方式:Artifacts 打包
- Linux C编程itoa()函数 atoi()函数
- https ssl单项认证和双向认证以及证书生成
- JS注册页面全代码