18. TCP/IP协议族


TCP/IP协议族不像理论的协议关系有7层, 前者只有四层. 自底而下分别是 : 数据链路层, 网络层, 传输层, 应用层; 每一层对应不同的功能. 本节只是简单的介绍一下关于这四层协议的功能.

在这里插入图片描述


数据链路层

  1. 数据链路层实现了网卡接口的网络驱动程序, 以处理数据在物理媒介(以太网等)上的传输过程.

    数据链路层常用的是连个协议 : ARP协议RARP协议.

    网络通信看上去是上层之间的直接通信, 其实只是我们感受不到下层所做的工作. 而在数据链路层本机需要找到目标主机的MAC地址才行, 而在传输过程中我们只需要知道目标的IP地址即可, 那IP地址怎么转化成MAC地址呢? 这就需要ARP协议. ARP协议是将IP地址转化成对应的MAC地址, 而RARP协议则是做的相反的工作. 这两个协议也就保障了底层协议的通信.

    ARP请求则是通过广播, 同时主机会暂时使用缓存来报存ARP地址. 这是保证多次通信过程可以避免广播的次数.

在这里插入图片描述


  1. 数据链路层负责接收IP数据包并通过网络发送, 或者从网络上接收物理帧, 抽出IP数据包, 交给IP层.

在这里插入图片描述


网络层

网路层是实现数据包的分组和转发. 如 IP数据报分片

网络层还对上层隐藏了网络拓扑连接的细节, 使上层通信感觉就像是相互直连的.

网络层不仅包含的有IP协议还包含ICMP协议.

ICMP协议主要用于检测网络连接. 其协议主要分为两个部分 : 1 差错检测; 2 查询报文. 我们经常验证对端是否接入网络, 直接使用ping IP, 这其实就是发送ICMP查询报文来验证.


传输层

传输层为两台主机上的应用提供了端到端的通信. 而通信过程的细节则被下层所隐藏, 只感觉传输层与传输层像是直接连接的.

在这里插入图片描述

传输层的协议主要有三个 : TCP协议(传输控制协议) [2], UDP协议(户数据报协议)[3], SCTP协议.

TCP是面向连接的协议, 它提供可靠的报文传输和对上层应用的连接服务. 因此, 除了基本的数据传输外, 它还有可靠性保证、流量控制、多路复用、优先权和安全性控制等功能.

UDP是面向无连接的不可靠传输的协议, 主要用于不需要TCP的排序和流量控制等功能的应用程序.


应用层

应用层负责处理应用程序的逻辑.

应用层的协议有很多, 这里简单举几个例 :

  1. 文件传输协议(FTP). 一般上传下载用FTP服务, 数据端口是20H.
  2. 电子邮件传输协议(SMTP)
  3. 域名服务(DNS)). 域名解析服务, 提供域名到IP地址之间的转换, 使用端口53.
  4. HTTP超文本传输协议. 用于实现互联网中的WWW服务, 使用端口80.

SOCKET

套接字(socket)是通信的基石, 是支持TCP/IP协议的网络通信的基本操作单元. socket并不是协议, 它只是对TCP/IP协议的封住, 它是网络通信过程中端点的抽象表示, 也只是一个接口.

socket的API提供两点功能 :

  1. 将应用程序数据从用户缓冲区复制到TCP内核发送缓冲区; 或者是从TCP/UDP内核缓冲区将数据复制到用户应用程序缓冲区.
  2. 可通过调用部分函数(如 setsockopt[4])来修改内核各层协议的某些头部信息或其他数据结构, 从而控制底层通信行为.

小结

本节只是对TCP/IP协议族做了简要的总结, 最后也加了关于socket的理解.

  • 四层协议的功能
  • socket是接口不是协议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值