美文网首页TCP/IP网络编程
计算机网络基础-网络层

计算机网络基础-网络层

作者: 过期的薯条 | 来源:发表于2019-07-21 18:03 被阅读78次

    1.虚电路服务和数据报服务

    参考文章:https://blog.csdn.net/codejas/article/details/80237685

    • 虚电路服务


      image

      当两台计算机进行通信时,应当先建立连接(即:在分组交换中建立一条虚电路(Virtual Circuit)),然后双方就沿着建立的虚电路发送分组。这样以来,分组的首部不需要填充完整的目的主机地址,而是只需要填写这条虚电路对应的编号即可,因此减少了分组的开销。通过虚电路服务如果再使用可靠传输的网络协议,所发送的分组就可以无差错的按序到达终点,不存在丢失与重复的情况。就像上图,两台主机之间进行分组的交换都必须在事先建立好的虚电路上。采用虚电路网络会使网络核心部分变得复杂,需要所有经过这条电路的节点共同维护,如果虚拟电路断开,那么数据将会丢失,只能重新建立虚电路。互联网的先驱者们认为计算机有很强的差错处理能力,因此提出了一种无连接的思路:数据报网络

    • 数据报服务


      image

      网络在发送分组之前不需要先建立连接。每一个分组(IP 数据报)独立发送,与其前后的分组无关(无编号)。网络层不提供服务质量的保。也就是说,所传送的分组可能出错、丢失、重复和失序(不按顺序到达终点),也不保障分组交付的时限。由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器比较简单,从而使减轻网络核心的负担,并且价格也比较低。
      如果主机中进程间的通信需要可靠的数据交付,那么就由网络的主机中的运输层负责(差错检测、流量控制等)。采取这种设计有很多好处:网络造价相对较低,运行方式灵活,可以适用多种应用。目前的互联网能够发展到今天的规模,正是因为采用了这种设计思路。OSI 体系的支持者曾极力主张适用可靠传输的虚电路网络,但是这早已经成为历史了

    2. ip层协议介绍

    • IP(Internet Protocol):Internet协议,负责TCP/IP主机间提供数据报服务,进行数据封装并产生协议头,TCP与UDP协议的基础。

    • ICMP(Internet Control Message Protocol):Internet控制报文协议。ICMP协议其实是IP协议的的附属协议,IP协议用它来与其它主机或路由器交换错误报文和其它的一些网络情况,在ICMP包中携带了控制信息和故障恢复信息。

    • ARP(Address Resolution Protocol)协议:地址解析协议。

    • RARP(Reverse Address Resolution Protocol):逆向地址解析协议。

    3. ip地址分类

    ip分为网络号和主机号。


    image.png

    IP地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E。 全0和全1的都保留不用。

    A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。
    B类:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。
    C类:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络。
    D类:是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。一般用于多路广播用户[1] 。
    E类:是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。

    在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:
    A类地址:10.0.0.0~10.255.255.255
    B类地址:172.16.0.0~172.31.255.255
    C类地址:192.168.0.0~192.168.255.255

    回送地址:127.0.0.1。 也是本机地址,等效于localhost或本机IP。一般用于测试使用。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。

    4.ip地址和mac地址

    image.png

    路由和路由连接的是以太网。局域网内部找地址通过mac地址,路由与路由通过ip地址找地址。

    如何根据ip地址找到mac地址
    每个主机都设有一个高速缓冲区,通过arp协议得到的,此缓冲区存有当前局域网各ip对应的mac地址。流程如下图所示:

    image.png
    1. 一根总线上的主机都能收到广播,只有目标主机才会做出响应。A主机向B主机发送广播,请求得到B主机的mac地址。B收到广播将A的地址和mac地址保存到告诉缓冲区中。之后发送广播给A,A再将B的ip:mac映射放进自己的告诉缓冲中。

    2. 当主机A 发送给的广播跨网了。A将会收到本局域网内路由器的mac地址。

    3. 发送方是路由器的时候,类似于 情况1

    4.发送方是路由器,并且跨网了。那么就类似于情况2

    5.ip数据报格式

    ip数据报 包括ip首部 和数据部分。ip首部是20个字节,是所有ip数据报都有的。ip首部的字节分布:

    image.png

    ip层首部标识:标明当前数据报属于哪个报文。
    一个部电影,分成若干报文,每个报文在分成若干组进行传输。

    片偏移:对应于数据链路层,ip数据报超过了 mtu最大的数据,需要切片进行传输。片偏移就是表示属于第几片。

    标志:标志数据报是否是最后一个mac帧

    6. 路由表

    路由表记录了俩个字段。分别是目的主机所在的网络下一跳路由器的地址。三级ip地址也相应的增加了一个子网掩码字段。

    image.png

    7.子网划分

    二级ip地址的划分有天然的缺陷**:

    • ip地址的空间利用率有时候很低
    • 大大增加路由表的长度,查找起来费时,性能变低
    • 俩级ip地址不够灵活

    划分子网: 把2级ip地址划分成3级ip地址。由原来的网络号:主机, 变成:网络号:子网号:主机。子网号占据的是主机内存空间。子网多那么主机少,子网少主机多。

    子网掩码:通过子网掩码 快速找到ip地址所属的子网地址
    三级ip地址 与 子网掩码 进行 and 运算,就能快速得到此ip地址的子网网络号

    A类地址 默认子网掩码 255.0.0.0
    B类地址 默认子网掩码 255.255.0.0
    C类地址 默认子网掩码 255.255.255.0

    8.CIDR(无分类编址)

    划分子网,缓解了ip不足的问题,但是依旧面临ip不足的局面。最终提出"无分类编址"ip地址,"无分类编址"取消了传统的A,B,C类地址的划分。无分类编址由俩部分组成: 网络前缀:主机号。网络前缀又包括:网络号+子网号。

    相关文章

      网友评论

        本文标题:计算机网络基础-网络层

        本文链接:https://www.haomeiwen.com/subject/pkbpkctx.html