网络基础——TCP
TCP和UDP协议特点
1.TCP
1>.传输控制协议
2>.可靠的、面向连接的协议
3>.传输效率低
2.UDP
1>.用户数据报协议
2>.不可靠的、无连接的服务
3>.传输效率高
TCP
1.TCP首部格式
源端口、目标端口
序列号、确认序列号
如序列号为x则确认序列号为x+1
TCP首部长度至少20字节
控制位:
syn:建立连接时将这个值设为1
ACK:当ACK=1表示确认,ACK=0表示确认无效
FIN:FIN=1表示断开连接请求
RST:RST=1表示重新建立TCP连接
URG:紧急指针有效位
PSH:此标志位为1时要求接收方尽快将数据段送达应用层。
窗口值:表示本地可接收数据的数目.当网络通畅时窗口值变大加快传输速度,不稳定时该值减小保证数据的可靠传输,TCP协议中的流量控制机制就是依靠变化窗口大小实现的。
校验和:用来做差错控制
紧急指针:和URG配合使用,当URG=1时有效
2. TCP的三次握手与四次断开
1>.三次握手

2>. TCP的四次断开

TCP的流控机制:
TCP使用滑动窗口实现流量控制
4>.TCP的拥塞控制:
实际发送数据的窗口采用发送方和接收方协商的窗口与拥塞窗口中的最小值
5>.TCP的差错控制:
3种方式:
校验和
确认
超时
6>.TCP的计时器:
重传计时器-为了控制丢失的数据段
坚持计时器-为了防止零窗口死锁
保活计时器-防止两个TCP之间的连接长时间的空闲
时间等待计时器-连接终止期间使用的,在发送了最后一个ACK后,不立即关闭连接,而是等待一段时间,保证能接收到重复的FIN数据段。
7>.TCP的应用
|
端口 |
协议 |
说 明 |
|
21 |
FTP |
FTP服务器所开放的控制端口 |
|
23 |
TELNET |
用于远程登录,可以远程控制管理目标计算机 |
|
25 |
SMTP |
SMTP服务器开放的端口,用于发送邮件 |
|
80 |
HTTP |
超文本传输协议 |
|
53 |
DNS |
域名服务,当用户输入网站的名称后,由DNS负责将它解析成IP地址,这个过程中用到的端口号是53 |
网络基础——TCP的更多相关文章
- [Linux]经典面试题 - 网络基础 - TCP三次握手
[Linux]经典面试题 - 网络基础 - TCP三次握手 目录 [Linux]经典面试题 - 网络基础 - TCP三次握手 一.TCP报文格式 1.1 TCP报头 1.2 报文图例 二.TCP三次握 ...
- 加深理解HTTP请求---网络基础TCP/IP
为了了解HTTP,必须的了解TCP/IP协议族. 通常使用的网络实在TCP/IP协议族的基础上运作的.而HTTP就属于他的一个子集. 1.TCP/IP 协议族 计算机与网络设备要相互通信,双方就必须基 ...
- 网络基础tcp/ip协议五
传输层的作用: ip层提供点到点的链接. 传输层提供端到端的链接. 传输层的协议: TCP: 传输控制协议可靠的,面向链接的协议,传输效率低. UDP: 用户数据报协议,不可靠,无连接的服务,传输效率 ...
- 《图解HTTP》读书笔记(一:网络基础TCP/IP)
好书什么时候开始读都不晚.作为一个测试人员,是一定要掌握一些网络的基础知识的.希望能够边读书边在这里记录笔记,便于加深理解以及日后查阅. 一.TCP/IP协议族 计算机与网络设备要互相通信,双方必须基 ...
- 网络基础 TCP/IP
为了理解 HTTP,我们有必要事先了解一下 TCP/IP 协议族.通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作的.而 HTTP 属于它内部的一个子集.接下来,我们仅介绍理解 HT ...
- 网络基础tcp/ip协议四
网络层的功能: 定义了基于ip协议的逻辑地址. 链接不同的媒介类型. 选择数据通过网络的最佳路劲. 数据包格式: 优先级与服务类型(8)位:优先级与服务类型 标识符,标志,段偏移量:这几个字用来对数据 ...
- 网络基础tcp/ip协议一
计算机网络: 硬件方面:通过线缆将网络设备和计算机连接起来 软件方面:操作系统,应用软件,应用程序通过通信线路互连 实现资源共享,信息传递 计算机网络的功能: 数据通信 资源共享 增加可靠性 提高系统 ...
- 图解HTTP阅读笔记(1)-网络基础TCP/IP
1.TCP/IP协议族 TCP/IP这个概念对大家来说很熟悉,之前我的了解它只是一个协议.今天阅读才知道TCP/IP实际上是一个协议族,其中HTTP协议属于该协议族的一个子集.图1是TCP/IP协议族 ...
- 网络基础TCP/IP
TCP/IP协议族各层的作用如下 应用层 决定了向用户提供应用服务时通信的活动: 各类通用的应用服务.FTP(File Transfer Protocol,文件传输协议).DNS(Domain Nam ...
随机推荐
- codeforces 402E - Strictly Positive Matrix【tarjan】
首先认识一下01邻接矩阵k次幂的意义:经过k条边(x,y)之间的路径条数 所以可以把矩阵当成邻接矩阵,全是>0的话意味着两两之间都能相连,也就是整个都要在一个强连通分量里,所以直接tarjan染 ...
- bzoj 1631: [Usaco2007 Feb]Cow Party【spfa】
正反加边分别跑spfa最短路,把两次最短路的和求个max就是答案 #include<iostream> #include<cstdio> #include<queue&g ...
- 数据据操作 tp5
数据库操作-DB类 学习手册 数据库配置 注意1:在TP里面,可以在模块下面单独的建立一个database.php配置文件,代表这个模块就使用配置的这个数据库 注意2:我们可以在config.php里 ...
- 常用JavaScript代码库(又名:WFang.js)
1.根据公司项目封装ajax请求,结合layer框架一起使用 /*提取接口公共部分*/ var ApiConf = { server:"http://localhost:8080/Batte ...
- view 的继承关系
view 的继承关系 如果一个view 有多个子view. 甚至是多成次的 子view. 只需要把第一级别的view(父view) 授权给用户,就可以访问view了,子view 不需要授权.
- 25 C#类的继承
继承是面向对象编程的一个重要特性.任何类都可以从另一个类中继承,这就是说,这个类拥有它继承的类的所有成员.在OOP 中,被继承的类称为父类(也称为基类).注意,C#中的对象仅能直接派生于一个基类,当然 ...
- while和for的内嵌
迭代,从初始情况按照规律不断求解中间情况,最终推导出结果.(折纸珠峰) 穷举:把所有情况都列举一遍,选择符合条件的选项(百鸡百钱) 循环四要素:初始条件,循环条件,循环体,状态改变. While的使用 ...
- 构建一个.net的干货类库,以便于快速的开发 - 前言
前言: 工作已经快两年了,项目也做过不少,不知道大家有没有一个习惯,就是把在做项目过程中那些好的方法记录下来.我觉得这个习惯在开发的过程中还是很有用的,举个例子,我之前做过一个支付宝的支付功能,然后把 ...
- Js变量类型
值类型和引用类型 值类型(基本类型):5种,Number String Boolean null undefined var a=10; var b=a; a=2; console.log(b); a ...
- 06使用NanoPiM1Plus在Android4.4.2下接U盘
06使用NanoPiM1Plus在Android4.4.2下接U盘 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2017/12/5 17:51 版本:V ...