传输层协议介绍、重要的TCP三次/四次握手(理论部分,敲黑板!)

本次我和小伙伴分享的是网络七层中的传输层,我将会分成以下几步为大家进行分解说明:
1.TCP协议介绍
2.TCP报文格式
3.TCP三次握手
4.TCP四次握手
5.UDP协议介绍
6.常见协议及其端口

一.TCP和UDP协议

1.TCP是面向连接的、可靠的进程到进程通信的协议
2.TCP提供全双工服务,即数据可在同一时间双向传输
3.TCP报文段(不超过1500字节,1.5kb)

  • TCP将若干个字节构成一个分组,叫报文段(Segment)
  • TCP报文封装在IP数据报中
    TCP报文段:

    1.源端口号(16)
    2.目标端口号(16)
    3.序号(32):发送端为每个字节进行编号,便于接收端正确重组
    4.确认号(32):用于确认发送端的信息
    5.首部长度(4)
    6.保留(6)
    7.URG(紧急指针位):是1代表开启,是0代表关闭,不需要经过缓存直接提交给应用层,举例如下:
    甲和乙两台机器中分别都有缓存,这个时候甲向乙传输数据原先是会先到乙的缓存中,当数据全部发送结束之后再由乙的缓存传输到应用层
    8.ACK(确认):确认位
    9.PSH(快速接收传递给应用层):是1代表开启,是0代表关闭,需要经过缓存,等一批报文段到齐之后直接发送应用层,不进行排队
    10.RST(重新发送连接):重置位
    11.SYN(请求建立连接标记):1代表建立连接,
    12.FIN(请求断开连接标记):
    13.窗口大小(16):用于说明本地可接收数据段的数目,窗口大小是可变的,窗口越大传输速度越快
    14.校验和(16):差错校验
    15.紧急指针(16)
    16.选项:可选项
    二.TCP建立建立连接的过程为三次握手:(重要)
    举例:此时我们有客户端PC1/服务端PC2

    具体过程如下:
    1. PC1发送SYN请求建立连接
    2. PC2接收后会发送ACK确认,同时发送SYN请求建立连接(双向互通)
    3. PC1发送ACK确认

三.TCP断开连接的四次握手:(重要)
举例:此时我们有客户端PC1/服务端PC2

具体过程如下:

  1. PC1发送FIN断开连接请求,并发送ACK确认位
  2. PC2加以确认ACK
  3. PC2发送FIN断开连接请求,和ACK确认位请求
  4. PC1发送ACK确认位
    但是这里需要注意的是在TCP断开连接过程中,有一个半关闭的概念。TCP一方可以终止发送数据,但仍然可以接收数据,称为半关闭。
    此处我们举例说明例如:迅雷下载东西,在页面点击下载之后使用迅雷下载,此时退出页面之后迅雷仍会继续下载

    具体过程如下:
  5. PC1客户端发送FIN报文段,半关闭此连接
  6. PC2服务器发送ACK报文段接受半关闭,然后继续发送数据,而客户端只发送ACK确认,不再发送任何数据
  7. PC2服务器把数据都发送完成时,就发送FIN报文段,
  8. PC1发送ACK报文段,这样就关闭了连接

常用的TCP端口号及其功能:

我们来分别说一下各个端口表示的含义:

  • 21端口:FTP(20端口,数据连接/21端口,控制连接)
  • 23端口:TELNET:明文访问
  • 22端口:SSH:密文访问
  • 25端口SMTP:服务器开放的端口,用于发送邮件
  • 80端口:HTTP:超文本传输协议
  • 443端口:HTTPS:安全传输协议
  • 110端口:POP3,用于邮件的接收
  • 143端口:IAMP4:用于邮件的接收
  • 53端口:DNS

四.UDP协议:
1.无连接、不可靠的传输协议
2.花费的开销小

UDP报文的首部格式:

UDP长度:用来指出UDP的总长度,为首部加上数据
校验和:用来完成对UDP数据的差错校验,它是UDP协议提供的唯一可靠机制
常用的UDP端口号及其功能:

以上就是传输层协议的相关介绍及重要的TCP三次和四次握手的具体过程,还有一些常见的端口和相对应代表的含义,谢谢!

原文地址:https://blog.51cto.com/14464303/2427015

时间: 2024-11-07 17:16:49

传输层协议介绍、重要的TCP三次/四次握手(理论部分,敲黑板!)的相关文章

第五章:传输层协议介绍

tcp:是面向连接的进程到进程之间的可靠的通信,提供的是全双工模式,及数据可同时双向传输, TCP报文格式:源端口号,目标端口号.序号,确认号 首部长度 保留 窗口大小 校验和 紧急指针 选项 六个指针的作用 URG:紧急 ACK:确认 PSH :推送 RST:复位 SYN :同步序号(请求) FIN:终止 TCP的三次握手 主机向客户端发送SYN请求请求中序号代表SEQ=X SYN=1 客户端收到后对请求进行处理完了回复主机SYN+ACK报文其中ACK=X+1代表回复请求序号,然后自己在给主机

