• Linux运维笔记(一)网络基础知识


    网络基础知识

    一、基本概念

    1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet)。

    2.以太网络(Ethernet):网络硬件设定与开发标准接口(IS88023)。

     

    注意:网络的传输信息就是 0 与 1 ,因此,数据传输的单位为每秒多少 bit亦即是 M bits/second, Mbps 的意思。除以8。 

    二、计算机网络组件

         1.节点(node):具有网络地址(IP)的设备之称。

         2.服务器主机(server):提供响应(respone)给用户的主机。

         3.客户端:发送请求的主机。

         4.网络卡(Network Interface Card,NIC):提供网络联机的卡片,目前大多使用RJ-45接头的以太网络卡。

         5.网络接口:利用软件设计出来的网络接口,主要用于提供网络地址。一张网卡至少可以搭配一个以上的网络接口。

         6.网络形态拓扑(topology):各个节点在网络上的链接方式。

         7.网关(route)或通讯闸(getway):具有两个以上的网络接口,可以链接两个以上不同网段的设备。

    三、网络的区域范围

        1.局域网络(Local Area Network,LAN)

        2.广域网(Wide Area Network,WAN)

        3.无线局域网(Wireless Local Area Network,WLAN)

     

    四、计算机网络协议

         1.OSI(Open System Interconnection)七层协议:

         

         

          2.计算机网络协议:TCP/IP

          

      打开网页为例子:

       应用程序阶段:在浏览器输入 网址确定后,相关信息被包装为一个数据,向下传入应用层。

       应用层:由应用层提供的HTTP通信协议,将来自浏览器的信息封装起来,并给予一个应用层报头,送入传送层。

       传送层:将传下来的数据再次封装到TCP,给予一个TCP封装头,丢到下一层。

        网络层:将TCP数据封装到IP数据包内,再给予一个IP包头。

        网络接口层:如果使用以太网络,IP会依据CSMA/CD标准,封装MAC数据帧中,并给予MAC帧头,在转成比特流,最后利用传输介质发送到远程主机上。

    五、链接层相关协议

    1.广域网使用的设备

     

           1)传统的电话拨接:ppp协议早期上网=调制调解器+电话线+计算机九针串行端口+ppp协议。ppp支持TCP/IP等协议。

           2)整合服务数字网络(ISDN):利用电话线和ISDN调制调解器上网。

           3)非对称数位用回路(ADSL):电话的高频部分+使用调制调解器+pppo协议把ppp仿真到以太网卡上

           4)电缆调制调解器(Cable modem):有线电视缆线+调制调解器链接到ISP

     

       2.以太网络传输协议:CSMA/CD    

        每张以太网卡出厂时都会有一个独一无二的卡号,那就是所谓的(MAC)。

        CSMA/CD联机方式:

        

        图中的Hub为集线器

        集线器是一种网络共享介质设备,网络共享介质在一个时间点内,仅能被一台主机使用。

        传输流程:

        1.监听介质使用情况(Carrier Sense):A主机在发送网络数据包前,先对网络介质进行监听,确认没人使用后,才发送数据帧。

        2.多点传输(Multiple Access):A主机发送的数据会被集线器复制,然后发送给所有能够连接到此集线器的主机。(不需要的主机会丢弃之)。

        3.冲突检测(Collision Detection):该数据帧附有检测能力,若其他主机也刚好在同一时间发送数据帧,那么两个数据帧就会相冲突,这些数据帧就会销毁,主机等待随机时间重新发送。

       

     3.MAC的封装格式

        MAC数据帧(frame):

        

        目的地址和源地址指的就是网卡卡号。注意:在此MAC的传送中,仅在局域网内生效,如果跨过不通过的子网,那么来源与目的硬件地址就会改变。

     

    六、网络层相关数据包与数据

        1.IP数据包的封装

        略

        2.IP地址的组成与分级

        IP由32位二进制数值组成:

        00000000.00000000.00000000.00000000       ==> 0.0.0.0

        11111111.11111111.11111111.11111111              ==> 255.255.255.255

        IP的分级:

        ClassA: 0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx   ==> 0.xx.xx.xx~127.xx.xx.xx

               |-NetID-|----------------HostID--------------|

        ClassB:10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx   ==> 128.xx.xx.xx~191.xx.xx.xx

               |---------NetID------|--------HostID--------|   

        ClassC:110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx  ==> 192.xx.xx.xx~223.xx.xx.xx

               |----------------NetID-------------|-HostID--|  

       ClassD:略

       ClassE:略

       在同一物理网段内,所有的主机的IP具有相同的NetID,并且具有不同的HostID 。

       注意:

        1.HostID在二进制表示中,不可同时为0,也不可同时为1。因为全为0表示表示整个网段的地址(Network IP),全为1表示广播地址(Broadcast IP)。

         例如:192.168.0.0和192.168.0.255。

        2.相同物理段内的主机可以通过网卡对网卡直接传递数据(即通过MAC数据帧直接传递)。不同网段要通过路由器才能连接。

        

       3.IP的分类

        1)Public IP:公共IP,这种IP才能连上Internet。

        2)Private IP:不能直接连上Internet的IP,主要用于局域网内的主机规划连接。

        私有IP网段:

        ClassA:10.0.0.0~10.255.255.255

        ClassB:172.16.0.0~172.31.255.255

        ClassC:192.168.0.0~192.168.255.255

        3)特殊的Loopback IP网段:

        即127.0.0.1 localhost

     

       4.Netmask、子网

         1)Netmask(子网掩码):

        ClassA:  255.0.0.0

        ClassB:    255.255.0.0

        ClassC:    255.255.255.0

        2)子网的划分:二进制中把HostID的位给NetID。

     

       5.关于路由

       在同一个局域网内,可以通过IP广播的方式来实现数据传递的目的。而非局域网就要使用路由器了。

       自行回忆路由的工作方式。

        路由的命令:见Linux命令表。

     

       6.IP地址与网卡卡号

       略

     

    七、 传送层相关数据包与数据

    一)面向连接的可靠的TCP协议

         1)特权端口:小于1024的端口,启动者的身份必须是root

         2)Socket Pair:

             1.来源IP+来源端口

             2.目的IP+目的端口

          3)TCP的三次握手:

               A:B你在吗?

               B:我在,你在么?

               A:我也在。

          4)无连接的UDP:

               User Datagram Protocol适合不需要严格检验的实时数据,如视频连接。

    Simple is important!
  • 相关阅读:
    混杂模式
    消息队列学习
    item21
    消息队列改写
    socket select模型
    EffectiveC++ Item11
    How to read a PCap file from Wireshark with C++
    winsock select学习
    线程安全与可重入函数
    process explorer 查看句柄或者加载的dll
  • 原文地址:https://www.cnblogs.com/Shadowplay/p/7751358.html
Copyright © 2020-2023  润新知