美文网首页Linux小推车网络协议
[LN_01] Linux计算机网络基础(网络模型|IP地址|子

[LN_01] Linux计算机网络基础(网络模型|IP地址|子

作者: Fighting_001 | 来源:发表于2019-01-06 00:47 被阅读84次

    目录结构

    一、ISO/OSI七层模型
      1. ISO/OSI七层模型概览
      2. OSI七层模型
    二、TCP/IP四层模型
      1. 网络接口层
      2. 网际互联层
      3. 传输层
        1)TCP与UDP对比
      4. 应用层
        1)数据封装 & 数据解封
        2)OSI模型 与 TCP/IP模型 比较
    三、IP地址详解
      1. IP地址
      2. IP地址分类
    四、子网掩码
    五、端口的作用
    六、DNS的作用
      1. DNS服务的作用
      2. 域名空间结构
      3. DNS查询类型
    七、网关的作用
    

    一、ISO/OSI七层模型

    1. ISO/OSI七层模型概览

    ISO:国际标准化组织
    OSI:开放系统互联模型

    层级 名称 数据单位
    为用户提供服务
    7 应用层 应用协议数据单元(APDU)
    6 表示层 表示协议数据单元(PPDU)
    5 会话层 会话协议数据单元(SPDU)
    实际进行传输数据
    4 传输层 传输协议数据单元(TPDU),主要为确定端口号
    3 网络层 报文(主要存储IP地址,对应公网)
    2 数据链路层 帧(主要存储硬件网卡的MAC地址,对应局域网)
    1 物理层 比特(bit)

    2. OSI七层模型

    【7】应用层:用户服务接口
    【6】表示层:数据化表示(如:不同数据格式的转码、解码,翻译成0和1),特定功能实现(如:加密、压缩)
    【5】会话层:对应用会话的管理、同步。为了确定网络数据是否要经过远程会话(如:邮件)
    【4】传输层:可靠(TCP)与不可靠(UDP)的传输、传输前的错误检测、流量控制(网络流畅度关联);确定端口号(具体的某一项服务)
    【3】网络层:提供逻辑地址(IP地址)、选择通路(自动选择各个路由器连接构成的不同路径进行传输)
    【2】数据链路层:成帧、用MAC地址访问媒介、错误检测与修正(数据包重传)
    【1】物理层:设备之间的的比特流传输(0和1)、物理接口(如:网线、音频线、视频线)、电气特性(如:多根网线中传输数据的网线)

    案例:Email的发送

    应用层==>用来写邮件的网址,面向用户,用户可以看懂
    表示层==>将用户写的内容(文字、图片、视频、压缩包...)翻译成计算机语言(0和1组成的字串,如:010101...)
    会话层==>判断[010101]存放的位置:若需要通过网络传递,则传给传输层;若不需要网络远程传输,则存储在本地
    传输层==>给[010101]分配端口,邮件发送端口为25,接收端口为110
    网络层==>给[010101]分配IP地址,包括发件人和收件人的IP,并确定传递路线
    数据链路层==>给[010101]分配网卡MAC地址,并在局域网中逐层传递
    物理层==>识别[010101]电信号,通过各种电子元件、网线、网卡...对该电信号进行传递
    PS:Email的发送是从(应用层→物理层)传递,Email的接收则是从(物理层→应用层)传递

    二、TCP/IP四层模型

    OSI七层模型相当于是作为参考而设计的模型,TCP/IP四层模型则更接近网络实际使用的框架。

    1. 网络接口层

    对应OSI参考模型(物理层+数据链路层),负责监视数据在主机与网络之间的交换。地址解析协议(ARP)工作在此层,即OSI参考模型的(数据链路层)

    ARP作用:将公网使用的IP地址翻译成网卡的物理地址(MAC地址),然后在局域网环境中的机器通过MAC地址进行识别和通信。
    MAC地址是用连字符分隔的6个十六进制字节,在cmd命令窗口输入:arp -a 可查询主机当前每个接口使用的ARP项(IP地址-MAC地址)

    2. 网际互联层

    对应OSI参考模型(网络层),主要解决主机与主机的通信。该层有3个主要协议:网际协议(IP)、互联网组管理协议(IGMP)、互联网控制报文协议(ICMP)。其协议涉及数据包在整个网络上的逻辑传输。

    3. 传输层

    对应OSI参考模型(传输层),为应用层实体提供端到端(E2E)的通信功能,保证了数据包的顺序传送以及数据的完整性。该层定义了2个主要协议:传输控制协议(TCP)、用户数据报协议(UDP)。

    1)TCP与UDP对比

    (1)TCP是面向连接的协议,相对是可靠的。如:主机A和主机B通信时进行TCP/IP三次握手,然后传递数据包,数据传递过程中,A和B始终保持沟通交流状态(类似双方打电话,一旦数据传错,B会告知A重新传送,保证数据正确性)。应用:网页、邮件。优点是数据传送完整,缺点是传输速度相对慢。
    (2)UDP是面向不连接的协议,相对不可靠。如:发短信、QQ信息交流,数据有可能传送不到。优点是速度快,缺点是数据包可能丢失。

    场景描述:

    主机A:“Hi, 在不?”
    主机B:“在的,你还在吗?”
    主机A:“我在的,我准备发数据给你了,请接收”
    >>传递数据ing。。。
    >>B对数据正确性、完整性检验,保持与A的沟通和反馈
    >>数据传递和接收完成确认OK
    

    4. 应用层

    对应OSI参考模型的高层(应用层+表示层+会话层),为用户提供所需要的各种服务,如:FTP、Telnet、DNS、SMTP等。

    1)数据封装 & 数据解封

    场景:用户通过文件服务器上传文件

    封装过程:
    应用数据==>数据点击,传入应用层
    应用层==>数据是FTP文件,打入FTP包头,数据传入传输层
    传输层==>发送的是TCP协议,将发送和接收端口写入TCP头,数据传递到网络层
    网络层==>写入对应的信息(源IP、目标IP)
    数据链路层==>打入以太帧头(源MAC、目标MAC),通过网线传递给目标MAC
    解封过程:
    数据链路层==>数据传递到目标MAC之后,判断MAC地址若是自己的MAC,则往上回传数据到网络层;若不是自己的MAC则丢弃数据
    网络层==>判断目标IP若是自己的IP,则拆解IP头,继续往上传递到传输层
    传输层==>判断目标端口,要传给FTP服务器,拆解TCP头,数据传给应用层
    应用层==>FTP服务器判断是给自己的数据,然后拆解FTP头,继续往上传递
    应用数据==>接收到所传递的数据之后,客户使用FTP工具即可读取数据内容

    2)OSI模型 与 TCP/IP模型 比较
    • 共同点
      (1)两者都采用了层次结构的概念
      (2)都能够提供面向连接和无连接两种通信服务机制
    • 不同点
      (1)OSI模型是七层模型,TCP/IP模型是四层结构
      (2)TCP/IP模型对可靠性要求更高
      (3)OSI模型是在协议开发前设计的,具有通用性,作为参考;TCP/IP是在协议集的基础之上建立模型,不适用于非TCP/IP网络
      (4)OSI模型作为理论上的模型,并没有成熟的产品;TCP/IP模型已经成为“实际上的国际标准”

    三、IP地址详解

    1. IP地址

    网络层打入的IP包头,其内会包含源IP地址、目标IP地址。IP地址(IPv4)有32位二进制组成,每8位以点号.间隔,其范围如下:
    二进制表示:
    下界:00000000.00000000.00000000.00000000
    上界:11111111.11111111.11111111.11111111
    十进制表示:
    下界:0.0.0.0
    上界:255.255.255.255

    2. IP地址分类

    网络类别 网络数
    (max)
    IP地址范围(公网) 主机数
    (max)
    私有IP地址范围(内网)
    A 2^7-2(126) 1.0.0.0--126.255.255.255 2^{24}-2 10.0.0.0--10.255.255.255
    B 2^{14}(16384) 128.0.0.0--191.255.255.255 2^{16}-2 172.16.0.0--172.31.255.255
    C 2^{21}(200w+) 192.0.0.0--223.255.255.255 2^8-2 192.168.0.0--192.168.255.255

    网段说明:
    A类:IP中的第1段数字代表一个网段,其余3段数字代表同一网段中的不同主机
    B类:IP中的第1、2段数字代表一个网段,其余2段数字代表不同主机
    C类:IP中的第1、2、3段数字代表一个网段,最后1段数字代表不同主机

    其他备注:
    1)IP地址的分类,A,B,C三类,D和E不对民用开放
    2)IP地址范围是根据网段来划分。127网段只有一个IP(127.0.0.1)可用,代表当前计算机自己
    3)私有IP地址(内网)不能直接访问公网,需要进行转换才可以访问;不同的局域网内的计算机可以使用相同的IP地址
    4)不同网段通信使用路由器,同一网段通信使用交换机
    5)同一网段内的首地址为网络本身不能被使用,同一网段内的末地址为当前网络的广播地址(如:A类IP地址,1.0.0.0为网络本身,1.255.255.255为广播地址)

    四、子网掩码

    子网掩码:决定IP中的网络位、主机位;IP、子网掩码不能单独使用,实际上是需要同时配合使用的。标准的子网掩码有:
    255.0.0.0
    255.255.0.0
    255.255.255.0

    A类 B类 C类
    IP Address 10.1.1.200 172.16.1.200 192.168.1.200
    Subnet Mask 255.0.0.0 255.255.0.0 255.255.255.0
    Network ID 10.0.0.0 172.16.0.0 192.168.1.0

    PS:
    1)对于IP Address,以上红色标识为网络位,其余为主机位;网络位和主机位由Subnet Mask决定
    2)Network ID:相应网段的第一个IP

    五、端口的作用

    在传输层的包头中主要确定传输端口的协议(TCP、UDP)、端口号(源端口、目标端口)。通过IP可确定服务器的地址,通过端口号(IP地址+端口号)则可确定服务器提供的某个具体服务(网页访问、文件上传、邮件...)。
    端口号由16位的二进制组成,其中:
    取值组合数:2^{16}=65536
    取值范围:0-65535

    服务/协议类型 端口号
    文件传输协议:FTP 20(数据传输)
    21(登录)
    安全shell协议:SSH 22
    远程登录协议:Telnet 23(未加密,不安全)
    域名系统:DNS 53(域名解析)
    超文本传输协议:HTTP 80
    简单邮件传输协议:SMTP 25(发信)
    邮件协议3代:POP3 110(收信)
    查看本机启用的端口:
    netstat -an
    

    -a:查看所有连接和监听端口
    -n:显示IP地址和端口号,不显示域名和服务名

    TCP具有三次握手,有监听状态 UDP无连接状态,无监听状态

    状态说明:
    LISTENING:FTP服务启动后首先处于监听状态
    ESTABLISHED:建立连接,正在通信ing
    CLOSE_WAIT:对方关闭连接or网络异常
    TIME_WAIT:我方断开连接

    六、DNS的作用

    1. DNS服务的作用

    将域名解析为IP地址
    1)客户机向DNS服务器发送域名查询请求
    2)DNS服务器将Web服务器的IP地址告知客户机
    3)客户机与Web服务器通过IP通信

    域名解析-通俗描述:
    1)将域名翻译成IP地址,网络通过识别IP地址进行通信(正向查询)
    2)将IP地址翻译成域名,自然人通过域名辨别网站服务器(反向查询)

    hosts 与 DNS 对比:
    hosts:hosts存放路径(C:\Windows\System32\drivers\etc),专门设置静态IP-域名的对应,优先级高于DNS解析;当hosts配置容量较大时,域名解析效能较低;主机维护困难,如:每次手动修改比较麻烦
    DNS:层次性、分布式的性能可解决hosts存在的不足

    2. 域名空间结构

    域名组成:三级域名+二级域名+顶级域名。该结构完整的域名,具有全有唯一性

    根域名的服务器有13台,根域管理顶级域(一级域名),顶级域管理二级域名,二级域名管理三级域名;DNS服务器知晓根域名的服务器的IP,通过根域名服务器可实现查询解析域名,获取域名对应的IP地址,然后即可利用该IP访问网站服务器。

    某个域名解析过一次之后,会在本地DNS服务器缓存3d时间。当再次解析同一个域名时,若在缓存有效期内,则不会再去根DNS服务器请求查询,而是首先在本地读取缓存;若缓存已失效,则会重新向根DNS服务器请求查询域名对应的IP。

    3. DNS查询类型

    • 按查询方式
      (1)递归查询对应DNS查询过程示意图之步骤[1、6]
      要么做出查询成功响应,要么作出查询失败的响应。一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机
      (2)迭代查询对应DNS查询过程示意图之步骤[2、3、4、5]
      服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其它DNS服务器的地址(每一次会将最接近的结果返回)

    • 按查询内容
      (1)正向查询:由域名查找IP地址
      (2)反向查询:由IP地址查找域名

    七、网关的作用

    网关作用(教科书版):
    1)网关(Gateway)又称网间连接器、协议转换器
    2)网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连
    3)网关既可以用于广域网互连,也可以用于局域网互连
    4)网关是一种充当转换重任的服务器或路由器

    网关的作用(通俗版):
    1)网关在所有内网计算机访问非本网段数据报时使用(同一局域网,不同网段)
    2)网关将内网IP转换为公网IP,公网IP转换为内网IP(不同局域网,不同网段)

    PS:
    1)交换机用作局域网同一网段之内进行数据交换;路由器用作不同网段之间进行数据交换,此时需要借助网关进行转换
    2)局域网通信:可不配置网关、DNS服务器,但需要配置IP地址、子网掩码;公网通信:IP地址、子网掩码、网关、DNS服务器-都需要配置

    相关文章

      网友评论

        本文标题:[LN_01] Linux计算机网络基础(网络模型|IP地址|子

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