数据链路层有三个目的:

  • 为IP模块发送和接收IP数据报。

  • 为ARP模块发送ARP请求和接收ARP应答。

  • 为RARP发送RARP请求和接收RARP应答

ip大家都听说过。至于ARP和RARP,ARP叫做地址解析协议,是用IP地址换MAC地址的一种协议,而RARP则叫做逆地址解析协议,在tcp/ip协议的后面章节会介绍它们(在局域网里面用ARP协议可以很容易的搞瘫痪网络哦)

数据链路层的协议还是很多的,有我们最常用的以太网(就是平时我们用的网卡)协议,也有不太常见的令牌环,还有FDDI,当然,还有国内现在相当普及的PPP协议(就是adsl宽带),以及一个loopback协议。

联系linux里面的ifconfig -a命令,这个命令通常会得到如下的结果

其中,eth0就是以太网接口,而lo则是loopback接口。这也说明这个主机在网络链路层上至少支持loopback协议和以太网协议。

以太网(Ether-net)的定是指数字设备公司( Digital Equipment Corp.)、英特尔公司(Intel Corp.)和Xerox公司在1982年联合公布的一个标准,这个标准里面使用了一种称作CSMA/CD的接入方法。而IEEE802提供的标准集802.3(还有一部分定义到了802.2中)也提供了一个CSMA/CD的标准。这两个标准稍有不同,TCP/IP协议对这种情况的处理方式如下:

  • 以太网的IP数据报封装在RFC894中定义,而IEEE802网络的IP数据报封装在RFC1042中定义。

  • 一台主机一定要能发送和接收RFC894定义的数据报。

  • 一台主机可以接收RFC894和RFC1042的封装格式的混合数据报。

  • 一台主机也许能够发送RFC1042数据报。。如果主机能同时发送两种类型的分组数 据,那么发送的分组必须是可以设置的,而且默认条件下必须是RFC 894分组。

可见,RFC1042在TCP/IP里面处于一个配角的地位。这两种不同的数据报格式请参考教材。

ppp(点对点协议)是从SLIP的替代品。他们都提供了一种低速接入的解决方案。而每一种数据链路层协议,都有一个MTU(最大传输单元)定义,在这个定义下面,如果IP数据报过大,则要进行分片(fragmentation),使得每片都小于MTU,注意PPP的MTU并不是一个物理定义,而是指一个逻辑定义(个人认为就是用程序控制)。可以用netstat来打印出MTU的结果,比如键入netstat -in

就可以观察到eth0的MTU是1500。而lo(环回接口)的MTU则是16436。

最后说说那个环回接口(loopback)。平时我们用127.0.0.1来尝试自己的机器服务器好使不好使。走的就是这个loopback接口。对于环回接口,有如下三点值得注意:

  • 传给环回地址(一般是127.0.0.1)的任何数据均作为I P输入。

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

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

这一章还是很简单的,一般作为了解知识也就足够了,没必要抠的那么详细。

转载于:https://www.cnblogs.com/whoknows1/p/9816326.html

TCP/IP学习笔记(2)-数据链路层相关推荐

  1. TCP/IP学习(30)——L2数据链路层的数据包处理详细流程

    原文地址:TCP/IP学习(30)--L2数据链路层的数据包处理详细流程 作者:GFree_Wind 本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝 ...

  2. 【TCP/IP学习笔记1】 C语言讲解

    TCP/IP学习笔记(一) 一. TCP/IP结构:      TCP/IP是一个四层协议,结构如下:      1.应用层:各种应用程序和协议,如Http.FTP等.      2.传输层:TCP和 ...

  3. TCP/IP学习笔记(一)(转载)

    一.TCP/IP结构:      TCP/IP是一个四层协议,结构如下:      1.应用层:各种应用程序和协议,如Http.FTP等.      2.传输层:TCP和UDP      TCP提供一 ...

  4. TCP / IP学习笔记(9)-dns域名系统

    TCP / IP学习笔记(9)-dns域名系统 前面已经提到了访问一台机器要靠IP地址和MAC地址,其中,MAC地址可以通过ARP协议得到,所以这对用户是透明的,但是IP地址就不行,无论如何用户都需要 ...

  5. TCP IP学习笔记① 互联网通信过程

    文章目录 一.TCP/IP和OSI模型 二.协议分层 2.1 物理层 2.2 数据链路层 2.2.1 以太网协议 2.2.2 MAC地址 2.2.4 广播 2.3 网际层 2.3.1 IP地址     ...

  6. TCP/IP学习笔记(3)----IP,ARP,RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层(网络层协议),ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP ...

  7. TCP/IP学习笔记(一)分层模型概述

    简单来说,协议就是不同计算机之间进行通讯所遵循的标准,只有使用相同协议的计算机之间才可以实现网络通讯.这使得即使两台计算机之间的各种设备不同,只要使用的协议相同,就可以通讯 以两个人对话为例,协议可以 ...

  8. TCP/IP学习笔记:TCP/IP协议介绍

    TCP/IP的通讯协议 这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础.TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.2 ...

  9. OSI TCP/IP学习笔记

    ​ 端口号 Telnet 远程终端协议 端口号 23 FTP 文件传输协议 端口号 21 SMTP 邮件传输协议 端口号 25 HTTP 超文本传输协议 端口号 80 HTTPS 安全超文本传输协议 ...

最新文章

  1. +z +Z compiler flag for HP
  2. Google Mock(Gmock)简单使用和源码分析——源码分析
  3. 一本真正讲“大数据”处理思路的书
  4. 首次吃了一颗带奶糖味的消炎药,不知道管用不
  5. OC__part11.2
  6. python dash_Dash是Databricks Spark后端的理想基于Python的前端
  7. 转 C#对多个集合和数组的操作(合并,去重,判断)
  8. 6G尚处于早期研究阶段,长足发展需要时间和耐心
  9. 【BZOJ-2888】资源运输 LCT + 启发式合并
  10. python下载pyhive包:
  11. 【价值积累】属于我的创业感悟
  12. IBM AIX初级培训总结
  13. php如何配置gii,深入浅析yii2-gii自定义模板的方法
  14. 第16期高级转录组分析和R数据可视化培训(2022年1月)
  15. 科普:手机的各种传感器原理及用途
  16. 超声波模块测距 Arduino代码
  17. vue项目使用域名部署(一个域名多个项目)
  18. 利用层次聚类算法进行基于基站定位数据的商圈分析
  19. 新开业和新签约酒店 | 北京通州希尔顿、上海临港美爵、高碑店世茂世御等酒店陆续开业和签约...
  20. 440P 测试三星ssd840pro 512g

热门文章

  1. Qt学习之路(37): Qt容器类之关联存储容器
  2. 2012总结--第5篇--人脉篇
  3. IP记录Linux所有用户操作日志的方法(附脚本)
  4. MySQL学习笔记15:触发器
  5. OpenJudge 2972(确定进制)
  6. 【博客话题】什么样的学生你都能教好——亲爱的魏老师
  7. axios使用post请求服务端不能获取参数的解决方法
  8. 标准RTSP消息的错误代码–转
  9. 网络github_GitHub项目awesome-latex-drawing新增内容(四):绘制贝叶斯网络
  10. L1-027. 出租-PAT团体程序设计天梯赛GPLT