计算机网络系统学习精华总结(一):物理层和数据链路层

       这个博客好像停滞了几个月了,实在惭愧,边学边写,有点顶不住,之前都用印象笔记粗略的写学习总结,现在写成博客形式,一是让自己重新回顾下知识点准备面试;二是把笔记中的排版整理的更清晰一点,方便自己以后查看;三是驱动以后长久的职业规划。这次从计算机网络开始整理知识点,由于本人也是刚开始学习,文中有理解不正确的地方欢迎指出,相互交流,相互学习:

       我们都知道计算机网络的OSI七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。还有目前市场通用的TCP/IP四层模型:应用层、传输层、网络层、网络接口层。

       那么问题来了,为什么会出现分层设计的模型?设计者当然不是说吃了饭没事做要分这么多层,这都是由网络中数据传输的实际问题驱动的。试想一下:一台计算机A给另外一台计算机B发送消息,中间需要考虑哪些问题?比如:怎么识别目标计算机、目标计算机状态(能不能接受数据)、数据通路是不是顺畅的、传输过程中数据会不会出现异常等等。这些都是通信过程中要考虑的,为了方便实现各个功能,采用分层设计,每层实现不同的功能,各层之间互不干扰。设计原则是:1)各层之间是相互独立的;2)每一层要有足够的灵活性;3)各层之间完全解耦。

        了解了分层设计之后,我们正式学习计算机网络:

         OSI七层模型:应用层————为用户提供接口和服务

                                 表示层————数据处理(编码解码、加密解密等)

                                 会话层————管理(建立、维护、重连)通信会话

                                 传输层————管理端到端的连接

                                 网络层————数据路由(决定数据在网络中的路径)

                                 数据链路层————管理相邻节点之间的数据通信

                                 物理层————物理设备(数据通信的光电物理特性)

       但是OSI模型并没有成为广为应用的标准模型,我们目前市场使用的都是TCP/IP四层模型。所以我们重点介绍TCP/IP四层模型。

       TCP/IP层模型:应用层(主要协议:HTTP、FTP)————对应OSI应用层、表示层、会话层

                                 传输层(主要协议:TCP、UDP)————对应OSI传输层

                                 网络层(主要协议:IP、ICMP)————对应OSI网络层

                                 网络接口层(主要协议:Ethernet、ARP、RARP)——对应OSI数据链路层和物理层

       在具体学习各层模型之前,有必要先了解现代互联网的网络拓扑:边缘部分和核心部分。边缘部分是指用户直接能够接触的部分,比如家、学校、企业。普通用户接触不到的为核心部分。以家庭为例:家中的电脑、手机、ipad通过路由器经过一个或者多个网关之后连接到地区ISP(Internet Service Provider,比如中国电信、中国联通、中国移动等),地区ISP再连接到主干ISP(国家、地区等)。比较常用的模式有C/S模型(Client——Server模式),对等连接(P2P模式)。

       还要了解下网络的性能指标:

                1.速率:网速单位是Mbps(M  bit/s,每秒多少Mbits)。通常100M光纤,实际网速应该是100/8=12.5M  B/s。

                2.时延:包括网络中的发送时延、传播时延、排队时延、处理时延。

                              发送时延=数据长度(bit)/发送速率(bit/s);         传播时延=距离/传播速率(bit/s),传播速率受限于计算机网卡;

                              排队时延:数据包在网络中等待被处理的时间;处理时延:数据包达到设备或者目的机器被处理所需的时间;

                              总时延:发送时延+传播时延+排队时延+处理时延

                3.往返时间RTT(Route-Trip-Time):数据报文在端到端通信(window cmd下 ping 命令可查看)中往返一次的时间,                                                                               RTT是评估网络质量的一项重要指标。

        网络接口层——物理层:TCP/IP模型的的最底层,主要用途:1).连接不同的物理设备(电缆、光纤、双绞线);2).传输比特流(0110...)

        信道:往一个方向发送信息的媒体,一个通信线路包含一个接收信道和一个发送信道。

        通讯方式:单工(单向通信)、半双工(双向,但不能同时发送或接收)、全双工(双方可以同时发送和接收信息)

        物理层采用分用——复用技术(多个PC端通过一条信道通讯),提高信道利用率。 

        网络接口层——数据链路层:封装成帧、透明传输、差错监测。

        1.封装成帧:“帧”是数据链路层数据的基本单位(比特位是物理层数据的基本单位)。发送端在网络层的一段数据前后添加特定标记形成帧;接收端根据前后特定标记识别出帧。帧首部和帧尾部是特定的控制字符(特定比特流,帧首部SOH:00000001,帧尾部EOT:00000100)。但是这里有个问题:如果帧的数据报中也出现了控制字符(首部和尾部),怎么处理,这里就要涉及到透明传输的概念。

        2.透明传输:控制字符在帧数据中,要当做不存在的处理。对数据中的控制字符进行特殊处理——在数据报文中的控制字符前加上转义字符ESC。编程中,"\"是转义字符,“\n”换行,"\t"制表符,输出 \ ,就要cout<<“\\”; 输出 \\ ,就要cout<<"\\\".

        3.差错监测:物理层只管传输比特流,不管数据是否出错,数据链路层负责差错监测。有奇偶校验码和循环冗余校验码CRC两种方法。奇偶校验码只能监测奇数个数的错误,偶数个监测不出,不够准确。CRC原理就不详细介绍了,CRC的检错能力与位串的阶数有关。其次数据链路层只进行数据监测,不进行纠正。

        MTU(Maximum Transmission Unit,最大传输单元):数据链路层的数据帧最大为MTU,数据帧过大或者过小都会影响传输的效率(以太网MTU一般为1500字节)。路径中的MTU取决于经过途中MTU的最小值(木桶效应)。

       MAC地址(物理地址、硬件地址):每个设备都有唯一的MAC地址,MAC地址共48位,使用16进制表示,12个数,两个一组用—连接,形如:30—B4—9E—ED—85—CA。4位比特位表示一个16进制位,4*12=48bits。

       数据链路层——以太网协议(Ethernet):1)以太网是一种应用广泛的局域网技术;2)以太网是一种应用于数据链路层的协议;3)使用以太网可以完成相邻设备(节点)的数据帧传输。

                       协议格式:     目的地址                      源地址                 类型           帧数据         CRC(循环冗余校验码)

                                           6字节(48位)           6字节(48位)           2             46-1500                         4 

                   MAC地址表(路由器拥有的):MAC地址与硬件接口的映射对应关系。   MAC地址——接口

       A、B、C三个PC机都连接到同一个路由器,A如果给C发数据,A发送的数据经过路由器后,路由器怎么判断数据是发给谁的(数据链路层实现节点之间的通信)?

       PC机A通过网卡发出数据,数据帧到达路由器后,路由器取出前6字节(目的地址,即MAC地址48位),路由器查询自己的MAC地址表,找到的对应的网络接口发送数据。如果路由器MAC地址表不存在目标机机网络接口的MAC地址,路由器将广播A的数据包到路由器连接的所有其他端口,路由器收到来自各个端口的回应(只有C才会回应有效应答),并将目的MAC地址和端口记录(更新MAC地址表)。

                           

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值