Linux网络基础

Linux网络基础

这是Linux网络基础的笔记,首先介绍了计算机网络的基础知识,然后是Linux的网络设置

参考资料

  • 主要为视频资料:慕课网
  • 辅助书籍:Linux从入门到精通(刘忆智 清华大学出版社)
  • 网络地址分为A,B,C,D,E类,这样的分类有什么意义,各类别有什么区别吗?

ISO/OSI

容易弄混的几个概念:

  • ISO:国际标准化组织
  • OSI:开放系统互联模型
  • IOS:苹果操作系统
OSI七层模型和TCP/IP4层模型对比
  • 7,6,5是面向应用程序提供的服务,4,3,2,1是面向数据提供服务。

  • 帧存储的是MAC地址,即硬件地址,每个网卡上的唯一的标识,负责局域网(内网)数据通信

  • 报文存储的是IP地址,IP地址负责公网(外网)数据通信

    应用层 用户接口
    表示层 数据的表现形式、特定功能的实现如加密
    会话层 对应用会话的管理、同步
    传输层 可靠与不可靠的传输、传输前的错误检测、流控、确定端口
    网络层 提供逻辑地址、选路
    数据链路层 成帧、用MAC地址访问媒介、错误检测与修正
    物理层 设备之间的比特流的传输、物理接口、电气特性等

示例(发送邮件):

应用层:打开163等邮件网站,编辑邮件
表示层:点击发送后,把邮件的内容转换为数据,例如转换为ASCII的0101,还有实现加密功能
会话层:确定数据是在本机上使用的例如PPT,还是需要发送出去的邮件。如果是PPT就不用下面4层,直接保存起来就可以了。
传输层:写入邮件的发送端口号:25,接收端口号:110.是个TCP协议
网络层:把本机IP地址和目标IP地址写入
数据链路层:把本机MAC和目标MAC写入
物理层:完成实际的数据传输

TCP/IP

OSI七层模型和TCP/IP4层模型对比
  • 网络接口层
    网络接入层与OSI参考模型中的物理层和数据链路从相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并为定义盖层的协议,而由参与互联的个网络使用自己的物理层和数据链路从协议,然后与TCP/IP的网络 接入层进行连接。地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层。

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

  • 传输层
    传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议TCP和用户数据报协议UDP。
    TCP/IP三次握手

  • 应用层
    应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等。

TCP/IP数据打包过程
  • TCP/IP模型和OSI模型的比较

    • 共同点
      • OSI参考模型和TCP/IP参考模型都采用了层次结构的概念
      • 都能够提供面向连接和无连接两种通信服务机制
    • 不同点
      • 一个是七层一个是四层结构
      • 对可靠性要求不同(后者更高)
      • OSI模型是在协议开发前设计的,具有通用型。TCP/IP是现有协议集后再建立模型,不适用于非TCP/IP网络

IP地址

IP包头


IP包头格式

IP地址分类

IP地址分类
  • A类地址第1字节为网络地址,其它3个字节为主机地址。另外第1个字节的最高位固定为0。
  • A类地址范围:1.0.0.1到126.255.255.254。
    A类地址中的私有地址和保留地址: 10.0.0.0到10.255.255.255是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。127.0.0.0到127.255.255.255是保留地址,用做循环测试用的。
  • B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码,剩下的两段号码为本地计算机的号码。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址中网络的标识长度为14位,主机标识的长度为16位,B类网络地址适用于中等规模规模的网络,每个网络所能容纳的计算机数为6万多台。
  • 一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话,C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“110”。
  • 除了上面三种类型的IP地址外,还有几种特殊类型的IP地址,TCP/IP协议规定,凡IP地址中的第一个字节以“lll0”开始的地址都叫多点广播地址。因此,任何第一个字节大于223小于240的IP地址是多点广播地址;IP地址中的每一个字节都为0的地址(“0.0.0.0”)对应于当前主机;IP地址中的每一个字节都为1的IP地址(“255.255.255.255”)是当前子网的广播地址;IP地址中凡是以“llll0”的地址都留着将来作为特殊用途使用;IP地址中不能以十进制“127”作为开头,127.0.0.1是回送地址,指本地机,一般用来测试使用。回送地址(127.x.x.x)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。 属于保留测试地址,不能用,同时网络ID的第一个6位组也不能全置为“0”,全“0”表示本地网络。 D 类和 E 类用于组播和保留地址。

子网掩码

子网掩码

端口作用

  • TCP协议包头


    TCP协议包头
  • UDP包头


    UDP

常用端口号

FTP(文件传输协议):20 21
SSH(安全shell协议):22
telnet(远程登录协议):23
DNS(域名系统):53
http(超文本传输协议):80
SMTP(简单邮件传输协议):25
POP3(邮局协议3代):110

查看本机启动的端口

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

DNS作用

DNS是用来做名称解析的

