OSI7模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
TCP/IP 4层模型:实际模型 TCP/IP协议簇
从上到下:逐步封装数据包;越高层,越靠近用户、应用;
从下到上:逐步解包。越底层,越靠近硬件。
1)应用层:满足不同应用功能
常用协议: 含义 占用端口号 传输层采用
<1>HTTP 超文本传输协议 80 基本都是TCP
<2>HTTPS 安全的HTTP 443
<3>FTP 文件传输协议 21
<4>SSH 安全的shell 22
<5>Telnet 远程连接 23
<6>SMTP 简单邮件传输协议 25
<7>DNS 域名解析服务 53
<8>TFTP 简单文件传输协议 69
<9>POP3 邮局协议第3版本 110
接口测试工具主要是模拟应用层协议,向服务器发请求;
Postman主要模拟:HTTP、HTTPS、FTP协议;
JMeter能够模拟绝大部分应用层协议。
补充:其它常用服务默认端口号:
SqlServer:1433
Oracle:1521
Mysql:3306
Tomcat:8080 经常修改为其它号
手机adb:5037
Fiddler代理:8888
技巧:查看系统端口号占用情况
netstat -ano
netstat -ano | more 管道more 分屏显示。 回车(跳行)、空格(翻页)、q(退出)
2)传输层:确定传输可靠性
面试题:TCP和UDP协议有何区别?
传输层主要解决传输是否可靠的问题;
<1>TCP:传输控制协议 面向连接,可靠的
特点:建立连接时进行3次握手,断开连接时进行4次握手。 (相见时难别亦难)
(确认)
不足之处:效率略低
例子:绝大部分应用层协议的传输层都采用TCP
HTTP、HTTPS、SSH、FTP、SMTP、POP3......
<2>UDP:用户数据报协议 无连接,不可靠的
特点:只管发,不管确认。
优点:效率偏高
经典例子:TFTP 简单文件传输协议
视频会议 主要注重效率,丢失一些信息影响不大。
3)网络层:寻找对方主机
<1>IP:Internet协议、网际协议 通过IP地址找到目标机器
<2>ICMP: Internet控制消息协议 检查联通性ping命令
<3>ARP: 地址解析协议 解析网卡地址转化为报文
<4>RARP: 反向地址解析协议 将报文转换为网卡地址
查看ip地址等信息:ipconfig
ipconfig -all
ipconfig /all
IPv4 xxx.xxx.xxx.xxx 4个十进制数
192.168.0.192 子网IP,局域网内分配
255.255.255.0 子网掩码
xxx 占1个字节=8个位 一共32位 表示2的32次方种,大约42亿个
00000000 ~ 11111111
IPv6:一共128位,表示2的128次方种IP
4)物理层:处理底层物理信号
PPP协议:点对点协议
将各种信号(光、电、无线电)转化计算机能够理解的比特流
网络中传输的数据单位:比特bit 二进制 0 1
比如:网络带宽 100Mbps 100M bit/sec
内存、硬盘存储数据单位:字节Byte 1Byte=8bit
比如:f1.mp3 15MB
2、网络协议是分层的、分模块的——网络的复杂性
3、网络体系结构(主要4层 7层了解)
1)网络接口层(物理层、数据链路层)
主要包括PPP(点对点协议)
主要是由网卡和网卡驱动组成,主要负责把光、电、无线等物理信号转换为计算机能理解的二进制格式(或者把二进制转换成光电无线信号)
2)网络层
<1> 主要包括的协议:
IP:Internet协议、网际协议 通过IP地址找到目标机器
ICMP: Internet控制消息协议
ARP: 地址解析协议 解析网卡地址转化为报文
RARP: 反向地址解析协议 将报文转换为网卡地址
<2> IP地址:
a. 计算机要想上网,必须具备一个唯一的IP地址;
b. 目前采用IPv4版,使用32位二进制表示的一个地址,实际中,采用4个十进制数表示,
比如:192.168.0.100
c. IP地址可以分为静态IP和动态IP,静态IP就是人为设置一个固定的IP;
动态IP是由服务器动态分配的。
d. 使用ipconfig命令查看IP地址,会使用“网络和共享中心”配置IP;
e. IP地址不易记忆使用,所以一般采用域名来代替IP;
但是需要DNS(Domain Name System 域名解析系统)解析解析:
由域名找到对应的IP地址主机
说明:万网 注册域名 全球域名解析服务器有十几台
f. IPv4的限制:数量有限,不够使用 2的32次方
目前公司、企事业单位都采用代理方式上网,也就是一台机器具有唯一IP,其他机器采用代理地址(172.168.xxx.xxx 192.168.xxx.xxx 作为局域网中出现),未来升级成IPv6版,128位二进制数表示;
g. 除了IP地址之外,还必须有物理硬件地址(网卡地址、MAC地址),IP + MAC地址才能唯一找到网络中的一台计算机;
使用命令:ipconfig /all 查看MAC地址
h.IP协议负责封装/解封装目标机器的IP地址,ARP/RARP协议负责封装/解封装MAC地址;
i. ICMP:控制网络层的一些数据传递,主要用于网络的检查,比如检查与目标机器是否连通;
比如:ping 目标机器IP或域名
ping 172.166.0.20 请求超时
ping www.baidu.com
j.小结:通过网络层,可以找到目标机器的IP地址和MAC网卡地址,确定数据的目标地;
3)传输层
<1> 主要包括协议:
TCP:传输控制协议 -- 可靠协议
UDP:用户数据报协议 -- 不可靠协议
<2> TCP: 传输控制协议
通过三次握手保证数据传输是网络的连通性,在发送每个数据包之前,都会进行三次握手:
第一次由客户端向服务器发送SYN请求;
第二次由服务器向客户机发送ACK应答信号;
第三次由客户机向服务器发送ACK应答信号;
三次握手完成后,再传递真正的数据包,到达率更高。
<3> UDP:源端主机只管发送数据,数据包是否到达不做确认;
比如视频会议,对传输效率要求高,对准确性要求不太高;
<4> 网络传输数据的理念:化整为零,便于传输TCP/UDP把传输的数据按照指定的格式封装(还原)成能传输的报文
4)应用层(应用层、表示层、会话层)
<1> 主要包括的协议:
HTTP: 超文本传输协议 HyperText Transfer Protocol
HTTPS: 安全版的HTTP HyperText Transfer Protocol over Secure Socket Layer
FTP: 文件传输协议 File Transfer Protocol
SMTP: 简单邮件传输协议 Simple Mail Transfer Protocol
POP3: 邮局协议第三版本 Post Office Protocol version3
<2> 为不同的应用程序提供服务
HTTP/HTTPS为使用浏览器提供服务
HTTPS传输数据过程中,经过加密处理
FTP为上传下载文件提供服务
SMTP/POP3为使用邮件系统提供服务
面试题:四层协议,每层协议有哪些常用协议,端口号如何?
4、端口
1)端口作用:主要解决一台计算机中提供两个及以上同类型服务冲突问题,用来区别应用层的协议;
比如:一台服务器中提供两个Web网站,就需要把两个网站指定不同的端口号进行区别,以便客户端通过IP地址 + 端口号进行访问。
比如:
http://172.166.0.10:8080
http://172.166.0.10:8081
2)常见默认端口号:(面试题)
端口号时,访问时可以省略,比如http://...
HTTP 80
HTTPS 443
FTP 21
SMTP 25
POP3 110
3)安装完一个服务,如果不能正常启动,一种可能就是该电脑中有同类型服务已经启动,并占有了端口号,可以使用命令查看端口号占有情况:可以停止已经启动的服务进程,或者修改不同的端口号
netstat -ano
netstat -ano |more
分屏显示,回车继续