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协议

通常分为四层:应用层、传输层、网络互联层、主机到网络层

IP协议

ICMP协议:主要用于网络传输的诊断,错误,控制信息

IP数据报文

IP头部

ICMP报文

TCP协议:基于IP协议进行封装

----------------------------------------IP 数据--------------------------------------------------------

????????????????????????????????????????????????| -------------- tcp数据包 ----------------------------------

IP头部 ???????????????????????????????????|? ? ? ? ? ? ? ?TCP头部? ? ? ? TCP数据

-----------------------------------------------------------------------------------------------------------

URG

紧急指针字段

ACK

确认标志位

PSH

表示接受方许需要尽快将此数据交给应用层

RST

重建连接

SYN

发送连接请求

FIN

将要断开请求

TCP协议连接的三次握手和断开时的四次握手

????????????????????????????????????????????????????????连接(connect):

主机A ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????主机B

一:主机A

发送SYN 段连接请求至B, 就是初始序列号(ISN)1234567890

二:主机B接收到连接请求, 发送SYN段 987654321至主机A, 同时还会加上一个应答确认ack,即主机A的ISN+1,1234567891

三:主机A收到应答确认及其主机B的回应连接,再次发送确认标准ack,主机B的SYN段里的ISN+1,即

987654322,至此TCP连接完成

????????????????????????????????????????????????????????????????????????断开(break):

主机A? ? ? ? ? ? ? ? ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????主机B

一:主机A

发送FIN 段断开请求至B, 1234567891包括ack应答标志987654322

二:主机B接收断开请求,先发送ack确认标志 ISN+1, 1234567892

三:主机B再发送FIN断开请求,987654322和应答标志,主机A的ISN+1, 1234567892

四:主机A对主机B的请求确认,发送确认标志 987654322

UDP协议:

数据包基本和tcp协议一致,与TCP不同的是,发送方不提供数据包的顺序,接受方不向发送方回应确认信息,所以UDP的数据传输不是安全的,不保证数据的完整性。

优点是执行速度会快很多,因为TCP传输对系统造成的负荷更高。

ARP协议:

主要用于建立IP和硬件地址的对应关系

比如ping IP的过程:

  1. 域名解析:ping程序判断是主机名还是IP, 如果是主机名,则会调用gethostby_name()得到32位的IP地址。
  2. ping程序向目的IP发送ICMP的ECHO包。
  3. 将目的IP转换成硬件地址(48)位, 这里就是调用ARP协议,发送ARP请求广播,查找目的主机硬件地址。
  4. 目的主机接受到ARP请求,发送ARP应答到请求主机
  5. 请求主机发送ICMP数据包到请求主机。
  6. 目的主机接收到ICMP数据包,发送响应包(就是ping打印的那一堆东西)
  7. 请求主机接受响应包

RARP协议:逆地址解析协议,即同过硬件地址获取ip地址

HTTP协议:

建立在TCP/IP协议的连接上,默认端口是80

FTP协议:也是建立在TCP协议上进行,和HTTP协议的区别是,FTP使用了两个TCP(并行)来传送文件,一个用来控制连接(21端口),一个数据连接(20端口),数据连接只负责数据传输,其它的命令,和用户名等管理均在控制连接里进行

FTP通常有主动被动两种模式:

主动:数据采用标准端口进行传输连接

被动:数据传输采用高端口上的随机一个(即1024以上的端口),这里的注意有些防火墙对没开发的端口会进行拦截,所以需要主动和被动模式切换

传输数据一般使用二进制的传输方式, 保证数据文件完整性。

网络字节序的转换:

网络标准字节序位大端字节序

htons() ntohs() htonl () ntohl() s表示short类型 ,l代表long类型 ,h代表主机, n代表网络

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

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