首页 > 编程语言 >网络编程

网络编程

时间:2024-06-05 20:11:56浏览次数:20  
标签:协议 字节 模型 编程 网络 TCP IP地址

网络编程

目录

1两个基本模型

1.1OSI模型(七层模型)

/********************************
*应用层
*表示层
*会话层
*传输层
*网络层
*数据链路层		 
*				
*物理层			 
*****************************/

1.2开放式系统互连模型(TCP/IP)

/********************************
应用层
传输层
网络层
网络接口层
********************************/

2.IP协议( IPV4 / IPV6 )互联网协议

2.1IP地址

IP协议规定IP地址由高阶位,网络编号,本地地址32位组成,IP地址中用网络编号来标识全世界不同网络的原因是因为互联网采用的是分布式模型,该模型可以避免由于战争等因素导致网络瘫痪。

2.2点分十进制

协议规定将IP地址的32bit分为4段,每一段由8bit组成,每一段的值指定为十进制并用分割号隔开

2.3IP地址的分类

类型 高阶位 网络编号 本地地址 范围
A类 0 7位 24位 0~127
B类 10 14位 16位 128~191
C类 110 21位 8位 192~223

注:每个网段的全0表示没有选中该网段的主机,全1为广播地址。正常情况下不使用这个两个地址

环回地址:协议规定网络编号为127的IP地址称为环回地址。

子网掩码:区分主机所在的网段,把主机的IP地址和子网掩码进行位与&操作即可获得网段。

默认网关:路由地址

RS232标准和RS485标准的区别

特性 RS232 RS485
最大传输距离 15米 1200米
最高数据速率 20 kbps 10 Mbps
信号模式 单端信号 差分信号
通信方式 全双工 半双工(2线)或全双工(4线)
抗干扰能力 较弱
引脚数量 通常为9或25个(实际使用少数几个) 通常为2或3个(A、B、GND)
接口形式 DB9、DB25 没有固定标准
支持多点通信 不支持 支持

单端信号和差分信号

单端信号(Single-Ended Signal) 差分信号(Differential Signal)
电压基准 相对于地(GND) 两根信号线之间的电压差
抗干扰能力 较弱
实现成本 较低 较高
适用场合 短距离、低速率通信 长距离、高速率通信
常见接口 RS232、TTL RS485、USB、LVDS等

2.UDP协议

特点:面向无连接,不可靠,不保证交付,重复发送,不提供数据包的分组和组装。

报首的组成:源端口(2字节),目标端口(2字节),包总长度(最小为8字节,最大为65507字节),校验和

image

3.TCP协议

特点:面向连接,端对端的可靠连接协议,不提供广播和组播

协议头的组成:源端口(2字节),目标端口(2字节),序列号(4字节),确认应答号(4字节),头部长度,标志控制位(6bit),窗口大小,校验和,紧急指针,选项

image

握手机制

只有第三次握手才可以携带数据

image

挥手机制

断开只是单向,断开时需要双方都发送断开信号

image

SYN 同步标志

ACK 应答标志

FIN 结束标志

两者的区别

特性 TCP UDP
连接方式 面向连接(需要建立和关闭连接) 无连接(无需建立连接)
可靠性 提供可靠传输(保证数据完整和顺序) 不提供可靠传输(可能丢失或乱序)
数据传输方式 面向流(连续字节流) 面向报文(独立报文段)
速度和效率 速度较慢,效率较低 速度快,效率高
应用场景 需要可靠传输的应用(HTTP, FTP, SMTP) 需要快速传输的应用(视频流, 在线游戏, DNS)

标签:协议,字节,模型,编程,网络,TCP,IP地址
From: https://www.cnblogs.com/waibibabu-/p/18233675

相关文章

  • 网络编程中UDP协议通信
    #include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<errno.h>#include<stdlib.h>#include<time.h>#include<string.h>#include<netinet/ip.h>#include<netinet/in.h>#include&......
  • ### 探索Java开发中的关键问题:从性能优化到安全性,全方位提升你的编程技能
    在这篇文章中,我们将深入探讨Java开发中最受关注的关键问题,并提供实用的解决方案,帮助你在编程之路上不断精进。以下是我们将覆盖的主要内容:1. **性能优化**     * **垃圾回收(GarbageCollection)**    * **问题**:不同垃圾回收器的选择和调优。......
  • 平均年薪40w、学历经验不限,网络安全这个职业到底有多吃香?
    前言近两年,网络信息发展迅速,为有效应对黑客袭击、保障网络安全,国家大力加强了对网安方面人才建设的培养。据数据显示,目前我国网安人才缺口达140万之多,但目前每年网安人才培养数量远远不及市场需求量。而且现在网络安全相关岗位的薪酬非常高,相关证书的补贴也很多。这对于我......
  • TCP协议网络通信
    TCP协议网络通信目录TCP协议网络通信头文件/宏定义客户端服务器验证结果客户端服务器头文件/宏定义#include<stdio.h>#include<stdlib.h>#include<string.h>#include<arpa/inet.h>#include<netinet/in.h>#include<sys/types.h>#include<sys/socket.h>#includ......
  • 程序分享--常见算法/编程面试题:整数转罗马数字
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;推荐专栏《10天学会使用asp.net编程AI大模型》,目前已完成所有内容,持续上传中。一顿烧烤不到的费用,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。干货满满......
  • 在Linux中,如何进行网络性能的模拟测试?
    在Linux中进行网络性能的模拟测试,主要是为了评估网络子系统的效率、稳定性和容错能力。这包括测试网络带宽、延迟、抖动、丢包率等关键指标。以下是一些常用工具和方法来实现网络性能的模拟测试:1.使用iperf3测量带宽和延迟安装:首先,确保iperf3已安装。如果未安装,可以通过......
  • 提供高达 58 Gbps 的收发器速率、AGFA023R31C2E1VB/AGFA023R31C2I1V/AGFA023R31C2I2VB
    Agilex7FPGA产品系列包括业界最高性能的FPGA和SoC。英特尔Agilex7FPGA和SoC由高性能的F系列、I系列和M系列FPGA组成,为要求最高的应用提供了一系列的高级功能。•具有业界最高数据速率的收发器—高达116Gbps•业界首创的PCIExpress*(PCIe*)5.0和ComputeExpressLi......
  • 在Linux中,如何进行网络性能的基准测试?
    在Linux中进行网络性能的基准测试可以帮助你评估网络带宽、延迟、吞吐量和网络应用的性能。以下是一些关键步骤和工具用于进行网络性能基准测试:1.确定测试目标明确你想要评估的网络性能指标,如带宽、延迟、丢包率、TCP/UDP性能等。2.选择基准测试工具选择适合你需求的基准测......
  • FastAPI-1:现代网络
    1现代网络曾几何时,网络小而简单。开发者们把PHP、HTML和MySQL调用放到一个文件中,然后自豪地告诉大家去看看他们的网站,这样做非常有趣。但随着时间的推移,网络发展到了数以亿计,不对,是数以万亿计的页面,早期的游乐场变成了主题公园的元宇宙。在本章中,我将指出一些与现代网络日......
  • 在Linux中,如何进行网络资源的优先级管理?
    在Linux中进行网络资源的优先级管理主要涉及到流量控制(TrafficControl,简称TC)和服务质量(QualityofService,简称QoS)。以下是一些关键步骤和工具用于实现网络资源的优先级管理:1.使用tc(TrafficControl)工具tc是Linux中用于网络流量控制的主要工具,它可以设置带宽限制、流量整形、......