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

[网络协议]网络协议概述

一、网络概述

计算机网络是指通过传输介质、通信设备和网络通信协议、将分散在不同地点的计算机互联起来,实现资源功能共享和数据传输的系统。

传输介质:光纤、线缆…
通信设备:路由器、猫、交换机…
网络通信协议:http、tcp、ip…

网络编程:指编写程序是互联网中两个或者多个设备直接进行数据传输

1.1 OSI模型

OSI(Open System Interconnection)网络通信进行分层:七层
物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
在这里插入图片描述

OSI参考模型各层解释
物理层处于OSI的最底层,主要传输原始比特流(bits)。交换机、光纤等,主要为数据段的设备提供传送数据的通道以及传输数据。
数据链路层数据链路层是实现计算机网络相邻节点之间的可靠传输。把原始的,有差错的传输线路上添加数据链路层协议之后,构成逻辑上可靠的数据链路。主要功能:链路管理、差错控制以及流量控制
网络层网络层源主机节点到目的主机节点之间的可靠传输(IP)主要功能:路由选择、网络寻址、流量控制、拥塞控制、网络互连
传输层传输层起着承上启下的作用,是源端点到目的端点之间的可靠信息传输(端口port)(解析出对应电脑的那个应用),传输层解决的是跨越网络连接的建立和释放(TCP三次握手和释放时四次挥手)
会话层负责程序之间的建立、维护和中断会话对设备和节点之间的会话控制、协调系统和服务之间的交流
表示层提供传输数据的格式信息定义,主要是将提供的信息转化为能够共同理解的信息。提供数据格式,控制信息格式、加密等的统一处理。(包装关键信息:发送者、接受方、发送时间、消息类型:文字、表情、语音、视频、文件)
应用层直接为应用程序提供服务。

1.2 TCP/IP协议族

传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol)
将网络通信划分了4层:网络接口层、网络层、传输层、应用层
在这里插入图片描述

TCP/IP协议族各层解释
网络接口层网络接口层对应OSI中物理层和数据链路层
网络互联层(IP层)把上层提交的信息分组发送到目标网络或注解(IP)
传输层(TCP层)TCP负责在应用之间建立端到端的连接和可靠通信,UDP提供了无连接的服务、不可靠的通信
应用层为网络中的各种网络应用提供服务应用层对应是OSI中会话层。表示层和应用层

1.3 各层协议介绍

在这里插入图片描述
应用层;
协议:ftp、SMTP、HTTP

FTP(File Transfer Protocol) 文件传输协议<端口号21> 减少或消除不同操作系统下文件处理的不兼容性

HTTP(Hypertext Transfer Protocol)超文本传输协议<端口号 80>,主要是web浏览器和服务端交互使用的协议

SMTP(Simple Mail Transfer Protocol)简单邮件传输协议 <端口25> 用来发送邮件的

传输层:
协议:TCP、UDP
TCP(Transmission Control Protocol)传输控制协议提供可靠的面向连接的服务
数据传输之前必须先建立连接,结束后释放,可靠的全双工信道。可靠、有序、无丢失、不重复

UDP(User Datagram Protocol)用户数据包协议发送数据前无需建立建立,不使用拥塞控制,不保证可靠传输,最大能力交付

网络层:
IP(Internet Protocol)网络互连协议(Ipv4/IPv6)

链路层:
协议:ARP和RARP
ARP:地址解析协议,实现IP地址转换为Mac物理地址信息(网卡)(收消息)
RARP反向地址解析协议:实现网卡地址信息转化为IP信息(发消息)

1.4 数据包

包、帧、数据包、段、消息
以上五个术语都用来表述数据的单位,区分如下:
包可以说是全能性术语;
帧用于表示数据链路层中包的单位;
数据包是 IP 和 UDP 等网络层以上的分层中包的单位;
段则表示 TCP 数据流中的信息;
消息是指应用协议中数据的单位。

每个分层中,都会对所发送的数据附加一个首部,首部包含该层的必要信息,发送:目标地址、端口、即相关协议
在这里插入图片描述
网络中传输的数据包由两部分组成,一部分是协议所在的首部,另一部分是上一层传递过来的数据,首部非结构由协议的具体规范详细定义的,在数据包的首部,明确的标明协议应该如何读取,反过来,看到首部,也就可以了解协议的必要信息以及下来处理的流程。

1.5 数据处理流程

加入a用户项b用户发送一个邮件为例:

消息在发送时就是从协议从上往下进行数据包传递,在每一层封装包首部信息
在接受协议是从下往上进行传递,在每一层解析对于的包首部
在这里插入图片描述

1.6 TCP/IP协议

1.6.1 TCP协议

TCP (Transmission Control Protocol ,传输控制协议)是面向连接的传输层协议。TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。

TCP协议采用字节流传输数据。

1.6.2 TCP协议特点

  1. 面向连接:通信之前必须建立连接

  2. 每一条TCP连接只能是点对点的(一对一);

  3. 提供可靠交付的服务:通过TCP连接传输的数据,无差错,不丢失,不重复。

  4. 提供全双工通信;

  5. 面向字节流。虽然程序和TCP交互是一次一个数据块,但是把应用程序交下来的数据看成仅仅是一连串的无结构的字节流。

  6. TCP首部占20字节。

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

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