一、网络编程之基础知识:链路层
来源:互联网 发布:iphone更新后数据丢失 编辑:程序博客网 时间:2024/05/01 15:55
链路层的三个目的:1)为IP模块发送和接收IP数据;2)为ARP模块发送ARP请求和接收ARP应答;3)为RARP发送RARP请求和接收RARP应答。
1、以太网和IEEE802封装
以太网:由DEC,Intel,Xerox公司公布的一个标准,采用CSMA/CD的媒体接入方法;
IEEE 802委员会公布一个与之不同的一个标准:
802.3:针对整个CSMA/CD网络
802.4:针对 令牌总线网络
802.5:针对令牌环网
802.2:定义共同特性,就是802网络共有的逻辑链路控制(LLC)
802.3定义了一个与以太网不同的帧格式。以太网的数据封装格式是RFC894,而802.3的数据报封装是在RFC 1042中定义的。对二者进行区分是按照帧头的第bit13,bit14,802的这两位是有效长度值,以太网的这两位是有效类型值,而且802的有效长度值与有效类型值定义的不可能一样。以此就可以对这两种帧格式进行区分。
最少字节数:802标准定义的最小长度为46字节,而以太网为38字节。
2、尾部封装
RFC 893 描述的另一种以太网的封装格式(了解),为了提高性能BSD系统中使用。
3、SLIP和压缩的SLIP
SLIP(Serial Line IP):一种在串行线路上对IP数据报进行封装简单形式
SLIP的缺陷:1)每一端必须知道对方的IP地址;2)数据帧中没有类型字段,如果一条串行线路用于SLIP,那么它不能同时使用其他协议;3)SLIP没有在数据帧中加上检验和。
压缩的SLIP(即CSLIP)在RFC1144中被详细描述,CSLIP一般能把SLIP的40个字节压缩到3或5个字节。能在CSLIP的每一端维持多达16个TCP连接。
4、PPP
PPP修改了SLIP协议中的缺陷:1)在串行链路上封装IP数据报,PPP既支持数据为8位和无奇偶检验的异步模式,还支持面向比特的同步链接;2)建立、配置及测试数据链路的链路协议(LCP:Link Control Protocol)。它通信双方进行协商,以确定不同的选项。3)针对不同网络层协议的网络控制协议(NCP:Network Control Protocol)体系。
PPP对比SLIP:
1)支持单根线路上运行多种协议,不只是IP协议;2)每一帧都有循环冗余检查;3)通信双方可以进行IP地址的动态协商(using the IP network control protocol)4)对TCP和IP报文首部进行压缩;5)链路控制协议可以对多个数据链路选项进行设置。
- 一、网络编程之基础知识:链路层
- 网络编程基础知识(一)
- 网络编程之基础知识
- 网络编程基础知识(一)
- 网络编程基础知识(一)
- 网络编程基础知识(一)
- Java 网络编程(一) 网络基础知识
- Java 网络编程(一) 网络基础知识
- Java 网络编程 学习笔记一 基础知识
- Java中网络编程基础知识(一)
- Android网络编程基础(一) - 基础知识
- java网络编程(一):基础知识
- 黑马程序员——java基础知识之网络编程(一)
- windows网络编程之Select模型基础知识
- Android基础知识(四)之网络编程
- Android基础知识(五)之网络编程
- 网络编程 网络基础知识
- C++ 之网络编程<一>
- C#编译器
- C++ 学习--------------公有MI 与 虚基类
- C#百科的抓取源代码
- CGI ASP JSP PHP
- 2009年工作总结
- 一、网络编程之基础知识:链路层
- 如何让搜索引擎尽快收录
- javascript 实现图片按比例缩放
- Android的一些零散知识
- js添加到收藏夹
- 商品最近浏览历史记录
- 【代码】android 通过GPS获取用户地理位置并监听位置变化
- flex CMYK TO RGB
- FreeSWITCH 呼叫流程概念