OSI模型一共分为7层,自底向上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
物理层负责管理我的电脑、打印机、服务器等联网设备的物理链接,包括但不限于集线器、网线、RJ-45标准。
数据链路层用于在设备之间创建数据链路链接,包括网卡、网桥、二层交换机等设备。
网路层用于实现地址管理、路由选择,包括路由器、三层交换机、防火墙、IP协议等。
传输层负责实现数据的传输,提供应用进程间的逻辑通讯,包括TCP协议、UDP协议、端口等。
会话层负责创建和断开通讯链接而且进行访问验证、会话管理,例如服务器验证登陆。
表示层负责转换数据格式,将数据在标准数据格式与设备特定的数据格式之间进行转换。
应用层提供各类访问网络服务的接口,包括HTTP、FTP、SSH、MySQL等协议。服务器
TCP/IP协议通讯采用了5层的层级结构,分别是物理层、数据链路层、网络层、传输层、应用层。
物理层主要是负责传输数据的硬件,包括双绞线电缆、无线、光纤等。
数据链路层负责处理链接硬件,包括控制网卡、硬件相关的设备驱动等。
网络层用来处理网络中传递的数据包,数据包是最小的传递单位,ip协议、icmp协议、arp协议都位于这一层。
传输层主要负责传输应用层的数据。tcp协议、udp协议位于这一层。
应用层集成了OSI模型中的应用层、会话层、表示层这三层,用于实现应用程序间的沟通。http协议、ftp协议、telnet 协议、dns协议位于这一层。网络
第一次握手:客户端发送一个SYN包指明该客户端打算链接的服务器端口,以及初始序号seq,而后进入SYN_SENT状态,等待服务器确认。
第二次握手:服务器发回包含服务器的初始序号的SYN包(SYN+ACK)做为应答,而且把确认序号ACK设置为客户端的seq+1实现对客户端的SYN包进行确认。而后服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包后,向服务器发送确认包ACK(ack=k+1)。此包发送完毕后,客户端和服务器进入ESTABLISHED(TCP链接成功)状态,完成三次握手。tcp
状态变化流程:
客户端:CLOSE -> SYN-SEND -> ESTAB-LISHED
服务器端:LISTEN -> SYN-RCVD -> ESTAB-LISHEDide
第一次:Client发送一个FIN段序号seq以及确认断开链接的ACK,而后进入FIN-WAIT1状态
第二次:Server收到Client的FIN和ACK后,返回一个Client的FIN序号seq+1的ACK段,进入CLOSE-WAIT状态
第三次:客户端收到响应后进入FIN-WAIT2状态。Server向Client发送一个FIN段序号seq,而后进入LAST-ACK状态。
第四次:客户端收到Server的FIN段的seq后,进入TIME-WAIT状态而且返回给Server一个确认的ACK的序号seq+1。服务器端收到客户端响应后进入CLOSE状态,至此已断开链接。性能
状态变化流程:
客户端:ESTAB-LISHED -> FIN-WAIT1 -> FIN-WAIT2 -> TIME-WAIT ->CLOSE
服务器端:ESTAB-LISHED -> CLOSE-WAIT -> LAST-ACK -> CLOSEui
TCP | UDP | |
---|---|---|
面向链接 | 是 | 否 |
传输可靠性 | 可靠 | 不可靠 |
速度 | 慢 | 快 |
传输性能 | 低 | 高 |
数据顺序 | 保证 | 不保证 |
数据恢复 | 恢复 | 不恢复 |
流量控制 | 有 | 没有 |
消耗的系统资源 | 多 | 少 |
应用领域 | 金融、HTTP协议和HTTPS协议 | 传输语音、视频、游戏数据 |
每个IP地址能够分为网络ID和主机ID 根据网络ID的位数能够将IP地址分为如下5类 A类地址: 网络ID位是最高8位,其他24位是主机ID 范围:0.0.0.0-127.255.255.255 可分配的ip数量2^24-2=16777214 B类地址: 网络ID位是最高16位,其他16位是主机ID 范围:128.0.0.0-191.255.255.255 可分配的ip数量2^16-2=65534 C类地址: 网络ID位是最高24位,其他8位是主机ID 范围:192.0.0.0-223.255.255.255 可分配的ip数量2^8-2=254 D类地址: 范围:224.0.0.0-239.255.255.255 用于组(多)播 E类地址: 范围:240.0.0.0-255.255.255.255 保留未使用
交互式配置IP的方法 一、编辑网卡的配置文件 二、使用nmtui或者nmtui-edit命令 使用命令直接配置IP的方法 一、ifconfig命令 # 给网卡配置IP地址 ifconfig ens33 192.168.100.125/24 # 为网卡配置第二个IP地址 ifconfig ens33:2 192.168.100.128/24 # 删除IP地址 ifconfig ens33 del 192.168.100.128 二、ip命令 # 给网卡增长IP地址 ip addr add 192.168.100.100/24 dev ens33 # 删除网卡的IP地址 ip addr del 192.168.100.100/24 dev ens33 三、nmcli命令 # 配置静态IP会话 nmcli con add con-name work ifname ens33 autoconnect no type ethernet ip4 192.168.100.100/24 gw4 192.168.100.1 # 配置动态IP会话 nmcli con add con-name home type ethernet ifname ens33 # 启用静态IP会话 nmcli con up work # 关闭静态IP会话 nmcli con down work