admin

服务器与网络基础(1)
#本次记录的是主要是网络基础#参考:Linux鸟哥的私房菜(服务器架设篇)第二章(也是图片的来源) SambaSa...
扫描右侧二维码阅读全文
25
2018/06

服务器与网络基础(1)

#本次记录的是主要是网络基础

#参考:Linux鸟哥的私房菜(服务器架设篇)第二章(也是图片的来源)

 

Samba

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

Internet发展历史

最初不同硬件基础是不能实现沟通的
后来用软件技术将硬件组成,就有了TCP/IP的雏形
以太网络(ethernet)和Internet是最成功联网方法,因为被标准支持,只要硬件参照以太网络的接口标准设计,就可联入)
软件标准就是所说的TCP/IP这个通讯协议了

计算机网络协议:OSI七层协定

将网络连接分为数个独立的阶层
越接近硬件为底层,越接近应用程序为高层,每一层只认识对方同一阶层的数据
七层分别是:
物理层
数据链结层(负责MAC讯框)
网络层(IP)
传送层(TCP)
会谈层
表现层
应用层

TCP/IP

Internet实际上是TCP/IP通讯协议的总称
TCP/IP 由OSI简化而来,为了让程序编写变得更容易
它把OSI的
顶上三层合并为应用层,提供相关通讯协定标准(HTTP,FTP,SMTP,POP3,NFS,SSH等)

运作过程简介(客户端或工作站发送):
打开浏览器->网址列与相关数据被封包->封包下方给应用层->应用层根据相关的通讯协议给予应用层表头,下方->传送层给予TCP表头->网络层给予IP表头->链结层给予MAC表头,转程位串->传输媒体传输

接收过程则逆其道而行之

以太网络的标准理解(以IEEE 10BASE5为例)

10代表传输速度为10Mbps BASE代表采用基频信号传输 5代表每个网络节点的距离可达500英尺,值得一提的是10Mbps是以bit为单位的,转化为我们日常理解的B(字节)需要除以8

以太网络 速度10Mbps
高速以太网络 100Mbps 网络线等级CAT 5
超高速以太网络 1000Mbps 网络线等级CAT 5e/CAT 6

       

  以太网络的传输协议(CSMA/CD)(链结层):

集线器(hub)与交换机(switch)
集线器:网络共享媒体,单一时间点只能被一部主机使用(十字路口)
流程:       1、监听媒体使用情况(发送封包前需要确认无人使用)
2、多点传输(连接到集线器的所有主机都能接收到某台主机发送的信息,与其目标匹配则抓取,否则丢弃)
3、碰撞侦测
以上流程可以解释主机没有使用网络时集线器也会闪个不停的原因
需要指出的是发送数据是以封包为单位的,发送完需要等待,所以大家可以一起上网

MAC:其实是我们提到的讯框,但往往大家会简称网卡卡号为MAC
讯框内容:前导码、目标地址、来源地址(3B 厂商 3B狭义MAC,一般不变,但在传输信息时跨过局域网会改变)、数据量(即真正的传输内容)、检查码(检查信息时候正确,不符则丢弃封包)
由于讯框总数据量最少要有64B(否则无法侦测碰撞),所以数据量最少要有46B(扣除检查码、来源地址、目标地址、不扣前导码)

讯框大小MTU定义在1500bytes 近来巨型讯框(Jumbo frame)能支持9000bytes,但除了内部网络,不建议修改,因为遇上不支持的网络媒体会造成封包丢失
IP封包最大可以达到65535B,礼物(IP)比盒子(MAC)大,所以需要拆解封包再标以Sequence号才能放入MAC)

交换器(switch)不是共享媒体,每个port都具有独立的带宽,交换器克服了封包碰撞的问题!!

IP封包:

Ip: 现在主要是用的是IPv4,但ipv6依然是大势所趋
ip封装的表头资料:如图

其中IP表头记载的是这个封包内的数据是啥,如下图

IPv4是32位,由网域与主机名组成,分别的位数由class决定
ip分级:
classA Net_ID开头是0 化为10进制就是0-127
classB Net_ID开头是10 化为10进制就是128-191
classC Net_ID 开头是110 192-223
class D 与class E均为特殊网段

