目录
一、分层思想的简述(数据传输分层)
例:牛奶过期事件,我们现在要找出原因,所以我们要把牛奶过期事件分解 生产——运输——销售——客户 等不同环节,那我们就很容易找出那个环节出现了问题
将复杂的流程分解为几个功能相对单一的过程
优势:1、整个流程更加清晰明了,将问题简单化 / 2、更加容易发现问题,并可以针对问题解决问题
二、OSI七层参考模型
是国际标准化/1984年颁发开发系统互联(OSI)参考模型/开放式体系结构,网络分为七层
分层 | 功能 |
应用层 | 网络服务与用户的一个接口 |
表现层 | 数据表现、安全、压缩 |
会话层 | 建立、管理、终止会话 |
传输层 | 定义传输数据协议编号、流量控制、差错校验 |
网络层 | 逻辑地址寻址、实现不同网络的选择 |
数据链路层 | 建立逻辑连接(LLC数据)、硬件地址寻址(MAC全球唯一=产商标识和其对设备的编号)、差错校验 |
物理层 | 建立、维护、断开物理的连接 |
三、TCP/IP协议
思科公司:国际化的是4层模型
华为公司:国内的是5层模型
ICMP:国际控制报文协议
作用:测试网络的联通性给于一定反馈
组成:ping / traceroute反馈路径
IGMP:网际组管理协议
作用:组播
ARP:正向地址解析协议
数据传输通讯地址:源IP、源MAC、目标IP、目标MAC
使用场合:已知目标IP,未知目标MAC
工作原理:p1已知,p2IP已知,MAC未知,p1发送ARP广播给二层的交换机,二层交换机接收后,无条件转发处理,发给所有交换机的p,接收到二层交换机的广播,每个p把自身的IP与目标的IP地址进行对比,如果一致,接收并反馈给p1,p1收到反馈,记录其IP和MAC,如果不一致就弃掉
RARP:逆向地址解析协议
使用场合:已知MAC,未知IP
工作原理:p1已知,p2MAC已知,IP未知,p1发送ARP广播给二层的交换机,二层交换机接收后,无条件转发处理,发给所有交换机的p,接收到二层交换机的广播,每个p把自身的MAC与目标的MAC地址进行对比,如果一致,接收并反馈给p1,p1收到反馈,记录其IP和MAC,如果不一致就弃掉
TCP传输协议
报文段:把报文划分较小片段,并按顺序编号,如果未接收,将重新传输(可靠和安全)
连接:三次握手与四次断开(seq和ack号存在于TCP报文段的首部中,seq是序号,ack是确认号,大小均为4字节,SYN是标记的包)
为什么会出现半连接?
答:客户终止,服务器还有数据传输,所以处在半连接状态
为什么连接是三次,断开是四次?
答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。
为什么不能用两次握手进行连接?
答:3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。
现在把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机S和C之间的通信,假定C给S发送一个连接请求分组,S收到了这个分组,并发 送了确认应答分组。按照两次握手的协定,S认为连接已经成功地建立了,可以开始发送数据分组。可是,C在S的应答分组在传输中被丢失的情况下,将不知道S 是否已准备好,不知道S建立什么样的序列号,C甚至怀疑S是否收到自己的连接请求分组。在这种情况下,C认为连接还未建立成功,将忽略S发来的任何数据分 组,只等待连接确认应答分组。而S在发出的分组超时后,重复发送同样的分组。这样就形成了死锁。
如果已经建立了连接,但是客户端突然出现故障了怎么办?
答:TCP还设有一个保活计时器,显然,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。
UDP传输协议
UDP不需要确认接收,效率更高效,无确认和重传机制,是音频流,视频流,IP语音之类的首选(面向无连接,不可靠)
端口号
客户端根据需要服务,从而发送特定的端口
端口范围(1-65535)
公认端口(1-1023)与通用网络应用程序相关联的目的/
注册端口(1024-49151)注册即时消息的应用程序
私有端口(49152-65535)源端口使用
常用端口:
端口号 | 协议 | 基本作用 | 运输协议 |
20 | FTP DATA | 文件传输协议数据 | |
21 | FTP Control | 文件传输协议控制 | |
23 | TELNET | 远程 | |
25 | SMTP | 邮件发送 | |
53 | DNS | 域名解析 | UDP |
69 | TFIP | 简单文件传输 | UDP |
80 | HTTP | 超文本传输 | |
110 | POP3 | 邮件接收 | |
137 | NBNS | 跨平台访问 | UDP |
143 | IMAP4 | 因特网访问协议4,邮件下载 | |
161 | SNMP | 简单网络管理 | |
67 | DHCP v4 Client | 引导程序 | UDP |
68 | DHCP v4 Server | 引导程序 | UDP |
443 | HTTPS | 加密传输(TLS/SSL) |
四、数据封装和解封装过程
注:封装是自上而下的,解封装则是反方向的
协议数据单位与对应设备
层 | 单位 | 对应设备 |
应用层 | 报文/消息 | 计算机 |
传输层 | 段 | 防火墙 |
网络层 | 包 | 路由器 |
数据链路层 | 帧 | 交换机 |
物理层 | 比特流 | 网卡 |