TCP/IP 卷一 链路层

2.1 链路层目的  

1)为IP模块发送和接收IP数据报  

2)为ARP模块发送ARP请求和接收ARP应答  

3)为RARP发送RARP请求和接收RARP应答

2.2 以太网和IEEE 802封装  

802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。802网络共有的逻辑链路控制(LLC)。802.2和802.3定义了一个与以太网不同的帧格式  

以太网IP数据报的封装是在RFC 894中定义的,IEEE 802网络的IP数据报封装在RFC 1042中定义。  

常用的封装格式是RFC 894定义的格式,即以太网帧。以太网帧类型字段之后是数据。而802帧长度字段之后跟随的是3个字节的LLC和5个字节的802.2 SNAP,如图1所示。



图1 IEEE802.2、802.3 (RFC 1042)和以太网的封装格式(RFC894)

注:长度是指数据的长度,不包括CRC校验码。 DSAP 目的服务访问点, SSAP 源服务访问点

802.3标准定义的帧和以太网帧都有最小长度要求。802.3规定数据部分至少为38字节,以太网帧最少有46字节

2.3 尾部封装

RFC893使用,目前基本不适用

2.4 SLIP:串行线路IP

在串行线路上对IP数据报进行封装的简单形式,适用于RS-232串行端口和高速调制解调器接入Internet。
帧格式:1)IP数据报以END(0xc0)开头,防止数据报到来之前的线路噪声被当成数据报内容。同时数据报也以END为结尾;2)若IP数据报中含有END,则连续传输两个字节oxdb和0xdc取代该字符。0xdb被称为SLIP的ESC字符 3)如果IP数据报中含有ESC字符,则连续穿两个字节0xdb和0xdd取代该字符。突入
图2 SLIP报文
SLIP缺陷:1)每一端需要知道对方的IP地址 ,但没有办法把本端的IP地址通知给另一端( 不知道地址的话 怎么通信? )2)数据帧中没有类型字段,如果一条线路用于SLIP则它不能同时使用其他协议;3)SLIP中没有校验字段,一旦传输的报文被线路噪声影响,则只能通过上层协议发现错误。
由于串行线路的速率脚底,而且通信通常是交互式的,因此在SLIP线路上有许多小的TCP分组,但是其IP首部和TCP首部字节较多,产生了CSLIP(压缩SLIP)协议进行压缩。

2.5 PPP点对点协议

PPP协议修改了SLIP的缺陷。
PPP协议主要包含三部分:1)在串行链路上封装IP数据报的方法。PPP即支持数据为8位和无奇偶校验的 异步模式(?) ,还支持面向 比特的同步链接? 。2)建立、配置以及测试数据链路的链路控制协议(LCP协议)。允许通信双方进行协商,以确定不同选项 3)针对不同网络层协议的网络控制协议体系
PPP数据帧格式:1)每帧都以标志字符0x7e开始和结束 2)地址,值始终为0xff( 表示链路上所有主机? )3)协议控制字节,0x03 4)对于特殊字符0x7e,在异步链路中,当作转义字符,在PPP数据帧中,紧连着的字符的第六个比特要取其补码。a、如果信息中有字符0x7e,则连续传送两个字符0x7d和0x5e b、如果转义字符,则连续传送两个字符0x7d和0x5d,实现转义字符的转义 c、默认情况下,字符值小于0x20,需要转义,如遇到字符0x01,则传送0x7d和0x21两个字符

图3 ppp数据帧格式

PPP协议常应用于串行链路,相较于SLIP的优点:1)ppp支持多种协议 2)每一帧都有循环冗余校验 3)通讯双方可进行IP地址的动态协商 4) 与CSLIP类似,对TCP和IP报文首部进行压缩

2.6 环回接口

IP地址127.0.0.1分配给环回接口,该接口命名为localhost。一个传个环回接口的IP数据报不能出现在任何网络上


图4 环回接口处理IP数据报的过程

1)传给环回地址(一般为127.0.0.1)的任何数据均作为IP输入

2)传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上,因为广播传送和多播传送的定义包含主机本身

3)任何传送给该主机IP地址的数据均送到环回接口


2.7 最大传输单元MTU

 以太网 1500字节;802.3 1492字节

若IP层的数据报长度大于链路层的MTU,则IP层需要将报文分片,每片都要小于MTU

