当前位置:网站首页>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的包头:
边栏推荐
- SeleniumWebDriver扩展插件开发
- t conditional judgment statement and if loop
- MySql 创建索引
- 这个困扰程序员50年的问题,终于要被解决了?
- 视频中场的概念(1080I和1080P)和BT601/656/709/1120/2020/2077
- online test paper concept
- Auto.js Pro write the first script hello world
- (2022牛客多校五)H-Cutting Papers(签到)
- Live | StarRocks technology insider: low base dictionary global optimization
- 肖sir_测试点
猜你喜欢
随机推荐
电子设备行业智能供应链系统:打破传统供应链壁垒,提升电子设备企业管理效能
11.机器学习基础:机器学习的四个分支
种草一个让程序员男友编程时,记住一辈子的 IDEA 神仙插件!
DDL操作数据库、表、列
数据库基本概述与SQL概述
自组织是管理者和成员的双向奔赴
正则表达式绕过
银微转债,洁特转债上市价格预测
1.一个神经网络示例
Auto.js Pro write the first script hello world
计网试卷概念
RequestContextHolder
直播|StarRocks 技术内幕 :低基数全局字典优化
Dialog manager in the fourth chapter: the dialog message loop
ESP8266-Arduino编程实例-LED点阵驱动(基于Max7219)
高等代数_笔记_配方法标准化二次型
肖sir___面试就业课程____app
普乐蛙VR台风体验馆厂家VR防震减灾模拟VR沉浸式体验设备
easyswoole的mysqli 事务怎么写
5.回顾简单的神经网络