网络编程基础

OSI模型--->7层

**应用层:**为网络用户提供各种服务,如电子邮件,文件传输等

表示层:为不同主机间通信提供统一的数据表示形式

**会话层:**负责信息传输的组织和协调,管理进程会话过程

**传输层:**管理网络通信两端的数据传输,提供可靠(TCP)或不可靠(UDP)的传输服务

**网络层:**负责数据传输的路由选择和网际互连

**数据链路层:**负责物理相邻的主机间的数据传输

**物理层:**负责把主机中的数据转换成电信号,再通过网络介质来传输

TCP/IP模型

应用层----》应用程序

传输层----》端口号tcp(可靠传输),udp(不可靠传输)

网络层----》IP地址

接口层----》网卡,驱动

TCP/IP协议族

应用层:HTTP ----超文本传输协议 TFTP ----简单文件传输协议 FTP----文件传输协议

DNS ----域名解析,将人易于理解的域名翻译成电脑使用的ip地址 DHCP ----动态主机配置协议,用于分配ip地址(路由器) SNMP---- 简单网络管理协议 DNS---域名系统,用于实现域名<-->ip地址的映射

传输层:TCP ---可靠传输 UDP---不可靠传输

网络层:IP ----互联网管理控制协议 ICMP----互联网协议(用于找到对应的IP地址)

IGMP----网络组播协议

接口层:ARP ----地址转换协议(已知IP地址,获取MAC地址) RARP----逆地址解析协议(已知MAC地址,获取IP地址)

IP地址的组成

IP地址=网络位+主机位

IP地址的表示方法:点分十进制,eg:192.168.1.138

IP地址的分类

A类:超大规模性网络,1.0.0.0----126.255.255.255,第一位为网络位,其余三位为主机位

B类:大中规模性网络,128.0.0.0----191.255.255.255,第一,二位为网络位,其余两位为主机位

C类:中小规模性网络,192.0.0.0----223.255.255.255,前三位为网络位,最后位为主机位

D类:组播+广播,224.0.0.0----239.255.255.255,不划分网络位和主机位

E类:用于实验和研究,240.0.0.0----255.255.255.255,不划分网络位和主机位

Linux中网络相关命令

1.ifconfig:查询网络相关信息,配置ip地址

2.ping:测试网络联通性

3.netstat:一般会加上后缀-anp,用于查看本机所有的网络连接信息

网络接口

1.socket: 套接字,是操作系统提供的一种抽象编程接口 ,它是网络通信的端点 ,本质上是 IP地址 + 端口号 的组合,用于唯一标识网络中的一个进程。本质为文件描述符

**2.ip+port:**地址+端口---》地址用来识别主机,端口号用来识别进程

网络字节序

字节序用于表示数据如何存储,在linux系统中网络字节序为大端存储,即数据的低位放在内存的高位地址

相关推荐
拾忆,想起8 分钟前
Dubbo配置方式大全:七种配置任你选,轻松玩转微服务!
服务器·网络·网络协议·微服务·云原生·架构·dubbo
2501_941142938 分钟前
云原生微服务环境下服务熔断与降级优化实践——提升系统稳定性与容错能力
java·大数据·网络
国科安芯1 小时前
航天医疗领域AS32S601芯片的性能分析与适配性探讨
大数据·网络·人工智能·单片机·嵌入式硬件·fpga开发·性能优化
zhurui_xiaozhuzaizai1 小时前
MoE模型的核心架构---专家网络---门控网络/路由器
网络·架构
普罗米修斯Aaron_Swartz2 小时前
云主机(容器)内实现本地VNC访问
网络·docker
whatever who cares3 小时前
斑马打印机配置网络/打印标签过程记录
网络
云计算练习生3 小时前
渗透测试行业术语扫盲(第二篇)—— 安全基础概念类术语
网络·安全·渗透测试·渗透测试术语·渗透测试概念
爬山算法3 小时前
Redis(163)如何使用Redis实现计数器?
网络·数据库·redis
易天ETU4 小时前
FEC 功能与 DSP 芯片的关联性:解码信号处理高效协同核心
网络·信号处理·fec技术·800g光模块
white-persist4 小时前
【攻防世界】reverse | Mysterious 详细题解 WP
c语言·开发语言·网络·汇编·c++·python·安全