OSI七层参考模型—开放式系统互联模型
OSI七层参考模型
- 应用层------接收用户数据,人机交互的接口,将自然语言—>编码
- 表示层------将逻辑语言转换为机器语言
- 会话层-----提供会话地址
上三层-----控制层面
下四层-----数据层面
- 传输层-----区分流量,定义数据传输方式
- 网络层-----通过IP地址进行逻辑寻址
- 数据链路层-----介质访问控制–MAC;逻辑链路控制层—LLC
- 物理层----定义一些物理特性,传播比特流
PDU----协议数据单元
上三层----数据
传输层----数据段
网络层-----数据包
数据链路层—数据帧
物理层----比特流
TTL生存周期:
数据包每经过一个路由,TTL-1.TTL=0时,数据包被丢弃,不再转发。
端口号----作用就是标识进程
-
静态端口----网络上比较常用的协议固定使用的端口号
-
1-1023
-
telnet----23 ftp----20/21 http---80 https----443 dns---53 dhcp---67/68
-
-
动态端口----某些协议自动随机生成的端口号
- 1024-65535
TCP协议-----传输控制协议
一种面向连接的可靠性协议。
可靠性
-
确认机制-----传输确认,每接收到一个数据段,都需要进行一次确认
-
重传机制----超时重传,当一个数据段中的某一个包丢失,会提示要求重新传输这个报文
-
排序机制----传输一个报文,可能会被分为多个数据包,并从不同路径传输,最终达到目的地的顺序会被打乱,需要进行重新排序。-----重新排序依靠TCP的序号字段
-
流控机制(滑动窗口机制):通过调节窗口大小来对流量进行控制。
窗口大小:指无需等待确认就可以连续发送的数据的最大量。
面向连接
-
三次握手
A给B发信息,需要先建立通道,A给B发送TCP报文,目的是告诉B我想和你建立连接,SYN=1,代表这个报文是请求连接的报文,seq为序列号,每一个TCP报文都有,假设为X,是随机生成的,B给A回复确认报文,有ACK,标志位=1,有Ackeq=x+1,因为没有数据交互所以只+1,不加数据,此时B收到报文后不需要用确认报文回复。此时AB建立单向连接,A可以给B主动发送消息,B不可以给A 发送消息,但是数据收发是一个双向过程,B给A发送一个请求报文,SYN=1 seq=y(序列号),此时序列号与B的确认报文相同,序列号相同,是因为B认为A 没有发送报文的原因是数据丢失。A同意建立连接,发送报文,ACK=1(标志位) Ackeq=y+1(确认序号),seq=x+1,建立双向连接。
-
四次端开
数据交互完毕,A给B发送消息,表示我要断开连接。此时标记位FIN=1,seq=u(不是随机数),B回复确认,此时ACK=1,Ackeq=u+1,seq=v,此时对于A连接断开,B给A 发送报文,FIN=1,seq=w(不是随机),Ackeq=u+1,(确认序列号),再次发送这两个参数是为了防止上次发送时丢失,A给B发送确认报文ACK=1,Ackeq=w+1,序列号seq=u+1,由上个确认序列号决定。此时双向连接断开。u和w根据传输的数值决定