OSI七层参考模型
OSI全称:Open system interconnect 打开系统互连
介质访问控制层MAC+逻辑链路控制层LLC = 数据链路层
应用层:抽象语言---编码
表示层:将编码----二进制
会话层:
传输层:
网络层: IP 互联网协议 IP地址
数据链路层:介质访问控制层+逻辑链路层
物理层
会话层:提供会话地址 同软件不同进程的程序同时接收发消息时,他们拥有相同的IP及MAC地址,此时,就需要会话层分别赋予一个不同的会话号加以区分。
结论: 应用层 表示层 会话层 上三层都是对程序进行加工处理的。
传输层: TCP/UDP 1.分段(受MTU限制) 2.端口号:0-65535 1-1023 注明端口 1024-65535 高端口----动态端口
分段:当包过大时,连续的发送可能会使数据传输途中插入其他数据导致原包变成废包,所以,需要对数据包进行分段来保证包的完整性和传输的稳定性
MTU:最大传输单元 默认是1500字节
端口号:使用电脑时会同时访问多个服务器,多个服务器回复时回复的目标 IP MAC 地址都一致,为了不分配错误,所以,在程序启动时,电脑会在1024-65535随机分配端口号给这个程序,同时,在服务器回包时也会带上这个端口号,这样电脑就做出了正确的数据分配。
TCP/IP协议簇 = TCP UDP IP ARP
PDU:协议数据单元;对不同层封装的数据单位进行标识
应用层:数据报文
传输层:数据段
网络层:数据包
数据链路层:数据帧
物理层:比特流
TTL: 生存周期
我们的数据包每经过一个路由器,这个TTL就会减一,当这个值为0时,这个数据包就会被丢弃,不在转发。
以太网二型帧
Peramble 前导符,导向性指标 确定每段完整数据帧的开头
Fcs:校验核 确定数据完整性
- 封装
- 解封装
HTTP TCP 80-------超文本传输协议---提供浏览器网页服务的
HTTPS TCP 443 HTTP+SSL 安全传输协议
FTP TCP 20/21 文件传输协议 提供互联网文件资源共享
TFTP UDP 69 简单文件传输协议
Telnet TCP 23 远程登录标准协议 提供远程管理
Dns UDP/TCP 53 域名解析协议
DHCP UDP 67/68 动态主机配置协议
传输层协议:UDP与TCP
TCP-------传输控制协议-----面向连接的可靠协议
在完成传输层的基本工作以外,还需要保证传输的可靠性
面向连接-----3次握手 以及 4次断开 建立端到端的虚链路
数据传输前
SYN=发起一次连接,并且告知自己的状态 ACK=确认
特殊情况:RST 重连 TCP 严重错误且重连 FIN断开 PSH 加急接收 URG 紧急指针
数据传输中
四次断开
可靠性 ------ 4种可靠传输机制 ------确认---排序----重传----流控(滑动窗口)
确认:TCP通过确认应答机制实现可靠的数据传输。在TCP的头部中有一个标志位---ACK,此标志表示确认是否有效。接收方对于按序到达的数据会进行确认。
排序:TCP将每个数据包都进行了编号,这就是序列号。数据传输过程中的确认 应答 控制 重发 都可以通过序列号来数显,并且数据段在发出之后收到网速影响,可能达到对端的顺序与发出顺序不一致,排序机制也可以让对面明确的对数据段进行组装。
重传:当报文发出后在一定的时间内未收到接收方的确认,发送方就会进行重传(通常实在发出报文段后设定一个闹钟,到点了还没有收到应答,则进行重传)
流控:接收端处理数据的速度是有限的,如果发送方发送数据的速度过快,导致接收端的缓存区满,而发送方继续发送,就会造成丢包 引起重传等一系列连锁反应。因此,TCP支持根据接收端的处理能力,来决定发送单的发送速度,这个机制就叫做流量控制。