IP分类:
public ip:公共ip,能够连入internet的IP
private ip 私有ip,不能直接连上internet 用于局域网内的主机联机规划
如我现在在学校查询到的是private ip,实际上都是最后连接到学校的public ip 然后接入internet的,封包转送时也不会以private ip 为来源或目标地址

private ip应避免与public 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

特殊的loopback ip网段
内部循环(ifconfig命令查询到的lo)、就是我们所说的localhost(不同于127.0.0.1,localhost 本地访问无需经过网卡,故而权限更高,127.0.0.1需要经过网卡),可在主机上测试www服务等

ip的取得方法:
直接手动设定、通过拨接取得(ISP)、自动取得网络参数(DHCP,局域网内会有一台主机负责管理,PC向该服务器要求IP参数,分配后保持不变(MAC不变)

Netmask                                                                                                                         子网掩码,由于我们有时候会把host_id的一位或若干位分给net_id ,所以还需要用子网掩码来划分出网域
比如23位给了net_id 那么子网掩码就是255.255.254.0
只有子网掩码相同才能说明位于同一个网域
需要指出的是host_id全部为0是用作该网段的network的,全部为一是用作broadcast的,都是不能用的

无层级IP(CIDR)
处于信息过大导致网络效能不佳的担心,将net_id借来用作host_id

ip划分下的数据传送:

同一个网段、即区网下的传送可以通过广播实现,
不同网段的需要经过路由器

历程分析:
查询IP封包的目标Ip地址->查询路由表、若同一网域则直接透过区网功能传送->查询预设路由,即非同一网域的会把ip封包送入预设路由器(default gateway)->送出封包后的pc就不再理会接下来的工作了)

观察主机的路由、输入route命令

ARP与ICMP协定

传输数据的时候我们向区网发送ARP封包、相关主机接受到就会回传mac信息,写入ARP表(可用arp命令查询),从而完成数据传送
ICMP则是一个错误侦测与回报机制、可确保我们网络联网状态与联机的正确性,所以不要用防火墙把它全部挡掉,ICMP是纳入IP封包中的,可以用ping或traceroute指令查询

TCP封包与port

客户端连接到服务器时就必须要连接到对应端口(端口不对无法获得对应服务),服务器需要开启对应端口,这样通道就能被利用来传递封包数据
TCP封包过大时候也需要通过拆解再放入ip封包中,用sequence number记录序号以协助重组

特权端口:
规范好的知名网络服务软件端口,通常小于1024
特权端口在启动时都需要超级权限
client连接到server时候自己只要随机取一个没有在用的,大于1024的port就行

TCP三向交握:
客户端送出要求联机的封包,在TCP表头中带有SYN的主动联机(SYN=1)记下发送出联机封包给服务器端的序号(sequence number = 10001)
服务器收到封包后制作一个带有(SYN=1,ACK=1)表头的封包,ack是要给客户端却任用的,所以ack=10001+1=10002,同事服务器也需要确认客户端能够接收封包,所以会发出sequence =1 20001给客户端
客户端回应,制作ack = 20001+1=20002
服务器收到客户端的20002后就一切OK,可以建立联机了

非连接导向的UDP协议

相对TCP会更快,但没那么安全,因为没有三次握手的环节
适用于快速实时传输且不需要数据可靠的软件中,例如实时通讯

网络防火墙

可以分析封包表头,设定特定的分析规则,比如丢弃掉特定的来自某些端口,ip的封包,每一层可以抵挡的数据不同

DNS服务

进行主机名与其对应ip的对应,比如说我们如果想要通过主机名访问百度而不是直接输入ip,那么就必须保证计算机中有正确的DNS服务器的IP,Hinet是最大的dns服务器,IP是168.95.1.1

 

最后附上几个较为有用的网络命令:

route 查看路由信息,有目的地,网关、掩码等字段

       ifconfig 和windows 下cmd中的ipconfig类似,查看ip、子网掩码、广播、MAC、讯框、发送与接受的包的情况、碰撞等基本信息

       arp命令主要是查看之前所说的ARP协议,已联机成功的网卡信息等

Last modification:March 13th, 2019 at 07:06 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment