(002)TCP/IP协议-链路层

一、引言

  • 在TCP/IP协议簇中,链路层的作用主要有:(1).为IP模块发送/接受IP数据包;(2).为ARP模块发送ARP请求与接收ARP应答;(3).为RARP模块发送RARP请求与接收RARP应答。
  • 根据所使用的网络硬件不同,TCP/IP协议簇使用不同的链路层协议。不同的网络硬件包括以太网、令牌环网、光纤分布式数据接口(FDDI)、RS-232串行线路等等。
  • 该文将说明一下链路层协议:
    • 协议-以太网:事实上的协议(RFC 894封装格式)、标准组织协议(IEEE 802.2/802.3,即RFC 1042封装格式);
    • 协议-串行线路:SLIP/CSLIP与PPP。

二、以太网协议(RFC 894)与IEEE802协议(RFC 1042)

图1. IEEE 802帧(RFC 1042)与 以太帧(RFC 894)

图中,各个数字的单位是字节(Byte)。这两种协议,都是以太网上的。以太网协议是事实上的协议,IEEE802协议是标准组织根据以太网协议发布的标准参考协议。这两种协议都有相似的结构(如图)。两种帧格式都是采用48bit(6字节)的目的地址与源地址。这些地址就是我们常说的物理地址(Media Access Control Address,MAC)

1.以太网帧格式(如图1下半部分)

  • 目标MAC地址,6字节长度;
  • 源MAC地址,6字节长度;
  • 类型区域,2字节长度,用于表示该帧是什么协议帧;
    • 当区域值为0x0800,表示该帧是一个IP数据包,其后的数据区域长度是46~1500字节;
    • 当区域值为0x0806,表示该帧是一个ARP请求或ARP应答包,其后数据长度是固定的28字节+18字节填充字节(PAD);
    • 当区域值为0x8035,表示该帧是一个RARP请求或RARP应答包,其后数据长度是固定的28字节+18字节填充字节(PAD)。
  • 数据区域,其长度如上;
  • CRC ,差错循环冗余校验码,4字节长度。校验范围:除CRC以外的其他数据。

以太帧最小数据区域是46字节,因此,ARP与RARP包不够这么长,需要填充PAD(填充字节)。
用wireshark抓取一帧,可以看到:

图2. 抓取一以太帧

蓝色部分为目的MAC地址;黑色部分为源MAC地址;红色部分为帧类型部分,指明这是一个IPv4数据包;黄色为填充字节部分;其余为数据部分。没有看到CRC校验码是应为抓包工具抓不到。

2.IEEE802帧格式(如图1上半部分)

  • 目标MAC地址,6字节长度;
  • 源MAC地址,6字节长度;
  • 长度区域,2字节长度,指明其后除去CRC校验码的数据长度。这个长度值与以太帧的类型区域值不重合(以太帧类型最小0x0800[2048],数据长度范围又是46~1500,不冲突),可以使用该区域区分是以太帧还是IEEE802帧
  • 逻辑链路控制(Logical Link Control ,802.2 LLC),3字节长度;
  • 子网访问协议(Sub-network Access Protocol, 802.2 SNAP),5字节长度;
  • 数据区域,38~1492字节长度;
  • CRC ,差错循环冗余校验码,4字节长度。

IEEE802最小数据区域是38字节

三、串行线路IP(SLIP)协议与点对点协议(PPP)

这两个协议都是对串行线路网络的协议。SLIP(Serial Line IP),是一种串行线路上对IP数据包进行封装的简单形式。PPP(Point to Point Protocol)是SLIP的代替协议

1. SLIP

图3. 串行线路IP协议帧
  • IP数据包以一个字节(0xc0)的特殊字符结束。为了防止噪音,通常也会在首部加上一个0xc0字符;
  • 如果IP数据包中有0xdb字节,使用0xdbdd替换该字节;
  • 如果IP数据包中有0xc0字节,使用0xdbdc替换该字节。

SLIP缺点:
a. 没有类型字段,无法传输其他类型的上层协议;
b. 数据帧中,没有CRC校验码,无法保证传输正确性,除非上层协议保证校验。

2. PPP

图4. 点对点协议帧
  • 标记(ox7e),1个字节,标记开始;
  • 广播地址,1个字节;
  • 控制字,1个字节;
  • 数据包中所使用的协议,2个字节,0x0021表示IP数据包等等;
  • 数据区域,0~1500字节,存放数据,这是逻辑上限制了最大字节数;
  • CRC校验码,2个字节;
  • 标记(ox7e),1个字节,标记结束。

PPP比SLIP具有下面这些优点:
(1) PPP支持在单根串行线路上运行多种协议,不只是I P协议;
(2) 每一帧都有循环冗余检验;
(3) 通信双方可以进行 I P地址的动态协商(使用I P网络控制协议);
(4) 与C S L I P类似,对T C P和I P报文首部进行压缩;
(5) 链路控制协议可以对多个数据链路选项进行设置。

四、环回接口

环回接口(Lookback Interface),以允许运行在同一台主机上的客户程序和服务器程序通过 TCP/IP进行通信。 A类网络号127就是为环回接口预留的。多数系统将127.0.0.1分配给该接口,并命名该接口host为localhost。传给环回接口的IP数据包是不会出现在网络上的。它是当IP数据包离开网络层时候,返回给了它自己。可以想象环回接口是一个链路层。


图5. 环回接口处理IP数据包的过程
  • 传给环回地址(一般为127.0.0.1)的任何数据均作为 I P输入;
  • 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是因为广播传送和多播传送的定义,包含主机本身;
  • 任何传给该主机IP地址的数据均送到环回接口。

五、MTU与路径MTU

通过以太帧和IEEE802帧,我们看到一个帧能够传输的数据是有大小限制的,其最大值分别是1500字节与1492字节。这种特性叫最大传输单元(Maximum Transmission Unit,MTU),单位是字节(Byte)。以下是不同网络的MTU。

图6. 常见网络MTU

路径MTU是指两台通信主机间的最小MTU。两台主机通信,中间可能经过了n个网络,不同的网络有不同的MTU,根据木桶原理,其中最小的MTU为整个链路的路径MTU。由于所选路由不同,MTU也可能跟着变。

都看到这里了,要不要扫二维码关注一下微信公众号林湾村龙猫

微信公众号rudy_tan_home

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容