TCP/IP之链路层协议
2013-01-27 11:57
281 查看
TCP/IP协议族概述
我们常说的 「TCP/IP」 是指一个协议族系列,并不是指一个「TCP」和一个「IP」两种协议。一般把「TCP/IP」协议族作为一个「分层系统」,比较常用的是「四层」体系和「七层」体系。这里我们只讨论简单清晰的「四层」体系。![](http://images.cnitblog.com/blog/322405/201301/23222918-e641383e38ec42369d6f3d41f339c5b0.jpg)
链路层主要是涉及到物理传输媒介的传输细节。
网络层处理「分组」在网络中活动。主要包括IP协议(internet protocol),ICMP协议(internet control message protocol),IGMP协议(internet group management protocol)。
运输层主要是为两台主机提供端到端的通信。主要包括TCP和UDP。TCP比UDP提供更可靠的传输机制。
应用层负责处理特定的应用程序细节。如http是处理基于web的超文本传输协议。e-mail是处理邮件相应应用的协议。
「用户数据」从「应用层」到「传输层」再到「网络层」,「链路层」,要经过每一层的处理,封装,当数据到达别一个主机端是,从反方向解析之前封装的数据。
![](http://images.cnitblog.com/blog/322405/201301/24210102-6b096f26eb6a417599e1590d564b6129.jpg)
链路层协议
链路层有三个目的:为IP模块发送和接收IP数据报
为ARP模块发送ARP请求和接收ARP应答
为RARP发送RARP和接收RARP应答
TCP/IP支持多种不同的协议,取决于网络所用的硬件(这也说明链路层是关系到物理传输媒介),一般有:以太网,令牌环网,光纤分布数据接口,RS-232串行线路等。
以太网和IEEE802封装
以太网协议在RFC894里定义,IEEE802协议在RFC1042里定义。它们都要求每台Internet主机都与一个10Mb/s的以太网电缆相连。![](http://images.cnitblog.com/blog/322405/201301/26221657-e2ed3cbf68f346f28b9ef8dded792546.jpg)
「IEEE802」和「以太网」协议格式差不多:先是6字节的「目的地址」,及硬件物理地址(MAC地址)。后面是源(本机)物理地址。到于6字节物理地址和4字节的IP地址的映射关系,则是ARP和RARP协议的内容。CRC是冗余检验数据。两个协议不同的是中间部分(虚线内的部分):IEEE802有「长度」字段,指的是「数据」的长度(字节);以太网和IEEE802里的「类型」有一样的定义值,参考RFC1340。
SLIP:串线线路IP
SLIP(serial Line IP)它是一种在串行线路上对IP数据报进行封装的简单形式。在RFC1055中说明。SLIP适用于家庭中有RS-232串行端口和高速调制解调器接入Internet。![](http://images.cnitblog.com/blog/322405/201301/26225731-5e974381ac534fcbbec3313bdbc5ecf3.jpg)
SLIP协议比较简单,因为它只是简单的封装了IP数据报,在每个数据帧的的开头和结尾都加上一个结束标志字节:「c0」,如果遇到了IP数据报中有「c0」,就要进行转义,这里定义的转义字节是:「db」,所以「dbc0」代表「c0」,[dbdd]代表「db」。这里听起来比较难理解的话,可以类开高级开发语言中转义字符「\」,「\n」代表换行,「\\」代表「\」。
PPP:点对点协议
PPP协议是对SLIP协议的加强版。![](http://images.cnitblog.com/blog/322405/201301/27100608-b1a9e88919964a51aff16a81ae7d9906.jpg)
PPP相比SLIP多了「协议」类型这个字段:
0021 : 基本IP数据报封装
C021: 建立,配置及测试数据链路控制协议(LCP:link control protocol)
8021: 针对不同的网络层协议的网络控制协议(NCP:network control protocol)
环回接口(Loopback Interface)
大家都熟知「127.0.10.1」或者「localhost」,也知道它们主要是同一台主机上两个应用进行TCP/IP通信的IP地址或主机名。这就是「环回接口」的相关概念。NOTE:
一个传给环回接口的IP数据报不能出现在任何网络上
传给广播地址或多播地址的数据报复制一分给环回接口,然后才送到以太网上。这是因为广播和多播传送本身就包括主机本身
任何传给该主机IP地址的数据均送到环回接口
最大传输单元MTU
链路层传输中,每次单元传输都有一个长度限制,正如前面看到的以太网,IEEE802。这就是MTU(maximum transmission unit),最大传输单元。上机总结
![](http://images.cnitblog.com/blog/322405/201301/27114925-5dabececed0748b3bf4ed4d47a3f664d.jpg)
PS:本系列文章是学习《TCP/IP详解》这本书做的笔记,基本上是把书里面的要点记下来。虽然基本上是照着书里的字段和图示记录。但是每个章节基本上也是花了很多时间看了很多遍,还要对着书里的一些参考附录学习,如很多的RFC文档引用。像这篇文章就花了我大概八个小时的时间学习去理解。
相关文章推荐
- 《TCP/IP 详解 卷1:协议》第 3 章:链路层
- 《TCP-IP详解卷1:协议》读书笔记二 链路层 .
- TCP,IP详解,卷一:协议学习笔记之第二章链路层
- 再看TCP/IP第一卷>关于链路层的知识细节及相关协议
- TCP/IP 原理 -- ICMP:因特网控制报文协议
- tcp/ip 协议
- TCP/IP 协议之 Telnet
- 【计算机网络系列(三)】TCP/IP 层次模型和相关协议
- TCP/IP 之FTP协议
- TCP/IP,HTTP,SOAP等协议之区别
- TCP/IP,HTTP,SOAP等协议之区别
- TCP/IP 协议简单分析
- TCP/IP 卷一 链路层
- TCP/IP数据包结构/协议格式及编程指导
- TCP/IP五层模型的协议
- TCP/IP 协议
- <再看TCP/IP第一卷>关于网络层及协议细节---IP协议(2)--移动IP及DHCP
- 网络协议的综合思考 及 网络体系: OSI vs TCP/IP
- TCP/IP 地址家族 ,协议类型 ,套接字类型 ,协议字段!
- TCP/IP 协议介绍(转自)http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html