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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络编程套接字 -> 正文阅读

[网络协议]网络编程套接字

IP地址+端口号就叫套接字,用于定位主机中的一个进程

  • 我们在系统编程部分学过管道,管道是用于同一主机下不同进程间的通信
  • 套接字则用于不同主机之间的通信,由套接字定位需要通信的进程

网络五元组信息

一条网络数据一定包含5部分信息

源IP地址表示该条消息来自哪个机器
源端口表示该条消息来自于哪个端口
目的IP地址表示该条消息去哪个机器
目的端口表示该条消息去哪个进程
协议双方网络数据采用的具体网络协议

UDP简单的特性

1.无连接:

  • UDP客户端给服务端发送消息时,不需要和服务端先建立连接,直接发送
  • 也就是说客户端不知道服务端是否在线,是否在工作,只进行发送,不关心是否能到服务端

2.不可靠

  • UDP并不会保证数据是可靠有序到达对端
  • 也就是说多次发送的信息可能是无序的

3.面向数据报

  • UDP不管是和应用层还是网络层进行数据传递的时候都是整条数据交互的
  • 也就是说,UDP是传输层协议,上面是应用层,下面是网络层;
  • 要想使用UDP发送数据,我们在应用层调用UDP发送接口;
  • 把数据给传输层的UDP协议后,该协议会在传输层打上UDP数据包头,即刻将数据给网络层;
  • 不会等待下一条数据和上一条数据一起处理

TCP简单特性

1.面向连接

  • 通信双方在发送数据之前,必须先建立连接,再进行发送

2.可靠传输

  • 保证数据是可靠并且有序的到达对端
  • 有序的意思是数据到达应用层是有序的,当后边数据先到达,它会等待前边的数据

3.面向字节流

  • 多次发送的数据在网络传输过程当中没有明显的数据边界;
  • 例如先发送123,再发送456,123和456中间是没有间隔的;
  • 如果该数据之间传输到对端,接收端拿到123456时,它是无法通过原生数据区分是先发12还是再发3456的;
  • 将这种没有明显间隔的数据称为TCP粘包问题(后续讲解)

网络字节序

先回顾C语言阶段我们学过小端字节序和大端字节序;

网络字节序出现的原因:

  • 因为数据在物理层传输时是二进制形式,数据通过网络进入机器后,需要在网络层解析一遍,机器也要解析一边;
  • 规定在网络层以大端字节序解析,对于机器使用大小端字节序解析均可;
  • 如果是小端字节序的机器不经过转换,传输到网络后到达对端,因为解析的不同会导致数据错误;
  • 网络中规定了字节序后,网络设备就能依据网络传输数据中的IP和端口进行传输;
    交换机,路由器之所以能转发数据,需要知道该数据到哪一台机器中去,就需要解析该数据

在这里插入图片描述

主机字节序:指当前机器的字节序

这两种字节序就一定牵涉到网络当中,IP和端口的主机字节序与网络字节序的相互转换

在这里插入图片描述
在这里插入图片描述

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

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