计算机网络(一)

计算机网络

重点在TCP/IP协议和HTTP协议等。
记忆加理解

为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了"开放系统互联参考模型",
即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、
数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、
应用层(Application Layer)。其中第四层完成数据传送服务,上面三层面向用户。

TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。
通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。
而IP是给因特网的每一台联网设备规定一个地址。

IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层—TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。
IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是否按顺序发送的或者有没有被破坏,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。
TCP提供的是一种可靠的数据流服务,采用"带重传的肯定确认"技术来实现传输的可靠性。
TCP还采用一种称为"滑动窗口"的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。

21 ftp 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用
22 ssh 安全 Shell(SSH)服务
23 telnet Telnet 服务
25 smtp 简单邮件传输协议(SMTP)
53 domain 域名服务(如 BIND)
69 tftp 小文件传输协议(TFTP)
80 http 用于万维网(WWW)服务的超文本传输协议(HTTP)
443 https 安全超文本传输协议(HTTP)


目录

Chapter 1Chapter 2Chapter 3Chapter 4Chapter 5
物理层(PHY)数据链路层(LINK)网络层(IP)传输层(TCP/UDP)应用层(HTTP)

内容

物理层(PHY)

- 物理特性、电气特性、功能特性、过程特性

- 该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在
各种物理媒体上传输。

- 物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。

数据链路层(LINK)

-数据链路层为网络层提供可靠的数据传输; 
- 基本数据单位为帧;
- 主要的协议:以太网协议;
- 两个重要设备名称:网桥和交换机。

网络层(IP)

- 网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;

- 基本数据单位为IP数据报;

- 包含的主要协议:

- IP协议(Internet Protocol,因特网互联协议);

- ICMP协议(Internet Control Message Protocol,因特网控制报文协议);

- ARP协议(Address Resolution Protocol,地址解析协议);

- RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。

- 重要的设备:网关、路由器。
  • IP地址

    • 网络地址
      IP地址由网络号(包括子网号)和主机号组成,网络地址的主机号为全0,网络地址代表着整个网络。

    • 广播地址
      广播地址通常称为直接广播地址,是为了区分受限广播地址。

      广播地址与网络地址的主机号正好相反,广播地址中,主机号为全1。当向某个网络的广播地址发送消息时,该网络内的所有主机都能收到该广播消息。

    • 组播地址
      D类地址就是组播地址。

      先回忆下A,B,C,D类地址吧:

        - A类地址以0开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;
      
        - B类地址以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255;
      
        - C类地址以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。
      
        - D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);
      
        - E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。
      
        - 注:只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。
      
    • 255.255.255.255

      • 该IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于,受限广播地址只能用于本地网络,路由器不会转发以受限广播地址为目的地址的分组;
        一般广播地址既可在本地广播,也可跨网段广播。例如:主机192.168.1.1/30上的直接广播数据包后,另外一个网段192.168.1.5/30也能收到该数据报;若发送受限广播数据报,则不能收到。

      • 注:一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址不能通过路由器。

    • 0.0.0.0

      • 常用于寻找自己的IP地址,例如在我们的RARP,BOOTP和DHCP协议中,若某个未知IP地址的无盘机想要知道自己的IP地址,它就以255.255.255.255为目的地址,
        向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。
    • 回环地址

      • 127.0.0.0/8被用作回环地址,回环地址表示本机的地址,常用于对本机的测试,用的最多的是127.0.0.1。
    • A、B、C类私有地址

      • 私有地址(private address)也叫专用地址,它们不会在全球使用,只具有本地意义。

        • A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255

        • B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255

        • C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255

  • 为什么进行子网划分

    • 减少网络流量,无论什么样的流量,我们都希望它少些,网络流量亦如此。如果没有可信赖的路由器,网络流量可能导致整个网络停顿,但有了路由器后,
      大部分流量都将呆在本地网络内,只有前往其他网络的分组将穿越路由器。路由器增加广播域,广播域越多,每个广播轻松划分子网域就越小,而每个网段的网络流量也越少。

    • 优化网络性能,这是减少网络流量的结果。

    • 简化管理,与庞大的网络相比,在一系列相连的小网络中找出并隔离网络问题更容易。

    • 有助于覆盖大型地理区域,WAN链路比LAN链路的速度慢得多,且更昂贵;单个大跨度的大型网络在前面说的各个方面都可能出现问题,而将多个小网络连接起来可提高系统的效率。

  • 网关

    • 网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。
      网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连

    • 网关实质上是一个网络通向其他网络的IP地址。

    • 比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。
      在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机
      处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,
      网络B的网关再转发给网络B的某个主机。

    • 所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,
      具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

  • 子网掩码的计算:

    • 对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:如某B类IP地址为 10.12.3.0,无须再分割子网,则该IP地址的子网掩码255.255.0.0。如果它是一个C类地址,则其子网掩码为 255.255.255.0。其它类推,不再详述。下面我们关键要介绍的是一个IP地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算。

    • 下面总结一下有关子网掩码和网络划分常见的面试考题:
        1)利用子网数来计算
      在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。

        (1) 将子网数目转化为二进制来表示;
            如欲将B类IP地址168.195.0.0划分成27个子网:27=11011;
      
        (2) 取得该二进制的位数,为N;
            该二进制为五位数,N = 5
      
        (3) 取得该IP地址的类子网掩码,将其主机地址部分的的前N位置1即得出该IP地址划分子网的子网掩码。
            将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0
      
      • 2)利用主机数来计算
        如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:

          			(1) 将主机数目转化为二进制来表示;
          			700=1010111100
          			
          			(2) 如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二
          			进制位数,为N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占
          			据不止8位;
          			该二进制为十位数,N=10;
        
          			(3) 使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的
          			将N位全部置为 0,即为子网掩码值。
          			将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255,
          			然后再从后向前将后 10位置0,即为:11111111.11111111.11111100.00000000,即
          			255.255.252.0。
          			这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。
        
      • 3)还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。
        比如一个子网有10台主机,那么对于这个子网需要的IP地址是:
        10+1+1+1=13

          			注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网
          			络地址和广播地址。
        
          			因为13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该
          			子网掩码为255.255.255.240。
        
          			如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子
          			网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=17,17大于
          			16,
          			所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码
          			为:255.255.255.224。
        
  • ARP/RARP协议

    • 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,
      并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
      地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;
      由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中
      IP地址和MAC地址的对应关系、添加或删除静态对应关系等。

      • ARP工作流程举例:

          			主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
          			主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;
          			当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解
          			析成主机B的MAC地址,以下为工作流程:
        
          					(1)根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是
          					192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地
          					址。
          					
          					(2)如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地
          					址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和
          					MAC地址都包括在ARP请求中。										
          					本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。
          					如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
          					(3)主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地
          					址和MAC地址映射添加到本地ARP缓存中。
          					
          					(4)主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
          					
          					(5)当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地
          					址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上
          					面的过程。
          					主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。
        
    • 逆地址解析协议,即RARP,功能和ARP协议相对,其将局域网中某个主机的物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。

      • RARP协议工作流程:

          		(1)给主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;
          		(2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;
          		(3)如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;
          		(4)如果不存在,RARP服务器对此不做任何的响应;
        
  • 路由选择协议
    常见的路由选择协议有:RIP协议、OSPF协议。

    • RIP协议 :底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。

    • OSPF协议 :Open Shortest Path First开放式最短路径优先,底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值