hosts文件

c:\Windows\System32\drivers\etc\hosts  
127.0.0.1 localhost  
hosts是做静态IP和域名对应  
hosts优先级高于DNS  

从Hosts文件到DNS

  • 早期Hosts文件解析域名
    • 名称解析效能下降
    • 主机维护困难
  • DNS服务
    • 层次性
    • 分布式

DNS服务的作用

DNS服务

域名空间结构

域名空间结构

DNS查询过程

DNS查询

DNS查询分类

  • 从查询方式分
    • 递归查询:要么做出查询成功响应,要么做出查询失败响应,一般客户机和服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机
    • 迭代查询:服务器收到一次迭代查询恢复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其他DNS服务器的地址

网关

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

Internet属性
  • IP地址:网络中每个主机的唯一标识
  • 子网掩码:用来从IP中得到网络标识,剩下的就是主机标识
  • 网关:路由器或能实现路由器功能的服务器
  • DNS:域名和IP地址的转换

Linux配置IP地址

Linux配置IP地址的方法

  • ifconfig命令临时配置IP地址


    ifconfig命令:查看与配置网络状态命令
    ifconfig eth0 192.168.0.200 netmask 255.255.255.0
    临时设置eth0网卡的IP地址与子网掩码

  • setup工具永久配置IP地址(红帽专有)


在setup中设置完退出后需要重启网络服务
service network restart

  • 修改网络配置文件

网卡信息文件:


网卡信息文件

主机名文件:

vi /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=localhost.localdomain
hostname [主机名]
    查看与临时设置主机名命令  

DNS配置文件:

vi /etc/resolv.conf
nameserver 202.106.0.20
search localhost  

虚拟机网络参数配置

1配置LinuxIP地址

修改并配置IP地址

2启动网卡

把ONBOOT改为yes
service network restart
    重启网络服务

3修改UUID(针对拷贝的系统)

vi /etc/sysconfig/network-scripts/ifcfg-eth0
    删除MAC地址行
rm –rf /etc/udev/rules.d/70-persistent-net.rules
    删除网卡和MAC地址绑定文件
重启系统

4设置虚拟机网络连接方式

在虚拟机中打开网络适配器-网络连接
    桥接模式:直接连接物理网络,使用真实的物理网卡连接网络
        虚拟机可以和真实计算机配相同的网段,但是会占用一个IP地址,如果网段使用人比较多,容易造成IP冲突。虚拟机可以和真实机以及局域网中的其他机器直接进行通信
    NAT模式:使用vm的虚拟网卡8
        只能和真实机通信,不能和局域网中的其他机器通信,但是能访问公网
    host-only:使用vm的虚拟网卡1
        只能和真实机通信,不能和局域网中的其他机器通信,不能访问公网

5修改桥接网卡

虚拟机-虚拟网络编辑器  

网络环境查看命令

ifconfig命令
关闭与启动网卡

ifdown 网卡设备名
    禁用该网卡设备
ifup 网卡设备名
    启用该网卡设备

查看网络状态

netstat 
    -t  列出TCP协议端口
    -u  列出UDP协议端口
    -n  不适用域名与服务名,而使用IP地址和端口号
    -l  仅列出在监听状态网络服务
    -a  列出所有的网络连接
    -r  列出路由列表,功能和route命令一致
    常用:-tuln –an –rn

route命令

route –n
    查看路由列表(可以看到网关)
route add default gw 192.168.1.1
    临时设定网关  
网卡示意图

域名解析命令

nslookup [主机名或IP]
    进行域名与IP地址解析
nslookup
    > server
        查看本机DNS服务器  

网络测试命令

ping命令

ping [选项] ip或域名
    探测指定IP或域名的网络状况
    -c 次数:指定ping报的次数

telnet命令 (已经被SSH取代)

telnet [域名或IP] [端口]
    远程管理与端口探测命令
    telnet 192.168.0.252 80

traceroute

traceroute [xuanxiang] IP或域名
    路由跟踪命令
    -n  使用IP,不使用域名,速度更快

wget命令

wget http://soft.vpser.net/lnmp/lnmp1.1-full.tar.gz
    下载命令

tcpdump命令

抓包命令
tcpdump –i eth0 –nnX port 21
    -i  指定网卡接口
    -nn 将数据包中的域名与服务转换为IP和端口
    -X  以十六进制和ASCII码显示数据包内容
    port    指定监听的端口  

远程登录

SSH协议原理

SSH命令
    ssh 用户名@ip
        远程管理指定Linux服务器
    scp [-r] 用户名@ip:文件路径 本地路径
        下载文件到本地
    scp [-r] 本地文件 用户名@ip:上传路径
        上传文件到远程服务器

SecureCRT远程管理工具(用win远程管理Linux)
Xshell工具和WinSCP文件传输工具

你可能感兴趣的:(Linux网络基础)