网络编程
一、Internet网络协议
1.TCP/IP协议
- 主流协议族
- 分层、多协议的通信系统
1.1 数据链路层
网卡接口的网络驱动程序,处理数据再物理媒介上的传输;不同的物理网络具有不同的电气特性,网络驱动程序隐藏实现细节,为上层协议提供一致的接口
数据链路层常用协议:地址解析协议(ARP)和反向地址解析协议(RARP),实现IP地址与机器物理地址(通常为MAC地址)之间的相互转换
1.2 网络层
实现数据包的路由和转发
常用协议:IP、ICMP
ip协议:跳发送模式;根据数据包的目的地IP地址决定数据如何发送;如果数据包不能直接发送至目的地,IP协议负责寻找一个合适的下一跳路由器,并将数据包交付给该路由器转发
ICMP协议:英特网的控制报文协议,用于检测网络连接
1.3 传输层
为两台主机的应用程序提供端到端通信
传输层使用的主要协议:TCP、UDP
- TCP:传输控制协议,为应用层提供可靠的、面向连接的、基于流的可靠服务;使用超时重发、数据确认等方式确保数据被正确发送至目的地
- UDP:用户数据报协议,为应用层提供不可靠的、无连接的、基于数据服务报的服务;不保证数据能正确发送