网络编程
网络
网络:就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。
Ø 计算机网络是现代通信技术与计算机技术相结合的产物
Ø 分为局域网(LAN)、城域网(MAN)、广域网(WAN)
Ø 计算机网络可以提供资源共享,信息传输与集中处理,均衡负荷与分布处理,综合信息服务等主要功能。
Internet :是网络的最典型例子。是一个全球的、巨大的网络集合,用于Internet中不同计算机系统的互联通信。
网络模型
l TCP/IP参考模型
TCP/IP:即传输控制协议/网际互联协议,是Internet的基础。只有TCP和IP两者的结合,才能保证Internet在复杂的环境下正常运行,因此常把这两个协议统称作TCP/IP协议。IP获取地址而TCP确保数据送达该地址。
通常分为四层:
应用层向用户提供一组应用程序,如电子邮件、文件传输访问、远程登录等。这一层有着很多协议来支持不同的应用,如万维网访问用HTTP协议、文件传输用FTP、电子邮件发送用SMTP、域名解析用DNS协议、远程登录用Telnet协议等。对用户而言,看到的是由一个个软件所构成的、大多为图形化操作的界面,而后台实际上运行的便是这些协议。
传输层的功能主要是提供应用程序间的通信,包括格式化信息流和提供可靠传输等。这一层的协议有TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)
网络层是非常关键的一层,负责相邻计算机之间的通信,主要定义了IP地址格式,从而使得不同应用类型的数据在Internet上通畅地传愉。IP协议就是一个网络层协议。
网络接口层是最底层,负责接收IP数据包并通过网络进行发送,或者从网络上接收物理帧,抽出IP数据报,交给IP层。
网络通信原理:两台计算机通信,双方必须有唯一的地址。网络通信必须有硬件和软件方面的支持
l 网络通讯要素:IP地址,端口号,传输协议
IP地址:Internet Protocol
• 用于唯一标识网络中的一个通信实体(通常是计算机)。
• IP协议:又称互联网协议,是支持互联网间互连的数据报协议。IP协议负责将消息从一个主机传送到另一个主机,消息在传送的过程中被分割成一个个的小包。
• IP地址 = 网络ID(标识所在网段)+主机ID(标识本机)
• 不易记忆,可用主机名主机名:localhost
• 本地回环地址:127.0.0.1,用于本机测试 特殊IP地址:0.0.0.0:本机
端口号
• 用于标识进程的逻辑地址。一个进程可以有多个端口号
• 端口是程序与外界通信的出入口
• 有效端口:0~65535,其中0~1024系统使用或保留端口。
传输协议
• 通讯的规则
• 常见协议:TCP,UDP
Ø UDP(User Datagram Protocol用户数据包协议)
• 将数据及源和目的封装成数据包中,不需要建立连接
• 每个数据报的大小在限制在64k内
• 因无连接,是不可靠协议
• 不需要建立连接,速度快
Ø TCP(Transmission Control Protocol 传输控制协议)
• 建立连接,形成传输数据的通道。
• 在连接中进行大数据量传输
• 通过三次握手完成连接,是可靠协议
• 必须建立连接,效率稍低
路由交换设备:将数据从一台计算机送到另一台计算机