2.8 路径MTU

两台通信主机路径中的最小MTU,称为路径MTU。

每个网络的链路层可能有不同的MTU。

两台主机间的路径MTU不一定是常数,它取决与当时所选择的路由,由于选择路径不一定对称,因此路径MTU在两个方向上不一定一致


编辑推荐 本书是网络构建原型——4.4BSD的建造者的倾力之作,《TCP/IP解析》中的第1,主要讲述TCP/IP协议方面的内容。与其他的TCP/IP书藉的最大不同在于,本书不仅仅讲述了RFCS的标准协议,而且结合大量实例讲述了TCP/IP协议包的定义原因及在各种不同的操作系统中(如Sunos4.1.3、Soloris2.2、AIX3.2.2)的应用与工作方式,这样可以以动态方式讲述TCP/IP的知识,使读者可以轻松掌握TCP/IP的知识:路由协议、寻址协议、组控制协议、简单邮件传输协议等。全书内容实用性强,是在校生学习TCP/IP知识的良师益友。 内容简介  《TCP/IP详解,1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。 本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 作者简介 W.Richard Stevens(1951-1999)是一位非常受人尊敬的专家,除了《TCP/IP详解》三本外,他还有其他两部最为畅销的作品:《UNIX环境高级编程》和《UNIX网络编程》(两本)。 目录 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 6 1.7 分用 8 1.8 客户-服务器模型 8 1.9 端口号 9 1.10 标准化过程 10 1.11 RFC 10 1.12 标准的简单服务 11 1.13 互联网 12 1.14 实现 12 1.15 应用编程接口 12 1.16 测试网络 13 1.17 小结 13 第2章 链路层 15 2.1 引言 15 2.2 以太网和IEEE 802封装 15 2.3 尾部封装 17 2.4 SLIP:串行线路IP 17 2.5 压缩的SLIP 18 2.6 PPP:点对点协议 18 2.7 环回接口 20 2.8 最大传输单元MTU 21 2.9 路径MTU 21 2.10 串行线路吞吐量计算 21 2.11 小结 22 第3章 IP:网际协议 24 3.1 引言 24 3.2 IP首部 24 3.3 IP路由选择 27 3.4 子网寻址 30 3.5 子网掩码 32 3.6 特殊情况的IP地址 33 3.7 一个子网的例子 33 3.8 ifconfig命令 35 3.9 netstat命令 36 3.10 IP的未来 36 3.11 小结 37 第4章 ARP:地址解析协议 38 4.1 引言 38 4.2 一个例子 38 4.3 ARP高速缓存 40 4.4 ARP的分组格式 40 4.5 ARP举例 41 4.5.1 一般的例子 41 4.5.2 对不存在主机的ARP请求 42 4.5.3 ARP高速缓存超时设置 43 4.6 ARP代理 43 4.7 免费ARP 45 4.8 arp命令 45 4.9 小结 46 第5章 RARP:逆地址解析协议 47 5.1 引言 47 5.2 RARP的分组格式 47 5.3 RARP举例 47 5.4 RARP服务器的设计 48 5.4.1 作为用户进程的RARP服务器 49 5.4.2 每个网络有多个RARP服务器 49 5.5 小结 49 第6章 ICMP:Internet控制报文协议 50 6.1 引言 50 6.2 ICMP报文的类型 50 6.3 ICMP地址掩码请求与应答 52 6.4 ICMP时间戳请求与应答 53 6.4.1 举例 54 6.4.2 另一种方法 55 6.5 ICMP端口不可达差错 56 6.6 ICMP报文的4.4BSD处理 59 6.7 小结 60 第7章 Ping程序 61 7.1 引言 61 7.2 Ping程序 61 7.2.1 LAN输出 62 7.2.2 WAN输出 63 7.2.3 线路SLIP链接 64 7.2.4 拨号SLIP链路 65 7.3 IP记录路由选项 65 7.3.1 通常的例子 66 7.3.2 异常的输出 68 7.4 IP时间戳选项 69 7.5 小结 70 第8章 Traceroute程序 71 8.1 引言 71 8.2 Traceroute 程序的操作 71 8.3 局域网输出 72 8.4 广域网输出 75 8.5 IP源站选路选项 76 8.5.1 宽松的源站选路的traceroute程序示例 78 8.5.2 严格的源站选路的traceroute程序示例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值