tcp/ip 卷一 读书笔记(2)物理层和链路层网络
物理层和链路层网络
术语
链路
是一对相邻结点间的物理线路,中间没有任何其他的交换结点。
数据链路
除了物理线路外,还必须有通信协议来控制这些数据的传输。
帧
数据链路层的协议数据单元(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的部分
tcp/ip 卷一 读书笔记(2)物理层和链路层网络的更多相关文章
- tcp/ip 卷一 读书笔记(5)arp和rarp 同网段和不同网段之间的通信过程
arp和rarp 同网段和不同网段之间的通信过程 IPv6中已经没有arp rarp协议,所以这里都是IPv4. 链路层使用以太网地址来确定目的地址,应用则常使用ip地址通信 arp协议是指从ip地址 ...
- tcp/ip 卷一 读书笔记(3)为什么既要有IP地址又要有MAC地址
网络层 首先明确一点,并不是所有的网络之间传输数据都需要mac地址和ip地址,比如说点对点线路之间的通信就没有MAC地址,网络层使用ipx协议时就没有ip地址,但是在当前的主流网络中,我们都使用ip地 ...
- tcp/ip 卷一 读书笔记(1)tcp/ip 概述
TCP/IP协议概述 术语 广域网 WAN 局域网 LAN TCP/IP四层网络模型 TCP/IP通常被认为是一个四层协议系统 网络接口层 包括arp,rarp协议,包括操作系统中的网卡驱动程序和对应 ...
- 《图解tcp/ip》读书笔记(二)
<图解tcp/ip>读书笔记(二) 本周主要阅读的是本书的第三章--数据链路. 当然了,从某些角度讲,我认为这一章就是计算机网络的最基本的内容之一.整章讲述了数据链路层的作用和相关技术,主 ...
- 《图解tcp/ip》读书笔记(一)
我先讲三句话: 一."万物互联的时代到了."我们生活在这样一个互联网急速发展的时代,也许很快就会发现,你能接触到的一切都可以连接到互联网了,电脑.手机这 ...
- 《图解TCP/IP》读书笔记
一.国际惯例:书托 这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识.掌握TCP/IP的基本技能. 书中讲解了网络基础知识.TCP/IP基础知识.数据链路.IP协议.IP协 ...
- 《图解TCP/IP》读书笔记(转)
reference: https://www.cnblogs.com/edisonchou/p/5987827.html 一.国际惯例:书托 这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TC ...
- C#基础知识之图解TCP IP》读书笔记
一.网络基础知识 1. 计算机使用模式的演变 2.协议 协议就是计算机与计算机之间通过网络实现通信事先达成的一种“约定”.这种“约定”使那些由不同厂商的设备.不同的CPU以及不同的操作系统组成的计算机 ...
- TCP/IP协议精华笔记
1.简介 TCP/IP协议并非单指TCP协议.IP协议,它是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议.ICMP(Internet Control Mes ...
随机推荐
- HSSF、XSSF和SXSSF区别以及Excel导出优化
之前有写过运用POI的HSSF方式导出数据到Excel(见:springMVC中使用POI方式导出excel至客户端.服务器实例),但这种方式当数据量大到一定程度时容易出现内存溢出等问题. 首先,PO ...
- 锐捷配置telnet
.组网需求 通过Telnet功能远程登录管理设备. 二.组网拓扑 三.配置要点 1.需要给交换机配置一个管理IP,如果PC与交换机不是同一个网段,需要给交换机配置一个默认网关 2.需要配置一个 ...
- final修饰符,多态,抽象类,接口
1:final关键字(掌握) (1)是最终的意思,可以修饰类,方法,变量. (2)特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. ...
- Electron应用使用electron-builder配合electron-updater实现自动更新(windows + mac)
发客户端一定要做的就是自动更新模块,否则每次版本升级都是一个头疼的事.下面是Electron应用使用electron-builder配合electron-updater实现自动更新的解决方案. 1.安 ...
- 关于OMAPL138烧写程序的说明
相信很多朋友在用CCS调试OMAPL138开发板的时候,肯定遇到了许许多多的问题: 例如: 1.CCS安装不完整,导致有些功能无法使用 2.ARM端没有加载gel文件,使得程序无法被唤醒 3.ccxm ...
- WPF 自定义图表(柱状图,曲线图)
1.功能 实现图表的数据绑定,动态绑定,属性更改绑定. 本文提供了一种思路. 2.原理 使用canvas绘制,使用反射来确定属性的绑定. 3.效果: 柱状图效果: 曲线图效果: 感谢阅读. 源码地址: ...
- JAX-RS和Jersey
一:JAX-RS JAX-RS是JAVA EE6 引入的一个新技术. JAX-RS即Java API for RESTful Web Services,是一个Java 编程语言的应用程序接口,支持按照 ...
- [Cpp] 面向对象程序设计 C++
初始化列表(包括成员对象初始化) 初始化列表 ( 推荐 ) : 可以初始化任何类型的数据, 不管是不是普通类型还是对象,都建议用. 不再需要在构造器中赋值了, 而且初始化列表比构造函数要早执行. ...
- BZOJ 1370: [Baltic2003]Gang团伙 [并查集 拆点 | 种类并查集WA]
题意: 朋友的朋友是朋友,敌人的敌人是朋友:朋友形成团伙,求最多有多少团伙 种类并查集WA了一节课,原因是,只有那两种关系才成立,诸如朋友的敌人是朋友之类的都不成立! 所以拆点做吧 #include ...
- CentOS 7 安装Java 1.8
携程的Apollo配置中心服务端[https://github.com/ctripcorp/apollo/wiki]推荐的Java版本是:1.8+, 本文介绍如何在CentOS上安装java 1.8. ...