TCP/IP参考模型
一、TCP/IP 参考模型 形成原因:
由于OSI 模型比较复杂,且TCP和IP两大协议在业界被广泛使用,所以 TCP/IP参考模型成为了互联网的主流参考模型。
二、TCP/IP 常见协议
三、常见应用层协议 --- FTP
C/S架构【client/server】,多通道协议【TCP 20,21】,基于TCP连接实现文件的上传与下载
1、传输的文件类型不同,采用不同的传输模式;
1.1、ASCII模式:文本文件【txt、log、cfg】
1.2、Binary【二进制】模式:非文本文件【bin、exe、png】
2、通道协议的种类:
单通道协议:通信时只需建立一个 TCP会话,使用一个固定的端口;【Telnet、SSH】
多通道协议:通信的时候需要借助多个 TCP/UDP会话,使用的端口未必固定,动态协商生成。【FTP】
3、FTP 工作组成部分:控制通道 + 数据通道;
a、控制通道【control】:TCP,下达 FTP的操作指令,登录认证,总是由客户端发起,服务器使用 21 端口;
b、数据通道【data】:TCP,传输数据;服务器使用 20 端口
4、FTP 两种工作模式---必须从服务器的角度分析;
4.1、主动模式【PORT】:指的是数据是由 FTP服务器主动向客户端发起,HUAWEI路由器默认的模式;
a、控制通道:客户端随机一个端口 N号,访问服务器的21端口,服务器告知客户端【x.x.x.x p1,p2--客户机的IP和两个随机数】
b、数据通道:服务器使用端口20,访问客户端的 N+1 端口号,N+1=p1*256+p2
4.2、被动模式【PASV】:指的是数据通道是由 FTP客户端主动向服务器发起
a、控制通道:客户端随机一个端口 N,访问服务器的 21端口,服务器告知客户端【x.x.x.x p1,p2--客户机的IP和两个随机数】
b、数据通道:客户端使用 N+1端口号,访问服务器的 p1*256+p2;
四、实验:
FTP Server端配置:
server创建 ftp 访问用户和密码,访问类型
[R2-aaa]local-user test1 service-type ftp ==配置 test1用户类型为 ftp
[R2-aaa]local-user test1 password cipher %$%$(RJ6-NISmTbqB@QEV5T:qu"t%$%$
[R2-aaa]local-user test1 privilege level 3
[R2-aaa]local-user test1 access-limit 200 ==指定 test1 最大的连接数
[R2-aaa]local-user a1 idle-timeout 0 0 ==设置 test1 用户连接永不超时
[R2-aaa]local-user a1 ftp-directory flash:/test2 ==指定 test1 用户 FTP 可访问的 文件夹;【1】
开启 FTP 服务器功能,设置 FTP访问文件夹;
[R2]ftp server enable ==开启 FTP服务器功能
[R2]set default ftp-directory flash:/test ==设置全局 FTP默认的访问文件夹【2】,【1】命令已配,【2】可以不配置;
注:【1】与【2】命令,指定权限 大于 全局设置权限;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?