解释TCP/IP在媒介上是如何进行传输的

本文仅是自己阅读笔记,不正确之处请多包涵和纠正。

本文将介绍TCP/IP是如何在媒介上传输的

一、数据包首部

在这里插入图片描述
每个分层,都会对所发送的数据附加一个首部,在这个首部中包含了该层的必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。

二、发送数据包

假设计算机A给B发邮件,它的TCP/IP过程如下:

1、应用程序的发送处理

应用在发送邮件的那一刻建立TCP连接,从而利用这个TCP连接发送数据。它的过程首先是将应用的数据发送给下一层的TCP,再做实际的转发处理。

2、TCP模块的发送处理
  • TCP根据应用的指示,负责建立连接、发送数据以及断开连接。TCP提供将应用层发来的数据顺利发送至对端的可靠传输。
  • 为了实现TCP可靠传输的功能,需要在应用层数据的前端附加一个TCP首部。TCP首部中包括源端口号和目标端口号、序号以及校验和。随后将附加了TCP首部的包再发送给IP。
3、IP模块的发送处理
  • IP将TCP传过来的TCP首部和TCP数据合起来当做自己的IP数据,然后在TCP首部前加上IP首部。
  • IP首部中包含接收端IP以及发送端IP地址。紧随着IP首部还有用来判断其后面数据是TCP还是UDP的信息
  • IP包生成后,参考路由控制表决定接收此IP包的路由或主机(接收端的MAC地址)。如果尚不知道接收端的MAC地址,可以利用ARP查找。只要知道了对端的MAC地址,就可以将MAC地址和IP地址交给以太网的驱动程序,实现数据传输
  • 随后,IP包将被发送给连接这些路由器或主机网络接口的驱动程序,以实现真正的发送数据。
4、网络接口(以太网驱动)的发送处理
  • 从IP传过来的IP包,对于以太网驱动来说不过就是数据。给这个数据附加上以太网首部并进行发送处理。
  • 以太网首部中包含接收端MAC地址发送端MAC地址以及标志以太网类型的以太网数据的协议(以太网数据协议:这个例子中即是IP)。
  • 根据上述信息产生的以太网数据包通过物理层发送给接收端。
  • 发送处理中的FCS由硬件计算,添加到包的最后。设置FCS目的是为了判断数据包是否由于噪声而被破坏。
    在这里插入图片描述

三、数据包接收处理

5、网络接口(以太网驱动)的接收处理
  • 主机收到以太网包以后,首先从以太网包首部中找到MAC接收地址判断是否为发给自己的包。如果不是则丢弃数据。
  • 如果是发送给自己的包,就查找以太网包手不中的类型域从而确定以太网协议所传送过来的数据类型。这个例子中数据类型显然就是IP包,因此再将数据传给处理IP的子程序。(如果是诸如ARP的协议,则把数据传给ARP处理)
  • 如果以太网首部的类型域包含了一个无法识别的协议类型,则丢弃数据。
6、IP模块的接收处理
  • IP模块接收到IP包首部及后面的数据部分以后,也做类似处理。如果判断得出包首部中的IP地址与自己的IP地址匹配,则可接收数据并从中查找上一层的协议。
  • 如果上一层是TCP协议就将IP包首部之后的部分传给TCP处理,如果是UDP,则将IP包首部后面的部分传给UDP处理。
  • 对于有路由器的情况下,接收端地址往往不是自己的地址,此时,需要借助路由器控制表,再调查应该送达的主机或路由器以后再转发数据。
7、TCP模块的接收处理
  • 在TCP模块中,(1)会先计算一下校验和,判断数据是否破坏。(2)然后检查是否按照序号接收数据。(3)最后检查端口号,确定具体的应用程序
  • 数据接收完毕后,接收端则发送一个“确认回执”给发送端。如果这个回执信息未能达到发送端,那么发送端会认为接收端没有接收到数据而一直反复发送。
  • 数据被完整地接收以后,会传给由端口号识别的应用程序。
8、应用程序的接收处理

接收端应用程序会直接接收发送端发送的数据。然后解释数据可以获得邮件响应的内容,从而决定返回什么信息给发送端。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值