tcp网络协议详细讲解 tcp ip协议( 二 )

  • ⑤ 网络接口(以太网驱动)的处理
    主机收到以太网包后,首先从以太网包首部找到 MAC 地址判断是否为发送给自己的包,若不是则丢弃数据 。
    如果是发送给自己的包,则从以太网包首部中的类型确定数据类型,再传给相应的模块,如 IP、ARP 等 。这里的例子则是 IP。
  • ⑥ IP 模块的处理
    IP 模块接收到 数据后也做类似的处理 。从包首部中判断此 IP 地址是否与自己的 IP 地址匹配,如果匹配则根据首部的协议类型将数据发送给对应的模块,如 TCP、UDP 。这里的例子则是 TCP 。
    另外吗,对于有路由器的情况,接收端地址往往不是自己的地址,此时,需要借助路由控制表,在调查应该送往的主机或路由器之后再进行转发数据 。
  • ⑦ TCP 模块的处理
    在 TCP 模块中,首先会计算一下校验和,判断数据是否被破坏 。然后检查是否在按照序号接收数据 。最后检查端口号,确定具体的应用程序 。数据被完整地接收以后,会传给由端口号识别的应用程序 。
  • ⑧ 应用程序的处理
    接收端应用程序会直接接收发送端发送的数据 。通过解析数据,展示相应的内容 。
  • 三、传输层中的 TCP 和 UDP
    TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP 。
    • TCP 是面向连接的、可靠的流协议 。流就是指不间断的数据结构,当应用程序采用 TCP 发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端 。TCP 为提供可靠性传输,实行“顺序控制”或“重发控制”机制 。此外还具备“流控制(流量控制)”、“拥塞控制”、提高网络利用率等众多功能 。
    • UDP 是不具有可靠性的数据报协议 。细微的处理它会交给上层的应用去完成 。在 UDP 的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达 。因此,应用有时会根据自己的需要进行重发处理 。
    • TCP 和 UDP 的优缺点无法简单地、绝对地去做比较:TCP 用于在传输层有必要实现可靠传输的情况;而在一方面,UDP 主要用于那些对高速传输和实时性有较高要求的通信或广播通信 。TCP 和 UDP 应该根据应用的目的按需使用 。
    1. 端口号
    数据链路和 IP 中的地址,分别指的是 MAC 地址和 IP 地址 。前者用来识别同一链路中不同的计算机,后者用来识别 TCP/IP 网络中互连的主机和路由器 。在传输层也有这种类似于地址的概念,那就是端口号 。端口号用来识别同一台计算机中进行通信的不同应用程序 。因此,它也被称为程序地址 。
    1.1 根据端口号识别应用
    一台计算机上同时可以运行多个程序 。传输层协议正是利用这些端口号识别本机中正在进行通信的应用程序,并准确地将数据传输 。

    tcp网络协议详细讲解 tcp ip协议


    通过端口号识别应用
    1.2 通过 IP 地址、端口号、协议号进行通信识别
    • 仅凭目标端口号识别某一个通信是远远不够的 。

    tcp网络协议详细讲解 tcp ip协议



    tcp网络协议详细讲解 tcp ip协议


    通过端口号、IP 地址、协议号进行通信识别