| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> OSI与TCP/IP协议详细阐述与分析总结: -> 正文阅读 |
|
[网络协议]OSI与TCP/IP协议详细阐述与分析总结: |
以下内容建议对照该博文一起使用效果更佳,参考博客OSI与TCP/IP协议 一、OSI:开放系统互联基本参考模型(国际标准): ? ? ? ? 分层【七层】:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层 ? ? ? ? 侧重点:强调通信协议必要的功能是什么 二、TCP/IP:近年来被称为,实际上的国际标准: ? ? ? ? 分层【四层】:应用层、运输层、网络层、网络接口层 ? ? ? ? 侧重点:强调在计算机上的协议应该开发哪种程序 注:(上面是《计算机网络(第七版,谢希仁)》书中的叫法,博文中略有不同,注意区分。运输层(传输层)、网络层(网际层)、网络接口层(链路层)) 三、TCP/IP网际协议群: ????????包括TCP/IP、IP、ICMP、TCP、UDP、FTP、HTTP等都属于TCP/IP协议,统称为TCP/IP网际协议群,即互联网协议。 ? ? ? ? 【网际协议群】:由应用协议、传输协议、网际协议、路由控制协议,四大协议组成 四、数据包结构机组成: ? ? ? ? 表述数据的单位的术语:包、帧、数据包、段、消息 ? ? ? ? 组成:每个分层中,都会对所发送的数据附加一个首部、在这个首部中包含了该层必要的信息(其实可以理解为首部包含了如何专门解析该层数据部分的相关东西,比如目标地址、协议)。一句话:上一层包含下一层的所有信息,包括首部和数据部分。 ? ? ? ? 数据包首部具体结构: ????????????????【以太网】层:以太网首部+数据部分(这里数据部分包括IP首部、TCP首部、真实数据部分) ? ? ? ? ? ? ? ? 【IP】层: IP首部+数据部分((这里数据部分包括TCP首部、真实数据部分) ? ? ? ? ? ? ? ? 【TCP】层:TCP首部+数据部分(这里数据部分才是真实数据部分) ????????注:从TCP -->? IP -->? 以太网:可以看做是对真实数据部分的层层封装,包含关系。 五、传输层中的重要协议 TCP、UDP: ? ? ? ? TCP (传输控制协议):具有发送消息时, 提供可靠性传输,实行“顺序控制”或“重发控制"机制、提高网络利用率等功能。 ? ? ? ? UDP(”用户数据报协议“):是不可靠的数据报协议,细微的处理他会交给他的上层,应用层去处理,可以保证发送消息的大小,但是不能保证一定能够送达,具有重发机制。 六、端口号: ? ? ? ? 一个类似于地址的概念。传输层协议正是利用这些端口号进行识别在同一台计算机中通信的的不同应用程序,并进行准确地数据传输。 ? ? ? ? 在数据链路层是:MAC(硬件地址、物理地址)地址 ? ? ? ? 网际层是:IP地址 ? ? ? ? 传输层是:端口号,用来识别同一台计算机中用来通信的不同应用程序,也被称为程序地址 七、三次握手与四次挥手【重点,面试参考】: ? ? ? A、? 三次握手【重点】: ? ? ? ? ? ? ? ? 1.TCP提供面向有连接的通信传输:即,在数据通信开始之前,先做好两端的准备工作。 ? ? ? ? ? ? ? ? 2.三次握手:即,建立一个TCP连接时需要客户端和服务器端总共发送三个包以确认建立连接。 ? ? ? ? 三次握手的实现步骤: 【step1】客户端请求连接 ==>? 【step2】服务器收到请求后做出应答,请求客户端建立连接 ==>? 【step3】客户端针对服务器的请求确认应答,建立连接成功。 ? ? B、 四次挥手【重点】: ? ? ? ? ? ? ? ? 1.终止TCP连接需“四次挥手":即,断开一个TCP连接,需要客户端和服务器端总共发送4个包以确认断开连接。 ? ? ? ? ? ? ? ? 2.由于TCP连接是全双工,所以每个方向都必须单独进行关闭:即,当一方完成数据发送任务后,发送一个FIN来终止这方的连接,收到FIN只代表这一方不再接受数据,但是还可以发送数据,直到这一方也发送了FIN。首先执行的一方进行主动关闭,另一方执行被动关闭 ? ? ? ? 四次挥手的实现步骤: 【step1】客户端请求断开连接,发送FIN?==>【step2】服务器对收到的FIN作出应答,(服务器不再接受数据但可以发送) ==>【step3】服务器向客户端请求断开连接,发送FIN ==> 【step4】客户端对收到的FIN作出应答,(之后,服务器端收到来自客户端的ACK应答,服务器端连接断开,随后客户端连接断开) 由于时间原因,后续部分总结分析还在参考查阅资料中,后面会不断完善...... |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:27:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |