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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 简要说明网络原理 -> 正文阅读

[网络协议]简要说明网络原理

1. IP地址

概念
IP地址主要用于标识网络主机. 其他网络设备(路由器)的网络地址. IP地址用于定位主机的网络地址

格式
IP地址是一个32位的二进制数, 通常被分割为4个8位二进制数, 通常用"点分十进制"的方式来表示. 如:101.1.1.1

特殊IP地址
127.*: 本机环回测试, 通常为127.0.0.1
它主要用于本机的网络通信, 如果用网络方式进行本机通信, 会降低性能

我们在进行网络通信时, 已经知道了网络的IP地址, 他可以定位到网络主机, 但是并不会定位到某个进程进行通信, 所以需要端口号来表示

2. 端口号

概念
端口号主要用来定位主机中的进程, 在网络通信中, 进程通过端口号来发送及接收网络数据.

格式
端口号是0~65535范围的数字
两个进程不能绑定同一个端口号, 一个进程可以绑定多个端口号.

端口号的确定
每个应用程序都有自己指定的端口号, 例如HTTP. FTP. TELNET等使用的端口号都是固定的, 这些端口号被称为知名端口号, 分布在0~1023之间, 除了知名端口号之外, 还有一些端口号被正式注册, 他们分布在1024 ~ 49151之间.
服务器有必要确定监听端口号, 但是对于接受服务的客户端没必要确定端口号, 在这种情况下, 客户端应用程序完全可以不用自己设置端口号, 交给操作系统进行分配. 动态分配的端口号范围在49152 ~ 65535之间

通过IP地址和端口号可以定位到网络中唯一个进程, 但是网络通信是基于二进制数据来传输, 又该如何将这个数据告诉接收方, 接收方又是如何处理的呢?

3. 协议

网络协议是网络通信经过所有网络设备都必须共同遵从的一组约定.

网络协议由三个要素组成

语法: 用户数据与控制信息的结构或格式, 以及数据出现的顺序.

语义: 解释控制信息每个部分的意义, 它规定了需要发出何种控制信息, 以及完成的动作与做出什么样的响应

时序: 对事件发生的顺序的详细说明

五元组

在TCP/IP协议中, 用五元组标识一个网络通信

  • 源IP: 标识源主机
  • 源端口号: 标识源主机中该次通信发送的数据的进程
  • 目的IP: 标识目的主机
  • 目的端口号: 标识目的主机中农该次通信发送的数据的进程
  • 协议号: 标识发送进程和接收进程双方约定的数据格式

4. 协议分层

对于适用方来说, 并不需要关心提供方是如何实现的, 只需要适用协议的接口就行了

对于提供方来说, 利用封装的特性, 隐藏了实现的细节, 只需要开放接口即可

对于OSI模型由七层协议

  • 应用层: 针对特定应用的协议
  • 表示层: 设备固有数据格式和网络标准数据格式的转换
  • 会话层: 通信管理, 负责建立和断开通信连接
  • 传输层: 管理两个节点之间的数据传输, 负责可靠传输
  • 网络层: 地址管理和路由选择
  • 数据链路层: 互连设备之间传送和识别数据帧
  • 物理层: 以’0’ '1’代表电压的高低, 灯光的闪灭. 界定连接器和网线的规格

实际组建网络时, 只是以OSI七层模型设计中的部分分层. 也就是TCP/IP五层模型

TCP/IP五层协议

  • 应用层: 负责应用程序间通信, 如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远
    程访问协议(Telnet)等
  • 传输层: 负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机
  • 网络层: 负责地址管理和路由选择
  • 数据链路层: 负责设备之间的数据帧的传送和识别
  • 物理层: 负责光/电信号的传递方式
    在这里插入图片描述

5. 封装和分用

数据包
包: 全能性术语
帧: 用于表示数据链路层中包的单位
数据包: IP和UDP等网络层以上的分层中的单位
段: TCP数据流中的信息
消息: 应用层协议中数据的单位

在每个分层中, 都会对所发送的数据附加一个首部, 在这个首部中包含了该层必要的信息
在这里插入图片描述当用户发送数据时, 该数据进入传输层, 传输层将发送的数据附加一个TCP包首部, 然后封装起来发送到网络层. 此时网络层传输层发来得数据看成一个数据, 在这个数据上加一个IP包首部. 再次进入数据链路层将网络层发来的数据加上以太网包首部.

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

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