预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共50页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

网络程序设计教材 一、TCP/IP体系结构、特点及相关术语 1、TCP/IP体系结构 TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输 层服务,而IP则是提供网络层服务。TCP/IP包括以下协议:(结构如图1.1) IP:网间协议(InternetProtocol)负责主机间数据的路由和网络上数据的存 储。同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需要涉及这 一层。 ARP:地址解析协议(AddressResolutionProtocol) 此协议将网络地址映射到硬件地址。 RARP:反向地址解析协议(ReverseAddressResolutionProtocol) 此协议将硬件地址映射到网络地址 ICMP:网间报文控制协议(InternetControlMessageProtocol) 此协议处理信关和主机的差错和传送控制。 TCP:传送控制协议(TransmissionControlProtocol) 这是一种提供给用户进程的可靠的全双工字节流面向连接的协议。它要为用户 进程提供虚电路服务,并为数据可靠传输建立检查。(注:大多数网络用户程 序使用TCP) UDP:用户数据报协议(UserDatagramProtocol) 这是提供给用户进程的无连接协议,用于传送数据而不执行正确性检查。 FTP:文件传输协议(FileTransferProtocol) 允许用户以文件操作的方式(文件的增、删、改、查、传送等)与另一主机相 互通信。 SMTP:简单邮件传送协议(SimpleMailTransferProtocol) SMTP协议为系统之间传送电子邮件。 TELNET:终端协议(TelnetTerminalProcotol) 允许用户以虚终端方式访问远程主机 HTTP:超文本传输协议(HypertextTransferProcotol) TFTP:简单文件传输协议(TrivialFileTransferProtocol) 2、IP地址和子网掩码 要学习TCP/IP协议,首先要提到的是IP地址。每台主机的IP地址是一个 32位的二进制数。每个IP地址被分割位两部分:前缀和后缀。前缀用来确定计 算机从属的物理网络,后缀用来确定网络上单独的计算机。互联网上每一个物理 网络都有一个唯一的值作为网络号,该网络号必须全球一致。 1、IP地址分类: IP地址分位五类:A类、B类、C类、D类、E类 其中A类、B类和C类为基本类 D类用于多播 E类属于保留类,现在不用。它们的格式如下(其中*代表网络号): A类:0*******XXXXXXXXXXXXXXXXXXXXXXXX B类:10**************XXXXXXXXXXXXXXXX C类:110*********************XXXXXXXX D类:1110****XXXXXXXXXXXXXXXXXXXXXXXX E类:1111****XXXXXXXXXXXXXXXXXXXXXXXX 这样,A类地址的范围为:0.0.0.0-127.255.255.255 B类地址的范围为:128.0.0.0-191.255.255.255 C类地址的范围为:192.0.0.0-223.255.255.255 D类地址的范围为:224.0.0.0-239.255.255.255 E类地址的范围为:240.0.0.0-247.255.255.266 ◆几个特殊IP地址 网络地址:IP地址中主机地址全为0的地址,如128.211.0.0。 广播地址:IP地址中主机地址全为1的地址,如128.211.255.255。 环回地址:127.0.0.1,主要用于测试。 2、子网掩码: 现在的主机都要求支持子网掩码,不再把IP地址看成为由单纯的一个网络号 和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。例如一个B 类地址(140.252),在剩下的16位中,8位用于子网号,8位用于主机号,这样就 允许254个子网,每个子网就可以有254台主机。为了确定多少位用于子网号, 多少位用于主机号,这就要用到子网掩码了。其中值为1的位留给网络号和子网 号,为0的位留给主机号。 3、TCP/IP特点 TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层, 这三层通常是在操作系统内核中实现。因此用户一般不涉及。编程时,编程界面 有两种形式:一、是由内核心直接提供的系统调用;二、使用以库函数方式提供 的各种函数。前者为核内实现,后者为核外实现。用户服务要通过核外的应用程 序才能实现,所以要使