以太网
是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率(仅指标准以太网的速率而已)运行在多种类型的电缆上。以太网与IEEE802.3系列标准相类似
数据封装
上一篇笔记有讲到过封装,数据封装过程是由应用程序开始发送数据,经过传输层和网络层并被封装最后到数据链路层封装后转换成比特流。
封装格式
最常用的封装格式为RFC 894(以太网的封装格式)。下图是RFC 894与另外一种封装格式RFC 1042(IEEE802.2/802.3)的区别
目的地址:也就是网卡的硬件地址,6个字节,指明帧的接受者
源M地址:网卡的硬件地址,6个字节,指明帧的发送者
长度:2个字节,指明该帧数据字段的长度,但不代表数据字段长度能够达到(2^16)字节
类型:2个字节,指明帧中数据的协议类型,比如常见的IPv4中ip协议采用0x0800
数据:46~1500个字节,包含了上层协议传递下来的数据,如果加入数据字段后帧长度不够64字节,会在数据字段加入“填充”至达到64字节
CRC:帧校验序列,4个字节,对接收网卡(主要是检测Data and Pad字段)提供判断是否传输错误的一种方法,如果发现错误,丢弃此帧。目前最为流行的用于FCS的算法是循环冗余校验(cyclic redundancy check –CRC)
DSAP: 目的服务访问点 值为0xaa
SSAP: 源服务访问点,值为0xaa
最基本协议号端口号(类型)
上一篇文章中介绍了两种封装格式,在封装数据中可以在IP数据报中可以通过协议号区分该数据是哪种封装格式
以太网协议号
- IP:0x0800
- ARP:0x0806
- PPPOE: 0x8863 0x8864
IP协议号
- ICMP: 1
- TCP: 6
- UDP: 17
端口号
- FTP: 20 21
- SSH: 22
- Telnet: 23
- HTTP: 80
- HTTPS: 443
环回接口
大多出的产品都支持环回接口。允许运行在同一台主机上的客户程序和服务城区通过TCP/IP进行通信。
在访问环回接口时,一旦传输层检测到目的地址是环回地址后,应该可以省略部分传输层和所有网络层的操作,但是大部分产品没有省略这些过程。只是在ip数据报离开网络层时返回给自己。
图中的关键点:
- 传给环回地址的任何数据均作为ip输入
- 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是因为广播传送和多播传送的定义包含主机本身
- 任何传给该主机地址的数据均送到环回接口
MTU
以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节。链路层的这个特性称作MTU,最大传输单元。