认识以太网
"以太网"不是一个具体的网络,而是一个技术标准.即包含了数据链路层的结构,也包含了物理层的结构.以太网是当前应用最广泛的局域网技术,与以太网并列的有令牌环网,无线LAN等.
以太网数据帧格式

源地址与目的地址:网卡的硬件地址(mac地址),是在网卡出厂时固化的.
类型:三种字段分别对应ip,ARP,RARP.
帧尾:CRC校验码.
mac地址
mac地址用来识别数据链路层中相连的节点.
长度为48位,6个字节,在表示时通常使用16进制,中间使用冒号分割,如08:00:27:03:a2:fb.
在⽹卡出⼚时就确定了,不能修改,mac地址通常是唯⼀的.
对比mac地址与ip地址:
ip地址描述的是路径的起点与终点.
mac地址描述的是路径上每一个区间的起点与终点.
MTU
MTU相当于发快递时对包裹尺⼨的限制.这个限制是不同的数据链路对应的物理层,产⽣的限制.
1.以太⽹帧中的数据⻓度规定最⼩46字节,最⼤1500字节,ARP数据包的⻓度不够46字节,要在后⾯补填充位.
2.最⼤值1500称为以太⽹的最⼤传输单元(MTU),不同的⽹络类型有不同的MTU.
3.如果⼀个数据包从以太⽹路由到拨号链路上,数据包⻓度⼤于拨号链路的MTU了,则需要对数据包进⾏分片.
MTU对IP协议的影响
由于MTU的限制,对于较大的ip数据报就要进行分包.
1.对较大的ip数据包进行分包,分成多个小包,每个小包的16位标识是相同的.
2.每个⼩包的IP协议头的3位标志字段中,第2位置为0,表⽰允许分⽚,第3位来表⽰结束标记(当前是否是最后⼀个⼩包,是的话置为1,否则置为0).
3.到达对端后,根据13位偏移来进行组包,拼装到一起返回给传输层.一旦在传输的过程中发送丢包,接收端的重组就会失败,ip协议不会对丢包的情况进行重传.
MTU对UDP的影响
1.当UDP携带的数据超过1472(1500-20(ip首部)-8(UDP首部)),那么就需要分包.
2.这多个IP数据报有任意⼀个丢失,都会引起接收端⽹络层重组失败.那么这就意味着,如果UDP数据报在⽹络层被分⽚,整个数据被丢失的概率就⼤⼤增加了.
MTU对TCP的影响
1.TCP的⼀个数据报也不能⽆限⼤,还是受制于MTU.TCP的单个数据报的最⼤消息⻓度,称为MSS(MaxSegmentSize).
2.TCP在建⽴连接的过程中,通信双⽅会进⾏MSS协商.
3.最理想的情况下,MSS的值正好是在IP不会被分⽚处理的最⼤⻓度(这个⻓度仍然是受制于数据链路层的MTU).为了不被分包来保证可靠性.
4.双⽅在发送SYN的时候会在TCP头部写⼊⾃⼰能⽀持的MSS值.
5.然后双⽅得知对⽅的MSS值之后,选择较⼩的作为最终MSS.
6.MSS的值就是在TCP⾸部的40字节变⻓选项中.

被折叠的 条评论
为什么被折叠?



