美文网首页
网络基础

网络基础

作者: epiiplus1equal0 | 来源:发表于2019-01-22 15:02 被阅读0次

OSI与TCP/IP

1. OSI七层模型

Open System Interconnection ( 开放系统连接 )
每一层只能与其相同的层对话.
理论上的安全模型, 但现实中因繁琐而弃用.

summarize_OSI七层模型.jpg

7.应用层:

提供给应用程序服务接口, 同时将数据传出传入到应用程序.

6.表示层:

每个本地应用的数据类型不一定符合网络规范, 此层将本地数据格式化为网络标准数据.
同时encrypt和decrypt也在此层.

5.会话层:

不同地址建立或断开通道.

4.传输层:

TCP, UDP等传输协议.

3.网络层:

IP, route.

2.数据链路层:

此层最为特殊, 在数据包头加了一个FAC, 包尾加了一个chk检验码.
分为接近软件package的逻辑链路层(LLC, logical Line Control)和接近硬件的媒体访问控制, 即物理地址(MAC. Media Access Control).
LLC:
    将package中的数据转化为MAC数据帧(frame).
MAC:
    规定了MAC数据帧转化为比特流的编码方式.

1.物理层:

将数据包转化为比特流(bit, 一长串0和1), 能在介质上传输数据.

2. TCP/IP四层模型

现实中操作的模型.

summarize_TCP_IP.gif

虚拟机的三种网络模式

在进行虚拟机实验时, 我们往往关注下面这三个问题:

  • 1.虚拟机和主机能不能互相访问
  • 2.虚拟机能不能访问Internet
  • 3.外部网络如何访问虚拟机中的服务

通过后面的实验分别利用VMware的不同网络模式来解决这三个问题. VMware提供了三种不同的网络模式, 分别是Bridged(桥接模式), NAT(网络地址转换模式), Host-only(主机模式). 不同的网络模式适用于不同的网络环境, 实现不同的需求, 你需要根据实际情况选择合适的模式. 就网络环境来说, 我们常见的家庭网络拓扑结构有下面两种:

  • 主机通过拨号直接连接Internet
  • 主机处于局域网环境中, 通过路由器拨号连接Internet

如果你是属于第一种网络环境, 由于是ISP分配你的公网IP(假设只有一个地址), 则不能使用桥接模式, 因为桥接模式需要你拥有属于你机器相同网段内的另一个IP地址. 这种情况下可以使用NATHost-only. 而如果是属于第二种网络环境, 则三种模式可以任意选用. 就需求来说, 你可能只是想简单配置一个虚拟机来玩玩, 也可能是为局域网内的其他机器提供服务, 或者是进行一些特殊目的的网络实验, 这个就要具体情况具体对待了.

1. 桥接模式

VMnet0

桥接模式是三种模式中最简单的一种, VMware安装的时候默认就使用这种配置方式. 在这种模式下, 虚拟机相当于局域网中的一台独立机器, 和主机处于同一个网段, 公用同一个网关. 桥接模式使用的是虚拟机的VMnet0网卡, 一般情况下, 在虚拟机中将网络设置成自动获取IP就能直接联网.

2. NAT模式

VMnet8

上面也说了, 如果你不在局域网内, 只有一个IP, 那么NAT模式正适合你. 当然如果你在局域网内, NAT模式也未尝不可, 不过使用NAT模式后, 主机就变成了双网卡: 本身的网卡连接Internet或连接拨号的路由器, 另一个虚拟网卡VMnet8连接由虚拟机组成的一个虚拟网络. 从外部网络来看, 无法直接访问这个虚拟网络. 虚拟网络则通过本机上的NAT虚拟服务器进行转发访问Internet.
NAT模式的网关要设置成VMworkstations中虚拟网络编辑器中配置的网关!!!

3. Host-only模式

VMnet1

Host-only模式和NAT一样, 也相当于主机双网卡, 网络拓扑和NAT也是一样, 只是主机不提供NAT功能了, 所以虚拟网络只能和主机访问, 不能访问Internet. 如果需要一个完全隔离的网络环境, 则Host-only最合适不过. Host-only相当于使用双绞线直接连接虚拟机和主机, 这是最原始的网络结构, 当然也是最灵活的. 这种情况下虚拟机就不能访问Internet了吗? 局域网下的其他机器就不能访问虚拟机上的服务了吗? 当然不是. 如果我们自己在主机上搭建起我们自己的NAT服务和DHCP服务, 那么Host-only其实和NAT是一样的. 从下面的示意图也可以看出, Host-only和NAT的唯一区别就在于, 主机上少了NAT这个部分.

reference: https://blog.csdn.net/u012486840/article/details/52648737

reference: https://www.linuxidc.com/Linux/2016-09/135521.htm

xshell远程时连接速度很慢肿么办?

#原因: ssh的服务端在连接时会自动检测dns环境是否一致导致, 修改为不检测即可.

