目录

前言:

1、传输层:

2、TCP协议:(传输控制协议)

3、三次握手原理:

4、为什么要三次握手?

5、四次挥手原理:

6、三次握手握三次,为什么断开要断四次?

7、TCP半关闭状态是什么情况?

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

9、UDP协议:用户数据报协议

总结:


前言:

传输层协议添加端口就可以标识应用层协议。应用层协议代表着服务器上的服务,服务器上的服务

如果对客户端提供服务,必须在TCP或UDP端口侦听客户端的请求。

1、传输层:

传输层是OSI参考模型中的第四层,传输层协议为网络端点主机上的进程之间提供了可靠、有效的报文传送服务。

传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程。

而在数据传送阶段又分为一般数据传送和加速数据传送两种形式。

传输层中最为常见的两个协议分别是传输控制协议(TCP)和用户数据报协议(UDP)。

传输层提供逻辑连接的建立、传输层寻址、数据传输、传输连接释放、流量控制、拥塞控制、多路复用和解复用、崩溃恢复等服务。

2、TCP协议:(传输控制协议)

TCP是面向连接的,可靠的进程到进程通信的协议;

TCP提供全双工服务,即数据可在同一时间双向传输;

TCP报文段:

(1)TCP将若干个字节构成一个分组,叫报文段(Segment)

(2)TCP报文段封装在IP数据报中

(1)端口号:用来标识同一台计算机的不同的应用进程。

(2)源端口:源端口和IP地址的作用是标识报文的返回地址。

(3)目的端口:端口指明接收方计算机上的应用程序接口。

(4)序号(sequence number):Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。

(5)确认号(acknowledgement number):Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。

控制位:URG  ACK  PSH  RST  SYN  FIN,共6个,每一个标志位表示一个控制功能。

URG:紧急指针(urgent pointer)有效。

ACK:确认序号有效。

PSH:接收方应该尽快将这个报文交给应用层。

RST:重置连接。

SYN:发起一个新连接。

FIN:释放一个连接。

注意:不要将确认序号Ack与标志位中的ACK搞混了。确认方Ack=发起方Seq+1,两端配对。

3、三次握手原理:

客户端向服务器发送SYN同步请求,请求与服务器建立连接,服务器收到此SYN同步请求后,会针对客户端的SYN同步请求进行ACK响应的同时也会发送一个SYN同步请求,当客户端收到服务器发过来的SYN同步请求时,会给予一个ACK响应。

举个通俗一点的例子:把客户端比作男孩,服务器比作女孩。用来说明“三次握手”的过程:

(1)男孩喜欢女孩,于是写了一封信告诉女孩:我爱你,请和我交往吧!写完信之后,男孩焦急地等待,因为不知道信能否顺利传达给女孩。

(2)女孩收到男孩的情书后,心花怒放,原来我们是两情相悦呀!于是给男孩写了一封回信:我收到你的情书了,也明白了你的心意,其实,我也喜欢你!我愿意和你交往!写完信之后,女孩也焦急地等待,因为不知道回信能否能顺利传达给男孩。

(3)男孩收到回信之后很开心,因为发出的情书女孩收到了,并且从回信中知道了女孩喜欢自己,并且愿意和自己交往。然后男孩又写了一封信告诉女孩:你的心意和信我都收到了,谢谢你,还有我爱你!

女孩收到男孩的回信之后,也很开心,因为发出的情书男孩收到了。由此男孩女孩双方都知道了彼此的心意,之后就快乐地交流起来了~~

这就是通俗版的“三次握手”,期间一共往来了三封信也就是“三次握手”,以此确认两个方向上的数据传输通道是否正常。

4、为什么要三次握手?

因为TCP是可靠的传输层协议,它在传输数据前,会建立双向数据通信通道,当保证双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用。

5、四次挥手原理:

客户端向服务器发送FIN断开请求,服务器接收到此请求后,回复一个ACK。服务器向客户机发送FIN断开请求,客户机收到此请求后,回复一个ACK。

举个通俗一点的例子:把客户端比作男孩,服务器比作女孩。用他们的分手来说明“四次挥手”过程。

"第一次挥手":日久见人心,男孩发现女孩变成了自己讨厌的样子,忍无可忍,于是决定分手,随即写了一封信告诉女孩。

