物理层和链路层网络

术语

链路
是一对相邻结点间的物理线路,中间没有任何其他的交换结点。

数据链路
除了物理线路外,还必须有通信协议来控制这些数据的传输。


数据链路层的协议数据单元(PDU)

串行线路
使用点对点信道的数据链路层,设备之间通过串口线连接,不能广播

MAC地址
硬件地址又称物理地址或MAC地址,因为该地址用于MAC帧中。它是IEEE802标准为局域网规定的48位的全球地址(简称地址),指的是局域网上每台计算机中固化在适配器的ROM中的地址,在同一个局域网能,mac地址一定不能重复。

简介

我们的Internet(WAN)由无数个局域网(LAN)组成,以太网标准是当今主流的局域网标准,以太网标准是指IEEE802.3以及其派生出来的整个协议族。IEEE802标准定义了ISO/OSI七层网络模型中的的物理层和数据链路层。

物理层网络包括电缆,光纤,终端设备,中继器,等,提供在设备之间进行数据传输的能力。

数据链路层包括操作系统上的设备驱动和对应的网络接口卡,他们和物理层沟通一起处理与传输介质(电缆光纤)接口的细节,有标识标识不同的设备,在不同的设备间建立连接,传输数据,断开连接的能力。链路层的工作在于,将数据从一个网口发往另一个网口,最终送达目的网口。

在TCP/IP协议族中,链路层网络主要有三个功能:

  • 为IP层发送和接收数据
  • 为ARP模块发送ARP请求和接收ARP应答
  • 为RARP模块发送RARP请求和接收RARP应答

以太网协议

DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约。RFC894
IEEE 的 802.3 标准。RFC1042
DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。
严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网

虽然802.3 标准和以太网标准差别很小,但是帧格式却是其中一种,在链路层我们的数据通常有两种封装格式,分别是以太网封装和IEEE802封装,802标准也是不断演进的,比如说开始没有vlan,后来有了,所以一个数据包,通过不同线路不同交换设备,他的封装格式也可能是不一样的。具体的两种格式的区别不再细说,这毕竟只是笔记。

串行线路和PPPOE

网络中有很多线路是串行线路,比如电信公司建了很多串行通信网络,设备之间通过串行接口和串口线相连。
串行线路时,最初我们使用SLIP协议,他有很多缺点,已经被淘汰,后来我们使用更好的PPP协议,调制解调器的拨号上网,使用的是PPP(Point-to-Point Protocol)协议。PPP协议和SLIP协议的优劣见网络。
因为以太网的迅速发展,我们使用PPPOE,即 PPP over Ethernet,在以太网协议中包装符合ppp协议的数据。目前家庭拨号上网,几乎都是使用ADSL,基于PPPOE协议。
PPPOE以太网帧的格式:

link header PPP Header IP Data link trailer
14bit 8bit 38~1492bit 4bit

PPPHeader中的内容和协议暂不学习。

关于我们为什么要使用PPPOE,有人这么说:

PPP是为串行通信设计的,现在它与以太网(Ethernet)相结合,成为在以太网络中转播PPP帧信息的技术。也称PPP over Ethernet,即PPPoE协议。PPP协议与以太网并不是兼容的东西,因此用户经常感到十分的迷惑,为什么要将以太网与PPP结合在一起呢?
如果我们将TCP/IP通信与公路交通相比的话,那么基本的TCP/IP协议就是这个城市的街道网。街道上有许多的路口(或者停车点),人们在马路上可以很容易地上车或者下车。但是人们不知道每条街上有多少辆车在跑,而且每新增加一个路口将带来新的管理任务,因为你将更不清楚有多少人,有多少车在街道上跑了。PPP就好比铁路,人们只能在固定的站点上上车或者下车,因此对乘客的管理和控制也相对容易(比如上车必须买票。)因此不妨再打个比喻,PPPoE就象是在街道上跑的火车,事实上这不是不可能的,比如电车轨道,地铁。它带来的好处是显而易见的,首先它不影响城市里其它的交通,其次还给你带来铁路的优点,比如流量的控制。
有些ISP并不是通过串行链路与用户相连的,这种情况下PPPoE也可以带来部分好处;使用串行链路的ISP早已经在调制解调器通信上使用PPP了,另一方面,DSL提供商通过以太网,而不是串行链路通信,因此PPPoE可以满足许多人的需要。并且,许多人对于PPPoE的附加能力感到特别满意。因为PPPoE允许ISP们对用户的登录安全进行控制和测量用户流量。

