TCP协议详述 2019-11-27(未经允许,禁止转载)

1. 形象理解运输层、网络层和数据链路层的功能

运输层:知道数据要发往哪台主机哪个端口的应用进程(即,运输层具体到IP: port---类似明确到住址+收件人)
网络层:可以将数据送往目的主机的路径规划出来(即,网络层只具体到IP---类似明确到住址)
数据链路层:可以实际地将数据完整地送往网络中相邻的下一站

2. TCP简介

tcp,传输控制协议,属于传输层的一种协议,是非加密的。事实上,传输层不管是tcp还是udp,都是非加密协议
tcp为不同主机的应用进程提供可靠的逻辑通信
注意:运输层协议在端系统中实现,而不在网络中的路由器结点实现。即应用进程自主选择运输层服务,并将应用数据传入端系统的运输层封装成报文段

3. 如何理解tcp为进程提供的是 面向连接的可靠通信

面向连接就是为了可靠

先看看什么是“可靠”
虽然运输层下面的网络层是不可靠的(复杂的网络环境可能发生丢包、长延时等不良情况),但tcp协议规定,如果接收方超过一定时间未收到数据,就通知发送方重发,直到接收方正确收到为止。因此,在tcp协议下,网络层不靠谱丢包没关系,超时重传就完了,总能保证对方能正确接收的

那么,这就需要发送方和接收方总能在出现不良情况后及时进行沟通,逻辑上就像双方总是实时相连的。这就是面向连接

总结:面向连接是为了保证沟通,保证沟通是为了实现可靠

4. tcp协议详细工作原理

可参阅https://www.2cto.com/kf/201709/680298.html

5. 一个tcp连接可以发多少个http请求

  • HTTP/1.0 ,服务器在发送完一个 HTTP 响应后,断开 TCP 链接。因此,一个tcp连接只可以发一个http请求

  • HTTP/1.1,一个tcp连接可以串行发送多个http请求,除非发送方在请求的headers指明connection为close

  • HTTP/2.0and以上,一个tcp连接可以并行发送多个http请求

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,093评论 0 8
  • 运输层协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是...
    srtianxia阅读 2,458评论 0 2
  • title: 'TCP/IP协议和协议分层详解'date: 2018-05-18 14:35:26tags: ht...
    会飞小超人阅读 4,227评论 1 4
  • 本篇文章主要是从运输层协议概述、UDP、TCP、可靠传输的工作原理、TCP首部格式、TCP可靠传输的实现、TCP流...
    SeanMa阅读 3,965评论 2 13
  • 高度与自由成正比关系:站得越高,自由越多。换句话说,欲望越少,自由越多。人的一生受欲望支配,正常的欲望无可...
    冰夫阅读 395评论 0 0