TCP/IP协议族(1)
TCP/IP协议族体系结构以及主要协议
- 应用层:ping、telnet、OSPF(开放式最短路径优先)、DNS(域名转换为IP地址)
- 传输层:TCP、UDP、SCTP
- 网络层:IP、ICMP
- 数据链路层:ARP、RARP
数据链路层
数据链路层实现了网卡接口的网络驱动程序,以处理数据在屋里媒介上的传输。不同的物理媒介有不同的特性,网络驱动程序隐藏了这些细节,为上层协议提供了统一的接口。
ARP
ARP(地址解析协议),实现了IP地址转化为机器物理地址
RARP
RARP(逆地址解析协议)相反。
网络层
网络层实现数据包的选路和转发。
IP协议
IP协议(因特网协议),根据数据包的目的IP地址来决定如何投递。
ICMP协议
ICMP(因特网控制报文协议),是IP协议的重要补充。主要用于检测网络连接。
地址构成:
- 8位类型代码:差错报文:回应网络错误 ;查询报文:查询网络信息
- 8位代码:为不同的类型进行细分的代码
- 16位校验和:ICMP报文使用16位校验和字段对整个报文(包括头部和部分内容)进行循环冗余校验,以检验报文是否在传输过程中损坏。
传输层
传输层为两台主机应用程序提供端到端的通信。
TCP
TCP(传输控制协议),为应用提供可靠的、面向连接的和基于流的服务。
TCP协议使用超时重传、数据确认等方式来确保数据包被正确发送到目的端,因此TCP协议通信是可靠的。使用TCP协议通信的双方必须先建立TCP连接,并在内核中为该连接维持一些必要的数据结构,比如:连接状态、读写缓冲区,以及诸多定时器等。当通信结束时,双方必须关闭连接以释放这些内核数据。
TCP服务是基于流的,基于流的数据是没有边界(长的)限制的,他源源不断地从通信的一端流入另一端。发送端可以逐个字节地向数据六种写入数据,接收端也可以逐个字节的将他们读出。
UDP
UDP(用户数据报协议)协议是,则与TCP协议完全相反,他为应用层提高不可靠、无连接和基于数据的服务。
“不可靠意”味着UDP协议无法保证数据从发送端正确传输到目的端。如果数据在中毒丢失,或者目的端通过数据校验发现数据错误而将其丢弃,则UDP协议只是简单的通知应用程序发送失败。因此,使用UDP协议的应用程序通常要自己处理数据确认、超时重传等逻辑。
UDP协议是无连接的,即通信双方不保持一个长久的联系,因此应用程序每次发送数据都要明确指定接收端的地址(IP和PORT)。
基于数据报的服务,是相对基于流的服务而言。每个UDP数据包都有一个长度,接收端必须以该长度为最小值将其所有内容一次性读出,否则数据将被截断。
SCTP
SCTP(流控制传输协议)为了在因特网上传输电话信号而设计的。
应用层
应用层负责处理应用程序的逻辑。
ping
平时应用程序而不是协议,利用ICMP保温检测网络连接,是调试网络环境的必备工具。
telnet
telnet协议是一种远程登录协议,使用户能够本地完成远程任务。
OSPF(开放最短路径优先协议)
ISPF是一种动态路由更新协议,用于路由器之间的通信,已告知对象各自路由信息。
DNS
DNS(域名服务)协议提供机器域名到IP地址的转换。