zoukankan      html  css  js  c++  java
  • TCP/IP详解卷一02

    1. 链路层的目的:

      1.1 为IP模块发送IP数据报和接收IP数据报;

      1.2 为ARP模块发送ARP请求和接收ARP应答

      1.3为RARP模块发送RARP请求和接收RARP应答

    2.以太网(主要局域网技术,CSMA/CD(带冲突检测的载波侦听多路接入)速率10Mb/s,地址48bit )

    3.IEEE 802(820.3针对整个CSMA/CD,802.4针对令牌总线网络,802.5针对令牌环网络),802网络共有的逻辑链路控制(LLC)

      以太网封装的理解:目的地址(48bit)--源地址(48bit)------类型(16bit;0800IP数据报;0806ARP请求/应答;8035RARP请求/应答)---数据(46~1500字节)------CRC(32bit)

    4.尾部封装(trailer encapsulation;RFC 893;以太网的封装格式)

    5.SLIP:串行线路IP(Serial Line IP)

      5.1SLIP协议定义的帧格式:(1)IP数据报以一个称作END的特殊字符结束。(2)如果IP报文中某个字符为END,那麽就需要输入两个0xdb和0xdc来取代。(3)如果IP报文中某个字符为SLIP的ESC字符,就需要传输两个字节0xdb和0xdd来取代它。(则在串行线路上传输的总字节数是原IP报文长度再加连续添加的字节数)

      5.2缺点:(1)每一端必须知道对方的IP地址,没有办法将本端的IP地址传送给另一端;(2)数据帧中没有类型字段;(3)SLIP没有在数据帧上加上检验和(类似于以太网上的CRC字段)

    6.CSLIP:(压缩的串行线路IP):将40个字节压缩到3或者5个字节。能在CSIP的每一端维持多达16个TCP连接,并且知道其中每个连接的首部中的某些字段一般不会发生变化。

    7.PPP:点对点协议

      7.1包括:(1)在串行链路上封装了IP数据报的方法

          (2)建立、配置及测试数据链路的链路控制协议(LCP:Link Control Protocol)

          (3)针对不同网络层协议的网络控制协议(NCP:Network Control Protocol)

      7.2  PPP数据帧的格式:

      每一帧都是以标志位0x7e开始和结束,紧接着是一个地址字符值为0xff,然后是0x03的控制字节。

      协议字段中0X0021(表示信息字段是一个IP数据报),值为0xc021(信息字段是链路控制数据);值为0x8021时,表示信息字段是网络控制数据。

      CRC字段(帧检验序列)是一个循环冗余检验码,以检测数据帧中的错误。

      标志字符0x7e,当该字符出现在信息字段时,PPP需要对它进行转义(遇到字符0x7e 时,需要连续传送两个字符:0x7d和0x5e,以实现标志字符的转义)。

      PPP的优点:(1)PPP支持在单根串行线路上运行多种协议,不只是IP协议;

            (2)每一帧都有循环冗余检验

            (3)通信双方可以进行IP地址的动态协商(使用IP网络控制协议)

            (4)与CSLIP类似,对TCP和IP报文首部进行压缩;

            (5)链路控制协议可以对多个数据链路选项进行设置

      代价:每一帧的首部增加3个字节。

    8.环回接口(Loopback Interface):IP 地址:127.0.0.1,命名为localhost,传给环回接口的IP数据报不能在任何网络上出现

        关键点:(1)传给环回地址(127.0.0.1)的任何数据均作为IP输入

            (2)传给广播地址或者多播地址的数据复制一份传给环回接口,然后送到以太网上。、

            (3)任何传给该主机IP地址的数据均送到环回接口

            (4)环回接口可以被看作网络层下面的另一个链路层,网络层把数据报传送给了环回接口,就像传给其他链路层一样,只不过环回接口把它返回到IP的输入队列中。

            (5)送给主机本身IP地址的IP数据报一般不应该出现在相应的网络上。

    9.最大传输单元MTU:以太网数据帧的长度最大值是1500字节,802.3数据帧的长度最大是1492字节。链路层这个特性为MTU。

      (1)当IP层数据报的数据长度大于链路层的MTU,那麽IP层需要进行分片(fragmentation)

      (2)?????MTU并非指的是网络媒体的物理特性,而是一个逻辑限制,目的是为交互使用提供足够快的响应时间。将这个数值计算出来。?????

      (3)netstat打印出网络接口的MTU

    10.路经MTU:当两台主机之间的通信需要通过多个网络,每个网络的链路层就可能有不同的MTU,重要的不是两台主机所在网络的MTU的值,重要的是两台通信主机路径中最小的MTU。

    11.串行线路吞吐量计算:?????

    12.netstat的使用:用于显示与IP 、TCP、UDP和ICMP相关的统计数据,一般用于检验本机各端口的网络连接情况

    netstat -s :按照各个协议分别显示其统计数据。

    netstat -e :显示以太网的统计数据(包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量)

    netstat -r: 显示路由表的信息,类似于route print 命令看到的信息。除了显示有效地路由外,还显示当前有效地连接

    netstat -a:显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接

    netstat -n : 显示所有已建立的有效连接。

        

  • 相关阅读:
    小程序用户拒绝授权地理位置的处理办法
    云开发小程序数据库权限有限,通过云函数修改数据库评论信息
    小程序仿照微信朋友圈点击评论键盘输入
    小程序wx.previewImage查看图片再次点击返回时重新加载页面问题
    js手机端判断滑动还是点击
    Proxy
    Reflect.has检测对象是否拥有某个属性
    简单的axios请求返回数据解构赋值
    为windows terminal 配置 conda
    git clone 遇到问题:fatal: unable to access 'https://github.comxxxxxxxxxxx':
  • 原文地址:https://www.cnblogs.com/any000yna/p/7458228.html
Copyright © 2011-2022 走看看