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 ...
随机推荐
- linkin大话面向对象--继承
[修饰符] class SubClass extends SuperClass 按照这种关系,我们把SuperClass类称为父类或基类,把SubClass称为子类或派生类或拓展类.extend ...
- 【SqlServer系列】浅谈SQL Server事务与锁(上篇)
一 概述 在数据库方面,对于非DBA的程序员来说,事务与锁是一大难点,针对该难点,本篇文章视图采用图文的方式来与大家一起探讨. “浅谈SQL Server 事务与锁”这个专题共分两篇,上篇主讲事务及 ...
- 编译原理:基于状态转换图识别for语句
int state =0;while(state<9){ switch state{ case 0: if(ch=='f'){ state=1;getchar(ch); } case 1: if ...
- iOS9 适配网络请求,适配分享失败,适配无法正常跳转到客户端
问题描述:在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据.对ShareSDK来说,具体表现可能是,无法授权.分享.获取用户信息等. 还可能造成我们的编辑界面里 ...
- nodejs建立websocket通信
依赖模块 nodejs-websocket 服务端 const ws = require('nodejs-websocket'); console.log('开始建立连接...'); const se ...
- Git:warning: LF will be replaced by CRLF
windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时出现提示,解决办法: $ rm -rf .git // 删除.git $ git config --gl ...
- Jsonp 原理简述
浏览器因为安全问题而有一个同源策略,不允许跨域请求数据.但是 js 脚本资源和图片资源还是被允许跨域请求的.在 web 开发中,遇到要跨域请求 json 数据时,可以用 jsonp 的方式来绕过浏览器 ...
- jQuery源码逐行分析学习01(jQuery的框架结构简化)
最近在学习jQuery源码,在此,特别做一个分享,把所涉及的内容都记录下来,其中有不妥之处还望大家指出,我会及时改正.望各位大神不吝赐教!同时,这也是我的第一篇前端技术博客,对博客编写还不是很熟悉,美 ...
- Oracle常见授权与回收权限——grant和revoke
1.GRANT 赋于权限常用的系统权限集合有以下三个:CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理) 常用的数据对象权限有以下五个:ALL ON 数据对象名, S ...
- Phalcon调试大杀器之phalcon-debugbar安装
Phalcon 是一款非常火的高性能C扩展php开发框架.特点是高性能低耦合,但遗憾的是长期缺少一款得力的调试辅助工具. 目前版本主要以Laravel debugbar的具有功能为蓝本开发,并针对ph ...