zoukankan      html  css  js  c++  java
  • TCP/IP

    TCP/IP四层模型从上到下分别是:

    应用层:用户进程

    运输层:TCP/UDP

    网络层:ICMP/IGMP/IP

    链路层:硬件接品/ARP/RARP

    用户数据在传输过程中,一般会先后加上 应用首部、TCP首部、IP首部和以太网首部,这个过程称为封装,这样对等方就可以做相应的解封(分用)操作。

    端口分三种:

    Ports 0-1023 - well known ports (由 IANA 分配给一些特定服务)

    Ports 1024-49151 - Registered port: vendors use for applications

    Ports >49151 - dynamic / private ports

    以太网 和 IEEE 802.3 对数据帧的长度限制分别是 1500 和1492 字节,这个限制叫作 MTU。两个主机通信可能经过多个网络,其中最小 MTU 称为路径MTU,如果IP数据报长度大于路径MTU,则会导致分片(Fragmentation),应尽量避免分片,因为它会降低网络通信效率。

    以太网帧格式:

    目的物理地址(6)+源物理地址(6)+ 帧类型(2)+ 数据(46~1500)+CRC(4)

    前12个字节是以太网首部,帧类型分为三类,它的不同导致后面的数据也不同:

    1、类型0800(2)+ IP数据报(46~1500)  【不足46字节就补全】

    2、类型0806(2)+ ARP请求/应答(28)+ PAD(18)

    3、类型8035(2)+ RARP请求/应答(28)+PAD(18)

    其中,`ARP请求/应答(28)`又分为:

    硬件类型(2)+ 协议类型(2)+ 硬件地址长度(1)+ 协议地址长度(1)+ op(2)+ 发送端以太网地址(6)+ 发送端IP地址(4)+ 目的以太网地址(6)+ 目的地址(4)

    IP->MAC    ARP   地址解析

    MAC->IP    RARP    反向地址解析

    ARP 和 RARP 实质是介于链路层和IP层之间的协议,但归于链路层。

    ICMP:用于传递差错信息、时间、回显、网络信息等控制数据。

    TCP连接建立有三次握手,连接终止有四次握手。

    TCP连接终止,是两个方向分别终止的,不是同时终止,先是A向B发起终止请求`FIN x,ACK y`,B同意并回发`ACK x+1`;然后B向A发起终止请求`FIN y,ACK x+1`,A回发`ACK y+1`

  • 相关阅读:
    mysql增加字段,修改字段,增加索引等语句
    php获取post参数的几种方式
    微信小程序开发注意事项
    jQuery的deferred对象详解
    jquery.pagination.js的使用
    js实现一键复制
    PHP读取文件内容的五种方式
    3.3 模块的搜索路径
    3.2 py文件的两种功能
    3.1 模块的定义与分类,import,from...import
  • 原文地址:https://www.cnblogs.com/tianyajuanke/p/3459186.html
Copyright © 2011-2022 走看看