当前位置:网站首页>OSI的分层特点、传输过程与三次握手、四次挥手、tcp与udp包头的描述
OSI的分层特点、传输过程与三次握手、四次挥手、tcp与udp包头的描述
2022-08-03 04:12:00 【victor_王泽华】
一、整理分层模型的特点
1.各层独立,互不干扰,促进标准化
2.下层向上层提供服务
3.同层之间使用用相同的协议
二、描述数据传输过程
应用层的数据 --> 传输层封装TCP/UDP头(TCP/UDP头主要包括源端口和目的端口) --> 网络层封装IP包头(IP包头主要包括源IP地址和目的IP地址) --> 数据链路层封装帧头和帧尾(帧头主要包括源mac地址和目的mac地址,帧尾用来校验) --> 物理层,通过比特流传输
物理层,指的是电信号的传递方式,透明的传输比特流。
数据链路层,在两个相邻结点间的线路上无差错地传送以帧为单位的数据。
网络层,负责为分组交换网上的不同主机提供通信,数据传送的单位是分组或包。
传输层,负责主机中两个进程之间的通信,数据传输的单位是报文段。
网络层负责点到点(point-to-point)的传输(这里的“点”指主机或路由器),而传输层负责端到端(end-to-end)的传输(这里的“端”指源主机和目的主机)。
三、描述三次握手和四次挥手的过程
三次握手的过程:
1.在建立连接之前,B先创建TCB(传输控制块),准备接受客户进程的连接请求,处于LISTEN(监听)状态
2.A首先创建TCB,然后向B发出连接请求,SYN置1,同时选择初始序号seq=x,进入SYN-SEND(同步已发送)状态
3.B收到连接请求后向A发送确认,SYN置1,ACK置1,同时产生一个确认序号ack=x+1。同时随机选择初始序号seq=y,进入SYN-RCVD(同步收到)状态
4.A收到确认连接请求后,ACK置1,确认号ack=y+1,seq=x+1,进入到ESTABLISHED(已建立连接)状态。向B发出确认连接,最后B也进入到ESTABLISHED(已建立连接)状态。

四次挥手的过程:
1.A发送一个FIN,用来关闭A到B的数据传送,A进入FIN_WAIT_1状态。
2.B收到FIN后,发送一个ACK给A,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),B进入CLOSE_WAIT状态。
3.B发送一个FIN,用来关闭B到A的数据传送,B进入LAST_ACK状态。
4.A收到FIN后,A进入TIME_WAIT状态,接着发送一个ACK给B,确认序号为收到序号+1,B进入CLOSED状态,完成四次挥手

四、整理tcp和udp的包头
tcp的包头:

标志位一共有6种,分别是:
SYN(synchronous): 发送/同步标志,用来建立连接,和下面的第二个标志位ACK搭配使用。连接开始时,SYN=1,ACK=0,代表连接开始但是未获得响应。当连接被响应的时候,标志位会发生变化,其中ACK会置为1,代表确认收到连接请求,此时的标志位变成了 SYN=1,ACK=1。
ACK(acknowledgement):确认标志,表示确认收到请求。
PSH(push) :表示推送操作,就是指数据包到达接收端以后,不对其进行队列处理,而是尽可能的将数据交给应用程序处理;
FIN(finish):结束标志,用于结束一个TCP会话;
RST(reset):重置复位标志,用于复位对应的TCP连接。
URG(urgent):紧急标志,用于保证TCP连接不被中断,并且督促中间层设备尽快处理。
此外,还有两个序号:
Sequence number :顺序号,发送数据包中的第一个字节的序列号,一般为小写的seq。
Acknowledge number:确认号,响应前面的seq,值为seq+1,可以理解为期望下次发出的序列号为seq+1;
udp的包头:

边栏推荐
猜你喜欢
随机推荐
mysql bool盲注
数据库基本概述与SQL概述
Ask next useful SQL server flink - SQL - connector - essentially a CDC - 2
Shenzhen Offline Registration|StarRocks on AWS: How to conduct rapid and unified analysis of real-time data warehouses
好消息!北京、珠海PMP考试时间来啦
【STM32】入门(三):按键使用-GPIO端口输出控制
mysql 创建索引的三种方式
Dialog manager in the fourth chapter: the dialog message loop
voliate关键字
社交电商如何做粉丝运营?云平台怎么选择商业模式?
Redis连接不上的报错解决方案汇总
计网试卷概念
ORACLE中文乱码
DMA 的工作方式
leetcode刷题学习之路
Linux-Docker-Redis安装
TCP相关面试常问
深圳线下报名|StarRocks on AWS:如何对实时数仓进行极速统一分析
Chinese valentine's day??To the liver is the way!!!!!Auto. Js special position control method
基于Streamlit的YOLOv5ToX模型转换工具(适用YOLOv5训练出来的模型转化为任何格式)









