linux网络编程

1.网络基础

网络的体系结构,有两类非常重要的体系结构:OSI和 TCP/IP。

OSI模型

相关的协议已经很少使用,但模型本身非常通用 OSI模型是一个理想化的模型,尚未有完整的

实现 OSI模型共有七层 二层交换机,三层交换机

TCP/IP协议族体系

TCP/IP协议族体系是Internet事实上的工业标准。 一共有四层

应用层: Relnet,FTP,HTTP,DNS,SMTP等

传输层: TCP和UDP 网络层 IP,ICMP和IGMP,端到端传输

网络接口和物理层; 以太网,令牌环网,FDDI,wifi,gps/2G/3G/4G,驱动(屏蔽硬件差异)

网络各层的协议解释
1.网络接口和物理层

mac地址:48位全球唯一,网络设备的身份标识

2.网络层

ARP:地址解析协议,IP地址找到mac地址

RARP:mac地址--找到IP地址

PPP协议:拨号协议(GPRS/3G/4G)

IP地址 IP协议:Internet protocol(分为IPv4和IPv6)

ICMP:Internet控制管理协议,Ping 命令属于ICMP

IGMP:Internet分组管理协议,广播和组播

3.传输层
TCP:(Transfer Control protocol,传输控制协议)

提供面向连接的,一对一的可靠传输的协议 数据无误,数据不丢失,数据无失序 适用场景 适合对传输质量要求较高,以及传输大量数据的通信 在需要可靠数据传输的场合,通常适用TCP协议 MSN/QQ等即时通讯软件的用户登录账号管理相关的功能通常采用TCP协议

UDP:(user Datagram Protocol,用户数据报协议)

提供不可靠,无连接的传输协议 适用场景 发送小尺寸数据(如对DNS服务器进行IP地址查询时) 在接收数据,给出应答较困难的网络中适用UDP(如无线网络) 适合于广播/组播式通信中 MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通常采用UDP协议 流媒体,VOD,VoIP,IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输

SCTP:(Stream Control Transmission Protocol:流控制传输协议)

TCP的增强版,他能实现多主机, 多链路的通信。

4.应用层

网页访问协议:

HTTP/HTTPS 邮件发送接收协议:
POP3(收)/SMTP(发),
IMAP(可接受邮件的一部分)
FTP:文件传输协议
Telnet/ssh:远程登录
嵌入式相关

NTP:网络时钟协议

SNMP:简单网络管理协议(实现对网络涉及集中式管理)

RTP/RSTP:用于传输音视频的协议(安防监控

相关推荐
脏脏a31 分钟前
【Linux】Linux进程状态深度解析
linux·运维·服务器
brave and determined31 分钟前
接口通讯学习(day04):RS-232与RS-485:通信接口全解析
网络·uart·通讯·emc·rs232·rs485·嵌入式设计
檀越剑指大厂31 分钟前
在家也能远程调代码?WSL+cpolar 的实用技巧分享
网络
凉晓风32 分钟前
Linux中常见几种自启动方式的区别
linux·运维·服务器
小熊officer34 分钟前
Nginx学习
运维·学习·nginx
秋邱37 分钟前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker
爱学习的大牛1231 小时前
如何系统学习网络渗透测试:从入门到精通的完整指南
网络·学习
程序猿编码1 小时前
PRINCE算法的密码生成器:原理与设计思路(C/C++代码实现)
c语言·网络·c++·算法·安全·prince
ManThink Technology1 小时前
LoRaWAN网关:连接私有服务器是“可行”还是“明智”?
运维·服务器
t***82112 小时前
华为数据中心CE系列交换机级联M-LAG配置示例
服务器·华为·php