OSI开放式系统互联

OSI参考模型*

上三层负责数据的处理加工
应用层 抽象语言–》编码 人机交互接口
表示层 编码—》二进制 翻译,加密
会话层 提供会话层地址 定义端到端的会话

下四层负责数据传输
传输层 分段(MTU限制)、提供端口号 定于数据传输方式
分段: 带宽使用的是共享行为,只能是间歇性的流量相互插队,可以实现多进 程的同时通信,故必须要求每个进程收发的数据包个体较小,便于带宽共享,故传输层在接收到上三层流量后,第一个行为便是分段数据包。
网络层 IPv4 IPV6 逻辑寻址
数据链路层 控制物理层工作; — 以太网(MAC地址)、ppp、hdlc、帧中继。
(最核心的作用为介质控制访问——控制物理层工作;存在大量的不同技术—以太网,令牌环、PPP、HDLC、帧中继、ATM,以太网使用的频率最高,且以太网存在物理寻址功能,不是所有的二层技术都存在物理寻址 )

MTU:最大传输单元 默认1500字节

端口号:0-65535 静态端口–注明端口 1-1023 固定对应常用的服务
动态端口–高端口 1024-65535
区分不同进程和不同服务;A访问服务器B
A上的程序启动时由A的系统随机在动态端口为其分配一个端口号
A在访问B时,将该端口号(进程号)作为数据包中的源端口号;
B在接收到A的数据时不关注源端口号,但B在给A回复消息时,必须使用A的进程号来作为目标端口号;
A的进程在访问服务器B时,目标端口号为B的服务端口号(注明端口)

**UDP:**用户数据报文协议 – 非面向连接的不可靠传输协议 —仅完成传输层的基本工作
TCP:传输控制协议—面向连接的可靠传输协议 — 在基本工作之上再提高可靠性
面向连接:三次握手 4次断开
可靠传输:确认 重传 排序 流控(滑动窗口机制 )
TCP报头:
在这里插入图片描述
源始端口16位,范围当然是0-65535啦。

目的端口,同上。

数据序号32位,TCP为发送的每个字节都编一个号码,这里存储当前数据包数据第一个字节的序号。

确认序号32位,为了安全,TCP告诉接受者希望他下次接到数据包的第一个字节的序号。

偏移4位,类似IP,表明数据距包头有多少个32位。

保留6位,未使用,应置零。

紧急比特URG—当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。

确认比特ACK—只有当ACK=1时确认号字段才有效。当ACK=0时,确认号无效。参考TCP三次握手

复位比特RST(Reset) —当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。参考TCP三次握手

同步比特SYN—同步比特SYN置为1,就表示这是一个连接请求或连接接受报文。参考TCP三次握手

终止比特FIN(FINal)—用来释放一个连接。当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

窗口字段16位,窗口字段用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。

包校验和16位,包括首部和数据这两部分。在计算检验和时,要在TCP报文段的前面加上12字节的伪首部。

.紧急指针16位,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。

可选选项24位,类似IP,是可选选项。

填充8位,使选项凑足32位。

用户数据

UDP报头:
在这里插入图片描述

三次握手与四次断开

TCP三次握手与四次断开
客户端发送SYN包同步连接请求,且序列号为x,服务器端收到客户端连接请求后,回一个包,内容为SYN=1,ACK=1,同意连接,是对客户端发的包的确认,自己的序列号为y,ack=x+1意味着期待客户端下一次发包的序列号为x+1,客户端收到后再回一个确认包,ACK=1,包序列号为x+1,ack=y+1,意味着期待服务器端下次包的序列号

在这里插入图片描述
客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u。
服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时客户端没有数据发送了,但是服务器若发送数据,客户端依然接受。
客户端收到服务器的确认请求后,将等待服务器发送连接释放报文。
服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了等待客户端确认状态。
客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了时间等待状态。## 标题此时TCP连接还没有释放,必须经过两倍的MSL(最长报文段寿命)时间,当客户端撤销相应的TCB后,才进入CLOSED状态。
服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。可以看到,服务器结束TCP连接的时间要比客户端早一些。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值