您的位置:首页 > 理论基础 > 计算机网络

Windows网络编程基础学习

2014-08-21 00:12 239 查看

一、计算机网络

计算机网络是相互连接的独立自主的计算机的集合。最简单的网络形式如下:



首先,计算机A和计算机B通信,必须知道双方计算机的IP地址是多少,然后是端口号,即要和计算机上哪个应用程序通信。两台计算机通信不能想怎么通信就怎么通信,双方必须达成一致,既遵守相同的通信协议。

二、IP地址

a、IP网络中每台主机都必须有一个唯一的IP地址。

b、IP地址是一个逻辑地址。

c、因特网上的IP地址具有全球唯一性。

d、32位,4个字节,常用点分十进制的格式表示。

三、协议

a、为网络通信而建立的规则、标准或约定。

b、不同层具有各自不同的协议。

四、ISO/OSI七层参考模型

国际标准化组织ISO提出了OSI(Open System Interconnection)七层参考模型。如下表所示:

应用层为用户的网络应用程序提供网络通信的服务远程登录协议Telnet、文件传输协议FTP、超文本传输协议HTTP、域名服务DNS、简单邮件传输协议SMTP、邮局协议POP3
表示层处理被传送数据的表示问题,及信息的语法和语义
会话层在两个通信的应用程序之间建立、组织和协调其相互之间的通信
传输层端到端的连接,提供数据传输服务传输控制协议TCP、用户数据报协议UDP
网络层提供IP地址和路由,负责找出最佳的传输路线网际协议IP、Internet互联网控制报文协议ICMP、Internet组管理协议IGMP
数据链锯层提供介质访问,加强物理层的传输功能

物理层提供二进制传输,确定在通信信道上如何传输比特流
PS:

a、OSI参考模式是一个抽象的网络参考模型,只是一个功能的划分。

b、在进行一次网络通信时,每一层为本次通信提供本层的服务,通信实体的对等层之间不允许直接通信。

c、各层之间是严格单向依赖。

d、上层使用下层提供的服务,下层向上层提供服务。

e、两个通信实体进行通信时,应用层所发出的数据经过表示层、会话层、传输层、网络层、数据链路层,最终到达物理层,在该层通过物理线路传输给另一个实体的物理层。然后数据再依次向上传递,传递给另一个实体的应用层。

五、数据封装

一台计算机要向另一台计算机发送数据,首先必须将该数据打包,打包的过程称为封装。封装就是在数据前面加上特定的协议头部。如下图所以:



六、TCP/IP模型

因为OSI七层参考模型比较复杂,所以目前应用的比较多的是TCP/IP模型,该模型包含四个层次:应用层、传输层、网络层、网络接口层。



七、端口

传输层提供进程通信的能力,为了标识通信实体中进行通信的进程,TCP/IP协议提出了协议端口,简称端口。

端口是一种抽象的软件体系结构(包括一些数据结构和I/O缓冲区)。应用程序通过系统调用与某端口建立连击后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都通过该端口输出。

端口用一个整数型标识符来表示,即端口号。端口号与协议相关,TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,也就是说,基于TCP和UDP协议的不同网络程序,它们可以拥有相同的端口号。端口使用一个16位的数字来表示,它的范围是0~65535,1024以下的端口号保留给预定义的服务。

八、套接字

套接字存在于通信区域中。通信区域也叫地址簇,它是一个抽象的概念,主要用于将通过套接字通信的进程的共有特性综合到一起。套接字通常只与同一区域的套接字交换数据。windows sockets只支持一个通信区域:网际域AF_INET,这个域被使用网际协议簇通信的进程使用。

九、网络字节顺序

为保证数据的正确性,在网络协议中需要指定网络字节顺序,TCP/IP协议使用16位整数和32位整数的高位先存格式。由于不同计算机存放数据字节的顺序不同,这样发送方发送数据后,即使接收方接收到该数据,也有可能无法查看所接受到的数据。所以在网络中不同主机间通信时,要统一采用网络字节顺序。

十、客户机/服务器模式

首先服务器要先启动,并根据请求提供相应的服务:

1、打开一个通信通道并告知本地主机,它愿意在某一地址和端口上接收客户请求。

2、等待客户请求到达该窗口。

3、接收到重复服务请求,处理该请求并发送应答信号。接收到并发服务请求,要激活一个新的进程来处理这个客户请求。新进程(或线程)处理此客户请求,并不需要对其它请求做出应答。服务完毕后,关闭此新进程与客户的通信链路,并终止。

4、返回第二步。

5、关闭服务器。

而客户方:

1、打开一个通信通道,并连接到服务器所在主机的特定端口。

2、向服务器发送服务请求报文,等待并接收应答;继续提出请求。

3、请求结束后关闭通信通道并终止。

参考:《VC深入详解》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: