OSI模型分为七层
1.应用层:抽象语言----编码
2.表示层:编码---二进制
3.会话层:提供会话号,同软件不同进程的程序在同时接收发消息时,他们会拥有相同的IP地址MAC地址,此时,就需要会话层分别给予不同的会话号去区分。
4.传输层:TCP/UDP 1.分段(受到MTU限制)2.端口号
MTU:最大传输单元 默认1500字节
(1)分段:当数据包过大时,连续发送可能会使数据在传输途中插入别的数据造成损坏,所以需要对数据包进行分段处理,从而保证数据包的完整性。
(2)端口号:使用电脑可能会同时访问多个服务器,这多个服务器在进行回复的时候,回复目标都是相同IP/MAC,为了不分配错误,所以在该程序启动时,电脑会在1024-65535随机分配端口号给这个程序,在服务器回包时也会带着这个端口号,这样电脑就能做出正确的数据分配。
分为源端口号和目的端口号。
5.网络层:IP 互联网协议
6.数据链路层:介质访问控制层MAC+逻辑链路控制层LLC
7.物理层:物理硬件
应用层 表示层 会话层:都是对数据进行加工处理的
传输层 网络层 数据链路层 物理层 :对数据的运输 到达 对端做出工作
SYN:发起一次连接,并告知自身状态 ACK:标识确认
特殊情况:RST重连 TCP 严重错误并重连 FIN 断开 PSH 紧急加收 URG紧急指针
TCP协议:传输控制协议----面向连接的可靠协议 (基于连接,可以类比成打电话)
在完成了传输层的基本工作的同时,还需要保证传输的可靠性。
有三个关键步骤:三次握手,传输确认,四次挥手
三次握手:
可以理解为:
A:是B吗?我要跟你通信,听得到我说话吗? B:可以通信,你听得到我说话吗? A:我也听得到。
四次挥手:
可以理解为:
A:是B吗?我要跟你通信,听得到我说话吗? B:可以通信。
B:你听得到我说话吗? A:我也听得到。
可靠传输包括:确认 排序 重传 流控(滑动窗口)
流控主要用于高性能pc对低性能pc传送的安全调控
UDP协议:用户数据报文协议------非面向连接的不可靠协议 (可以类比为写信)
仅完成传输的基本工作--分段 端口号
数据包之间并没有状态上的联系,因此性能损坏少,资源占用少,但是稳定性弱
TCP协议用于对网络通信质量要求较高的地方,如传输文件,发送邮件,浏览网络等。
UDP协议用于对实时性要求较高,但对少量丢包没有太大要求的地方,如域名查询,语音通话,视屏直播等。
各种协议的协议使用以及端口号:
HTTP tcp 80 超文本传输协议
HTTPS TCP 443 (HTTP+SSL(TLC)) 安全传输协议
FTP tcp 20/21 文件传输协议
TFTP udp 69 简单文件传输协议
Telnet tcp 23 远程登录标准协议
SSH tcp 22 安全外壳
DNS UDP/TCP 53 域名解析协议
DHCP UDP 67/68 动态主机配置协议
PDU:协议数据单元 对不同层封装的数据单元标识
应用层-----数据报文
传输层-----数据段
网络层-----数据包
数据链路层------数据帧
物理层------比特流
TTL:生存周期
最大255 推荐64 常见128
参考链接
发表评论