我这么理解:以太网是高速公路,修建高速公路的电信公司在高速路的入口修建了管理站,也就是串行线路,使用ppp协议,也就是以太网数据包进来,他都给数据包在里面加一层ppp头部,这就是pppoe了,相当于每个车进站,收费站都给驾驶员发一张卡,驾驶员拿卡进高速公路。数据包从收费站出去的时候,ppp头部被剥掉,相当于出公路的时候退卡。电信公司通过ppp中的数据,实现对用户带宽的控制,流量监视,收费等各项功能.这种在以太网帧里面,ip数据包外面,插入ppp首部的协议,叫做pppoe.

环回接口

大多数系统支持环回接口:

  • 任何传给环回接口的数据,传入ip层输入队列.
  • 当发送的数据是本机某个网口的ip地址,那么将数据直接送到环回接口.
  • 不经过物理网口发出去,如果是广播,多播地址时,数据复制一份交给环回接口。

MTU

除去以太网首部和尾部外,链路层所支持的以太网帧的最大长度,如果ip层将超过这个长度的数据传给链路层,链路层会直接丢弃,且不产生任何错误信息,所以MTU得设置一定要正确,绝对不能大于物理设备允许的值。由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes,最大不能超过1518bytes,去掉以太网首部和尾部,以太网链路层的MTU,最大是1500.
另外:

  • 如果链路层运行pppoe协议,那么要扣掉8字节的pppoe头部,最大MTU要设置成1492,如果是vxlan,最大是1472
  • 如果使用vxlan,虚拟机的mtu最大为1450 = 1500 – 20(ip头) – 8(udp头) – 8(vxlan头) – 14(以太网头)
  • 如果使用gre网络,虚拟机的mtu最大为1462 = 1500 – 20(ip头) – 4(gre头) – 14(以太网头)

后续需要待完善部分

网口设备在链路层的地址,即mac地址,是这个网口的身份证号,在一个局域网内,这个地址不能重复。也正是因此,所以我们理论上可以局域网内通过mac地址通信,传输数据。但是在不同局域网之间通信,我们还需要ip地址,详细下一节再讨论。

局域网会限制一个链路层网络的大小,防止广播风暴,所以链路层网络有它的边界所在,在不同局域网之间的数据传输,需要经过路由器。

vlan,vxlan,gre的部分

PPPOE帧的格式

