c语言中网络套接字浅谈
##网络套接字编程##
1.计算机网络基础
每台计算机都需要一个IP地址以标识自己。IP地址由IP协议规定的32位的二进制数表示,最新的IPv6将IP地址升为128位。32位的IP地址主要分为两部分:前缀和后缀。前缀表示计算机所属的物理网络,后缀确定该网络上的唯一一台计算机。在互联网上,每一个物理网络都有唯一的网络号,根据网路号不同,可以将IP地址分5类,A类、B类和C类属于基本类,D类用于多播发送,E类属于保留。
类型 范围
A类 0.0.0.0~127.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~247.255.255.255
特殊的IP地址:
a.网络地址:在IP地址中主机地址为0的表示网络地址,例如 128.111.0.0。
b.广播地址:在网络号后跟所有位全是1的IP地址,表示广播地址。
c.回送地址:127.0.0.1表示回送地址,用于测试。
开放系统互联,简称OSI,是国际标准化组织为了实现计算机网络的标准化而颁布的参考模型。该模型采用分层的划分原则,将网络中的数据传输划分了7层,每层使用下层的服务,并向上层提供服务。
层次 名称 功能描述
7 应用层 负责网络中应用程序与网络操作系统之间的联系。
6 表示层 用于确定数据交换的格式,它能够解决应用程序之间在数据格式上的差异,并负责设备之间所需要的字符集和数据的转换。
5 会话层 用户应用程序与网络层的接口,它能够建立与其他设备的连接,即会话。并且它能够对会话进行有效的管理
4 传输层 提供会话层和网络层之间的传输服务,该服务从会话层获得数据,必要时对数据进行分割,然后传输层将数据传递到网络层,并确保数据能正确无误地转送到网络层。
3 网络层 能够将传输的数据封包,然后通过路由选择、分段组合等控制,将信息从源设备传送到目标设备。
2 数据链路层 主要是修正传输过程中的错误信号,它能够提供可靠的通过物理介质传输数据的方法。
1 物理层 利用传输介质为数据链路层提供物理连接,它规范了网络硬件的特性、规格和传输速度。
地址分析,即将计算机的协议地址解析为物理地址(MAC地址,媒体访问控制地址)。通常,在网络上由地址解析协议(ARP)来实现地址解析。两机进行通信时,先从本地ARP缓存中查找对方IP对应的物理地址。若本机未发现,将发送ARP请求帧到本地网络上的所有主机,在ARP请求帧中包含了访问方主机的物理地址和IP地址,找到后双方互相添加对方物理地址和IP地址到自己的ARP缓存中。
域名系统,由于IP地址的易混淆,并且不容易记忆,出现了以主机名家上后缀名的方法标识一台主机,其后缀称为域名。eg:www.baidu.com,主机名:www,域名:baidu.com。这里的域名为二级域名,其中com为一级域名,表示商业组织,baidu为本地域名。为了能够利用域名进行不同主机间的通信,需要将域名解析为IP地址,称为域名解析。域名解析是通过域名服务器来完成的。
TCP/IP协议,即传输控制协议/网际协议,是互联网上最流行的协议,它能够实现互联网上不同类型操作系统的计算机互相通信。该协议将网络分为4层,分别对应OSI参考模型的7层结构。
TCP/IP协议 OSI参考模型
应用层(包括Telnet、FTP、SNTP协议) 会话层、表示层和应用层
传输层(包括TCP、UDP协议
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
