计算机网络
指使用一定的通信线路,把地理位置上相对分散的、具有独立自制能力的计算机系统等连接起来,在一定通信协议的约束与控制下,实现数据交换的目的!
计算机网络体系结构
计算机网络体系结构是一个分层次的模块式结构,每一层完成一个功能,这种流式化的结构能提高生产力!
网络分层的好处
-
促进了标准化
-
各层次相互独立,技术升级和扩展灵活性好
-
便于方案的设计
开放系统互连基本参考模型 OSIRM 简称 OSI
这个模型是由 ISO 标准化组织定义的
-
物理层:用来定义各设备的物理规范:通信支持距离,线的粗细,线芯的大小(二进制比特流传输)
-
MAC层: 数据报文的封装和相应方式 (相邻节点间的可靠传输)
-
网络层 :定义基于IP地址的通信过程的实现 (寻址和路由的选择)
-
传输层用来定义端口的,主机进程与主机进程之间端口之外的其他问题! (端到端的可靠传输)
-
会话层:建立会话,完成通信 (主机间会话管理)
-
表示层:数据的表示方式;要不要加密等 (数据表示、压缩与加密)
-
应用层:如何实现真正的资源交换的 (提供各种网络应用接口)
TCP / IP协议
这个是我们真正用到的模型,不是国际化标准!
注意:局域网就只有物理层和数据链路层!
网络体系结构的传输
各层上传输的数据格式
对等层之间传送的数据单元称为PDU(协议数据单元)
-
物理层:一最原始的比特流格式传输,其PDU为比特
-
数据链路层:传输的单元是帧,一个帧包括多个比特,但一个帧的大小必须是一个整数字节/不同协议的帧大小也不一样
-
网络层:传输的单元是分组(或者是包),一个分组可以包含多个帧,分住的大小也要根据不同协议而定。
-
传输层:在TCP/IP协议体系当中,TCP是以数据为单元进行传输,UDP是以数据包为单位进行传输
-
会话层、表示层、应用层:以具体的数据报文为单位进行传输
通信子网:
是网络中实现网络通信功能的设备及其软件的集合,通信设备、网络通信协议、通信控制软件、是网络的内层,负责信息的传输。主要为 用户提供数据的传输,转接加工,变换等
中继器、集线器、交换机、通讯线缆、路由器、各种网关引荐等设备资源子网:实现资源共享的设备
主要由网络的服务器、工作站、共享的打印和其他设备及相关软件组成。资源子网的主题为网络资源设备
包括
用户计算机、网络存储系统、网络打印机、独立运行的网络数据设备、网络终端、服务器、网络上运行的各种资源软件、数据资源等、
物理层与数据链路层
物理层就是地基,为了解决物理层传输层出现的错误核问题提出了数据链路层,物理层提供了物理的传输通路,数据链路层提供了逻辑的通路!
物理层的通信介质是不同的 为了统一传输道路! 联立一个逻辑的链路
数据链路的管理
封装成帧
透明传输
差错控制
网桥
网卡是工作在数据链路层!
网桥用来连接不同的网段(只是不同物理位置的网络)的计算机,不是直接连主机,连接集线器!
网桥的学习过程
交换机
交换机是具有多个交换端口,数据转发率很高,更强的MAC地址系统学习功能 ,(在灯的闪烁时自动学习),交换机工作在数据链路层!交换机内部是矩阵式 排列!
接上端口时就会广播(灯会闪烁)动态学习MAC地址
以太网的MAC帧
前导:主要是为了实现帧的同步
FCS:是为了校验
VLAN(虚拟局域网)
把现实的大的交换网络划分成虚拟的小的交换网络,减小二层网络中广播流量对整个交换网络的影响!
VLAN是一个二层协议,VLAN之间是独立的,没有物理连接!VLAN之间的通信就需要网络层解决!
一个VLAN可跨越多台物理交换机,这就是VLAN的中继功能!
网络层
连接两个不同的网段!构建一个中间通信子网的作用!网络层相当于车站!关注的是如何将分组从源端沿着网络路径传送到目标端。网络层是端到端的!
目前主流的 IPv4 三个协议:
IP(因特网协议)
ARP(地址解析协议)
ICMP(因特网控制消息协议)
IPv6 :
IPv6,ICMPv6、ND(邻居发现协议) 、MLD(组播帧听器发现)协议
IP协议的基本功能:
就是把数据报在互联网上传输,通过将数据报在一个个IP模块间传送直到目的模块来达到目的。 分为 寻址、 数据报的封装、分段与重组!
ARP是将IP地址解析为以太网MAC地址的协议!是一个独立的三层协议!
TCP可靠通信
套接字:
浏览器默认解析是 http 服务,80端口!
-
应用的通信靠的是发起的进程
-
进程与进程之间的通信靠的是套接字!
-
TCP连接的每一端(应用)都必须设有两个窗口,一个发送一个接受,这四个窗口是可变的,叫做滑动窗口!!
中间的几个标志位的含义
-
URG : 当此为1时,表示紧急指针字段有效。它告诉系统此报文段有紧急数据,应当尽快处理(相当于高优先级的数据)
-
ACK: 确认ACK;当此位为1时字段才有效,当为0时确认号无效
-
PSH: 为1时,就尽快的交付接受应用进程,而不等到整个缓存都填满了再上交付
-
RST: 复位重置控制位! 当此位为1时,就需要从新发起请求,从新建立连接
-
SYN: 同步控制位;2为1时表示这是一个连接的请求,或正在接受报文!
-
FID: 终止连接!当此位为1时,表示此报文的发送端发送完毕,请求关闭建立!
三次握手
UDP
发送之前不需要建立连接,尽最大努力交付不保证可靠交付,同时也不使用拥塞控制;是面向报文的!支持一对一,一对多,多对一,多对多的交互通信!
UDP开销小,速度快!
IP地址与子网划分(IPv4)
子网掩码就是为了获取网络地址
与算法 网络ID全为1、主机ID部分全为0 网络ID用来确认网络,主机ID用来确定每个网络中有的IP地址数 网络地址。主机部分全为0的地址 广播地址。主机部分全为1的地址 通过IP地址就能标示每个网络!方便管理,所以不用MAC做地址
a、b、c 用于单播通信,D组播地址、E保留地址
A类:
0 000 0001 - 0 111 1111: 1-127 特性:N.H.H.H 默认掩码:255.0.0.0 网络数:1-126 每个网络中的主机位: 全1为:广播地址 全0为:网络地址 每个网络中可以容纳多少个主机:2^24-2 回环:127.0.0.0/8 私有地址:10.0.0.0/8
B类:
10 00 0000 - 10 11 1111:128-191 特性:N.N.H.H 默认掩码:255.255.0.0 网络数:2^14 每个网络中的主机: 每个网络中可容纳多少个主机:2^16-2、 172.16.0.1 - 172.31.255.254 /12 私网:10.0.0.0 - 255.0.0.0 私有地址:172.16.0.0/16-172.31.0.0/16 172.16.0.0/12
C类:
110 0 0000 - 110 1 1111: 192-223 特性:N.N.N.H 掩码:255.255.255.0 网络数:2^21 每个网络中的主机位: 每个网络中可容纳多少个主机:2^8-2 192.168.0.0 - 255.255.0.0 /16 私有地址:192.168.0.0/24-192.168.255.0/24 192.168.0.0/16
D类:组播地址
E类:预留地址
自动获得的地址,169.254.0.0 没有DHCP服务器,但是电脑有时自动获取地址时用到的地址。
无分类模式!
子网
分子网: 全0全1(最后一段00000000 11111111)不能用 一个大网划分成若干个小网 网络ID向主机ID借位(红色),子网数2^n 一个网段的主机数=2^主机位数-2 主机ID位数=32-网络ID位数 网络ID=IP相与子网掩码 损失IP=(子网数2^n-1)*2
————————————————————————————–上图来源于强哥
将Linux主机接入到网络中:
IP/NETMASK:本地通信 路由(网关):跨网络通信 DNS服务器地址:基于主机名的通信 主DNS服务器地址 备用DNS服务器地址 第三备份DNS服务器地址
网络接口命名方式:
传统命名:
以太网:ethX, [0,oo),例如eth0, eth1, ... PPP网络:pppX, [0,...], 例如,ppp0, ppp1, ...
可预测命名方案(CentOS):
支持多种不同的命名机制: Fireware, 拓扑结构 (1) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如eno1, eno2, ... (2) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如ens1, ens2, ... (3) 如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2s0, ... (4) 如果用户显式定义,也可根据MAC地址命名,例如enx122161ab2e10, ... 上述均不可用,则仍使用传统方式命名; 命名格式的组成: en:ethernet wl:wlan ww:wwan 名称类型: o<index>:集成设备的设备索引号; s<slot>:扩展槽的索引号; x<MAC>:基于MAC地址的命名; p<bus>s<slot>:基于总线及槽的拓扑结构进行命名;
练习
例:180.200.210.123/16 划分14个子网,最小和最大的子网IP范围,每个子网IP最多多少
算出网络ID 180.200.210.123 相与255.255.0.0 结果 180.200.00000000.0 借4位(最多可划16个子网) 网络位16+4=20 主机位32-20=12 主机数=2^12-2=4094 0子网 180.200.0000 0000.00000001 180.200.0.1 180.200.0000 1111.11111110 180.200.15.254 13子网 180.200.1101 0000.00000001 180.200.208.1 180.200.1101 1111.11111110 180.200.223.254 将最大的子网再分成28子网给本子公司的各部门使用,求最大子网和最小子网ID? 借5位(最多可划32个子网) 180.200.1101 0000.0 0000001 180.200.208.0/25 第1个子网的网络id 180.200.1101 1101.1 0000000 (180.200.1101 1111.1 1111110 最大IP:180.200.223.254) 180.200.221.128/25 第28个子网的网络id
2.将 10.100.208.0/20 网络划分成 8 个子网,写出各子网的 IP 范围。
10.100.1101 000 0.00000000 10.100.1101 111 0.00000000 /23 子网掩码 :255.255.254.0 10.100.1101 000 0.00000001 - 10.100.1101 000 1.11111110 10.100.208.1-10.100.209.254 10.100.1101 001 0.00000001 - 10.100.1101 001 1.11111110 10.100.210.1 - 10.100.211.254 10.100.1101 010 0.00000001 - 10.100.1101 010 1.11111110 10.100.212.1 - 10.100.213.254 10.100.1101 011 0.00000001 - 10.100.1101 011 1.11111110 10.100.214.1 - 10.100.215.254 10.100.1101 100 0.00000001 - 10.100.1101 100 1.11111110 10.100.216.1 - 10.100.217.254 10.100.1101 101 0.00000001 - 10.100.1101 101 1.11111110 10.100.218.1 - 10.100.219.254 10.100.1101 110 0.00000001 - 10.100.1101 110 1.11111110 10.100.220.1 - 10.100.221.254 10.100.1101 111 0.00000001 - 10.100.1101 111 1.11111110 10.100.222.1 - 10.100.223.254
原创文章,作者:qzx,如若转载,请注明出处:http://www.178linux.com/43588