1 /1 9 TCP/IP 通信程序设计 1、实验目的 初步掌握C 语言TCP/IP 通信程序的设计
2、实验环境 1、Window s 2000/NT/XP操作系统
2、TCP/IP 协议
3、编程工具:Microsoft Visual C++ 2005
3、相关知识 3
1 TCP/IP协议族 表 1 TCP/IP协议族 应用层(FTP, DNS, HTTP, TELNET, SMTP等) TCP UDP ICMP IGMP IP ARP RARP 网络接口层 TCP 具有以下特点: 1、面向连接
端到端的TCP 连接会关注连接的状态,而网络的中间路由器只关心 IP 分组的转发
2、可靠数据传递
TCP 使用顺序号、采用直接应答方式,并在必要时通过重传来保证发自源端的数据能成功地被传递到目的地
3、流量控制
接收方向发送方发送一个接收窗口值,告诉发送方接收方能够处理多少数据
在收到接收方发来的应答前,TCP 发送方最多只能发送等于该窗口值的数据量
4、拥塞控制
用于防止 TCP 发送方发送的信息量超过网络中链路或路由器的最大处理能力
流量控制和拥塞控制结合起来,使得 TCP 主机能迅速而公平地调整其发送速率, 2 /1 9 以达到与网络及接收方的处理能力相匹配
2 端口与Socket 在进程通信的意义上,网络通信的最终地址不仅网络层提供的 IP 地址,还应包括描述进程的协议端口(protocol port)
若没有端口,传输层就无法知道数据应当交付给应用层的哪个进程
因此,端口标示了应用层的进程
TCP 和 UDP 分别提供了 216 个不同的端口值
端口分为两类: 1、周知端口(w ell-know port),其值为 0-1023,由 ICANN 负责分配(见 RFC 1700)
其中 TCP 和 UDP 均规定小于 256 的端口作为保留端