网络基础
OSI参考模型
OSI(Open System Interconnection)开放互联网参考模型最早提出的解决网络通信的标准协议。
OSI网络分层: 物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
物理层
处于OSI最底层,主要是传输原始的比特流(bits),交换机,光纤等,主要是为数据端设备提供传送数据的通道及传输数据
数据链路层
数据链路层是实现计算机网络相邻节点之间的可靠传输,把原始的,有差错的传输线路上添加数据链路层协议以后,构成逻辑上可靠的数据链路
主要是链路管理,差错控制以及流量传输
网络层
网络层源主机节点到目的主机节点之间的可靠传输(IP) (可以找到目的地的的那台电脑)
主要功能: 路由选择,网络寻址,流量控制,拥塞控制,网路互联
传输层
传输层起着承上启下的作用,是源端点到目的端点之前的可靠信息传输(port) (解析出对应电脑的那个应用)
解决的是跨越网络链接的建立和释放(TCP中三次握手和释放时四次挥手)
会话层
负责应用程序的之间的建立,维护和中断会话
对设备和节点之间的会话控制,协调系统和服务之间的交流
表示层
提供传输数据的格式信息定义,主要提供的信息转换为能够共同理解的信息,提供的数据格式,控制信息格式,加密等的统一处理
包装关键信息:发送者、接收方、发送时间、消息类型:文字、表情表、语音、视频、文件
应用层
直接为应用程序提供服务
TCP/IP协议族
传输控制协议/英特网互联协议(Transmission Control Protocol/Internet Protocol)将网络通信划分了四层:网络接口层,网络层,传输层,应用层
网络接口层
网络接口层对应OSI中的物理层和数据链路层
网络互连层(IP层)
把上层提交的信息分组发送到目标网络或注解
传输层(TCP)层
TCP负责在应用之间建立端到端的连接和可靠通信(port)UDP协议提供了无连接服务,不可靠的通信
应用层
为网络中的各种网络提供服务,应用层对应OSI中会话层,表示层,应用层
各层协议简介
应用层
协议:ftp、SMTP、HTTP
FTP(File Transfer Protocol) 文件传输协议<端口号21> 减少或消除不同操作系统下文件处理的不兼容性
HTTP(Hypertext Transfer Protocol)超文本传输协议<端口号 80>,主要是web浏览器和服务端交互使用的协议
SMTP(Simple Mail Transfer Protocol)简单邮件传输协议 <端口25> 用来发送邮件的
传输层
协议:TCP、UDP
TCP(Transmission Control Protocol)传输控制协议提供可靠的面向连接的服务
数据传输之前必须先建立连接,结束后释放,可靠的全双工信道。可靠、有序、无丢失、不重复
UDP(User Datagram Protocol)用户数据包协议发送数据前无需建立建立,不使用拥塞控制,不保证可靠传输,最大能力交付
网络层
IP(Internet Protocol)网络互连协议(Ipv4/IPv6)
链路层
协议:ARP和RARP
ARP:地址解析协议,实现IP地址转换为Mac物理地址信息(网卡)(收消息)
RARP反向地址解析协议:实现网卡地址信息转化为IP信息(发消息)
数据包
表示数据的单位:包 , 帧, 数据包, 段,消息
以上五个术语都用来表述数据的单位,大致区分如下:
- 包全能性术语
- 帧用于表示数据链路层中包的单位
- 数据包时IP和UDP等网络层以上的分层中包的单位
- 段则表示TCP数据流中的信息
- 消息指应用协议中数据的单位
每个分层中,都会对所发送的数据附加一个首部,首部包含该层的必要信息,发送:目标地址、端口、即相关协议
在每一层提供的必要的协议信息为包首部,发送的内容为数据,在下一层的角度来看,上一层收到包都认为是本层的数据
网络中传输的数据包由两部分组成:一是协议所在的首部,二是上一层传递过来的数据,首部非结构协议的具体规范详细规范定义,在数据包的首部,明确的标明协议应如何读取,反过来,看到首部,也就可以了解协议的必要信息以及处理下来的流程
数据流处理流程
相当于封装过程和解析过程
封装过程: 消息在发送时就是从协议从上往下进行数据包传递,在每一层封装包首部信息
解析过程:在接受协议是从下往上进行传递,在每一层解析对于的包首部