TCP/IP(2)链路层
来源:互联网 发布:mac上如何打开rar文件 编辑:程序博客网 时间:2024/05/20 23:36
概览:
链路层的主要目的有三个,一是为IP模块提供发送和接收IP数据包的功能;二是为ARP模块提供发送ARP请求和接收ARP应答的功能;三是为RARP模块提供发送RARP请求和接收ARP应答的功能。
ARP模块作用是将32bit的IP地址转换成以太网中48bit的MAC地址(硬件地址)。而RARP模块的作用正好跟ARP模块的功能相反,是将MAC地址转换成IP地址。
TCP/IP支持很多链路协议,着主要是取决于网络所使用的硬件,以太网、令牌环网、FDDI、RS-232串行线路等,当今TCP/IP采用的主要局网技术是以太网。
封装方式(协议):
尾部封装:该协议已经被淘汰,这是早期的实验格式。
SLIP:全称是串行线路IP。这是一种现在被广泛使用的协议。但是最终会被淘汰。这种封装方式的特点如下:
1) IP数据报以一个称作E N D(0 x c 0)的特殊字符结束,同时为了排除线路噪声,所以在数据开始出也有一个END字符。
2)如果I P报文中某个字符为 E N D,那么就要连续传输两个字节 0 x d b和0 x d c来取代它。
3)如果I P报文中某个字符为S L I P的E S C字符,那么就要连续传输两个字节 0 x d b和0 x d d来取代它。
如下图:
缺点:
1)必须事先得到目标主机的IP地址。
2)数据帧中没有类型字段(类似于以太网中的类型字段)。
3)同一条串行线路只能被SLIP协议占用,不能被其他协议占用。
4)没有在数据帧中添加检测和字段(类似于以太网中的CRC字段)。只能通过上层协议发现错误。
ppp:这是点对点协议,该协议修改了SLIP协议中所有的缺陷。该协议包括以下三个部分:
1)在串行链路上封装IP数据报的方法。
2)建立、配置以及测试数据链路的链路控制协议。
3)针对不同网络层协议的网络控制协议体系。
特点:
1)每一帧都以标志字符0 x 7 e开始和结束。紧接着是一个地址字节,值始终是 0 x ff,然后是一个值为0 x 0 3的控制字节。接下来是协议字段,类似于以太网中类型字段的功能。当它的值为 0 x 0 0 2 1时,表示信息字段是一个I P数据报;值为0 x c 0 2 1时,表示信息字段是链路控制数据;值为 0 x 8 0 2 1时,表示信息字段是网络控制数据。
相比于SLIP的优点:
(1) PPP支持在单根串行线路上运行多种协议,不只是I P协议;
(2) 每一帧都有循环冗余检验;
(3) 通信双方可以进行I P地址的动态协商(使用I P网络控制协议);
(4) 与C S L I P类似,对T C P和I P报文首部进行压缩;
(5) 链路控制协议可以对多个数据链路选项进行设置。
会换接口处理IP数据报简单过程:
- TCP/IP(2)链路层
- TCP/IP -2 链路层
- TCP/IP(2)链路层
- TCP/IP (2)链路层
- TCP/IP 第2章 链路层
- 《TCP/IP详解-协议》(2)链路层
- 【TCP/IP详解】第2章 链路层
- tcp/ip协议学习笔记(2)链路层
- TCP/IP链路层详解
- TCP/IP-02-链路层
- TCP/IP链路层
- TCP/IP之链路层
- TCP/IP协议:链路层
- tcp/ip ---------- 链路层
- TCP/IP:链路层
- TCP/IP(1)链路层
- TCP/IP-链路层
- TCP/IP链路层
- java 平衡二叉树的实现
- Shell命令——使用命令
- Ubuntu安装卸载 jdk(.bin)
- 剩余电流动作保护器
- 如何测试一支笔
- TCP/IP(2)链路层
- STL中find函数
- android非选择状态
- POJ 3189 Steady Cow Assignment(二分+多重匹配)
- I_MOOC
- IOS开发UIGestureRecognizer的基本使用方式和代理
- 将Eclipse中的项目迁移到Android Studio中的方法
- 双缓冲队列
- __cdecl 、__fastcall、__stdcall