OSI模型:
名称 层次 功能
物理层 1 实现计算机系统与网络间的物理连接
数据链路层 2 进行数据打包与解包,形成信息帧
网络层 3 提供数据通过的路由
传输层 4 提供传输顺序信息与响应
会话层 5 建立和中止连接
表示层 6 数据转换、确认数据格式
应用层 7 提供用户程序接口
网络协议:https://www.zhihu.com/question/50293200
应用层协议:
HTTP:缺省TCP80端口
HTTPS:缺省TCP443端口,在普通的HTTP与TCP层之间多了一个安全加密的夹层,称之为SSL
DNS:用于解析域名与IP地址的基于UDP/TCP 应用层协议
DHCP:用于主机动态获取IP地址、缺省网关、DNS服务器等参数的基于UDP 应用层协议
NFS:用于Unix / Linux 文件共享,基于UDP/TCP协议
NTP:用于时钟同步的基于UDP的应用层协议
SMTP:用于邮件发送的基于TCP的应用层协议
POP3:用于邮件接收的基于TCP的应用层协议
FTP -> SFTP:文件传输协议,SFTP协议是在FTP的基础上对数据进行加密,SFTP是SSH(缺省端口22)的一部分
TELNET -> SSH:telnet 是明码传输的,发送的数据被监听后不需要解密就能看到内容;ssh 是加密的,基于 SSL
传输层协议:(为了保护传输层的安全,并在传输层上提供实现保密、认证和完整性的方法)
TCP:面向连接,三次握手
UDP:无连接
第一次握手:Client将标志位SYN置为1(表示请求连接),随机产生一个值seq=J
第二次握手:Server将标志位SYN和ACK都置为1(表示对第一个SYN包的确认),ack=J+1,随机产生一个值seq=K
第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1
序号 方向 seq ack ACK
1 A->B 10000 0 0
2 B->A 20000 10000+1=10001 1
3 A->B 10001 20000+1=20001 1
网络层协议:
IP:负责分配IP地址,提供路由
ARP:地址解析协议,将IP地址转换为物理地址
ICMP:为了提高IP数据报成功交付的机会,在IP数据报传输的过程中进行差错报告和查询,
比如目的主机或网络不可到达,报文被丢弃,路由阻塞,查询目的网络是否可以到达等等
例:ping是应用层直接使用网络层ICMP的一个特例,它没有通过运输层的TCP或UDP