跳转至
#基础  #计算机网络 
本文阅读量 

TCP/IP协议4层模型#

作用#

  1. 实现网卡接口的网络驱动,以处理数据在以太网线等物理媒介上的传输
  2. 网络驱动程序隐藏了不同物理网络的不同电气特性,为上层协议提供一个统一的接口

协议应用#

  1. ARP
  2. RARP

网络层(Network)#

作用#

网络有分局域网(LAN, Local Area Network)和广域网(WAN, Wide Area Network)。对于后者通常需要使用众多分级的路由器来连接分散的主机或者LAN,即通讯的两台主机一般不是直接连接,而是通过多个中间节点(路由器)连接的,从而形成网络拓扑连接。
1. 选择中间节点,以确定两台主机间的通讯路径
2. 对上层协议隐藏了网络拓扑连接的细节

协议应用#

  1. IP协议: IP协议(Internet Protocol)是网络层最核心的协议,它根据数据包的目的IP地址来决定如何投递该数据包。若数据包不可直接发送给目标主机,那么IP协议就为它寻找一个合适的下一跳路由器,并将数据包交付给该路由器去转发,如此循环直至到达目标主机或者发送失败而丢弃该数据包。
  2. ICMP协议: ICMP协议(Internet Control Message Protocol,因特网控制报文协议)是IP协议的补充,用于检测网络的连接状态,如ping应用程序就是ICMP协议的使用。ICMP包发送是不可靠的,所以不能依靠接收ICMP包解决网络问题;ICMP与TCP/UDP不同,它们是传输层协议,虽然都具有类型域和代码域,但是前者和后者不同,ping用到的ICMP协议,不是端口。ICMP协议使用的是IP协议而非使用下层协议提供的的服务,所以严格来讲它并非网络层协议,而是网络层程序。

传输层(Transport)#

作用#

为应用程序隐藏了数据包跳转的细节,负责数据包的收发、链路超时重连等。

协议应用#

  1. TCP协议: TCP协议(Transmission Control Protocol, 传输控制协议)为应用程序提供可靠的、面向连接的、基于流的服务,具有超时重传、数据确认等方式来确保数据包被正确发送到目的端。因此TCP服务是可靠的,使用TCP协议通讯的双方必须先建立起TCP连接,并在系统内核中为该连接维持一些必要的数据结构,比如连接的状态,读写缓冲区,多个定时器等。当通讯结束时双方必须关闭连接以释放这些内核数据。基于流发送意思是数据是没有长度限制,它可源源不断地从通讯的一段流入另一端。
  2. UDP协议: UDP协议(User Datagram Protocol, 用户数据报协议)与TCP协议相反,它为应用程序提供的是不可靠的、无连接的基于数据报的服务。
    • 无连接: 通讯双方不保持一个长久的联系,因此应用程序每次发送数据都要明确指定接收方的地址。
    • 基于数据报的服务: 这是相对于数据流而言的,每个UDP数据报都有一个长度,接收端必须以该长度为最小单位将其内容一次性读出,否则数据将被截断。

应用层(Application)#

作用#

应用层是在用户空间实现的,负责处理众多业务逻辑,如文件传输、网络管理等。

协议应用#

  1. HTTP协议
  2. SMTP协议
  3. SSH协议
  4. FTP协议
  5. TELNET协议
  6. OSPF协议
回到页面顶部