• TCP/IP 协议 ----- 协议栈


    文章是作者对tcp/ip协议族的一些看法,借鉴TCP/IP详解卷一的内容,进行总结归纳,并阐述自己的一些看法。

    1. TCP/IP协议栈· :
      TCP/IP协议栈
      整个协议栈被分为了四层,每一层协议负责不同的功能:

      链路层:负责处理物理接口的细节,接受发送的都是比特流,链路层主要有三个目的: 1. 为IP模块发送和接收I P数据报;2. 为ARP模块发送ARP请求和接收ARP应答;3.为RARP发送RARP请求和接收RARP应答
      网络层:用来处理网络分组在网络中的活动,路由,接受上层tcp/udp报文并封装为IP数据包,网络层吸引也包括ICMP IGMP。所有的 T C P、U D P、I C M P及I G M P数据都以I P数据报格式传输。
      传输层:运输层主要为两台主机上的应用程序提供端到端的通信。包含TCP协议和UDP协议。
      应用层:即应用层次的协议 例如FTP,DNS , TFTP等。

    这里写图片描述
    这张图清晰的标识了各个层次协议。

    2.封装与解包
    从应用层发送的数据,依次向下被封装为不同的数据包,当通过传输层时,加上了TCP或UDP报头,网络层时添加了IP报头,最后加上以太网报头信息并以比特流发送出去。
    这里写图片描述
    等整个比特流到达目的地时,在逐层的解包,到达应用层时,既是发送的内容。

    3.包的分用
    当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各
    层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。
    等以太网驱动程序接受数据帧后,要知道这个数据帧是什么协议IP ARP 或RARP,IP层解析出传输层数据包时要判断是哪个协议TCP UDP ICMP 或IGMP? 这就以太网和IP首部去指定这个数据包是哪种协议。

    这里写图片描述

    这里可以看到wireshark的抓包结果 在以太网首部有个字段type :IPv4 指定这是一个IP数据包, IP首部也有个协议字段:TCP 说明接受到的是一个TCP包。

  • 相关阅读:
    wzplayer2 支持mac 了,最新谍报
    关于duilib的理解
    DMS的实现转载
    视频通话最新谍报
    新人补钙系列教程之:Function类的重要方法apply()
    新人补钙系列教程之:webgame好友模块原型开发一
    新人补钙系列教程之: 大型 webGame 开发系列之 pipes
    新人补钙系列教程之:模拟java多线程Thread类
    flash学习网站
    新人补钙系列教程之:AS3与服务器通信
  • 原文地址:https://www.cnblogs.com/MaAce/p/7755705.html
Copyright © 2020-2023  润新知