在TCP/IP协议族中,链路层主要有三个目的:

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

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

3)为RARP模块发送RARP请求和接受RARP应答;

以太网和IEEE 802封装

以太网是1982年公布的一个标准,是当今TCP/IP采用的主要的局域网技术,它采用一种称为CSMA/CD的媒体接入方法,意思是带冲突检测的载波侦听多路接入,它的速率是10Mb/s,地址为48bit。

还有一个标准是IEEE 802标准。它和以太网的帧格式不同。802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络,这三者的共同特性由802.2标准定义,这就是802网络共有的逻辑链路控制(LLC)。

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

最常使用的封装格式是RFC 894定义的格式。下图是两种不同的封装格式。

上图中,第一个封装格式是802标准的,第二个是以太网格式的。

从上图可以看出,两种帧格式都采用48bit的目的地址和源地址,存放的是硬件地址。ARP和RARP协议会对32位IP地址和48位的硬件地址进行映射。

802接下来的是长度字段,指的是后续数据的长度,不包括CRC。而以太网接下来的类型字段定义了后续数据的类型。

以太网帧格式比较简单,接下来就是数据了。而802帧格式接下来是3个802.2的LLC和5字节的 SNAP(子网接入协议),其中,目的服务访问点(DSAP)和源服务访问点(SSAP)值都为0xaa,Ctrl字段值为3,随后的3个字节org code都为0,再接下来就是类型字段。

802.3规定数据部分至少为38字节,以太网则要求是46字节,如有不足的情况,就要填充字节。

SLIP:串行线路IP

这是一种在串行线路上对IP数据报进行封装的简单形式。

开始处和结束处传一个END(0xc0)的特殊字符。

如果报文中某个字符为END,那么就了连续传输两个字节0xdb和0xdc来取代。0xdb被称为SLIP的ESC字符。

如果报文中某个字符为ESC字符,那么就连续传输两个字节0xdb和0xdd。

值得一提的是,这是一个老的工业标准,目前已被PPP协议取代。

压缩的SLIP

为了传输一个字节需要20个字节的IP首部和20个字节的TCP首部。CSLIP一般能把这40个字节压缩到3到5个字节。

PPP:点对点协议

格式如上图,不再赘述。

环回接口

环回接口允许在同一台机器上的服务器程序和客户端程序通过TCP/IP进行通信。

最大传输单元MTU

也就是对数据帧的长度的限制,比如以太网的是1500字节。

当两个主机间的通信需要经过多个网络,那么其中最小的MTU称为路径MTU。

串行线路吞吐量计算

转载于:https://www.cnblogs.com/fxb248/p/4186860.html

TCP/IP详解读书笔记:链路层相关推荐

  1. TCP/IP详解学习笔记-基本概念

    为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样 ...

  2. 【转】:TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute

    TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute 分类:            TCP/IP详解学习笔记计算机网络2006-04-20 18:147970人阅读评论(1)收 ...

  3. 基础才是王道——TCP/IP详解学习笔记 这位仁兄写得太好了

    TCP/IP详解学习笔记 这位仁兄写得太好了 TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/204448.as ...

  4. TCP/IP详解学习笔记(1)-基本概念

    为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样 ...

  5. TCP/IP详解学习笔记

    [TCP/IP详解学习笔记(1)基本概念] 为什么会有TCP/IP协议? 计算机型号多种多样,并且运行于不同操作系统.虽然电线把计算机连接到了一起,但是这些计算机无法"交流",所以 ...

  6. TCP/IP详解学习笔记 这位仁兄写得太好了.

    http://blog.csdn.net/goodboy1881/category/204448.aspx TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样 ...

  7. TCP/IP详解学习笔记(9)-TCP协议概述

    终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...

  8. TCP/IP详解--学习笔记(9)-TCP协议概述

    终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...

  9. TCP/IP详解--学习笔记(5)-IP选路,动态选路,和一些细节

    1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统 ...

最新文章

  1. 深度 | 学习如何学习的算法:简述元学习研究方向现状
  2. 远望智库未来产业研究院与资本实验室联合发布《2021全球区块链应用市场报告》...
  3. (转)Mysql中文乱码完美解决方案
  4. IIS7.5+WebConfig实现页面伪静态和301重定向
  5. Python Module_sys/random
  6. matlab 神经网络编程入门系列(1)
  7. 啊啊啊...每次需求评审总被boss虐成狗?解药来了
  8. 蛮力算法百元百鸡java_每日一算法:百元百鸡
  9. java peer_Java PeerConnection.getStats方法代码示例
  10. 【Pytorch神经网络理论篇】 29 图卷积模型的缺陷+弥补方案
  11. 通俗理解滑模变结构(2)
  12. 带你入门SpringCloud统一配置 | SpringCloud Config
  13. ubuntu 配置python,Redis,Mysql
  14. ABP框架系列之四十九:(Startup-Configuration-启动配置)
  15. 【原创】Java移位运算
  16. 常用Windows运行命令大全
  17. vscode中css文件格式化,css文件样式排版
  18. 企业邮箱邮件怎么撤回,邮件撤回怎么用?
  19. 描述计算机内存的参数,电脑组装内存知识,你不能不知的内存参数介绍
  20. 常用印制电路板标准汇总

热门文章

  1. Cocosd-x”设计模式“之五 :防御式编程”模式“
  2. 上网行为审计产品对比(2008版)
  3. JBOSS 5.0.0GA的集群搭建
  4. mysql md 123456_MySQL修炼之路四
  5. L1-065 嫑废话上代码 (5 分)-PAT 团体程序设计天梯赛 GPLT
  6. 测试用什么编译java代码_java – 测试编译器
  7. stream去重_List stream 对象 属性去重
  8. WebStorm 10.0.4注册码
  9. Android进阶: 10分钟实现NDK-JNI 开发教程
  10. 大数据学习笔记02-HDFS-常用命令