本文已参与「新人创作礼」活动,一起开启掘金创作之路。
网络编程入门(C++)
- 下层为上层提供服务
- 每一层都有属于自己的包体结构
tcp/ip协议族
| 名词 | 业务 | 描述 |
|---|---|---|
| 应用层 | DNS、HTTP、FTP、PING | 软件程序 |
| 传输层 | TCP、UDP | 操作系统 |
| 网络层 | ICMP、IP、ARP | 操作系统 |
| 物理层 | 物理网络 双绞线、无线网、光纤 | 硬件设备 |
ARP:协议的主要功能是将IP地址解析为物理地址 ARP欺骗攻击
ICMP:报文协议 用于确认消息是否可达
IP协议:IP提供不可靠的,无连接的数据传送服务。
TCP协议:提供可靠的连接服务 基于IP
UDP协议:提供可靠的连接服务 基于IP
PING协议:基于ICMP协议
网络字节序
部分知识来源于博客:blog.csdn.net/z_ryan/arti…
-
“大端”和”小端”表示多字节值的哪一端存储在该值的起始地址处;小端存储在起始地址处,即是小端字节序,大端存储在起始地址处,即是大端字节序;
-
网络字节序是大端
TIPS: 网络字节序转化为主机字节序时,一定要注意是否需要转换。网络字节序采用大端(big-endian)排序方式。主机字节序采用小端(big-endian)排序方式。字节序是指大于一个字节类型的数据在内存中的存放顺序。该知识点是在跨平台和网络编程中时常要考虑的问题。 大端字节序:最高有效位排放在内存中的低地址端,最低有效位排放在内存中的高地址端。小端字节序:最低有效位排放在内存中的低地址端,最高有效位排放在内存中的高地址端。
如图,当以不同的存储方式,存储数据为0x12345678时:
套接字/句柄/SOCKET
套接字类似于指针,绑定了对端的IP和端口的一个暴露的值。
流套接字(SOCK_STREAM): TCP的控制协议。
数据报套接字(SOCK_DGRAM): 报文协议 UDP。
原始套接字(SOCK_RAW): 最原始的底层协议,可以手动实现TCP和UDP的底层。
三次握手四次挥手
| 专有名词 | 作用 |
|---|---|
| ACK | 确认是否有效 值为1 |
| seq | 序列号标记位 |
| SYN | 请求建立连接 值为1 |
| FIN | 希望断开连接 |
版权声明:本文为CSDN博主「ufgnix0802」的原创文章:
原文链接:(blog.csdn.net/qq135595696…)