“第二次挥手”:女孩收到信之后,知道了男孩要和自己分手,怒火中烧,心中暗骂:你算什么东西,当初你可不是这个样子的!于是立马给男孩写了一封回信:分手就分手,给我点时间,我要把你的东西整理好,全部还给你!男孩收到女孩的第一封信之后,明白了女孩知道自己要和她分手。随后等待女孩把自己的东西收拾好。

“第三次挥手”:过了几天,女孩把男孩送的东西都整理好了,于是再次写信给男孩:你的东西我整理好了,快把它们拿走,从此你我恩断义绝!

“第四次挥手”:男孩收到女孩第二封信之后,知道了女孩收拾好东西了,可以正式分手了,于是再次写信告诉女孩:我知道了,这就去拿回来!

6、三次握手握三次,为什么断开要断四次?

TCP建立连接时之所以只需要"三次握手",是因为在第二次"握手"过程中,服务器端发送给客户端的TCP报文是以SYN与ACK作为标志位的。SYN是请求连接标志,表示服务器端同意建立连接;ACK是确认报文,表示告诉客户端,服务器端收到了它的请求报文。

即SYN建立连接报文与ACK确认接收报文是在同一次"握手"当中传输的,所以"三次握手"不多也不少,正好让双方明确彼此信息互通。

数据传输方向是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次,而我们有两个数据方向,因此需要断四次。

7、TCP半关闭状态是什么情况?

客户机向服务器发送了FIN请求,服务器也给予了ACK响应。但是,服务器还有数据需要传输给客户机,因此服务器并没有向客户机立即发送FIN请求。

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

端口 协议 说明
21 FTP FTP服务器所开放的控制端口
23 telnet 用于远程登入,可以远程控制管理目标计算机
25 SMTP SMTP服务器开放的端口,用于发送邮件
80 HTTP 超文本传输协议
110 POP3 用于邮件接收

端口号:

客户端根据需要那种服务,从而发送到特定的目的端口

端口划分为三个类别,其范围介于1到65,535之间。

—公认端口(服务器用):

与通用网络应用程序相关联的目的端口称为公认端口这些端口的范围从1到1023。

—注册端口:

端口1024到49151可作为源端口或目的端口使用。组织可使用这些端口注册即时消息等应用程序。

—私有端口(客户机用):

端口49152到65535通常作为源端口使用。

总结:服务器端口号小且固定不变;客户机的端口号大(上万)且不固定;

9、UDP协议:用户数据报协议

UDP协议与TCP协议的区别:

UDP协议:用户数据报协议

TCP协议:传输控制协议

无连接,不可靠的传输协议;

面向连接,可靠的传输协议;

花费的开销小;

分段,重组,重传;滑动窗口;

传输效率高;

适用于对可靠性要求较高的场合;

UDP报文的首部格式:

源端口号(16)     目标端口号(16)

UDP长度(16)     UDP校验和(16)

数据报的长度是指包括报头和数据部分在内的总字节数。

UDP协议使用报头中的校验值来保证数据的安全。

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

端口 协议 说明
69 TFTP 简单文件传输协议
111 RPC 远程过程调用
123 NTP 网络时间协议

总结:

1、TCP协议介绍;

2、TCP报文格式;

3、TCP三次握手和四次挥手原理;

4、UDP协议介绍;

5、TCP和UDP常见协议及端口

