1 开放系统互连(OSI)参考模型
1.1 OSI七层模型
七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
| 分层 | 功能 |
|---|---|
| 应用层 | 网络服务与最终用户的一个接口 |
| 表示层 | 数据的标识、安全、压缩 |
| 会话层 | 建立、管理、中止会话 |
| 传输层 | 定义传输数据的协议端口号,以及流控和差错效验 |
| 网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 |
| 数据链路层 | 建立逻辑连接、进行硬件地址寻址、差错效验等功能 |
| 物理层 | 建立、维护、断开物理连接 |
1.2 七层功能
-
应用层------ 网络服务与最终用户的一个接口(用户操作)
只要在系统中打开一个程序,那么系统会随机分配一个 端口号 给应用程序端口号的作用:确定系统上的某一应用程序
-
表示层------数据的表示、安全、压缩(人的语言翻译成计算机)
将接收到的数据翻译成二进制数据,并指定数据的存储格式、加密格式,解密、压缩等等工作
-
会话层------建立、管理、中止会话
是否允许建立会话连接,建立了不同操作系统的之间的会话,通过一些协议去判断符合确定你的两个软件之间是否可以进行通信
-
传输层------ 定义传输数据的协议端口号,以及流控和差错校验
将上层数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信。使用不同的协议,可以决定数据传输的快慢,安全等
TCP:可靠传输,传递数据前必须事先建立连接,可靠性高,传输效率低 UDP:不可靠传输,数据可以直接发送,传输效率高,可靠性低 -
网络层------定义逻辑地址、实现不同网络之间的寻址,理论选择转发数据的最佳路径
将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输
-
数据链路层--------建立逻辑连接、进行硬件地址寻址、差错校验等功能(交换机 网卡)
将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡物理地址,建立数据链路;当发现数据错误时,可以重传数据帧
-
物理层------建立、维护、断开物理连接
报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。
1.3 数据封装
传输层: tcp或udp头部+上层数据 数据段
↓ 网络层: ip头部+数据段 数据包 ↓ 数据链路层: mac头部+数据包+校验位 数据帧 ↓ 物理层: bit流电流2 TCP/IP模型
2.1 什么是TCP/IP
TCP/IP 是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol)的简称,是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
2.2 TCP/IP模型与OSI模型比较
OSI参考模型与TCP/IP模型都采用了分层体系结构,将庞大而复杂的问题转化为着干个较小 且易于处理的子问题。不同的是OSl参考模型划分7层,分别是物理层、数据链路层、网络层、传输 层、会话层、表示层和应用层,而TCP/IP参考模型最多划分了5个层次,分别是物理层,数据链路 层、网络层、传输层和应用层,将OSI参考模型中的高三层合并为一层统称应用层。在层次结构上, 两者都采用了分层体系结构,但是TCP/IP参考模型比OSI参考模型更简化。
2.3 TCP/IP协议族的组成
| 模型层 | 协议 |
|---|---|
| 物理层 | IEEE802.3有线局域网(以太网) IEEE802.11无线局域网标准 |
| 数据链路层 | Point-to-Point Protocol |
| 网络层 | IP (ICMP IGMP ARP RARP) |
| 传输层 | TCP UDP |
| 应用层 | HTTP FTP TFTP SMTP SNMP DNS |
网络层:
IP协议:(Internet Protocol,网际协议),而 IP 又由四个支撑协议 组成:
-
ARP(地址解析协议): 是将IP地址转换成物理mac地址 的协议
-
RARP(逆地址解析协议): 是根据物理mac地址转换成IP地址的协议
-
ICMP(网际控制报文协议):ping 网络连通性检测 检测网络连通性
-
IGMP(网际组管理协议):一个组播协议,该协议运行在主机和组播路由器之间 传输层:
-
TCP :传输控制协议 可靠协议 (安全性高,速度慢)
-
UDP:用户数据报协议 不可靠协议(安全性不高,速度快)
应用层:
- HTTP(超文本传输协议):是一个简单的请求-响应协议,现在主要的场景是web服务,就是网页的传输,默认使用tcp的80端口 http
- HTTPs:是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,默认使用tcp的443端口 当当买书,
- FTP文件传输协议:FTP( File Transfer Protocol)提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限,默认使用tcp的20,21端口
- TFTP简单文件传输协议:是一个小而易于实现的文件传送协议,TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别,默认使用udp的69端口
- SNMP简单网络管理协议:是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,默认使用udp的161端口
- SMTP简单邮件传输协议:一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式,用于邮件的发送,默认使用tcp的25端口
- POP3邮局协议版本3:用于邮件的接收,默认使用tcp的110端口
- telnet远程登陆协议:一种字符模式的终端服务,可以使用户通过网络进入远程主机或网络设备,然后对远程主机或设备进行操作,默认使用tcp的23端口
- ssh安全的远程登陆协议,默认使用tcp的22端口ssh
- DNS 域名解析系统:将域名和IP地址相互映射,默认使用tcp和udp的53端口 www.baidu.com ip地址 dns udp tcp 程序 进程: 运行中的程序0-65535
- DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,默认使用udp的67和68端口。