网络编程
目录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字节),校验和
3.TCP协议
特点:面向连接,端对端的可靠连接协议,不提供广播和组播
协议头的组成:源端口(2字节),目标端口(2字节),序列号(4字节),确认应答号(4字节),头部长度,标志控制位(6bit),窗口大小,校验和,紧急指针,选项
握手机制
只有第三次握手才可以携带数据
挥手机制
断开只是单向,断开时需要双方都发送断开信号
SYN 同步标志
ACK 应答标志
FIN 结束标志
两者的区别
特性 | TCP | UDP |
---|---|---|
连接方式 | 面向连接(需要建立和关闭连接) | 无连接(无需建立连接) |
可靠性 | 提供可靠传输(保证数据完整和顺序) | 不提供可靠传输(可能丢失或乱序) |
数据传输方式 | 面向流(连续字节流) | 面向报文(独立报文段) |
速度和效率 | 速度较慢,效率较低 | 速度快,效率高 |
应用场景 | 需要可靠传输的应用(HTTP, FTP, SMTP) | 需要快速传输的应用(视频流, 在线游戏, DNS) |