资讯详情

C++网络编程(第一篇)

文章目录

  • 前言
  • 一、网络结构模式
    • C/S结构
  • B/S结构
  • 二、MAC地址
  • 三、IP地址
  • IP 地址编码方式
    • A类IP地址
    • B类IP地址
    • C类IP地址
    • D类IP地址
    • 特殊的IP地址
    • 子网掩码
  • 四、 端口
    • 端口类型
      • 1、 周知端口
      • 2、注册端口(Registered Ports)
      • 3、 动态端口 / 私有端口(Dynamic Ports / Private Ports)
  • 总结


前言

本文简要介绍了网络通信的结构模式和模式 ip 的定义。


一、网络结构模式

C/S结构

  • 服务器 - 客户机,即 (Client - Server(C/S)结构。C/S 结构通常采用两层结构。服务器负责数据管理,客户机负责与用户完成互动任务。客户机是一种在互联网上访问他人信息的机器,服务器是一种提供信息供他人访问的计算机。
  • 客户机通过局域网连接到服务器,接受用户的请求,并通过网络向服务器提出请求,操作数据库。服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。服务器还提供完善的安全保护和数据完整性处理,允许多客户同时访问服务器,这对服务器的硬件处理数据能力提出了很高的要求。
  • 在C/S在结构上,应用程序分为服务器和客户机两部分。服务器部分是多用户共享的信息和功能,执行后台服务,如控制共享数据库的操作;客户机是用户独有的,负责前台功能的执行,在错误提示和在线帮助方面具有强大的功能,可以在子程序之间自由切换。

  1. 充分发挥客户端 PC 很多工作可以在客户端处理后提交给服务器,因此 C/S 结构客户端响应速度快;
  2. 操作界面美观,形式多样,能充分满足客户自身的个性化要求;
  3. C/S 结构管理信息系统具有较强的事务处理能力,能够实现复杂的业务流程;
  4. 安全性高,C/S 一般来说,对于相对固定的用户群体,程序更注重流程。它可以多层次验证权限,提供更安全的访问模式,具有很强的信息安全控制能力。一般采用高度机密的信息系统 C/S 结构适宜。

  1. 客户端需要安装特殊的客户端软件。首先,它涉及到安装的工作量。其次,任何计算机都需要安装或维护,如病毒和硬件损坏。当系统软件升级时,每台客户机器都需要重新安装,其维护和升级成本非常高;
  2. 一般对客户端的操作系统有限制,不能跨平台。

B/S结构

B/S 结构(Browser/Server,浏览器/服务器模式) WEB 网络结构模式兴起后,WEB浏览器是客户端最重要的应用软件。该模式统一了客户端,将系统功能实现的核心部分集中在服务器上,简化了系统的开发、维护和使用。只要在客户机上安装浏览器,比如 Firefox 或 Internet Explorer,服务器安装 SQL Server、Oracle、MySQL 等数据库。浏览器通过 Web Server 与数据库进行数据交互。

  • B/S 结构最大的优点是整体成本低,维护方便, 分布强,开发简单,无需安装任何特殊软件即可在任何地方操作。客户端零维护,系统扩展非常容易,只要有一台可以上网的电脑。

  1. 通信成本大,系统和数据安全难以保证;
  2. 个性特征明显降低,不能满足个性化功能要求;
  3. 协议一般固定:http / https
  4. 客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度显著降低。

二、MAC地址

  • 网卡是一种计算机硬件,设计用于允许计算机在计算机网络上通信,也称为网络适配器或网络接口卡NIC。其拥有 MAC 地址,属于 OSI 模型的第 2 层,它使用户能够通过电缆或无线连接。每张网卡都有一张叫做 MAC 独一无二的地址 48 位串行号。网卡的主要功能:1.数据封装与解封装,2.链路管理,3.数据编码与译码。
  • MAC 地址(Media Access Control Address),直接翻译为媒体访问控制位置,也称为局域网地址、以太网地址、物理地址或硬件地址。它是一个位置地址,用于确认网络设备的位置,由网络设备制造商在网卡中燃烧。在 OSI 在模型中,第三层网络层负责 IP 第二层数据链路层负责地址 MAC位址 。MAC 地址用于在网络中识别唯一的网卡。如果一个设备有一个或多个网卡,每个网卡都需要并且会有一个唯一的网卡 MAC 地址。
  • MAC 地址长度为 48 位(6字节)通常表示 12 个 16 如:00-16-EA-AE-3C-40 就是一个MAC 前面的地址 3 个字节,16 进制数 00-16-EA 它代表网络硬件制造商的编号IEEE(电气与电子工程师协会)分配 3 个字节,16进制数 AE-3C-40 代表制造商生产的网络产品(如网卡)系列号。只要不改变自己的 MAC 地址,MAC 地址是世界上唯一的。只要不改变自己的 MAC 地址,MAC 地址是世界上唯一的。生动地说,MAC 地址就像身份证上的身份证号码,独一无二。

三、IP地址

IP 地址编码方式

在最初设计互联网时,为了便于网站搜索和层次结构网络,每个网络 IP 地址包括两个标识码(ID),即网络ID 和主机 ID。同一物理网络上的所有主机都使用同一网络 ID,网络上的主机(包括网络上的工作站、服务器和路由器等。)有一个主机 ID 与其对应。Internet 定义了委员会 5 种 IP 适用于不同容量的网络量的网络,即 A 类~ E 类。其中 A、B、C 3类(以下表格)由 InternetNIC 全球统一分配,D、E 类别为特殊地址。

类别 最大网络数 IP地址范围 单网段最大主机数 私有IP地址范围
A 126(2^7-2) 1.0.0.1-126.255.255.254 16777214 10.0.0.0-10.255.255.255
B 16384(2^14) 128.0.0.1-191.255.255.254 65534 172.16.0.0-172.31.255.255
C 2097152(2^21) 192.0.0.1-223.255.255.254 254 192.168.0.0-192.168.255.255

A类IP地址

  • 一个 A 类 IP 地址是指, 在 IP 地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示 IP 地址的话,A 类 IP 地址就由 1 字节的网络地址和 3 字节主机地址组成,网络地址的最高位必须是“0”。A 类 IP 地址中网络的标识长度为 8 位,主机标识的长度为 24 位,A类网络地址数量较少,有 126 个网络,每个网络可以容纳主机数达 1600 多万台。一般用于广域网。
  • A 类 IP 地址 地址范围 1.0.0.1 - 126.255.255.254(二进制表示为:00000001 00000000 00000000 00000001 - 01111111 11111111 11111111 11111110)。最后一个是广播地址。A 类 IP 地址的子网掩码为 255.0.0.0,每个网络支持的最大主机数为 256 的 3 次方 - 2 = 16777214 台。

B类IP地址

  • 一个 B 类 IP 地址是指,在 IP 地址的四段号码中,前两段号码为网络号码。如果用二进制 表示 IP 地址的话,B 类 IP 地址就由 2 字节的网络地址和 2 字节主机地址组成,网络地址的最高位必须是“10”。B 类 IP地址中网络的标识长度为 16 位,主机标识的长度为 16 位,B 类网络地址适用于中等规模的网络,有16384 个网络,每个网络所能容纳的计算机数为 6 万多台。一般用于城际网络。
  • B 类 IP 地址地址范围 128.0.0.1 - 191.255.255.254 (二进制表示为:10000000 00000000 00000000 00000001 - 10111111 11111111 11111111 11111110)。 最后一个是广播地址。
  • B 类 IP 地址的子网掩码为 255.255.0.0,每个网络支持的最大主机数为 256 的 2 次方 - 2 = 65534 台。

C类IP地址

  • 一个 C 类 IP 地址是指,在 IP 地址的四段号码中,前三段号码为网络号码,剩下的一段号 码为本地计算机的号码。如果用二进制表示 IP 地址的话,C 类 IP 地址就由 3 字节的网络地址和 1 字节主机地址组成,网络地址的最高位必须是“110”。C 类 IP 地址中网络的标识长度为 24 位,主机标识的长度为 8 位,C 类网络地址数量较多,有 209 万余个网络。适用于小规模的局域网络,每个网络最多只能包含254台计算机。一般用于局域网。
  • C 类 IP 地址范围 192.0.0.1-223.255.255.254 (二进制表示为: 11000000 00000000 00000000 00000001 - 11011111 11111111 11111111 11111110)。
  • C类IP地址的子网掩码为 255.255.255.0,每个网络支持的最大主机数为 256 - 2 = 254 台。

D类IP地址

D 类 IP 地址在历史上被叫做多播地址(multicast address),即组播地址。在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。多播地址的最高位必须是 “1110”,范围从224.0.0.0 - 239.255.255.255。

特殊的IP地址

每一个字节都为 0 的地址( “0.0.0.0” )对应于当前主机; IP 地址中的每一个字节都为 1 的 IP 地址( “255.255.255.255” )是当前子网的广播地址; IP 地址中凡是以 “11110” 开头的 E 类 IP 地址都保留用于将来和实验使用。 IP地址中不能以十进制 “127” 作为开头,该类地址中数字 127.0.0.1 到 127.255.255.255 用于回路测试,如:127.0.0.1可以代表本机IP地址。

子网掩码

  • 子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个 IP 地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合 IP 地址一起使用。子网掩码只有一个作用,就是将某个 IP 地址划分成网络地址和主机地址两部分。
  • 子网掩码是一个 32 位地址,用于屏蔽 IP 地址的一部分以区别网络标识和主机标识,并说明该 IP地址是在局域网上,还是在广域网上。
  • 这里详细讲了ip和子网掩码的定义

子网掩码是在 IPv4 地址资源紧缺的背景下为了解决 lP 地址分配而产生的虚拟 lP 技术,通过子网掩码将A、B、C 三类地址划分为若干子网,从而显著提高了 IP 地址的分配效率,有效解决了 IP 地址资源紧张的局面。另一方面,在企业内网中为了更好地管理网络,网管人员也利用子网掩码的作用,人为地将一个较大的企业内部网络划分为更多个小规模的子网,再利用三层交换机的路由功能实现子网互联,从而有效解决了网络广播风暴和网络病毒等诸多网络管理方面的问题。

在大多数的网络教科书中,一般都将子网掩码的作用描述为通过逻辑运算,将 IP 地址划分为网络标识(Net.ID) 和主机标识(Host.ID),只有网络标识相同的两台主机在无路由的情况下才能相互通信。

根据 RFC950 定义,子网掩码是一个 32 位的 2 进制数, 其对应网络地址的所有位都置为 1,对应于主机地址的所有位置都为 0。子网掩码告知路由器,地址的哪一部分是网络地址,哪一部分是主机地址,使路由器正确判断任意 IP 地址是否是本网段的,从而正确地进行路由。网络上,数据从一个地方传到另外一个地方,是依靠 IP 寻址。从逻辑上来讲,是两步的。第一步,从 IP 中找到所属的网络,好比是去找这个人是哪个小区的;第二步,再从 IP 中找到主机在这个网络中的位置,好比是在小区里面找到这个人。

子网掩码的设定必须遵循一定的规则。与二进制 IP 地址相同,子网掩码由 1 和 0 组成,且 1 和 0 分别连续。子网掩码的长度也是 32 位,左边是网络位,用二进制数字 “1” 表示,1 的数目等于网络位的长度;右边是主机位,用二进制数字 “0” 表示,0 的数目等于主机位的长度。这样做的目的是为了让掩码与 IP 地址做按位与运算时用 0 遮住原主机数,而不改变原网络段数字,而且很容易通过 0 的位数确定子网的主机数( 2 的主机位数次方 - 2,因为主机号全为 1 时表示该网络广播地址,全为 0 时表示该网络的网络号,这是两个特殊地址)。通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使 网络正常工作。

四、 端口

端口类型

1、 周知端口

周知端口是众所周知的端口号,也叫知名端口、公认端口或者常用端口,范围从 0 到1023,它们紧密绑定于一些特定的服务。例如 80 端口分配给 WWW 服务,21 端口分配给 FTP 服务,23 端口分配给Telnet服务等等。我们在 IE 的地址栏里输入一个网址的时候是不必指定端口号的,因为在默认情况下WWW 服务的端口是 “80”。网络服务是可以使用其他端口号的,如果不是默认的端口号则应该在地址栏上指定端口号,方法是在地址后面加上冒号“:”(半角),再加上端口号。比如使用 “8080” 作为 WWW服务的端口,则需要在地址栏里输入“网址:8080”。但是有些系统协议使用固定的端口号,它是不能被改变的,比如 139 端口专门用于 NetBIOS 与 TCP/IP 之间的通信,不能手动改变。

2、注册端口(Registered Ports)

端口号从 1024 到 49151,它们松散地绑定于一些服务,分配给用户进程或应用程序,这些进程主要是用户选择安装的一些应用程序,而不是已经分配好了公认端口的常用程序。这些端口在没有被服务器资源占用的时候,可以用用户端动态选用为源端口。

3、 动态端口 / 私有端口(Dynamic Ports / Private Ports)

动态端口的范围是从 49152 到 65535。之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。


总结

牛客网C++课程笔记

标签: 连接器rj45类别6

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台