面向连接的TCP概述
TCP连接概述
TCP是因特网运输层面向连接的(connection-oriented)可靠运输协议。之所以说它是面向连接的是因为
一个应用进程向另外一个应用进程发送数据之前,两个进程必须先要“握手”(建立连接),初始化一些建立连
接的TCP状态变量。
TCP协议是在端系统中运行的,不会在中间的网络元素(路由器和链路层交换机)中运行,所以中间元素不
会维持TCP连接状态。它的连接状态完全保留在两个端系统中。在实际中,中间路由器看到的只是数据包而不是
连接。
TCP连接提供的是全双工服务(full-duplex-service),并且TCP连接也是点对点(piont-to-piont)的,这
就说明TCP连接是单个发送方与单个接收方之间的连接。在一次发送操作中,从一个发送方将数据传给多个接收
方,即“多播”操作对TCP来说是不可能的。
两个应用进程经过“三次握手”(three-way handshake)后建立TCP连接。连接建立后两个应用进程便可以
相互发送数据了。

如图所实,假设左边进程为客户进程,右边进程为服务器进程。
客户进程通过套接字传递传递数据流。TCP将数据引导到该连接的发送缓存(send buffer)里(该缓存是
TCP三次握手初期设置的缓存之一)。TCP会不时的从发送缓存里取出一块数据,为每块数据加上一个TCP
首部,从而形成TCP报文段(TCP segment)。这些报文段被传递给下层的网络层,网络层再将报文段封装在
IP数据报中。然后,IP数据报被发送到网络中。TCP在另一端接收到一个报文段后,该报文段就被放入该TCP连
接的接收缓存中。应用程序再从此缓存中读取数据流。
上文中说的TCP会不时的从发送缓存里取出一块数据,这里的不时在TCP规范里并没有提及确切时间,只是
说在它“方便时”。TCP所取数据大小会受限于最大报文段长度(Maximum Segment Size,MSS)。
MSS通常根据最初确定的由本地发送主机发送的最大链路帧长度(所谓最大传输单元MTU)来确定。
设置MSS时要保证一个TCP报文段(封装在IP数据报中在加上TCP首部,通常40个字节)适合单个链路层帧
以太网和PPP链路层协议都具有1500字节的MTU,一次MSS的典型值为1460字节。
需要注意:MSS是报文段里应用层数据的最大长度,不包括TCP首部。
此文为《计算机网络 自顶向下方法》学习笔记3
面向连接的TCP概述的更多相关文章
- 计算机网络【六】:传输层-TCP概述 【转】
转自:http://blog.chinaunix.net/uid-26275986-id-4109209.html 根据TCP/IP协议的分层结构,网络层之上是传输层,从层次结构上来看,传输层位于网络 ...
- 运输层3——传输控制协议TCP概述
目录 1. TCP最主要的特点 2. TCP的连接 3. socket在不同场景中的含义 写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户 ...
- TCP概述\三次握手四次挥手\报文首部,常用熟知端口号
06.26自我总结 1.TCP概述 TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种端点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字,例如,若IP地址为 ...
- 传输控制层协议TCP概述---抄书
1.TCP的主要特点 TCP是TCP/IP体系中非常复杂的一个协议.下面介绍TCP的最主要的特点. (1)TCP是面向连接的运输层协议.也就是说,应用程序在使用TCP协议之前,必须先建立TCP连接.在 ...
- TCP概述
1. TCP提供的服务 我们知道TCP是一个面向连接.提供可靠数据数据传输服务的传输层协议.面向连接意味着发送端和接收端在交换数据前需要建立一个连接,和我们平常打电话一样,在通话前,需要拨号建立连接. ...
- linux网络编程(socket)之面向连接(TCP/IP)
1.流程 服务器: 创建socket: 绑定端口: 监听: 监听到有连接请求,接受请求: 建立连接,开始对话. 客户端: 创建socket: 请求建立连接: 连接建立成功,开始对话. 2.实例代码 / ...
- 面向连接的tcp 编程
from socket import * serverSocket=socket(AF_INET,SOCK_STREAM) serverSocket.bind(("",8899)) ...
- 计算机网络之传输层(传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务)
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105451022 学习课程:<2019王道考研计算机网络> 学习目的 ...
- 第五节 面向连接传输:TCP
第五节 面向连接传输:TCP TCP概述RFCs:793,1122,1323,2018,2581 点对点: 一个发送方,一个接收方 可靠,按序的字节流: 无“报文边界”,无结构但有 ...
随机推荐
- 阿里云服务器搭建SS代理教程!!!
二.搭建教程 1.环境介绍 阿里云服务器ECS(香港): 配置:cpu 1核心.内存 1GB.出网带宽 10Mbps. 系统:CentOS 7.4 64位 2.服务器端搭建 1)使用root用户,分别 ...
- mixer中动态Alpha通道处理案例
本案例处理的是RGB+a,每个色彩的采样为10位位宽. 1.在Mixer IP中打开Alpha Blending Enable 和Alpha Input Stream Enable.这样在Blo ...
- redis_哈希对象
redis哈希对象的底层编码有两种:ziplist.hashtable ziplist编码 当一个哈希键只包含少量kv对.且key和value都是小整数值.短字符串时,redis会使用压缩列表来做 z ...
- 2018-04-10 我的GitHub诞生的日子,欢迎大家吐槽批评
我的GitHub,诞生的日子,欢迎大家吐槽与批评,嘻嘻 首先是自己想刷一下LeetCode上的代码,其次创建了自己的读书笔记以及面试经验与教训 下边是仓库的Git链接,欢迎大家的批评与修正,谢谢: L ...
- 计算机网络四:网卡与MAC地址
网卡与MAC地址 ㈠网卡 1.网卡定义 网卡是工作在OSI的数据链路层的网络组件,是局域网中连接计算机和传输介质(网线或WIFI信号)的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉 ...
- JAVA:调用cmd指令(支持多次手工输入)
JDK开发环境:1.8 package com.le.tool; import java.io.BufferedReader; import java.io.File; import java.io. ...
- charming_memory
Memory Master 一 .Forget遗忘 遗忘似乎是记忆的天敌,但是善用遗忘规律却能帮助我们更好的记忆. 复习的最佳时间是实际材料的1~24小时,最晚不超过2天,复习时间太长,就有一种生疏的 ...
- flask-文件上传
flask文件上传 流程 1. 上传的文件request.files拿取 2. 可以通过WTForms表单验证 3. 通过secure_filename (from werkzeug.utils im ...
- logminer日志挖掘
参考自:https://blog.csdn.net/yes_is_ok/article/details/79296614 原文转自:http://blog.itpub.net/26736162/vie ...
- 剑指offer面试题25:二叉树中和为某一值的路径
题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.从根节点开始往下一直到叶节点所经过的节点形成一条路径. 解题思路:当使用前序遍历的方式访问某一节点时,把该节点添加到路径上 ...