• TCP/IP协议体系结构简介


    1、TCP/IP协议栈

    四层模型

    TCP/IP这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。

    网络接口层:模型的基层是网络接口层。负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。

    互联层:互联协议将数据包封装成internet数据报,并运行必要的路由算法。

    这里有四个互联协议:

      网际协议IP:负责在主机和网络之间寻址和路由数据包。

      地址解析协议ARP:获得同一物理网络中的硬件主机地址。

      网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。

      互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员。

    传输层:传输协议在计算机之间提供通信会话。传输协议的选择根据数据传输方式而定。

    两个传输协议:

      传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。

      用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。

    应用层:应用程序通过这一层访问网络。

    网络接口技术

      IP使用网络设备接口规范NDIS向网络接口层提交IP支持广域网和本地网接口技术。

    串行线路协议

      TCP/IPG一般通过internet串行线路协议SLIP或点对点协议PPP在串行线上进行数据传送。

    TCP/IP基础

    ==============================

    2、ARP

    要在网络上通信,主机就必须知道对方主机的硬件地址。地址解析就是将主机IP地址映射为硬件地址的过程。地址解析协议ARP用于获得在同一物理网络中的主机的硬件地址。

    解释本地IP地址

    主机IP地址解析为硬件地址:

    (1)当一台主机要与别的主机通信时,初始化ARP请求。当该IP断定IP地址是本地时,源主机在ARP缓存中查找目标主机的硬件地址。

    (2)要是找不到映射的话,ARP建立一个请求,源主机IP地址和硬件地址会被包括在请求中,该请求通过广播,使所有本地主机均能接收并处理。

    (3)本地网上的每个主机都收到广播并寻找相符的IP地址。

    (4)当目标主机断定请求中的IP地址与自己的相符时,直接发送一个ARP答复,将自己的硬件地址传给源主机。以源主机的IP地址和硬件地址更新它的ARP缓存。源主机收到回答后便建立起了通信。

    解析远程IP地址

    不同网络中的主机互相通信,ARP广播的是源主机的缺省网关。

    目标IP地址是一个远程网络主机的话,ARP将广播一个路由器的地址。

    (1)通信请求初始化时,得知目标IP地址为远程地址。源主机在本地路由表中查找,若无,源主机认为是缺省网关的IP地址。在ARP缓存中查找符合该网关

    记录的IP地址(硬件地址)。

    (2)若没找到该网关的记录,ARP将广播请求网关地址而不是目标主机的地址。路由器用自己的硬件地址响应源主机的ARP请求。源主机则将数据包送到路由器以传送到目标主机的网络,最终达到目标主机。

    (3)在路由器上,由IP决定目标IP地址是本地还是远程。如果是本地,路由器用ARP(缓存或广播)获得硬件地址。如果是远程,路由器在其路由表中查找该网关,然后运用ARP获得此网关的硬件地址。数据包被直接发送到下一个目标主机。

    (4)目标主机收到请求后,形成ICMP响应。因源主机在远程网上,将在本地路由表中查找源主机网的网关。找到网关后,ARP即获取它的硬件地址。

    (5)如果此网关的硬件地址不在ARP缓存中,通过ARP广播获得。一旦它获得硬件地址,ICMP响应就送到路由器上,然后传到源主机。

    ARP缓存

    为减少广播量,ARP在缓存中保存地址映射以备用。ARP缓存保存有动态项 [next]和静态项。动态项是自动添加和删除的,静态项则保留在CACHE中直到计算机重新启动。

    ARP缓存总是为本地子网保留硬件广播地址(0xffffffffffffh)作为一个永久项。

    此项使主机能够接受ARP广播。当查看缓存时,该项不会显示。

    每条ARP缓存记录的生命周期为10分钟,2分钟内未用则删除。缓存容量满时,删除最老的记录。

    加入静态(永久)记录

    通过添加静态ARP项可减少ARP请求访问主机的次数。

    ARP包的结构

    ARP结构的字段如下:

    硬件类型--使用的硬件(网络访问层)类型。

    协议类型--解析过程中的协议使用以太类型的值。

    硬件地址长度--硬件地址的字节长度,对于以太网和令牌环来说,其长度为6字节。

    协议地址长度--协议地址字节的长度,IP的长度是4字节。

    操作号--指定当前执行操作的字段。

    发送者的硬件地址--发送者的硬件地址。

  • 相关阅读:
    Swift
    Swift
    Swift
    Mac
    Mac
    Sqlite数据库 找不到请求的 .Net Framework Data Provider。可能没有安装
    Couchbase的web管理员后台 查看缓存提示警告 Warning: Editing of document with size more than 2.5kb is not allowed的解决方法
    转:asmx迷10分钟升级成wcf熟手指南
    .net4.0下 解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误
    Windows系统下Memcached缓存系列二:CouchbaseClient(c#客户端)的详细试用,单例模式
  • 原文地址:https://www.cnblogs.com/gaopeng527/p/5284862.html
Copyright © 2020-2023  润新知