| |
|
开发:
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协议:可靠传输,面向连接采用流量控制,超时重传、拥塞控制等来保证数据能够传输到目的地址 UDP协议:需要连接只负责发送数据包,不负责保证数据包传输目的地,优点是高效,传输效率高,实时性能高 应用需要传输的数据可能会非常大,如果直接传输就不好控制,因此当传输层的数据包大小超过 MSS(TCP 最大报文段长度) ,就要将数据包分块,这样即使中途有一个分块丢失或损坏了,只需要重新发送这一个分块,而不用重新发送整个数据包。在 TCP 协议中,我们把每个分块称为一个 TCP 段(TCP Segment)。 当设备为接收方时,传输层需要把数据传输给应用层,但是,有可能有许多应用等待传输层传输数据,这时候就需要编号将应用分区,这个编号就叫做端口 比如 80 端口通常是 Web 服务器用的,22 端口通常是远程登录服务器用的。而对于浏览器(客户端)中的每个标签栏都是一个独立的进程,操作系统会为这些进程分配临时的端口号 由于传输层的报文会携带端口,所以接收方知道该报文传输给哪个应用 网络层网络层是用来实现数据实际的传输功能。而传输层并不是用来传输数据的,是用来服务应用的,如果传输层不仅向数据传输数据,还负责在网络各种各样的路径和节点进行选择,那么这就与最初传输层简单,高效的涉设计理念相违背。所以实际传输数据就交给网络层。 网络层最常使用的是 IP 协议(Internet Protocol),IP 协议会将传输层的报文作为数据部分,再加上 IP 包头组装成 IP 报文,如果 IP 报文大小超过 MTU(以太网中一般为 1500 字节)就会再次进行分片,得到一个即将发送到网络的 IP 报文。 IP地址一共有32位,寻址起来特别麻烦,不可能一个个去匹配,因此IP地址被分成两个意义
在实际网络中,两个设备并不是直线连着的,很多时候是通过路由器,网关,交换机来进行连接的,所以IP寻址还有一个重要的能力,就是路由。路由器寻址工作中,就是要找到目标地址的子网,找到后进而把数据包转发给对应的网络内。 所以,IP 协议的寻址作用是告诉我们去往下一个目的地该朝哪个方向走,路由则是根据「下一个目的地」选择路径。寻址更像在导航,路由更像在操作方向盘。 网络接口层生成了 IP 头部之后,接下来要交给网络接口层(Link Layer)在 IP 头部的前面加上 MAC 头部,并封装成数据帧(Data frame)发送到网络上 以太网:电脑上的以太网接口,Wi-Fi接口,以太网交换机、路由器上的千兆,万兆以太网口,还有网线,它们都是以太网的组成部分。以太网就是一种在「局域网」内,把附近的设备连接起来,使它们之间可以进行通讯的技术 以太网在判断网络包目的地时和 IP 的方式不同,因此必须采用相匹配的方式才能在以太网中将包发往目的地,而 MAC 头部就是干这个用的,所以,在以太网进行通讯要用到 MAC 地址。 MAC 头部是以太网使用的头部,它包含了接收方和发送方的 MAC 地址等信息,我们可以通过 ARP 协议获取对方的 MAC 地址。 ? |
|
网络协议 最新文章 |
使用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 20:15:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |