TCP/IP协议体系结构简介

01-04

1、TCP/IP协议栈

四层模型

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

接口层。

网络接口层

模型的基层是网络接口层。负责数据帧的发送和接收,帧是独立的网络信息传

输单元。网络接口层将帧放在网上,或从网上把帧取下来。

互联层

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

这里有四个互联协议:

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

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

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

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

传输层

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

两个传输协议:

传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数

据的情况。并适用于要求得到响应的应用程序。

用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适

合于一次传输小量数据,可靠性则由应用层来负责。

应用层

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

网络接口技术

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

接口技术。

串行线路协议

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

行数据传送。(是不是我们平时把它称之为异步通信,对于要拿LINUX提供建立

远程连接的朋友应该多研究一下这方面的知识)?

TCP/IP基础----为Linux做准备(2)

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

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

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

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