IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【TCP/IP】TCP/IP分层模型 -> 正文阅读

[网络协议]【TCP/IP】TCP/IP分层模型

TCP/IP简介

? ? ? ? TCP/IP是源自于ARPANET的实验,1983年成为ARPANET网络的指定协议。之后虽则UNIX的使用和普及,互联网和TCP/IP得到了广泛普及。TCP/IP并不只是TCP和IP两个协议,很多情况下,它只是利用IP进行通讯所必须用到的协议群的统称,又是也会被泛指TCP/IP为网际协议簇。一般我们提到的TCP/IP都是IETF制定的标准,其规范会更新到RFC文档中。TCP/IP是专门为互联网所设计的协议,可以认为TCP/IP是互联网的协议。

TCP/IP协议分层模型

? ? ? ? TCP/IP的结构和OSI很类似,但是他们还是有很多不同,不了解OSI的读者可以参考我之前写的OSI模型介绍->OSI。TCP/IP模型的结构如下:

????????????????????????

TCP/IP和OSI在结构上很类似,不过OSI更加注重的是协议要实现的功能是什么,而TCP/IP则是强调计算机实现协议应该开发哪种程序。下面是对于TCP/IP各个层的介绍。

应用层

? ? ? ? TCP/IP的结构上,应用层对应的是OSI的应用、表示和会话层,TCP/IP将这三个层的功能集中到了应用程序(一个或多个程序都可能)中实现。TCP/IP应用的架构绝大多数属于客户端/服务端模型,也就是客户端向服务器请求并得到响应。其中的一个比较典型的应用就是万维网,其也是互联网快速普及的原因。WWW使用浏览器和服务端之间进行通讯,所用的协议一般为HTTP(),所传输的数据主要格式为HTML。除了HTTP和HTML,电子邮件的SMTP,文件传输的FTP,远程登录的TELNET和SSH以及网络管理的SNMP也都是应用层比较常见的协议。

传输层

? ? ? ? TCP/IP的传输层和OSI模型的传输层很类似,其最主要功能就是能够让应用程序之间实现通信。这个层有两种比较常见的协议。第一个是TCP协议,它是一种面向有连接的传输层协议。面向有连接就是传输的两端会先建立一个稳定的连接,在进行传输。而与之相对的是面向无连接的传输层协议,数据的发送方并不保证接收方的存在,就直接发送数据。TCP协议能够正确在传输过程中处理丢包、传输顺序乱掉等异常情况。第二个是UDP,它属于面向无连接的传输层协议,所以它不会去关注接收方是否真的收到了数据。它一般用在分组数据较少或者多播、广播通信以及视频通信等领域。

互联网层

? ? ? ? TCP/IP的互联网层对应的是OSI的网络层。其一般使用的IP协议。IP协议基于IP地址转发分包数据。此外,连接互联网的所有主机跟路由器都必须实现IP的功能。IP协议使用的是IP地址作为主机的标识,但是它不具有重发性,属于非可靠传输协议。ICMP协议是在IP的基础上完善了消息重发,一般用来诊断网络的健康状况。ARP也是互联网层的协议,它是根据从数据包的IP地址种解析出物理地址(MAC)的一种协议。

网络接口层和硬件层

? ? ? ? 网络接口层对应的是OSI的数据链路层,它利用以太网种的数据链路层进行通信,属于接口层,可以把它理解为硬件层的“驱动程序”。而硬件层则是最底层,是负责数据传输的硬件。它确保了TCP/IP是在网络互连的之间进行通信。

数据包

? ? ? ? TCP/IP一般通过数据包来进行传输。在每个分层中,都会对所发数据包附加一个首部,这个首部中包含的是该层的必要信息。数据包有很多表示数据的单位,有包、帧、数据报、段和消息。其中,包是一个比较全面的术语;帧用来表示数据链路层中包的单位;数据报是IP和UDP等网络层以上的分层中包的单位。段则表示TCP数据流中的信息;消息是指应用协议中数据的的单位。

本文为个人学习笔记,如有问题欢迎讨论和指出@茱莉亚之歌

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 12:08:14  更:2021-09-09 12:08:46 
 
开发: 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年6日历 -2024/6/27 2:00:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码