博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读书笔记二:TCP/IP详解之数据链路层
阅读量:4708 次
发布时间:2019-06-10

本文共 2490 字,大约阅读时间需要 8 分钟。

数据链路层的功能:

为网络层提供服务,良好的服务接口;保证数据传输的有效、可靠;调节数据流,保证慢速的接收方不会被快速的发送方淹没。

数据链路层协议

数据链路层的协议还是很多的,有我们最常用的以太网(就是平时我们用的网卡)协议,也有不太常见的令牌环,还有FDDI,当然,还有国内现在相当普及的PPP协议(就是adsl宽带),以及一个loopback协议。

Linux系统下的 ifconfig -a 命令
[root@localhost ~]# ifconfig -aeth0      Link encap:Ethernet  HWaddr 00:0C:29:2A:E4:4A            inet addr:192.168.74.138  Bcast:192.168.74.255  Mask:255.255.255.0          inet6 addr: fe80::20c:29ff:fe2a:e44a/64 Scope:Link          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:11491 errors:0 dropped:0 overruns:0 frame:0          TX packets:9690 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:1000           RX bytes:6556189 (6.2 MiB)  TX bytes:1369156 (1.3 MiB)          Interrupt:67 Base address:0x2024 lo        Link encap:Local Loopback            inet addr:127.0.0.1  Mask:255.0.0.0          inet6 addr: ::1/128 Scope:Host          UP LOOPBACK RUNNING  MTU:16436  Metric:1          RX packets:1308 errors:0 dropped:0 overruns:0 frame:0          TX packets:1308 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0           RX bytes:1979157 (1.8 MiB)  TX bytes:1979157 (1.8 MiB)sit0      Link encap:IPv6-in-IPv4            NOARP  MTU:1480  Metric:1          RX packets:0 errors:0 dropped:0 overruns:0 frame:0          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

其中,eth0就是,而lo则是。这也说明这个主机在网络链路层上至少支持loopback协议和以太网协议。

PPP协议(点对点协议)

它提供了一种低速接入的解决方案,而每一种数据链路层协议,都有一个MTU(最大传输单元)定义,在这个定义下,如果IP数据报过大,则要进行分片(fragmentation),使得每片都小于MTU,注意PPP的MTU并不是一个物理定义,而是指一个逻辑定义(个人认为就是用程序控制)。可以用netstat来打印出MTU的结果,比如键入netstat -in

Kernel Interface tableIface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flgeth0       1500   0    11491      0      0      0     9690      0      0      0 BMRUlo        16436   0     1308      0      0      0     1308      0      0      0 LRU
netstat -in命令显示

就可以观察到eth0的MTU是1500。而lo(环回接口)的MTU则是1536。而802.3的MTU是1492字节。

环回接口(loopback)

最后说说那个环回接口(loopback)。环回接口允许在【同一台】主机上的客户程序和服务器程序通过TCP/IP进行通信。A类网络号127就是为环回接口预留的。【大多数系统把ip地址127.0.0.1分配给这个接口,命名为localhost】。一个传给环回接口的IP数据报不能在任何网络上出现。一般情况下,一旦传输层检测到目的端地址是环回地址时,应该可以省略部分传输层和所有网络层的逻辑操作。但是大多数的产品还是照样完成传输层和网络层的所有过程,只是当IP数据报离开网络层时把它返回给自己。这样子简化了设计!

对于环回接口,有如下三点值得注意:

  • 传给环回地址(一般是127.0.0.1)的任何数据均作为I P输入。
  • 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是 因为广播传送和多播传送的定义包含主机本身。
  • 任何传给该主机IP地址的数据均送到环回接口

 

转载于:https://www.cnblogs.com/maleyang/articles/7283218.html

你可能感兴趣的文章
用户画像展示
查看>>
C#中StreamReader读取中文出现乱码
查看>>
使用BufferedReader的时候出现的问题
查看>>
批处理文件中的路径问题
查看>>
hibernate出现No row with the given identifier exists问题
查看>>
为什么wait()和notify()属于Object类
查看>>
配置NRPE的通讯
查看>>
匹配两个空格之间的字符。。。
查看>>
CSS 文字溢出 变成省略号 ...
查看>>
Spring事务
查看>>
java编程基础(三)流程控制语句
查看>>
让数据库跑的更快的7个MySQL优化建议
查看>>
jquery 取id模糊查询
查看>>
解决在vue中,自用mask模态框出来后,下层的元素依旧可以滑动的问题
查看>>
PAT甲级题解-1123. Is It a Complete AVL Tree (30)-AVL树+满二叉树
查看>>
项目开发总结报告(GB8567——88)
查看>>
SSH加固
查看>>
iOS IM开发的一些开源、框架和教程等资料
查看>>
python 二维字典
查看>>
实验吧之【天下武功唯快不破】
查看>>