OSI参考模型和TCP/IP参考模型
一、OSI 参考模型与TCP/IP 的网络分层模型
参考:
1).https://www.cnblogs.com/xdyixia/p/9275246.html
1.OSI和TCP/IP
物理层(网卡、光猫(光调制解调器))、数据链路层( 网桥、二层交换机(MAC寻址))、网络层(路由器(ip寻址))、传输层(TCP/IP协议)、应用层
2.OSI模型数据单位:
3.OSI模型各层功能
每一层的作用:
物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)
数据链路层:将比特组装成帧和点到点的传递(帧Frame)
网络层:负责数据包从源到宿的传递和网际互连(包PackeT)
传输层:提供端到端的可靠报文传递和错误恢复(段Segment)
会话层:建立、管理和终止会话(会话协议数据单元SPDU)
表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
应用层:允许访问OSI环境的手段(应用协议数据单元APDU)
4.通信过程
4.1 封装报文是从上层到下层(应用层 --> 传输层 --> 网络层 – > 数据链路层 --> 物理层),解封装报文是从下层到上层。
5.常用协议
6. TCP/IP面向连接的传输控制协议(传输层)
6.1 3次握手
6.2 4次分手
7.HTTP协议
7.1 http: 超文本传输协议。
7.2 https:安全的超文本传输协议
1) SSL: 安全协议 -> TLS(OpenSSL):安全传输层协议
2) CA证书:证书的签发机构
7.3 http和https区别
1)https的端口是443,而http的端口是80,且两者的连接方式不同。http经过tcp三次握手之后便可进行 http的报文传输。而 https在 tcp三次握手之后,还需进行 SSL/TLS 握手 ,才可进入加密报文传输。
2)http传输是明文的,而https是用ssl进行加密的,https的安全性更高。
3)https是需要向CA(证书权威机构)申请证书的,而http不需要。
7.4 加密算法
1)对称加密算法:即加密和解密使用相同密钥的算法。例如:DES,AES
2)非对称加密算法:需要两把密钥:公钥和私钥,他们是一对,如果用公钥对数据加密,那么只能用对应的私钥解密。如果用私钥对数据加密,只能用对应的公钥进行解密。因为加密和解密用的是不同的密钥,所以称为非对称加密。例如:RSA,DSA
3)区别:a) 对称算法加密和解密使用相同密钥 b) 对称加密解密的速度比较快,适合数据比较长时的使用 c) 非对称加密更为安全
二、网络编程(API都在:java.net包.)
1.socket套接字编程
源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务.
2.网络编程:
通过使用套接字来达到进程间通信目的的编程就是网络编程.
进程之间的通信:
1):在同一台电脑上,A进程和B进程相互通信.
2):在网络中(外网/内网),A电脑中的aa程序和B电脑中的bb程序相互通信(有网络连接).
为什么需要网络编程:
1):如果没有网络,只能玩单机游戏.(斗地主,三国杀,CS等)
2):有了网络,QQ游戏等.
3.网络编程三要素:
1) IP:标识不同的主机。
2) 端口:标识不用的服务和进程。默认指tcp端口,有0到65535个(2的16次方)
3) 协议:规则,数据传递/交互规则.
三、IO模型
1. 5种IO模型:阻塞IO(BIO)、非阻塞IO(NIO)、IO多路复用(select(Java)、poll(c++)、epoll(c++))、信号驱动的IO和异步IO(AIO)。
2. IO框架netty
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决