前端工程师如何理解 TCP/IP 传输层协议?

网络协议是每个前端工程师都必须要掌握的知识,TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP,本文将介绍下这两者以及它们之间的区别. TCP/IP网络模型 计算机与网络设备要相互通信,双方就必须基于相同的方法.比如,如何探测到通信目标.由哪一边先发起通信.使用哪种语言进行通信.怎样结束通信等规则都需要事先确定.不同的硬件.操作系统之间的通信,所有的这一切都需要一种规则.而我们就把这种规则称为协议(protocol). TCP/IP 是互联网相关的各类协议族的总称,比如:T

传输层协议(TCP/UDP)介绍

一,TCP/IP协议族的传输层协议概况:1,TCP:传输控制协议2,UDP:用户数据报协议二,TCP/UDP协议详解:1,TCPa.TCP是面向连接的,可靠的进程到进程通信的协议 :TCP提供全双工服务,即数据可在同一时间双向传输.b.TCP报文段:TCP将若干个字节构成一个分组.叫报文段.TCP报文段封装在IP数据报中.数据段详解:.序号(32):发送端为每个字节进行编号,便于接收端正常重组.确认号(32):用于确认发送端的信息.窗口大小(16):用于说明本地可接收数据段的数目,窗口大小是可变

可靠的传输层协议——TCP协议

TCP协议 TCP协议工作在传输层,虽然它与UDP的下一层都是IP但是它却和UDP的效果完全不同,它是一种可靠的传输层协议 一.TCP协议封装 TCP数据段头部共有20个字节,包括16位的源端口号,16位的目的端口号,端口号与前面各层中的协议类型相似,都指的是上层将要交给谁,这个端口号就是主机上一个进程所绑定的一个入口,所以通过端口号和IP就能找到唯一主机的唯一进程. 32位序号:用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节.如果将字节流看作在两个应用

浅谈传输层协议TCP和UDP

在当今因特网的层次结构中,传输层的协议主要有两种,其一为Transmission Control Protocol,即TCP:其二为User Datagram Protocol,即UDP. 1.TCP service model TCP是使用最广泛的传输层通讯协议,它在两个端系统之间建立连接,并通过两端的状态机来维护连接,为应用层提供可靠的字节流传输服务. (1)TCP是面向连接的 在传输实际数据的字节流之前,两个端系统的TCP会通过三次握手来确定建立连接,即所谓的3-way handshake

TCP/IP中的传输层协议TCP、UDP

TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输. 传输层协议根据IP数据报判断最终的接收端应用程序. TCP/IP的众多应用协议大多以客户端/服务端的形式运行.客户端是请求的发起端,而服务端表示提供服务的意思,是请求的处理端.因此,作为服务端的程序有必要提前启动,准备接收客户端的请求.传输协议根据接收数据中的目标端口号识别目标处理程序. TCP.UDP比较 TCP提供可靠性传输.实行顺序控制或重发控制机制,还有流量控制和拥塞控制,提高网络利用率. UDP是不具备可靠

从HTTP 2.0想到的关于传输层协议的一些事

0.HTTP协议的历史 我也不知道... 1.关于HTTP 2.0 收到了订阅的邮件,头版是说HTTP 2.0的内容,我本人不是很关注HTTP这一块儿,但是闲得无聊时也会瞟两眼的.HTTP 2.0的最大改进我觉得有两点:第一:新增了帧层帧层的好处在于重新分发流信息,服务器处理顺序可以不再依赖用户提交请求的顺序了.另外就是不必一定用TCP传输HTTP了,实际上规范一开始就是这么说的.第二:HTTP头的内容可以增量交互了很 多的HTTP头里面的信息都是参数的协商,每次都要携带,如key/value的

udp/tcp协议及三次四次握手

用户数据报协议(UDP) UDP是一个简单的传输层协议(RFC 768). 进程往一个UDP套接字写入一个消息,该消息随后被封装(encapsulating)到一个UDP数据报,该UDP数据报进而又被封装到一个IP数据报,然后发送到目的地. (1) UDP的几个"不保证" [1] 不保证UDP数据报会到达其最终目的地: [2] 不保证各个数据报的先后顺序跨网络后保持不变: [3] 不保证每个数据报只到达一次: -- 总之,UDP不提供可靠性,其本身不提供确认.序列号.RTT估算.超时.

UNIX网络编程笔记(1)—传输层协议

开始学习网络编程的经典<UNIX网络编程>(第3版)作为研究生阶段的副本练习吧,厚厚一本书,希望能坚持看下去,坚持做些笔记. 1.TCP/IP协议概述 IPv4 网际协议版本4(Internet Protocol version 4),32位地址,为TCP.UDP.SCTP.ICMP和IGMP提供分组递送服务. IPv6 网际协议版本6(Internet Protocol version 6).128位地址,为TCP.UDP.SCTP和ICMPv6提供分组递送服务. TCP 传输控制协议(Tr