c/c++ 网络基础概述

网络数据传送

1:网卡: 电脑或手机发送数据的设备, 有线网卡设备和无线网卡设备;
这里写图片描述
os操作系统通过操作网卡来收发网络数据
这里写图片描述
这里写图片描述


2:每个网卡都有一个Mac地址,是表示网络中唯一的地址;

3:每个接入到互联网的机器在互联网上会有一个IP地址;
Ip地址目前主要有两种模式: (1)ipv4 ip地址 (2) ipv6 地址;
这里写图片描述
4: 操作系统通过网卡驱动,识别和使用网卡设备;
(1)发送数据,操作系统向网卡发送数据,数据里面带有这个数据包要去的IP地址,
(2) 网卡会把数据发出去给网络,网络会转到数据包对应的IP地址;
(3)网卡接收到数据后会把数据通知操作系统;
这里写图片描述
(4)应用程序使用操作系统指定的API接口和模式来 接收和发送网络数据包;
这里写图片描述

在同一个网络之内不可能有同一个Ip是重复的


socket (套接字)

1: socket是操作系统提供给应用程序用来发送数据的对象;
2: socket 主要有两种模式在使用:
TCP socket: 可靠的数传输协议; TCP 协议栈
UDP socket:不可靠的传输协议;
3: 基于socket对象操作系统提供了一些列的接口来收发数据;


TCP socket原理

1: 客户端:
(1) 创建一个TCP 模式的socket;
(2) 根据IP地址和端口, 与指定的服务器进行连接;
(3) 连接成功以后, 可以使用socket向服务器发送数据和接收数据;
(4) 主动关闭连接/被动关闭连接;
2: 服务器:
(1) 创建一个TCP 的socket;
(2) 调用操作系统API,让这个socket监听到指定的端口上;
(3) 当有客户端连接的时候,监听socket收到客户端的连接请求数据;
(4) 验证通过后:创建一个新的socket与对应的客户端进行通讯;
(5) 关闭监听端口,再也无法接入新的socket;
(6) 关闭与客户端连接的socket, 断开与客户端的连接;
3: 可靠的数据收发协议:
TCP 建立连接后:
发送数据: 要收到对方的确认才算成功, 才会发送下一个;
接收数据: 收到数据后,要发送给对方一个确认,才能接受下一个;


这里写图片描述

三次握手


UDP 数据传送

##

1: 客户端/服务器:
(1)创建一个UDP socket;
(2)把数据包发送给指定的IP地址;
(3)从指定的IP地址接受数据;
(4)关闭socket;

2: UDP 是不可靠的网络传输:
(1)有可能数据包丢失;
(2)有可能先发的后到,后发的先到;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值