五、网络协议与IP

网络

OSI七层协议

计算机网络

     1、 什么是网络?

                把每台机器连接到一起;网络=物理连接介质+互联网通信协议

                互联网通信协议就相当于计算机界的英语

OSI七层协议 ,记五层协议即可:

           

 

2、为何要有

                 打破了地域的限制,提高传输数据的效率=》信息高速公路

       3、以太网

                 1、以太的数据称之为数据帧,分为head+data(头+尾),其中head长度固定;

                 2、规定凡是介入互联网的主机必须有一块网卡,网卡上有一个Mac地址,全世界唯一;

                 3、以太网协议的通信采用的是广播的通信方式=》计算机通信靠吼;

4、ip协议
        ip地址+mac地址=》全世界范围内唯一的一台计算机
        
        
        ip地址的范围:
            00000000.00000000.00000000.00000000 ->0.0.0.0
            11111111.11111111.11111111.11111111 ->255.255.255.255
                
            
        子网掩码:
            11111111.11111111.11111111.00000000 ->255.255.255.0
        
        
        例如ip地址1:172.16.10.4/24
            10101100.00010000.00001010.00000100 -> 172.16.10.4
            
            11111111.11111111.11111111.00000000  -> 255.255.255.0
        
            10101100.00010000.00001010.00000000  -> 172.16.10.0 子网地址
        
       
        例如ip地址2:172.16.10.5/24
            10101100.00010000.00001010.00000101 -> 172.16.10.5
            
            11111111.11111111.11111111.00000000  -> 255.255.255.0
    
            10101100.00010000.00001010.00000000  -> 172.16.10.0 子网地址

   

除2取余法

进制算法:

  • 1、二进制 → 十进制

  方法:二进制数从低位到高位(即从右往左)计算,第0位的权值是2的0次方,第1位的权值是2的1次方,第2位的权值是2的2次方,依次递增下去,把最后的结果相加的值就是十进制的值了。

  例:将二进制的(101011)B转换为十进制的步骤如下:

1. 第0位 1 x 2^0 = 1;

2. 第1位 1 x 2^1 = 2;

3. 第2位 0 x 2^2 = 0;

4. 第3位 1 x 2^3 = 8;

5. 第4位 0 x 2^4 = 0;

6. 第5位 1 x 2^5 = 32;

7. 读数,把结果值相加,1+2+0+8+0+32=43,即(101011)B=(43)D。

  • 2、十进制 → 二进制
  • 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。 

      例:将十进制的(43)D转换为二进制的步骤如下:

    1. 将商43除以2,商21余数为1;

    2. 将商21除以2,商10余数为1;

    3. 将商10除以2,商5余数为0;

    4. 将商5除以2,商2余数为1;

    5. 将商2除以2,商1余数为0; 

    6. 将商1除以2,商0余数为1; 

    7. 读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,101011,即(43)D=(101011)B。

应用层

表示层

会话层

传输层    TCP协议/UDP协议

                1、数据段

                2、head+data:head放的源端口  目标端口

                3、端口在本机唯一即可

#   什么是网络?
  网络=物理连接介质+互联网通信协议
  互联网通信协议就相当于计算机界的英语
  
  为何要有网络?
  打破了地域限制,提高传数据的效率=》信息高速公路
   
  应用层         http,ftp,可以自定义协议
  表示层
  会话层
  传输层         tcp/udp
        1、数据段
        2、head+data:head放的源端口  目标端口
        3、端口在本机唯一即可

  网络层         ip协议:
        1、数据包
        2、head+data:head放源ip地址  目标ip地址
        3、ip地址的通信=》路由协议
        
        ipv4:
        ipv4地址
        00000000.00000000.00000000.00000000=>0.0.0.0
        11111111.11111111.11111111.11111111->255.255.255.255
        子网掩码:
        11111111.11111111.11111111.00000000-》255.255.255.0
       
        172.16.10.13/24 -》172.16.10.0
        172.16.10.14/24 -》172.16.10.0
        
        子网地址相同,代表处于同一个lan中
        
  数据链路层     ethernet以太网协议:
        1、数据帧
        2、head+data,head里放:源mac地址 目标mac地址
        3、基于mac地址的广播的通信方式=》计算机通信基本靠吼
        
  物理层         转换成电信号01010101,然后发送

引入:

1、计算机1要与计算机2通信,计算机1必须拿到计算机2的IP地址

2、通信分为两类:

        局域网内

        跨局域网

           计算机1如何确定与计算机2是否在一个局域网内?

           如果在一个局域网内,如何通信?=》拿到对方的Mac地址

           如果跨局域网,如何通信?=》通过网关,要拿到的目标Mac是网关的Mac

ARP协议

        arp协议==》获取目标Mac,如何获取?=》通过IP地址找到Mac地址

       当在同一个LAN内,靠的是目标Mac地址找到对方在哪里,只要知道目标Mac地址是谁,数据包就送给谁;

       当不在同一LAN内,需要拿到网关的Mac地址,由网关通过路由转出去,直到找到目标IP;

    1、拿到目标Mac地址

             ARP协议:

                     判断两台计算机的子网地址是否一样

             如果一样,应该尝试获取计算机2的Mac地址

             如果不一样,应该尝试获取网关的Mac地址

                       计算机1的Mac地址   计算机2的Mac地址   数据部分 

    2、发真正的数据

            计算机1的Mac地址  网关的Mac地址 数据部分

2、IP地址+Mac地址=》全世界唯一一台计算机

      ARP会将IP地址转换成Mac地址,要么是局域网内一台计算机的Mac地址,要么就是网关的Mac地址,不能是公网计算机的

三次回收建立连接:

syn 请求

seq 暗号

ack 确认收到

四次挥手断开连接:

3、TCP协议与UDP

          tcp通信之前必须建立双向通路

          UDP协议=》不可靠协议

 

4、socket协议

socket是用于在两个基于TCP/IP协议的应用程序之间相互通信,也叫套接字。

              应

=====》socket《====socket封装以下层

              传

              网

              数

              物

 

5、DHCP

想实现网络通信,每台主机需具备四要素:

            1>本机的IP地址

            2>子网掩码

            3>网关IP地址

            4>DNS的IP地址(DNS可有可无,无DNS时可输入全网址访问)

            获取以上地址,有两种方式:

                     1>手动配置=》静态获取(先ping一下是否被占用)

                     2>动态获取=》DHCP

dhcpclient(68)------------》dhcpserver(开机后自动获取IP地址)

6、DNS  (ip==》域名==》hao123)dns把域名解析为IP地址

        dns全称:domain name server

        dns查询方式:

                1>递归查询:网络客户端→本地dns→根域名→顶级域名→二级域名,一级一级,几乎不用

                2>迭代查询:通过本地服务器与其他服务器沟通

DNS查找顺序:

Linux系统位置:/etc/hosts

Windows系统位置:C:\Windows\system32\drivers\etc

Windows dns 网络命令:ipconfig /all   /all 显示所有网络适配器(网卡、拨号连接等)的完整 TCP/IP 配置信息

 

            查看本地dns缓存命令:ipconfig /displaydns

            清除本地dns缓存命令:ipconfig /flushdbs

      

posted @ 2022-06-09 18:19  秋风お亦冷  阅读(76)  评论(0编辑  收藏  举报