划重点 传输层协议 tcp三次握手和四次挥手
文章目录
- 传输层的协议
- 1.TCP/IP协议组的传输层协议
- 2. TCP报文段
- 3.TCP建立连接的过程
- 3.2 TCP常用端口号及其功能
- 4.UDP协议
- 4.1 UDP报文的首部格式
- 4.2 UDP常用端口号及其功能
- 5.总结
- 5.总结
传输层的协议
1.TCP/IP协议组的传输层协议
TCP:(transmission control protocol)
传输控制协议
TCP是面向连接网络协议,是指通信双方直接进行通信之前需要先建立连接。等数据发送结束后,双方会进行断开连接。TCP提供全双工服务,数据可在同一时间相互传出,每个tcp都有发送缓存和接收缓存,用来临时存储数据,tcp具有重传机制,如果对方端收到的数据不完整或者出错,tcp会进行重传
UDP (user datagram protocol)
用户数据报协议
UDP是一个无需连接的传输协议,发送端不会关心对方端是否收到数据,数据出现出错,未收到等问题,也不会进行重传,但是udp传输数据速度更快,效率更高
2. TCP报文段
tcp报文段
tcp将若干个字节构成一个分组,叫报文段(segment)
tcp报文段封装在IP数据包中
1.源端口(16):顾名思义就是发送方进程的端口号
2.目标端口号(16):接收方进程的端口号,接收端收到数据后会根据这个端口来把数据发送给对应的应用程序
3.序号(32):发送端会为每个字节进行编号,便于进行正确的重组
确认号(32):用来确认对方端有没有收到数据,如确认号是x,就表示x+1已经收到
首部长度(4):确定TCP首部数据结构的字节长度,一般超过40字节
保留位(6):为了防止特殊情况 预留6位的一个保留位
控制位:指的是tcp在连接是会出现的各种特殊状态
1.URG:紧急位 urg=1时,提醒接收端该数据包中有一部分是紧急数据
2.ACK:确认位 ack=1时,表示对方有没有接收到数据 ack=0的话就是对方没有收到数据
3.PSH:急迫位:psh=1时 提醒接受端这一整个数据包都是紧急的 提醒他优先处理 跟第一个紧急位不一样的是,紧急位是该数据包里面部分字节是紧急的 ,而psh是一整个数据都是紧急的
4.RST:重置位:rst=1时, 提醒双方需要进行出现建立tcp的连接
5.SYN:同步位: SYN=1时,同步序列号,tcp需要进行连接时变为1
6.PIN:断开位:pin=1时,表示数据传输完成之后提出断开连接的一方变为1
窗口大小(16):指的是本地可接收数据段的数目。这个值的大小是可以变的,网络通畅会把窗口放大 进多个传输,网络不通畅的情况下会把窗口变小,
校验和(16): 用来差错控制,数据段在发送和接收的时候都会进行校验,如果结果一样则会正常传输
紧急指针(16):是配合紧急位使用的,紧急位只能提醒对方端改数据中有部分字节紧急,却不会告诉是那个季节,紧急指针就是配合紧急位指出具体哪些字节是紧急的
选项:在tcp首部可以有多达40字节的可选信息
3.TCP建立连接的过程
TCP建立的过程我们叫做三次握手 为什么叫三次握手
tcp是面向连接,就是说发送数据的时候都需要先进行连接,这个建立连接的过程分三给步骤,就叫做三次握手
① 当客户端向服务器发送请求连接的报文时:seq(序列号)=x
syn=1 表示发送请求连接
② 服务器端收到客户端发来的请求报文后,同意建立,则向客户端发送确认报文:
seq序列号=y(服务器端也会产生一个序列号y,和客户端的序列号没关系)
Ack确认号 x=1(seq序列号=1,表示同意对方连接请求)
ACK=1(表示这是条确认请求)
SYN=1(同时也发送一个连接请求给客户端)
③ 客户端进程收到服务器进程的确认后,并同意服务器的确认,,然后连接成功建立:
seq序列号=x+1(这时客户端的序列号为1)
Ack=1 (表示确认收到服务器的连接请求)
ACK=1表示确认报文
3.2 TCP常用端口号及其功能
端口 | 协议 | 说明 |
---|---|---|
21 | FTP | fip服务器所开放的控制端口 |
23 | TELNET | 用于远程登录,可以远程控制管理目标计算机 |
25 | SMTP | smtp服务器开放的端口,用于发送邮件 |
80 | HTTP | 超文本传输协议,明文传输 |
110 | POP3 | 用于邮件的接收 |
443 | HTTPS | 超文本传输协议,密文传输 |
4.UDP协议
udp协议是一个无连接,高效的传输协议 花费的开销小UDP报文的首部格式
4.1 UDP报文的首部格式
UDP长度:用来指出udp的总长度 ,为首部加上数据
校验和:用来完成对udp数据的差错检验,它是udp协议提供的唯一的可靠机制
4.2 UDP常用端口号及其功能
端口 | 协议 | 说明 |
---|---|---|
69 | TFTP | 简单文件传输协议 |
111 | RPC | 远程过程调用 |
123 | NTP | 网络时间协议 |
5.总结
tcp和udp 的区别 tcp是一个先建立连接可靠的传输协议,具有重传机制,比较安全可靠
udp是无需连接 直接传输的协议 高效但不是很可靠 它不会管对方端是否收到数据
TCP只是建立一个可靠性的通道,但是数据发送接收还是靠的是IP
5.总结
tcp和udp 的区别 tcp是一个先建立连接可靠的传输协议,具有重传机制,比较安全可靠
udp是无需连接 直接传输的协议 高效但不是很可靠 它不会管对方端是否收到数据
TCP只是建立一个可靠性的通道,但是数据发送接收还是靠的是IP
TCP的三次握手和四次挥手都是为了传输数据的可靠性
划重点 传输层协议 tcp三次握手和四次挥手相关推荐
- 计算机网络学习笔记(七)——传输层、TCP三次握手、四次挥手、TCP流量控制、大总结
文章目录 前言 概念 一.传输层概述 二.传输层问题 三.端到端寻址 四.TCP三次握手和四次挥手 (一)三次握手建立连接 (二)四次挥手拆除连接 五.带拥塞的TCP流量控制 六.传输层实例 计网大总 ...
- TCP协议的三次握手和四次挥手
转自:http://uule.iteye.com/blog/2213562 TCP协议的三次握手和四次挥手 博客分类: http/tcp TCP/IP协议三次握手与四次握手流程解析 Http协议三次握 ...
- 网络协议-网络分层、TCP/UDP、TCP三次握手和四次挥手
网络的五层划分是什么? 应用层,常见协议:HTTP.FTP 传输层,常见协议:TCP.UDP 网络层,常见协议:IP 链路层 物理层 TCP 和 UDP 的区别是什么 TCP/UDP 都属于传输层的协 ...
- 常见TCP/IP、HTTP协议以及三次握手和四次挥手
面试常见TCP/IP.HTTP协议以及三次握手和四次挥手 IP(Internet Protocol):网际协议 IP协议是用于将多个包交换网络连接起来的,它在源地址和目的地址之间传送一种称之为数据包的 ...
- 什么是TCP三次握手和四次挥手【重点学习系列---干货十足--一文详解】
引言 本文将会从一个爱情的故事开始,着力从什么是三次握手.为什么是三次而不是俩次或者四次.TCP关闭的过程.为什么要四次挥手.而不是三次.为什么最后是2MSL.什么是2MSL这些问题展开分析,详解,让 ...
- TCP协议的三次握手与四次挥手
tcp协议的三次握手和四次挥手 三次握手: 第一次握手: 客户端发起一个链接(SYN) 第二次握手: 服务端就会返回一条(ACK)确认信息,同时服务端也会向客户端发起一个链接请求(SYN),此二者可合 ...
- 计算机网络【UDP与TCP协议(三次握手、四次挥手)】
计算机网络[UDP与TCP协议(三次握手.四次挥手)]
- 硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题
来自:小林coding 每日一句英语学习,每天进步一点点: 前言 不管面试 Java .C/C++.Python 等开发岗位, TCP 的知识点可以说是的必问的了. 任 TCP 虐我千百遍,我仍待 T ...
- TCP 三次握手 和 四次挥手
概述 我们都知道 TCP 是 可靠的数据传输协议,UDP是不可靠传输,那么TCP它是怎么保证可靠传输的呢?那我们就不得不提 TCP 的三次握手和四次挥手. 三次握手 下图为三次握手的流程图 下面通过我 ...
最新文章
- Android之ViewHolder用法
- 机器学习导论(张志华):核定义
- 基于visual Studio2013解决算法导论之012计数排序
- 统一建模语言(UML)介绍
- 韩国最新「美女元宇宙」引爆Reddit!最强换脸神器美女自拍一键转漫画
- 查某个类是否实现了某个协议
- Spark没有读取HDFS文件的方法?那textFile是怎么读的?
- 马踏棋盘算法(骑士周游)
- Web 开发中 Blob 与 FileAPI 使用简述
- NLP 中的文本分类
- Unity3d开发跳一跳-郑洪智-专题视频课程
- UNIX环境高级编程——标准I/O库缓冲区和内核缓冲区的区别
- 0045-一个Dashbord页面监控多个消费者
- dw打开html不显示表格,利用Dreamweaver处理网页表格方法
- 适合人工智能AI的编程语言有哪些 哪些语言适用于人工智能 人工智能开发语言排行榜
- Android FTP功能开发基于swiftp
- Kubernetes CSI 介绍及使用
- iOS Main.string国际化不起作用
- 智能耳机测试软件,讯飞又一精品,讯飞智能耳机全面评测:商务福音
- JSON之Jackson(一)