博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP (传输控制协议)
阅读量:7201 次
发布时间:2019-06-29

本文共 1076 字,大约阅读时间需要 3 分钟。

http://baike.baidu.com/item/TCP/33012?fr=aladdin

TCP(Transmission Control Protocol  )是一种面向连接的、可靠的、基于字节流的 通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内[1]  另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。[1]  
应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元([1]   MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体[1]   的TCP层。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延( )内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。[1]
 
 
当应用层向TCP层发送用于网间传输的、用8位字节表示的 ,TCP则把数据流分割成适当长度的报文段,最大传输段大小( )通常受该计算机连接的网络的数据链路层的最大传送单元( )限制。之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
TCP为了保证报文传输的可靠[1]    ,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。
  • 在数据正确性与合法性上,TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算校验和;同时可以使用md5认证对数据进行加密。
  • 在保证可靠性上,采用超时重传和捎带确认机制。
  • 在流量控制上,采用滑动窗口[1]    协议,协议中规定,对于窗口内未经确认的分组需要重传。
在拥塞控制上,采用广受好评的TCP拥塞控制算法(也称AIMD算法)。该算法主要包括三个主要部分:1)加性增、乘性减;2)慢启动;3)对超时事件做出反应。

转载地址:http://awzum.baihongyu.com/

你可能感兴趣的文章
搭建linuxFTP的步骤
查看>>
跟我一起学docker(八)--Dockerfile
查看>>
做SEO,选择大于努力
查看>>
php实现下载文件(浏览器不直接打开)
查看>>
数据库监听卡住 Oracle lsnrctl status 卡在connecting ......
查看>>
python web开发-flask调试模式
查看>>
3分钟看懂linux磁盘划分
查看>>
vim 向上向下匹配
查看>>
MySQL DBA面试总结
查看>>
Linux-LAMP 默认页,虚拟主机
查看>>
Node.js 特点
查看>>
Linux-日志管理
查看>>
MySQL数据库系统
查看>>
Android Studio 提示帮助文档 一直显示:fetching documentation
查看>>
新 Terraform 提供商: F5 Networks, Nutanix, 腾讯云, Helm
查看>>
SpringBoot框架简介及搭建
查看>>
拯救 Java Code Style 强迫症
查看>>
PDF文档怎样在线合并?
查看>>
大侦探福老师——幽灵Crash谜踪案
查看>>
一个故事告诉你什么才是好的程序员
查看>>