第1章 网络编程基础(1)——网络协议
网络游戏类型:开发的角度
- 对等的客户端与服务器端
- 基于大厅的网络游戏
- 纯C/S结构的网络游戏
网络通信协议
协议(Protocol):两个实体间控制数据交换的规则的集合。
- 语法(数据格式、编码、信号电平等)
- 语义(包括用于协调和进行差错处理的控制信息)
- 定时(包括速度匹配和排序等)
OSI模型:
高层协议偏重于处理用户服务和各种应用请求
底层协议偏重于处理实际的信息传输
应用层(Application) | 向应用程序提供服务 | 消息 |
表示层(Presentation) | 为异种机通信提供一种公共语言,对数据的处理 | 消息 |
会话层(Session) | 可使应用建立和维持会话,并使会话获得同步。对话管理、数据流同步和重新同步。 | 消息 |
传输层(Transport) | 端到端的缓冲作用,采用分流/合流、复用/介复用技术来调节上述通信子网的差异,还要具备差错恢复、流量控制功能。 | 消息 |
网络层(Network) | 多个网络的选路功能 | 包 |
数据链路层(Data Link) | 管理数据格式 | 帧 |
物理层(Physical) | 为数据传输提供可靠的环境 | 位 |
TCP/IP协议:DARPA模型
应用层(Application) | OSI应用层 | 给应用程序提供访问其他层服务的能力并定义应用程序用于交换数据的协议。 |
传输层(Transport) | 传输层和部分会话层功能 | 负责给应用层提供会话和数据报通信服务。核心:TCP/UDP |
网络层(Network) | 网络层 | 负责寻址、打包以及从一台计算机通过一个或多个路由器到最终目标的包转发机制。 |
网络访问层(Network Access) | 物理层和数据链路层 | 负责把TCP/IP包放在网络的传输介质和从网络传输介质上接收TCP/IP包。 |
TCP/IP协议族
1.IP
网间协议(Internet Protocol):负责主机间数据的路由和网络上数据的存储,同时为ICMP、TCP、UDP提供分组发送服务。用户通常不涉及这一层。
2.ARP
地址解析协议(Address Resolution Protocol),此协议处理信息和主机的差错和传送控制。
3.RARP
反向地址解析协议(Reverse Address Resolution Protocol),此协议将硬件地址映射到网络地址。
4.ICMP
网际控制报文协议(Internet Control Message Protocol),此协议处理信息和主机的差错和传送控制。
5.TCP
传送控制协议(Transmission Control Protocol),这是一种提供给用户进程的可靠的面向连接的全双工字节流协议。主要为用户进程提供虚拟电路服务,并为数据可靠传输建立检查。大多数网路用户程序使用TCP。
6.UDP
用户数据报协议(User Datagram Protocol),这是提供给用户进程的无连接协议。用于传输数据而不被执行正确性检查。
7.FTP
文件传输协议(File Transfer Protocol),允许用户以文件操作的方式(文件的增,删,改,查,传送等)与另一个主机相互通信。
8.SMTP
简易邮件传送协议(Simple Mail Transfer Protocol),SMTP协议为系统之间传送电子邮件。
9.TTP
终端协议(Telnet Terminal Protocol),允许用户以虚拟终端方式访问远程主机。
10.HTTP
超文本传输协议(Hypertext Transfer Protocol),用于传输超文本标记语言(HTML,Hyper Text Markup Language)写的文件,也就是人们常说的网页。
11.TFTP
简易文件传输协议(Trivial File Transfer Protocol),用于传送"简单"的文件,与FTP不同的是,它使用的是UDP的69端口,因此它可以穿越许多防火墙。