VC++(十四)网络编程

  • 网络程序的实现有多种方法,Windows Socket是一种比较简单的方法。
    Socket是连接应用程序与网络驱动程序的桥梁。
    Socket在应用程序中创建,通过绑定操作与驱动程序建立关系。

  • 计算机网络是相互连接的独立自主的计算机的集合。为了标识在计算机上运行的每一个网络通信程序,为他们分别分配对应端口号。

IP地址:

  1. IP网络中每台主机都必须有一个唯一的IP地址
  2. IP地址是逻辑地址
  3. 因特网上的IP地址具有全球唯一性
  • ISO国际标准化组织提出了OSI七层参考模型:
    应用层-----处理网络应用
    表示层-----数据表示
    会话层-----主机之间通信
    传输层-----端到端的连接
    网络层-----寻址和最短路径
    数据链路层-----介质访问(接入)
    物理层-----二进制传输

  • 对等层之间的通信的实质就是:
    对等层实体之间虚拟通信。
    下层向上层提供服务,实际通信在最底层完成。

  • 应用层:
    文件传输协议FTP
    超文本传输协议FTTP
    域名服务DNS
    发送电子邮件时,使用SMTP协议(简单邮件传输协议)
    接收电子邮件时,使用POP3协议(邮局协议)

  • 传输层:
    传输控制协议TCP
    用户数据报协议UDP

  • 网络层:
    网际协议IP
    Internet互联网控制报文协议ICMP
    Internet组管理协议IGMP

  • TCP/IP模型
    应用层
    传输层
    网络层
    网络接口层

  • 传输层的两个协议TCP和UDP是完全独立的两个模块,因此各自的端口号也相互独立。也就是说,基于TCP和UDP协议的不同的网络应用程序,他们可以拥有相同的端口号。端口号使用一个16位的数字来表示,范围是0-65535
    1024以下的端口号保留给预定义的服务。
    http使用80端口。

  • TCP/IP协议使用16位整数和32位整数的高位先存格式

  • 80端口和8080端口
    HTTP的默认端口是80
    8080一般是用来连接代理的

  • Windows Sockets的实现
    Windows Sockets是Microsoft Windows的网络程序设计接口,它是从Berkeley Sockets扩展而来的,以动态链接库的形式提供给我们使用。

  • 流式套接字(SOCK_STREAM)
    基于TCP协议实现的

  • 数据报式套接字(SOCK_DGRAM)
    基于UDP协议实现的

  • 原始套接字(SOCK_RAW)

  • 套接字表示了通信的端点。套接字相当于电话机,IP地址相当于总机号码,而端口号则相当于分机。

什么是协议栈、协议族和地址族

  1. 协议栈 Protocol Stack.
    协议栈是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。使用最广泛的是英特网协议栈,由上到下的协议分别是:应用层(HTTP,TELNET,DNS,EMAIL等),运输层(TCP,UDP),网络层(IP),链路层(WI-FI,以太网,令牌环,FDDI等),物理层。
  2. TCP/IP也称"国际协议簇", 即不仅指 TCP/IP协议本身,而且包括与其有关的协议。 TCP为传输控制协议,IP为网际协议,是网络层最重要的协议。采用TCP/IP协议通过互联网传送信息可减少网络中的传输阻塞,方便大批量的数据在网上传输,从而提高网络的传输效率。 TCP/IP协议族中包括上百个互为关联的协议,其中有:Telnet(Remote Login):提供远程登录功能; FTP (FileTransfer Protocol):远程文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上; SMTP (Simple Messagetransfer Protocol):简单信息传输协议,主要用于传输电子邮件;NFS(Network File Server):网络文件服务器,可使多台计算机透明地访问彼此的目录 ; UDP ( User DatagramProtocol):用户数据包协议。
  3. IPv4 或者 IPv6 称为TCP/IP的地址族.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容