zoukankan      html  css  js  c++  java
  • TCP/IP协议和互联网协议群

    TCP/IP协议群/互联网协议群(Internet Protocol Suite)

      类似OSI模型,一种网络协议的概念模型

     

    作用

    封包
    应用层(Application)

    OSI的应用层、表示层、会话层

    抽象用户的数据,提供顶层的API

    提供应用间的通信能力

    HTTP 协议

    数据  (程序员自己定义的格式)

    传输层(Transport)

    点到点的传输,端口号

    端口号 对应的是应用,源port,目标port,eg:80-http协议

    提供主机到主机(host to host)的通信能力

    TCP/UDP 协议

    TCP Header + TCP数据  (数据转换)

    网络层(Internet)

    像物流公司一样,将你的分包从一个IP地址送到另一个IP地址

    IP地址指位置编号,源IP,目标IP

    提供地址到地址的通信能力

    IP 协议

    IP Header + IP数据  (传输层的数据到了网络层,会被切成更小的片段)

    IP封包:源IP地址 | 目标IP地址 | 协议 |···| 数据(源端口 | 目标端口 | ··· |数据) ---TCP封包

    链接层(Link)

    提供设备到设备之间的通信能力,Mac地址

    Mac地址指设备编号,源Mac,目标Mac

    多种底层网络协议Etherner,Wi-Fi,···

    Frame Header + Frame Data + Frame Footer  (二进制)

    物理层(Pysical) 光电信号的传输  

      完成的TCP协议头

    源端口(source port) 目标端口(destination port)
    序号(sequence number)
    确认序号(acknowledgedgement number)
    Data Offset Reserved  标识位 窗口大小(window size)
    检验和(Checksum) 紧急指针(Urgent Pointer)
    可选项

      TCP协议封包

        · 每个封包称作以恶搞TCP信息段(TCP Segment)

        · Header 用于描述传输行为(如源端口,目标端口等)

        · Header 后面跟若干个byte数据,每个byte拥有自己的序列号

    三次握手 

      建立连接为什么需要3次握手?

        异常情况、

      数据顺序问题?

    传输和处理数据顺序 

        确定消息的顺序:绝对时间 ?

          使用发送、接收时间 - 服务器时间差异如何解决?

          使用自增序号?- · a-b-a-b类型会话可以解决?· a-(ab)-b类型会话如何解决?

        TCP/IP 协议处理方法?

          消息的绝对顺序用(SEQ、ACK)这一对元组描述

            - SEQ(Sequence):这个消息发送前一共发送了多少字节

            - ACK(Acknowledge):这个消息发送前一共收到了多少个字节

    挥手(终端连接)

      四次挥手

    思考?

      · 最简化原则:没有足够的事情要做,就不必分层

      · 及其对话、人对话

  • 相关阅读:
    php常见细节错误
    php+jquery注册实例
    yii2添加自定义字段
    yii2开启session
    yii2中textarea中的默认值设置
    yii2.0分页
    yii2多语言
    mysql中查询值为NULL的记录
    yii Html中的a标签使用
    yii2顶部导航使用
  • 原文地址:https://www.cnblogs.com/slightFly/p/14193659.html
Copyright © 2011-2022 走看看