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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络协议基础 -> 正文阅读

[网络协议]网络协议基础

网络协议分层

通用的网络协议是分层的,每一层都有各自的作用和职责,通常是由上到下,分成 5
层。iOS参考模型有七层,对比如下:
在这里插入图片描述

应用层

最上层的,也是我们能直接接触到的就是应用层( Application Layer ),我们电
脑或手机使用的应用软件都是在应用层实现。那么,当两个不同设备的应用需要通信
的时候,应用就把应用数据传给下一层,也就是传输层。
所以,应用层只需要专注于为用户提供应用功能,不用去关心数据是如何传输的,就
类似于,我们寄快递的时候,只需要把包裹交给快递员,由他负责运输快递,我们不
需要关心快递是如何被运输的。
而且应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态。

传输层

应用层的数据包会传给传输层,传输层(Transport Layer)是为应用层提供网络支
持的。
在这里插入图片描述
在传输层中有两种协议,分别是TCP和UDP.

  • TCP 的全称叫传输层控制协议( Transmission Control Protocol ),大部分应用使用的正是 TCP 传输层协议,比如 HTTP 应用层协议。TCP 相比 UDP 多了很多特性,比如流量控制、超时重传、拥塞控制等,这些都是为了保证数据包能可靠地传输给对方。
  • UDP 就相对很简单,简单到只负责发送数据包,不保证数据包是否能抵达对方,但它实时性相对更好,传输效率也高。当然,UDP 也可以实现可靠传输,把 TCP 的特性在应用层上实现就可以,不过要实现一个商用的可靠 UDP 传输协议,也不是一件简单的事情。

TCP和UDP传输协议区别

1、udp是无连接的,tcp是面向连接的;
2、udp是不可靠传输,tcp是可靠传输;
3、udp是面向报文传输,tcp是面向字节流传输。
端口
当设备作为接收方时,传输层则要负责把数据包传给应用,但是一台设备上可能会有
很多应用在接收或者传输数据,因此需要用一个编号将应用区分开来,这个编号就是
端口。(相当于应用的身份证号)

比如 80 端口通常是 Web 服务器用的, 22 端口通常是 SSH 远程登录服务器用的。
而对于浏览器(客户端)中的每个标签栏都是一个独立的进程,操作系统会为这些进
程分配临时的端口号。
由于传输层的报文中会携带端口号,因此接收方可以识别出该报文是发送给哪个应
用。

网络层

网络层最常使用的是 IP 协议(Internet Protocol),IP 协议会将传输层的报文作为数
据部分,再加上 IP 包头组装成 IP 报文,如果 IP 报文大小超过 MTU(以太网中一般
为 1500 字节)就会再次进行分片,得到一个即将发送到网络的 IP 报文。

对于 IPv4 协议, IP 地址共 32 位,分成了四段,每段是 8 位。为了区分,这里用到了子网掩码;
需要将 IP 地址分成两种意义:

一个是网络号,负责标识该 IP 地址是属于哪个子网的;
一个是主机号,负责标识同一子网下的不同主机;

IP 协议还有另一个重要的能力就是路由。实际场景中,两台设备并不是用一条网线连接起来的,而是通过很多网关、路由器、交换机等众多网络设备连接起来的,那么就会形成很多条网络的路径,因此当数据包到达一个网络节点,就需要通过算法决定下一步走哪条路径。

IP 协议的寻址作用是告诉我们去往下一个目的地该朝哪个方向走,路由则是根据「下一个目的地」选择路径。寻址更像在导航,路由更像在操作方向盘。

数据链路层

专门的层来标识网络中的设备,让数据在一个链路中传输,这就是数据链路层( Data Link Layer ),它主要为网络层提供链路级别传输的服务。

每一台设备的网卡都会有一个 MAC 地址,它就是用来唯一标识设备的。路由器计算 出了下一个目的地 IP 地址,再通过 ARP协议找到该目的地的 MAC 地址,这样就知 道这个 IP 地址是哪个设备的了。

物理层

当数据准备要从设备发送到网络时,需要把数据包转换成电信号,让其可以在物理介
质中传输,这一层就是物理层( Physical Layer ),它主要是为数据链路层提供二
进制传输的服务

关于IP

IP的基本认识

ip的作用

IP 在 TCP/IP 参考模型中处于第三层,也就是网络层
网络层的主要作用是:实现主机与主机之间的通信,也叫点对点(end to end)通
信。
在这里插入图片描述

ip与Mac的关系

MAC 的作用则是实现「直连」的两个设备之间通信,而 IP 则负责在「没有直连」的两个网络之间进行通信传输。

IP地址的基础知识

ip地址的定义

在 TCP/IP 网络通信时,为了保证能正常通信,每个设备都需要配置正确的 IP 地址,
否则无法实现正常的通信。
IP 地址(IPv4 地址)由 32 位正整数来表示,IP 地址在计算机是以二进制的方式处
理的。

IP地址分类

互联网诞生之初,IP 地址显得很充裕,于是计算机科学家们设计了分类地址。
IP 地址分类成了 5 种类型,分别是 A 类、B 类、C 类、D 类、E 类。在这里插入图片描述

主机号全为 1 指定某个网络下的所有主机,用于广播
主机号全为 0 指定某个网络
因此,在分配过程中,应该去掉这两种情况

广播地址就是主机号都为1,意思就是包括这个网络内的所有主机

公有IP和私有IP

在ABC三类IP地址中,还可以分为公有IP和私有IP地址。
在这里插入图片描述

IP 地址与路由控制

IP地址的网络地址这一部分是用于进行路由控制。
路由控制表中记录着网络地址与下一步应该发送至路由器的地址,在主机和路由器上都会有各自的路由器控制表。
在发送 IP 包时,首先要确定 IP 包首部中的目标地址,再从路由控制表中找到与该地
址具有相同网络地址的记录,根据该记录将 IP 包转发给相应的下一个路由器。如果
路由控制表中存在多条相同网络地址的记录,就选择相同位数最多的网络地址,也就
是最长匹配。在这里插入图片描述
计算机使用一个特殊的 IP 地址 127.0.0.1 作为环回地址,与该地址具有相同意义的
是一个叫做 localhost 的主机名。
使用这个 IP 或主机名时,数据包不会流向网络。

IP 协议相关技术

跟 IP 协议相关的技术也不少,接下来说说与 IP 协议相关的重要且常见的技术。

  • DNS 域名解析
  • ARP 与 RARP 协议
  • DHCP 动态获取 IP 地址
  • NAT 网络地址转换
  • ICMP 互联网控制报文协议

DNS 域名解析

我们在上网的时候,通常使用的方式域名,而不是 IP 地址,因为域名方便人类记
忆。
那么实现这一技术的就是 DNS 域名解析,DNS 可以将域名网址自动转换为具体的 IP
地址。

在域名中,越靠右的位置表示其层级越高。

DNS解析图解
在这里插入图片描述

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

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