当前位置: 首页 > news >正文

[ Socket学习 ] 第一章:网络基础知识

  • 网络基础知识
    • OSI七层模型与TCP/IP四层模型概述
    • IP地址与端口
    • TCP协议与UDP协议的区别及其适用场景

参考文章:

  1.  OSI七层模型、TCP/IP四层模型(超详细!!!!!)-CSDN博客
  2. 一文读懂OSI七层模型与TCP/IP四层的区别/联系_osi七层和tcp4层关系-CSDN博客
  3. 一文彻底搞懂OSI七层模型和TCP/IP四层模型_osi网络协议-CSDN博客

 一、OSI七层模型

        

        OSI(Open Systems Interconnection)七层模型是由国际标准化组织(ISO)提出的一种网络通信协议的理论框架。它将网络通信的过程分解为七个逻辑层,每一层负责不同的功能,并且每一层都依赖于其下一层提供的服务。

        每一层都与相邻的上下两层进行交互。上层依赖下层提供的服务来完成自己的任务,而下层则为上层提供必要的支持。例如,应用层依赖表示层对数据进行格式化,表示层又依赖会话层建立会话等。OSI七层模型提供了一个清晰的分层结构,使得网络协议的设计和实现更为模块化。这意味着每一层都可以独立发展,而不影响其他层。例如,网络层可以采用新的路由算法,而不会影响应用层的运行。尽管OSI七层模型在理论上很有意义,但在实际应用中,TCP/IP模型更为普遍。TCP/IP模型简化了OSI模型,并且更贴近于实际网络的运作方式。然而,理解OSI模型仍然有助于更好地理解网络通信的整体架构。

1.1 表格说明

OSI七层网络模型

功能任务示例协议职责

应用层(Application)

提供应用程序与网络服务之间的接口处理数据的表示形式,包括加密和压缩

HTTP, FTP, SMTP, Telnet, SNMP, SQL, RPC, NFS, LDAP等

处理用户数据,如文件传输、电子邮件、远程登录等

表示层(Presentation)

处理数据的表示形式,包括加密和压缩数据格式化、编码/解码、加密/解密JPEG, MPEG, ASCII, DES, PGP等确保数据以正确的格式传输,同时保护数据的安全

会话层(Session)

建立、管理和终止表示层实体之间的会话连接会话管理、同步、恢复、终止SQL, RPC, NFS, SSL/TLS等控制会话的建立、维护和释放

传输层(Transport)

提供端到端的数据传输服务,并确保数据的可靠传输错误检测、流量控制、序列化、分段/重组TCP, UDP, SCTP等负责数据的可靠传输,提供端到端的错误恢复和流量控制

网络层(Network)

负责数据包的路由选择和逻辑寻址逻辑寻址、路由选择、拥塞控制IP (IPv4, IPv6), ICMP, IGMP, ARP, RARP, OSPF, RIP, BGP等决定数据包如何在网络之间传输

数据链路层(Data Link)

负责物理地址寻址、错误通知和帧序列封装成帧、物理寻址、错误检测Ethernet, Wi-Fi (802.11), PPP, HDLC, FDDI等确保数据正确地在物理媒介上传输

物理层(Physical)

定义物理连接的电气、机械特性比特流传输、编码/解码、信号转换RJ-45, BNC, V.35, 802.3 (Ethernet), RS-232, HDMI等将数据位转换为电信号或光信号

1.2 简化模型

 1.3 形象说明

OSI七层网络模型

TCP/IP四层概念模型  

对应网络协议

应用层(Application)

应用层

HTTP、TFTP, FTP, NFS, WAIS、SMTP

表示层(Presentation)

Telnet, Rlogin, SNMP, Gopher

会话层(Session)

SMTP, DNS

传输层(Transport)

传输层

TCP, UDP

网络层(Network)

网络层

IP, ICMP, ARP, RARP, AKP, UUCP

数据链路层(Data Link)

数据链路层

FDDI, Ethernet, Arpanet, PDN, SLIP, PPP

物理层(Physical)

IEEE 802.1A, IEEE 802.2到IEEE 802.11

相关文章:

  • 常用排序算法的实现与介绍
  • Pyinstaller打包OSError: could not get source code【终极解决】
  • [Meachines] [Easy] Admirer Adminer远程Mysql反向+Python三方库函数劫持权限提升
  • C++面试---小米
  • 食源送系统项目的测试
  • 服务重启脚本
  • 从实现第一个ArkTs应用开始入门
  • C#中ToString()在windows和linux的差异
  • MySQLl的存储引擎
  • 二进制部署k8s集群之CoreDNS部署及多master节点负载均衡以及高可用(下)
  • django网络爬虫系统- 计算机毕业设计源码81040
  • 前端进阶|详细讲讲函数柯里化
  • mybatis多条件in查询拓展
  • 运维之路----计算机基础
  • Kafka动态授权认证:利用SASL/SCRAM机制提升安全性
  • hexo+github搭建个人博客
  • 收藏网友的 源程序下载网
  • 4. 路由到控制器 - Laravel从零开始教程
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • conda常用的命令
  • crontab执行失败的多种原因
  • extract-text-webpack-plugin用法
  • Git 使用集
  • Java精华积累:初学者都应该搞懂的问题
  • Java应用性能调优
  • JSONP原理
  • mongodb--安装和初步使用教程
  • Redux 中间件分析
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 消息队列系列二(IOT中消息队列的应用)
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 优秀架构师必须掌握的架构思维
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​用户画像从0到100的构建思路
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • # 职场生活之道:善于团结
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • $GOPATH/go.mod exists but should not goland
  • %@ page import=%的用法
  • (3)nginx 配置(nginx.conf)
  • (bean配置类的注解开发)学习Spring的第十三天
  • (办公)springboot配置aop处理请求.
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (力扣题库)跳跃游戏II(c++)
  • (利用IDEA+Maven)定制属于自己的jar包
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (五)关系数据库标准语言SQL
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • .sdf和.msp文件读取