Linux网络基础

一,什么是OSI(七层模型)?

1 简介: 

OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

2 产生: 

目的是成为一个所有销售商都能实现的开放网路模型,来克服使用众多私有网络模型所带来的困难和低效性。

3 特点: 

1.开放的标准化接口

2.多厂商兼容性

3.易于理解、学习和更新协议标准

4.实现模块化工程,降低了开发实现的复杂度

5.便于故障排除

4 层次结构:

 应用层:应用程序/原始数据/

 表示层:格式/压缩/加密

 会话层:回话/通道/

 传输层:可靠/不可靠/分组/重组/端口号

 网络层:IP地址/寻址/路由

 数据链路层:MAC地址/局域网寻址/

 物理层:   传输介质/比特流

5 数据单元/DU:

 应用层:应用数据单元:APDU

 传输层:段数据单元:segment DU

 网络层:包数据单元:packet DU

 数据链路层:帧数据单元:frame DU

 物理层:比特单元:bit DU

Linux网络基础
OSI七层模型

二,什么是TCP/IP?

        TCP/IP是从在OSI的基础上演变而来,他们的工作原理是一样的,不过OSI提出了理论的基础,而TCP/IP上演了现实,现在的网络都是采用这个协议。这里面一共可以分为五层,也有说是四层,大致意思都一样,每层都有不同的协议。

Linux网络基础

Linux网络基础

数据封装的过程

1 应用层(协议):

HTTP/超文本传输协议/网站

Telnet/远程连接协议/远程控制

FTP/文件传输协议/下片

SMTP/简单邮件传输协议/Email

DNS/域名服务/WWW

DNS(域名解析系统):域名->IP地址

特点:层次性,分布性

2 传输层:

TCP/传输控制协议/可靠

UDP/用户数据报协议/不可靠

TCP/IP 协议三次握手:

1.客户呼叫服务器,发送一个包

2.服务器确认收到客户的包,并发送包回应客户

3.客户收到包以后,向服务器发送包确认收到

此外:服务器随时确认客户发来的数据是否有错,如果有错则告诉客户重新发送

好处:稳定 坏处:慢

网页,邮件

UDP:直接传输

好处:快  坏处:不稳定

比如:微信电话

3 网络层(协议) :

IP/互联网协议/寻址

ICMP/网络消息管理协议/测试

IGMP/网络组管理协议/

4 网络接口层 (就是OSI中的数据链路层和物理层):

ARP/地址解析协议.......

三,IP地址

1 简介

网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP地址具有唯一性,根据用户性质的不同,可以分为5类。另外,IP还有进入防护,知识产权,指针寄存器等含义。

2 分类

    A类(1~126)
    B类(128~191)
    C类(192~223)
    D类(224~239)组播
    E类(240~255)科研

3 私有IP

    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

4 子网掩码

4.1 作用

运算出IP地址的网络部分。

4.2 分类

A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0

4.3 方法

子网掩码中为1部分,对应IP地址的网络位。

IP地址和子网掩码,逻辑与运算

示例:

Linux网络基础

5 网络地址

 IP地址和子网掩码一起才决定着网络位,网络位相同,IP地址是同一网段,网络位不同,IP地址不是同一网段。

相同网络位IP可以直接借助交换机通信,不同位的IP必须另外借助路由器来寻址才可以建立通信。

四,端口号

1 端口号是什么?

如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535。一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来 实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区 分不同的服务的。

2 端口号有多少种分类?

2.1 知名端口(Well-KnownPorts)

知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP(文件传输协议)服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。
网络服务是可以使用其他端口号的,如果不是默认的端口号则应该在
 地址栏上指定端口号,方法是在地址后面加上冒号“:”(半角),再加上端口 号。比如使用“8080”作为WWW服务的端口,则需要在地址栏里输入“www.cce.com.cn:8080”。
但是有些系统协议使用固定的端口号,它是不能被改变的,比如139
 端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。

2.2 动态端口(DynamicPorts)

动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。
不过,动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY
 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等
 。

(3)保留端口号

Unix系统有保留端口号的概念。只有具有超级用户特权的进程才允许给它自己分配一个保留端口号。
这些端口号介于1~1023之间,一些应用程序(如有名的Rlogin,26.2节)将它作为客户与服务器之间身份认证的一部分。
知名端口号

3 常见的端口号有哪些?

以下端口不管是TCP协议还是UDP协议都一样


Linux网络基础

可以查看本机开启了哪些端口号

Linux网络基础

五,DNS

1 什么是DNS?

DNS,简单地说,就是Domain Name System,翻成中文就是“域名系统”。

2DNS作用

在一个TCP/IP架构的网络(例如Internet)环境中,DNS是一个非常重要而且常用的系统。主要的功能就是将人易于记忆的Domain Name与人不容易记忆的IP Address作转换。而上面执行DNS服务的这台网络主机,就可以称之为DNS Server。基本上,通常我们都认为DNS只是将Domain Name转换成IP Address,然后再使用所查到的IP Address去连接(俗称“正向解析”)。事实上,将IP Address转换成Domain Name的功能也是相当常使用到的,当login到一台Unix工作站时,工作站就会去做反查,找出你是从哪个地方连线进来的(俗称“逆向解析”)。
这里就相当于Windows电脑中C:\Windows\System32\drivers\etc\hosts中的     //计算机本地静态ip 127.0.0.1 对应域名 localhost,此文件的优先级是高于DNS解析的,也就是说先在这里找,再到DNS寻找IP域名。

Linux网络基础

3 域名的结构

Linux网络基础

4 DNS查询

Linux网络基础

这里递归查询就是客户机向DNS服务器发出请求,而迭代查询是DNS服务器向其他DNS服务器发出请求。

六,网关

1 什么是网关?

网关(Gateway)又称网间连接器、协议转换器。

网关在网络层以上实现网络的互连、是最复杂的网络设备、仅用于两个高层协议不同的网络互连。

网关既可以用于广域网互连,也可以用于局域网互连。

网关是一种充当转换重任的服务器或路由器。

2 网关的作用(通过一个图来看)

网关在所有内网计算机访问的不是本网段的数据包时使用。

网关负责将内网IP转换成公网的IP,公网IP转换成内网IP。(局域网的IP可以重复使用,但是公网IP全球唯一

Linux网络基础