#解决方法:
#1. 修改sshd服务的配置文件, 将UseDNS yes改为UseDNS no
vi /etc/ssh/sshd_config
#UseDNS yes
UseDNS no
#2. 重启sshd服务
/etc/init.d/sshd restart    #restart包括了stop, start
#或
service sshd restart

网络参数配置

配置内容 所属文件 相关命令
TCP\IP参数 /etc/sysconfig/network-scripts<br />/etc/init.d/network restart ifconfig eth0<br />route -n
DNS /etc/resolv.conf #nameserver 8.8.8.8 dig www.baidu.com
主机名 /etc/sysconfig/network
#NETWORKING=yes
#HOSTNAME=linuxOfAlex
#NTPSERVERARGS=iburst<br />/etc/hosts #192.168.1.150 linuxOfAlex
hostname<br />ping $(hostname)<br />reboot

配置网络参数使linux主机能够连网的5个步骤:

#一. 基本配置, 这一步配置完可实现ip上网
vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=none
IPADDR=192.168.235.112
NATMASK=255.255.255.0
GATEWAY=192.168.235.2
ifconfig eth0 #验证1
route -n #验证2
ping -c 3 192.168.235.2 #验证3, 出现ttl才表示正确的响应

#二. DNS配置, 这一步配置完可实现主机名上网
vim /etc/resolv.conf
nameserver 223.5.5.5 #阿里DNS服务器
dig www.baidu.com #验证4

#三. 主机名配置
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=linuxOfAlex
vim /etc/hosts
192.168.235.112   linuxOfAlex
hostname #查看主机名, 修改/etc/sysconfig/network后需要用此命令查看主机名是否修改成功
ping -c 3 linuxOfAlex #检查5, 修改network文件后必须重启才会生效, 但在重启之前务必ping主机名且得到time响应才行!

traceroute

traceroute    #跟踪两台主机之间通过的各节点的通信情况
    -n
    -w time
    -T #TCP协议的报文
    -U #UDP协议的报文
    -I #ICMP协议的报文
    -p port #指定使用的端口号
    -i device #指定使用的网络接口
#实例: 使用TCP协议发送报文, 20001端口, lo接口检测本机到百度网站之间的通信情况
    traceroute -T -p 20001 -i lo www.baidu.com

网络排错流程

#1. 查模块, 驱动加载情况
{dmesg|lspci}
#2. 查网络配置, 配置静态ip的文件为/etc/sysconfig/network-scripts/ifcfg-eth0
{ifconfig|ip addr show}
#3. 查网络节点间的连接情况
ping [node_ip]
#4. 查路由配置
{route|ip route show}
#5. 查DNS配置, 若有问题则查看/etc/resolv.conf
dig [-x] {host_name|ip}
host [host|ip]
#6. 查看主机名, 若有问题则查看/etc/sysconfig/networks和/etc/hosts, 注意前者修改后需reboot
hostname
ping $(hostname)
#7. 查节点之间的网络情况
traceroute -n [-TUI] [-i interface] [-p port] [-w wait_time] {ip|域名}
#8. 查看服务及端口
netstat -tulnp
#9. 查看权限, 防火墙配置
SELinux
      本文基于<鸟哥的Linux私房菜>, 归纳整理, 在此致谢鸟哥.

相关文章

  • Linux学习第8周基础网络知识

    运维基础网络知识概述网络基础通讯原理介绍网络基础设备概念知识a 什么是交换机b 什么是路由器网络基础设备配置过程 ...

  • Linux网络基础

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

  • 网络基础

    分层 应用层-传输层-网络层-链接层-实体层 实体层 是电脑和电脑链接的物理手段,负责传送1、0的电信号 链接层 ...

  • 网络基础

    一、网络概论 1、何为网络? 网络的定义:网络就是一群通过一定形式连接起来的电脑。 什么是局域网?一个网络可以由两...

  • 网络基础

    一、什么是HTTP协议 答:hypertext transfer protocol(超文本传输协议),TCP/IP...

  • 网络基础

    OSI模型的七层结构 OSI参考模型中每个层的作用: TCP/IP协议分层模型 网络协议划分物理层:以太网 · 调...

  • 网络基础

    获取网络数据 python中使用第三方库requests来获取网络数据import requests 确定请求的地...

  • 网络基础

    3次握手 4次挥手 采用三次握手是为了防止失效的连接请求再次被接收,因而产生错误。如第一次连接请求SYN=1由于网...

  • 网络基础

    http三次握手 第一次握手:客户端发送了一个带有SYN(建立连接)的Tcp报文到服务器,表示客户端想要和服务端建...

  • 网络基础

    OSI参考模型 OSI参考模型是国际标准化组织分析计算机通信,把计算机通信进行的规范和标准化分成了7层:1)应用层...

网友评论

      本文标题:网络基础

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