首页 > 编程语言 >C++——网络编程(一)

C++——网络编程(一)

时间:2022-10-08 18:46:44浏览次数:75  
标签:MAC IP 编程 端口 网络 C++ 地址 IP地址

一、网络结构

  C/S

    Client-Server结构,Server负责管理数据,Client负责与用户交互。

    Server会成为性能的瓶颈。

  B/S

    Browser/Server,这种模式通过浏览器统一客户端,简化系统的开发、维护和应用。

    运营商不支持。

二、MAC地址

  网卡:又称为网络适配器或网络接口卡NIC,使得计算机可以在网络上进行通讯的硬件。拥有一个48bit的MAC地址(独一无二),属于数据链路层。

  MAC地址:Media Access Control Address,由网络设备制造商生产时烧录在网卡中(一台设备包含多个网卡,则每个网卡都会拥有一个MAC地址)。

  MAC地址长为48bits(12个十六进制表示),其中前24位为厂商编号(IEEE分配);后24位由厂商分配。

三、IP地址

  TCP/IP协议是网络通信需要遵守的规则,任何设备只要遵循该协议就可以与Internet互联互通。

  IP地址:Internet Protocol Address,IP协议提供的地址格式,为每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。通常为32bits(4个8位二进制数)。

  IP地址编址方式

    互联网络之初,为了便于寻址以及层次化构造网络,IP地址由网络位和主机位两部分构成。

    A类

      1.0.0.1~126.255.255.254(私有IP:10.0.0.0~10.255.255.255)

      网络位最高位为“0”

      有126个网络,每个网络容纳1600多万台设备(一般用于广域网)

    B类

      128.0.0.1~191.255.255.254(私有IP:172.16.0.0~172.31.255.255)

      网络位最高位为“10”

      有16384个网络,每个网络容纳6万多台主机(一般用于城际网络)

    C类

      192.0.0.1~223.255.255.254(私有IP:192.168.0.0~192.168.255.255)

      网络位最高位为“110”

      有209多万个网络,每个网络容纳254台主机(一般用于小规模局域网)

    D类

      224.0.0.0~239.255.255.255

      网络位最高位为“1110”

      又称为组播地址,以太网中用于标识一组设备。

    E类

      剩余地址,用于实验或测试

四、端口

  * “端口”可认为是设备与外界通讯交流的出口。一般分为虚拟端口和物理端口

    虚拟端口:特指TCP/IP协议中的端口,逻辑意义上的端口;

    物理端口:计算机、交换机和路由器上的RJ45网口,电话使用的RJ11端口等;

  * 一个IP地址可以拥有65535(“2^16”)个端口,可用于标识计算机中进程。

  1)周知端口(知名端口、公认端口或常用端口)

    0~1023,用于特定的服务(WWW:80;FTP:21;Telnet:23)。

    有些网络服务可以修改端口号(e.g., WWW服务默认80端口,也可以手动指定端口如8080),但是有些协议使用固定端口号,不应改变,像是139端口用于NetBIOS与TCP/IP之间的通信,无法手动改变。

  2)注册端口

    1024~49151,绑定于一些服务,分配给用户进程或应用程序(不属于分配好周知端口的常用程序)。

    当端口没有被服务器资源占用时,用户端可以将其作为源端口。

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

    49152~65525,不固定分配某种服务,采用动态分配的方式。

五、参考

  C++网络编程(第一篇)_半块方便面的博客-CSDN博客_c++网络编程

标签:MAC,IP,编程,端口,网络,C++,地址,IP地址
From: https://www.cnblogs.com/hjxiamen/p/16769838.html

相关文章

  • 神经网络中各名词解释
    神经网络中各名词解释激活函数:就是对输入特征进性前向传播计算的函数。主要分线性回归问题和分类问题,线性回归问题可以用线性函数来计算出对应的标签,而更多的问题不是......
  • SD-WAN可能是智能网络服务的关键
    进入边缘设备。很容易忽略终止服务的盒子,可能是在上面放一杯咖啡,或者把它盖在杂乱的地方。而是给它一些尊重。网络中边缘设备的好处在于它是专为您服务的。如果在这个巨大的......
  • 零基础如何学习入门Java编程
    如何学习在以前大部分人学习都是先去找本书,先看看,再试,要是不懂了在去网上去查,再在继续啃着书本。但现在向书学习和在网上学习这掌握的效果是不同的,要学会用适合自己的学习方......
  • c++ bitset用法
    一、声明:bitset<N>f;//N是二进制长度,这时每一位都是0存储数字的二进制:bitsetname(num);//定义长度为N的二进制数组,命名为name,将数字num的二进制存到其中;b......
  • docker网络模式分类
    docker有四种网络模式bridge模式host模式container模式none模式Docker跨host网络:overlay、macvlan......
  • 主机字节序与网络字节序的转换函数
    主机字节序既包括小端字节序,又包括大端字节序。它与具体的CPU类型、操作系统类型等有关,就像前面的表格列出的。网络字节序是TCP/IP中规定好的一种数据表示格式,它与具体的C......
  • C/C++简单音乐播放器系统
    C/C++简单音乐播放器系统程序设计题1:简单音乐播放器系统出题人:吴敏面向专业:计算机科学与技术难度等级:41问题描述编写一个简单音乐播放器软件,实现歌单文件的浏览,点......
  • C++需要注意的知识
    类1、2、3、4原文链接:https://blog.csdn.net/fjhugjkdsd/article/details/1052816511.什么是类的6个默认成员函数?如果一个类中什么成员都没有,简称为空类。任何一个类在......
  • CCPC Finals 2021 H Harie Programming Contest (网络流&支配树的妙用)
    Link题意:给一个二分图,求有多少种方案删去恰好两个点,使得最大匹配数不变。\(n,m\le2\times10^5\)。二话不说先跑一遍Dinic网络流,设残量网络形成的图为\(G\)。然后......
  • 浪漫表白编程丨程序员的520表白代码 _ 程序员专属情人节表白网站
    ......