博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP/IP协议体系结构简介
阅读量:5977 次
发布时间:2019-06-20

本文共 1935 字,大约阅读时间需要 6 分钟。

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字节。

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

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

转载地址:http://zesox.baihongyu.com/

你可能感兴趣的文章
env: zh_CN.GB2312:: No such file or directory
查看>>
Linux也有全功能杀毒软件啦!
查看>>
RHCE是否还值得考取?
查看>>
Google Cloud 下一站之战略转变
查看>>
【自用】nginx.conf
查看>>
保持坦然平和的心态!
查看>>
KVM配置之(3)- 克隆
查看>>
分享自制的C#和VB Code互转工具
查看>>
Spring容器初始化Bean、销毁Bean前所做操作的定义方式汇总
查看>>
Linux系统的常用命令的使用
查看>>
Apache Solr入门教程(初学者之旅)
查看>>
IPV4报头格式详解
查看>>
echart地图配置
查看>>
了解计算机病毒
查看>>
node学习准备工作1 --- nvm下载、终端环境iterm2配置
查看>>
centos7 apache2.4 多站点配置
查看>>
zabbix监控mysql
查看>>
微信小程序(6)模板详解 template
查看>>
FAQ宝典之常见问题排查与修复方法
查看>>
Guitar Pro7最新版发布 吉他编谱首选
查看>>