热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

网络基础与协议入门——(2)TCP协议重点

1.概述TCP是传输控制协议,是网络五层模型中,自下而上的第四层——传输层的协议。该协议是面向连接的、可靠的、基于字节流的。2.为什么会有TCP&#x

1. 概述

TCP是传输控制协议,是网络五层模型中,自下而上的第四层——传输层的协议。该协议是面向连接的、可靠的、基于字节流的。


2. 为什么会有TCP?

TCP是传输层的,是建立在网络层至上的。网络层上的IP协议,是基于不可靠的包交换的。为了满足可靠交换的需求,就出现了TCP协议。


3. TCP是如何保证可靠传输的?

TCP协议要求发送方,在发送数据后,等待接收方回执的ACK,如果发送端在合理的往返时延(RTT)内未收到ACK,就重传。并且TCP协议要求发送方和接收方,要检验校验和(CHECKSUM)是否有误。


4. 三次握手

第一次:客户端向服务器发送一个请求;

第二次:服务器收到后回执一个ACK;

第三次:客户端收到ACK后再发送一个ACK。


5. 四次握手

当TCP连接终止时,是采用四次握手方式。

第一次:客户端向服务器发送FIN

第二次:服务器向客户端回执ACK

第三次:服务器向客户端发送FIN

第四次:客户端向服务器回执ACK


6. 端口

这是一个常识性问题。如果使用了端口号的概念,那么一定是采用TCP连接的。

(1)为什么用端口:

TCP使用了端口号的概念,来标识发送方和接收方的应用层。可以根据端口号,来找到对方应用层相应的进程。


(2)端口号范围:

16位无符号整数,理论范围是[0, 65535]。


(3)端口号分类:

公开端口号:由IANA(英特网赋号管理局)管理分配。常用的FTP、SMTP、HTTP、TELNET皆属此类。

注册端口号:一般用作客户端进程临时连接服务器使用。

私有端口号:在特定的应用层应用进程中使用。


7. TCP的数据结构

000-015位:来源连接端口号

016-031位:目的连接端口号

032-063位:串行号码

064-059位:确认号码

……

160/192位开始:数据部分


推荐阅读
  • 适合小型网络环境的免费网络管理软件Intermapper
    InterMapper网络管理软件可支持监测5台以内的网络设备,特别适合安装使用在小型网络环境,可以实时了解网络运行状态和网络拓扑,支持多 ... [详细]
  • c# java socketn 字节流_C#Socket编程详解(一)TCP与UDP简介
    一、TCP与UDP(转载)1、TCP1.1定义TCP(TransmissionControlProtocol)传输控制协议。是一种可靠的、面向连接的协议(eg:打电话)、传输效率低 ... [详细]
  • 实例详解ISA防火墙策略元素
    我们在前面的工作中已经实现了ISA2006的代理服务器功能,接下来我们要实现ISA的访问控制功能。很多公司都有控制员工访问外网的需求,例如有的公司不允许 ... [详细]
  • OSI七层模型、TCP/IP五层模型
    OSI网络互连的七层框架:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层;应用层OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,为用户直接提供各种网 ... [详细]
  • 2016年8月29日当初想的太简单~~~哎写在前面从3月份开始各大互联网类、游戏类、软件类等公司开始招暑期实习,9月份正式招聘,面临众多的工作选择和技术方向,我们不免有些眼花缭乱啊 ... [详细]
  • 软测管理工具实践04
    一.今日任务——安装完成QC9.0进过几天的安装,终于把QC9.0成功的安装在了自己win7系统的电脑上。其中遇到的困难很多,首先是QC的版本问题&#x ... [详细]
  • 一、Zabbix简介1.1Zabbix简介  官方网站:http:www.zabbix.com。Zabbix通过CS模式采集数据,通过BS模式在web端展示和配置。1.2Za ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 0x00端口渗透端口扫描端口的指纹信息(版本信息)端口所对应运行的服务常见的默认端口号.尝试弱口令端口爆破hydra端口弱口令NTScanHs ... [详细]
  • 本人新手,用Unity3D想做一个简单的赛车游戏,现在的问题是转弯的时候很容易出现翻车的情况,求解决思路比如说你的中心是在(0,0,0),你把他设置成(0,-1.0,0)之类的就可 ... [详细]
  • javaftp上传,javaftp下载文件
    本文目录一览:1、javaftp上传5G以上大文件,怎么做 ... [详细]
  • IP双栈环境下网络应用迁移
    IPv4向IPv6迁移有多种途径,在选择具体的迁移方式时,当前环境中运行的应用是否支持IPv6是重要的考量因素之一,同时在编写新的应用时,需要考虑新编写的应用不仅可以适应当前主流的IPv4环境, ... [详细]
  • Nginx: nginx介绍和安装
    1 Nginx简介1.1 概述1.1.1 历史来源Apache发展时间很长,作为世界第一大的服务器,有着开源、稳定、跨平台等优点。但是它不支持高并发,当遇到高并发的情况时,会导致服 ... [详细]
  • 攻击中东欧的间谍工具集20160714 反连 邮件-http隧道的后门
    图1在过去的一年里,ESET检测并分析了若干有针对性的进行间谍活动的恶意软件,被称作SBDH工具集。它使用了强大的过滤器,多种通信方式以及非常有意思的驻留技术。它的目的是从 ... [详细]
author-avatar
港1009
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有