详解传输层协议(TCP,UDP)相关推荐

  1. 8月11日 网工学习 APR协议 传输层协议 TCP UDP 数据封装转发全过程

    目录 APR协议 传输层协议 TCP UDP 数据封装转发全过程 APR协议 作用:将IP地址解析为MAC地址 ARP的主要内容 在ARP高速缓存表中查找目的IP地址对应的MAC地址 广播发送ARP请 ...

  2. 什么是传输层协议TCP/UDP???

    传输层协议介绍 1.TCP协议 tcp传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议. 2. ...

  3. tcp udp区别优缺点_CCNA必懂篇,传输层协议TCP/UDP的区别和作用

    我们说会话层建立连接之后,就要建立传输层连接,那么为什么要建立这个传输层连接呢,我们先看一下传输层的作用是什么? 传输层的主要作用是处理我们的数据在发送的时候产生的数据包错误,数据包次序不对,数据丢失 ...

  4. SOMEIP传输层协议 TCP UDP协议选择

    在UDP情况下,SOME/IP消息不是片段;可以是一个UDP包中有多个消息,但是一个消息不能超过UDP包的长度(最多1400字节). 较大的消息必须通过TCP传输.在这种情况下,使用了TCP的鲁棒特性 ...

  5. Linux_网络_传输层协议 TCP通信滑动窗口(快重传),流量控制,拥塞控制(慢启动),延迟应答,捎带应答,TCP常见问题(字节流,粘包),Listen半连接队列

    紧跟Linux_网络_传输层协议 TCP/UDP继续补充 文章目录 1. TCP通信时滑动窗口(效率) 2. 流量控制(可靠性) 3. 拥塞控制(慢启动) 4. 延迟应答 5. 捎带应答(提高通信效率 ...

  6. 传输层协议TCP和UDP

    本文力图简洁,让读者对TCP和UDP有个初步的认知.闲话少说,现在开始吧.TCP和UDP都是传输层的协议.TCP通过三次握手建立可靠连接,对未送达的消息重新进行发送.UDP不建立连接而直接发送,对未送 ...

  7. 划重点 传输层协议 tcp三次握手和四次挥手

    文章目录 传输层的协议 1.TCP/IP协议组的传输层协议 2. TCP报文段 3.TCP建立连接的过程 3.2 TCP常用端口号及其功能 4.UDP协议 4.1 UDP报文的首部格式 4.2 UDP ...

  8. 传输层协议TCP和UDP的区别详解

    一.TCP协议 1.TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系 ...

  9. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★

    文章目录 一.传输层 TCP / UDP 协议 ★ 二.寻址端口号 ★ 三.UDP 协议特点 四.UDP 协议首部格式 五.UDP 校验 六.TCP 协议 特点 ★ 七.TCP 报文段首部格式 八.T ...

  10. 4-1:TCP协议之传输层的作用及传输层协议TCP和UDP

    文章目录 一:传输层的定义 二:通信处理 三:传输层协议 四:TCP协议的可靠和性能 一:传输层的定义 前面说过,IP首部有一个协议字段用于标识网络层(IP)的上一层采用哪一种传输层协议.根据这个字段 ...

最新文章

  1. 【LetCode 算法修炼】Add Two Numbers
  2. zabbix2.4.5自带mysql监控
  3. java float 转double_将float转换为double而不会丢失精度
  4. android bitmap 饱和度 demo,Android GPUImage实现多种图像滤镜效果
  5. 二、LInux系统安装Java
  6. js前台页面显示中文,后台存对应的value值实现
  7. P1403 [AHOI2005]约数研究--100分(python3实现)
  8. Sublime Text 4设置光标闪烁
  9. 一个在线排版小工具:中文、英文、数字、符号中间加个空格
  10. sql server2008如何修改mac地址_QCC304x/QCC514x:修改蓝牙MAC地址及名称
  11. 最优化理论与凸优化到底是干嘛的?
  12. python提取图像HOG特征
  13. Windows密码设置及破解
  14. 2022年茶艺师(中级)复训题库及在线模拟考试
  15. css 剪辑图片_[译]用CSS剪切圆形图片
  16. STM32F103C8T6全桥逆变电路PWM波生成(基于HAL库)
  17. python两行代码实现转换视频格式,以flv转换mp4为例
  18. linux 电脑观看电视,使用Zattoo在您的Ubuntu桌面上观看直播电视
  19. liunx系统下搭建domian
  20. 黄金价格走势分析,国内十大现货黄金正规平台排名

热门文章

  1. 英文邮件开场白(Dear / Hi / TO)
  2. B站手机缓存的视频在电脑上转换观看
  3. php 调用redis中lpush的方法
  4. 用SPSS做数据分析时遇到的几个小问题——解决方法!
  5. Centos 7 设置静态IP地址
  6. 几何分布的期望和方差公式推导_机器学习常用的方差、协方差与皮尔逊值
  7. Excel 数据透视表教程大全之 01 什么是数据透视表 如何创建数据透视表
  8. 支付宝接口对接指南(三、支付宝开放接口对接:老版SDK)【保姆级】
  9. 中医基础理论第二章藏象(心)
  10. 成都盛铭轩:电商图片必备哪些信息