专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »网络编程 » tcp协议栈:TCP/IP协议栈 »正文

tcp协议栈:TCP/IP协议栈

来源: 发布时间:星期六, 2008年11月29日 浏览:21次 评论:0
四层模型
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缓存保存有动态项
和静态项。动态项是自动添加和删除的,静态项则保留在CACHE中直到计算
机重新启动。
ARP缓存总是为本地子网保留硬件广播地址(0xffffffffffffh)作为一个永久项。
此项使主机能够接受ARP广播。当查看缓存时,该项不会显示。
每条ARP缓存记录的生命周期为10分钟,2分钟内未用则删除。缓存容量满时,
删除最老的记录。
加入静态(永久)记录
通过添加静态ARP项可减少ARP请求访问主机的次数。
ARP包的结构
ARP结构的字段如下:
硬件类型--使用的硬件(网络访问层)类型。
协议类型--解析过程中的协议使用以太类型的值。
硬件地址长度--硬件地址的字节长度,对于以太网和令牌环来说,其长度为6字节。
协议地址长度--协议地址字节的长度,IP的长度是4字节。
操作号--指定当前执行操作的字段。
发送者的硬件地址--发送者的硬件地址。
发送者的协议地址--发送者的协议地址。
目的站硬件地址--目标者的硬件地址。
目的站协议地址--目标者的协议地址。?
              
TCP/IP基础----为Linux做准备(3)
==============================
3、ICMP和IGMP
internet控制消息协议ICMP是用于报告错误并代表IP对消息进行控制。
IP运用互联组管理协议IGMP来告诉路由器,某一网络上指导组中的可用主机。
ICMP
ICMP源抑制消息:当TCP/IP主机发送数据到另一主机时,如果速度达到路由器或者链路
的饱和状态,路由器发出一个ICMP源抑制消息。
ICMP数据包结构
类型:一个8位类型字段,表示ICMP数据包类型。
代码:一个8位代码域,表示指定类型中的一个功能。如果一个类型中只有一种功能,代
码域置为0。
检验和:数据包中ICMP部分上的一个16位检验和。
指定类型的数据随每个ICMP类型变化的一个附加数据。
IGMP
IGMP信息传给别的路由器以使每个支持多路广播的路由器获知哪个主机组和哪个网络
中。

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: