?
一、分层思想定义和作用
- 为什么要分层:
是将复杂的流程分解为几个功能相对单一的子过程,将整个流程变的更加清晰,让复杂的问题简单化,更容易发现问题并针对性的解决问题。
二、OSI 参考模型
| |
---|
应用层 | 网络服务与最终用户的一个接口 | 表示层 | 数据的表示,安全,压缩 | 会话层 | 建立,管理,中止会话 | 传输层 | 定义传输数据的协议端口号,以及流控和差错校验(承上启下的作用) | 网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 | 数据链路层 | 建立逻辑链接(LLC),进行硬件地址寻址(MAC),差错校验等功能 | 物理层 | 建立,维护,断开物理连接 |
三、TCP/IP协议族
1.五层参考模型
-
TCP/IP5层模型: 应用层、传输层、网络层、数据链路层、物理层。 -
OSI7层模型中的应用层、表示层、会话层与TCP/IP5层模型中的应用层相对应。 -
网络层(IP协议):路由器工作在网络层,IP网络是互联网的核心,解决网络如何联通的问题。 -
传输层(TCP、UDP):真正通信的并不是主机而是主机中的进程。传输层提供了进程间的逻辑通信,传输层向高层用户屏蔽了下面网络层的核心细节,使应用程序看起来像是在两个传输层实体之间有一条端到端的逻辑通信信道。
2.MAC地址
-
MAC地址也称为局域网地址,MAC位址,以太网地址或物理地址,地址的长度为48位,它是一个用来确认网络设备位置的位址。 -
在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址。 -
MAC地址用于在网络中唯一标示一个网卡,一个台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。 形象地说,MAC地址就如同身份证上的身份证号码,具有唯一性。
3.IP地址
-
IP地址是指互联网协议地址,是一个32位的二进制数。 -
IP地址和MAC地址相同点是它们都唯一,不同点是长度不同,分配依据不同,寻址协议不同等。 -
在TCP和UDP协议中,都有端口的概念。不同的应用监听着不同的端口。
4.ICMP网络协议
- ICMP:internet控制报文协议 作用:测试网络的连通性并给与一定的反馈 ping、traceroute
5.ARP网路协议
-
正向地址解析 -
数据传输通讯地址:源IP 源MAC 目标IP 目标MAC -
使用场合:已知目标IP,未知目标MAC时候用 -
工作原理: PC1已知PC2的IP地址,未知PC2的MAC时候用。PC1发送ARP广播给二层交换机,二层交换机接受到ARP广播消息后无条件泛洪处理,连接到二层交换机下的所有PC都将接收到此广播消息,每个PC都会把自身的IP地址和目标IP地址进行比对,若一致则接受此广播消息,并回数据包给PC1,PC1接收到返回的数据包后会记录下PC2的IP和MAC地址,记录到ARP缓存表中;若不一致则丢弃处理。
6.RARP
-
反向地址解析协议 -
使用场合:已知目标MAC,未知目标的IP时候用
7.TCP和UDP传输协议
8.TCP的三次握手
为了防止服务器端开启一些无用的连接,增加服务器开销以及防止已失效的连接请求报文段突然又传送到了服务器端,因而产生错误。 ① PC1发送同步信息(seq=100 ctl=SYN) ② PC2接收同步消息,发送同步和确认信息(seq=300 ack=101 ctl=syn,ack) ③ 建立连接(seq=101 ack=301 ctl=ack)
① 当客户端决定断开时,向服务端发送FIN信号,进入 FIN_WAIT_1 状态,等待来自服务器的 ACK 响应 ② 客户端收到服务器发送的 ACK 响应后,客户端就进入 FIN_WAIT_2 状态,然后等待来自服务器的 FIN 信号 ③ 服务器发送 ACK 确认消息后,一段时间(可以配置关闭)会发送 FIN 信号给客户端,告知客户端可以进行关闭。 ④ 客户端收到从服务端发送的 FIN 消息时,客户端就会由 FIN_WAIT_2 状态变为 TIME_WAIT 状态,在这里要注意这个时候客户端可以重新连接到服务端为了防止信息丢失,如果不进行连接,那么在一段时间连接关闭,客户端所有数据包括端口号缓存数据等全部释放
因为在第二次握手的过程中,服务器端发送给客户端下TCP报文是以SYN与ACK作为标志的。SYN是请求连接标志,表示服务器端同意建立连接。ACK是确认报文,表示告诉客户端服务器收到了他的请求报文。即SYN建立连接报文与ACK确认接收报文是在同一次握手当中传输的,所哟三次握手不多也不少,正好让双方明确彼此信息互通。
9.UDP传输协议
10.端口
-
端口划分为三个类别,其范围介于1到65535之间。 -
公认端口: 与通用网络应用程序相关联的目的端口称为公认端口。这些端口的范围从1到1023。 -
注册端口: 端口1024到49151可作为源端口或目的的端口使用。组织可使用这些端口注册即时消息等应用程序。 -
私有端口: 端口49152到65535通常作为源端口使用。 -
常用的端口号如下:
协议 | 端口号 |
---|
FTP Data | 20 | FTP Control | 21 | TELNET | 23(远程) | SMTP | 25(邮件发) | DNS | 53(域名解析) TCP/MDP | TFTP | 69(简单的传输协议)UDP | HTTP | 80 | POP3 | 110(邮件收) | NBNS | 137 UDP | IMAP4 | 143 | SNMP | 161 | DHCP v4 Client | 67 UDP | DHCP v4Server | 68 UDP | HTTPS | 443 |
四、数据封装和解封的过程
应用层——上层数据(纯数据) 传输层——TCP头部+上层数据 网络层——IP头部+TCP头部+上层数据 数据链路层——MAC头部+IP头部+TCP头部+上层数据 物理层——负责将数字信号转换为电信号发送
应用层——上层数据 传输层——上层数据-TCP头部 网络层——上层数据-TCP头部-IP头部 数据链路层——上层数据-TCP头部-IP头部-MAC头部 物理层——负责将接收到的电信号转换为数字信号
应用层 ------------------------ 上层数据 传输层------------------------- TCP头部+上层数据 →数据 网络层------------------------- IP头部+TCP头部+上层数据 →数据包 数据链路层--------------------MAC头部+IP头部+TCP头部+上层数据 →数据帧 物理层------------------------- →比特流
应用层 防火墙 网络层 路由器 数据链路层 交换机 物理层 网卡
?
|