zoukankan      html  css  js  c++  java
  • 网络

    Table of Contents

    1.1分层

     1.2 TCP/IP分层

    1.3互联网地址

     1.4封装

     1.5分用

     1.6应用编程接口


     

    1.1分层

    网络协议层通常分不同层次进行开发,每一层分别负责不同的通信功能,一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议。

    每一层负责不同的功能:

    1)链路层,有时,也被称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆的物理接口细节。

    2)网络层,有时也被称作互联网层,处理分组在网络中活动,例如分组选路。在TCP/IP协议族中,网络层协议包括IP(网际协议)、ICMP协议(Internet互联网控制报文协议),IGMP协议

    3)运输层,主要为两台主机上应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议TCP(传输控制协议)和UDP(用户数据报协议)。

    TCP把应用程序交给它的数据分成合适的小块交给下面的网络层,确定接收到的分组,设置发送最后确认分组的超时时钟等,UDP则为传输层提供一种简单的服务,它只是把称作数据报的分组从一台主机转发到另一台上,但是不保证一定能发送成功。可靠性必须要应用层来确认。

    4)应用层,

    Telnet远程登陆

    FTP文件传输协议

    SMTP简单邮件传送协议

    SNMP简单网络管理协议

     两台主机路由器间通信:

     1.2 TCP/IP分层

     TCP/UDP是最著名的运输层协议,二者都使用IP作为网络协议。

    TCP使用的不可靠的IP服务提供可靠的运输层服务。

    1.3互联网地址

    ​五类互联网地址

     1.4封装

    当应用程序用TCP传送数据时,数据被送到协议栈中,然后逐个通过每一层直到被当作一串比特流传送到互联网上。其中每过一层协议层就会多增加一些首部信息(有时候是尾部信息)

    ​数据入协议栈的封装过程

     1.5分用

    ​ 以太网数据帧的分用过程

     1.6应用编程接口

    使用TCP/IP协议的应用程序通常采用这两种编程接口(API):socket和TLI(运输层接口)。

                                             链路层

    2.1引言

    在TCP/IP协议族中,链路层主要有三个目的:

    1)为IP模块发送和接收IP数据报

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

    3)为RARP发送RARP请求和接收RARP应答

    TCP/IP支持多种链路层协议,这协议取决于硬件,以太网,令牌环网, FDDI(光纤分布式数据接口)及 R S-2 3 2串行线路等。

    以下主要讲以太网链路层协议,还有两个串行接口链路层协议(S L I P和P P P),以及大多数实现包含的环回驱动程序。

    2.2以太网和IEEE 802封装(电子电气工程协会)

    在TCP/IP世界中,以太网I P数据报的封装是在RFC 894[Hornig 1984]中定义的, IEEE 802网络的I P数据报封装是在RFC 1042[Postel and Reynolds 1988]中定义的。主机需求 R F C要求每台I n t e r n e t主机都与一个10 Mb/s的以太网电缆相连接:

    1)必须能发送和接收采用 RFC 894(以太网)封装格式的分组。

    2)应该能接收与RFC 894混合的RFC 1042(IEEE 802)封装格式的分组。

    3)也许能够发送采用 RFC 1042格式封装的分组。如果主机能同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是 RFC 894分组。

    最常使用的封装格式是 RFC 894定义的格式

    ​IEEE 802.2/802.3(RFC 1042)和以太网的封装格式(RFC 894)

     2.2换回接口

    大多数产品都支持换回接口(Loopback Interface),以允许同一台电脑上的客户端程序和服务器程序通过TCP/IP进行通信。A类网络号127就是为环回接口预留的。按照惯例都是127.0.0.1分配给这个接口,并命名为localhost。

    ​环回接口处理IP数据报

    2.3最大传输单元MTU

    以太网和802.3对数据帧的长度都有限制,最大值分别是1500和1492Byte。链路层称这个为MTU。最大传输单元。不同类型的网络都有一个上限。

    ​几种常见的最大传输单元MTU

    如果IP层有一个数据要传,而且数据长度比链路层的MTU还大,那么IP层需要分片,把数据报分成诺干片,这样每一片都小于MTU。

                                       第三章  IP:网际协议

     3.1IP首部

    ​IP数据报格式及首部中的各字段

     4个字节的32 bit值以下面的次序传输:首先是 0~7 bit,其次8~15 bit,然后1 6~23 bit,最后是24~31 bit。这种传输次序称作 big endian字节序。由于T C P / I P首部中所有的二进制整数,在网络中传输时都要求以这种次序,因此它又称作网络字节序。以其他形式存储二进制整数的机器,如little endian格式,则必须在传输数据之前把首部转换成网络字节序。

    1)版本:目前的协议版本号是 4,因此I P有时也称作I P v 4。

    2)首部长度指的是首部占 32 bit字的数目,包括任何选项。由于它是一个 4比特字段,因此,首部最长为6 0个字节。在第8章中,我们将看到这种限制使某些选项如路由记录选项在当今已,没有什么用处。普通 I P数据报(没有任何选择项)字段的值是 5。

    3)服务类型(TO S)字段包括一个 3 bit的优先权子字段(现在已被忽略), 4 bit的TO S子字段和1 bit未用位但必须置 0。 4 bit的TO S分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。 4 bit中只能置其中1 bit。如果所有4 bit均为0,那么就意味着是一般服务。 RFC 1340[Reynolds and Postel 1992] 描述了所有的标准应用如何设置这些服务类型。 RFC 1349
    [Almquist 1992]对该R F C进行了修正,更为详细地描述了 TO S的特性。

  • 相关阅读:
    Python正则表达式
    机器学习--------SVM
    tensor内部结构
    Tensor类型
    Tensor索引操作
    常用的Tensor操作
    Tensor基本操作
    神经网络
    Autograd:自动微分
    nginx之fastcgi配置
  • 原文地址:https://www.cnblogs.com/alex-gc/p/11144098.html
Copyright © 2011-2022 走看看