tcp/ip 卷一 读书笔记(2)物理层和链路层网络的更多相关文章

  1. tcp/ip 卷一 读书笔记(5)arp和rarp 同网段和不同网段之间的通信过程

    arp和rarp 同网段和不同网段之间的通信过程 IPv6中已经没有arp rarp协议,所以这里都是IPv4. 链路层使用以太网地址来确定目的地址,应用则常使用ip地址通信 arp协议是指从ip地址 ...

  2. tcp/ip 卷一 读书笔记(3)为什么既要有IP地址又要有MAC地址

    网络层 首先明确一点,并不是所有的网络之间传输数据都需要mac地址和ip地址,比如说点对点线路之间的通信就没有MAC地址,网络层使用ipx协议时就没有ip地址,但是在当前的主流网络中,我们都使用ip地 ...

  3. tcp/ip 卷一 读书笔记(1)tcp/ip 概述

    TCP/IP协议概述 术语 广域网 WAN 局域网 LAN TCP/IP四层网络模型 TCP/IP通常被认为是一个四层协议系统 网络接口层 包括arp,rarp协议,包括操作系统中的网卡驱动程序和对应 ...

  4. 《图解tcp/ip》读书笔记(二)

    <图解tcp/ip>读书笔记(二) 本周主要阅读的是本书的第三章--数据链路. 当然了,从某些角度讲,我认为这一章就是计算机网络的最基本的内容之一.整章讲述了数据链路层的作用和相关技术,主 ...

  5. 《图解tcp/ip》读书笔记(一)

           我先讲三句话:        一."万物互联的时代到了."我们生活在这样一个互联网急速发展的时代,也许很快就会发现,你能接触到的一切都可以连接到互联网了,电脑.手机这 ...

  6. 《图解TCP/IP》读书笔记

    一.国际惯例:书托 这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识.掌握TCP/IP的基本技能. 书中讲解了网络基础知识.TCP/IP基础知识.数据链路.IP协议.IP协 ...

  7. 《图解TCP/IP》读书笔记(转)

    reference: https://www.cnblogs.com/edisonchou/p/5987827.html 一.国际惯例:书托 这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TC ...

  8. C#基础知识之图解TCP IP》读书笔记

    一.网络基础知识 1. 计算机使用模式的演变 2.协议 协议就是计算机与计算机之间通过网络实现通信事先达成的一种“约定”.这种“约定”使那些由不同厂商的设备.不同的CPU以及不同的操作系统组成的计算机 ...

  9. TCP/IP协议精华笔记

    1.简介 TCP/IP协议并非单指TCP协议.IP协议,它是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议.ICMP(Internet Control Mes ...

随机推荐

  1. css中 padding属性的数值赋予顺序为

    4种可能的情况,举例说明:padding:10px; 四个内边距都是10pxpadding:5px 10px; 上下5px 左右10pxpadding:5px 10px 15px; 上5px 右10p ...

  2. border-image用法详解

    图像边框 border-image使用方法:border-image:url('图像路径') 边距(不能带单位)/宽度 上下方式 左右方式:(四个边距,上右下左,相同时可缩写为一个)repeat平铺 ...

  3. vmware虚拟机无法连接网络

    这是一个老生常谈的问题,而且网上有一套解决方法,最方便快捷的肯定属恢复虚拟网络了 说说我的情况 虚拟机VMware® Workstation 12 Pro centos6.8,克隆,192.168.2 ...

  4. 【转】awk 里的substr函数用法举例

    awk 里的substr函数用法举例: 要截取的内容:2007-08-04 04:45:03.084 - SuccessfulTradeResult(status: 1, currencyPair: ...

  5. java indexof、BigDecimal、字符串替换

    自我总结,有什么需要改正弥补的地方,请指出,感激不尽! 本次总结了indexof的用法,BigDecimal的乘法.移位运算,Decimal的格式化输出,字符串替换 上代码: 测试类 Test.jav ...

  6. MVVM之旅(1)创建一个最简单的MVVM程序

    这是MVVM之旅系列文章的第一篇,许多文章和书喜欢在开篇介绍某种技术的诞生背景和意义,但是我觉得对于程序员来说,一个能直接运行起来的程序或许能够更直观的让他们了解这种技术.在这篇文章里,我将带领大家一 ...

  7. I/O模型简述

    1. 前言 最近在学习 Java NIO 方面的知识,为了加深理解.特地去看了 Unix/Linux I/O 方面的知识,并写了一些代码进行验证.在本文接下来的一章中,我将通过举例的方式向大家介绍五种 ...

  8. rsync源目录写法的一点小细节

    原始状态: [root@localhost tmp]# tree . ├── a │ ├── a1 │ └── a2 └── b directories, files [root@localhost ...

  9. FindBugs简单应用

    FindBugs是一种java代码的静态分析工具,无需开发人员费劲就能找出代码中可能存在的缺陷.FindBugs 不注重样式或者格式,它试图只寻找缺陷或者潜在的性能问题. 第一步,http://sou ...

  10. bzoj 4873: [Shoi2017]寿司餐厅 [最小割]

    4873: [Shoi2017]寿司餐厅 题意:略 唯一会做的... 一眼最小割 就是最大权闭合子图呀 \(s\rightarrow d_{positive} \rightarrow -d_{negt ...