谢烟客---------Linux之网络基础知识

本地网络通信

跨网络通信

主机间通信

互联网通信

ISO的OSI模型

网络:是什么,用什么设备

IPV4 IPV6 是什么

ipv4/ipv6首部格式

tcp首部/udp首部

通信的细节、拥塞控制、划动窗口

tcp有限状态机的转换

网络:将多个主机用通信线缆连接起来,实现通信、资源共享

硬盘与主板通信用基于工业标准的线缆和控制器即可完成

网络通信,同轴线缆

1)多个主机共用一个线缆,如何确定谁发和谁收:唯一的标识,IANA国际组织规范

2)硬件生产的规范

局域网: parc (鼠标、LAN,GUI)

以太网

网络拓扑: 总线、环状

多个主机共用一个底层通信信道,有冲突产生:解决方案CSMA/CD

1、CSMA/CD:解决对底层通信信道的争用问题

冲突域:可能发生介质访问冲突的节点范围

原理:

发时,帧听

边发边听,冲突即停,退后在发

解决冲突的方案:

1)IBM的令牌环网

2)协议:CSMA/CD,CSMA/CA,CSMA

2、网桥(brige)、交换机(switch):本地通信MAC

隔离冲突域:主机少时,CSMA/CD能保证每个主机能够正常通信,主机多了,在任何时刻都有多台主机通信的需求,就需要将一个冲突域划分为多个冲突域。

网桥:两个端口,每个端口是一个网络,每个网络有多个主机,每个网络是一个冲突域

交换机:多个端口的网桥,每个端口接一个主机,冲突仅会和端口冲突(存储转发机制、双工模式)

原理:网桥、交换机中的MAC表(MAC及对应的端口)

1、MAC表有记录对方MAC时,不广播

2、MAC表没有记录对方MAC时,广播至另一个网络

MAC:Media Access Control 介质访问控制    对同一个底层通信信道争用,定制的MAC地址

48bits:前24位由IANA提供,后24位由厂商自定义(2^24=1600万)

MAC地址固定在RAM中

广播:MAC表中没有记录通信对方的MAC时,就向交换机、网桥的每个端口发报文,端口对应可能是一个网络或一个主机。

广播域:广播所至之处

3、路由器:跨网络通信IP

隔离广播域:主机少时,网桥、交换机能保证多个网络主机正常通信,一个交换机上有多个主机时,可能有许多主机都会给MAC表中未记录的主机通信,广播充满了整个网络,就需要将这个广播域划分成多个广播域。

路由器:每个端口对应一个网络,每个网络有一个交换机

原理:路由中的路由表(IP及对应的网络)

IP:逻辑标识网络及网络中每一个主机

通信时:最终通信的是MAC地址

netmask子网掩码:计算IP所在的网络(每个主机都会提供一个IP、netmask,本机IP和MASK相与和另一个IP和MASK相与结果对比。相同则在同一个网络,不同则在不同网络)

默认网关:提供网络转发服务

ARP解析:用IP地址进行本地通信所用到协议。ARP欺骗:通常将自己伪装成网关

4、广域网:跨城市,在一个大的区域通信。

5、城域网:通信集中在城市内部,属于不同的网络,用城市内部的路由器

6、主机与主机间的通信: 进程间通信、套接字通信 IP+port

套接安:将IP和端口号套接起来,用来标识 哪个主机上的哪个进程

建立通信需要建立一组套接字,发送方和接收方需要各自建立一个套接字

端口号:标识当前主机每一个进程

发送方:随机端口,访问别人

接收方:被访问,众所周知的端口,便于访问

发送方访问之后,关闭套接字

接收方:被访问完毕后,套接字不会释放,便于二次访问 “帧听套接字/监听套接字”

例如:发送方: 1.1.1.1:8999 接收方: 2.2.2.2:80

1.1.1.1/2.2.2.2 主机地址

: 分隔符

8999/80 标识主机上的哪个进程

7、主机间通信:应用层通信,应用层标识

URL 标识哪个主机哪个端口上所能支配的资源的哪个路径

http://www.magedu.com/1/1.logo

www.magedu.com 主机的地址

/1/1.logo

/  进程所能支配资源的起始路径

/1/1.logo 进程所能支配的资源

8、ISO的OSI模型

资源子网: 会话层、表示层、应用层          实现资源共享的设备或软件的集合

通信子网: 物理层、数据链路层、网络层、传输层  实现网络通信的设备或软件的集合

1、在跨网络通信中,物理层和数据链路层经过每一个网络都会发生变化

2、原主机在每一层封装对应层的首部(源、目标),目标主机拆封装

数据通信原理:发送方 把通信连接建立指令和用户应用数据从上往下传输,逐层封装,直到最底物理层。而接收端把通信连接建立指令和用户应用数据从下往上传输,逐层拆封装,直到发起通信的对等层。

各层传输的数据格式:

物理层:比特流,PDU为比特

数据链路层:帧,一个帧有多个比特,帧为整数字节,不同协议对应不同大小的帧。

网络层:包或分组,一个分组有多个帧,不同协议对应不同大小的分组。

传输层:在TCP/IP协议中,TCP以数据为单位进行传输,UDP以数据报为单位进行传输。

应用层:以具体的数据报文为单位进行传输。

协议封装的原理

封装应用层PDU

封装传输层首部

封装网络层首部,成为分组

数据链路层首部和尾部,成为数据链路帧

转换为比特流传送到物理介质

通信子网的设备:通信的基础

集线器、中继器、交换机、通讯线缆、路由器、网关硬件设备

集线器:多端口,共享一条背板的总线。物理层设备

数据链路层:网桥、二层交换机 MAC表(动态学习,时效性。静态指定,不更新,永久生效)

资源子网的设备:资源共享功能

用户计算机、网络存储系统、网络打印机

信息:数据交换的一切原始内容

数据:信息的具体表现形式

信号:数据传输过程中表现形式

信道:在物理链路上通过物理协议建立的数据传输通道

基带:从信号源发出,不处理的信号

基带传输:在信道中传输,不处理的信号

频带:从调制解调器发出,处理过的信号

频带传输:在信道中传输,处理过的信号

宽带:有最低频率和最高频率的宽度

并行:IDE,SCSI 数据在多条并行的信道上传输

串行:SATA,SAS 数据以串行方式一位一位的传输

单工通信    只能单向通信(只能接或只能发)

半双工通信   支持双向通信,某时刻只能单向

全双工通信   支持双向通信,某时刻可发可收

信道复用

频分复用:按频带宽度复用,把一条高带宽的信道按照一定的频带宽度划分成若干个低带宽的子频带(或称子信道)

时分复用:将数据通信过程划分成一段段等长的时间片,这些时间片又划分成多个更小的时间间隙,每一个时间间隙可以用于一个用户信号的传输。交替的传输过程

波分复用:光波信号中的频分复用技术,

9、拆封装的过程

1、数据链路层:检查MAC,是本机拆封

2、网络层:检查IP,是本机拆封。不是转发出去。

3、传输层:检查PORT,本机上有此进程拆封。没有此进程,返回错误

4、应用层:检查资源,本机有此资源。没有此资源,返回错误

10、物理层:构建数据通路,透明传输,数据编码、传输管理

透明传输:不同介质不同形式的传输信号

数据编码:传输介质多样,比特流转换为光信号

一位一位的传送

11、数据链路层:构建逻辑通路,从数据链路观察逻辑通路

一帧一帧的传送

在OSI或TCP/IP中分为一层

在局域网中分为2层:逻辑链路控制子层(LLC),介质访问控制子层(MAC)

差错控制

数据在传输中可能会出现两方面问题

有帧出现了错误

有帧丢失

差错控制功能

差错检测

奇偶校验

循环冗余校验

差错纠正

反馈检测 接收方确认接收的内容是否同发送方所谓的结果,数据传输至少两次

计时器超时 双方都要确认是否超时

自动重发请求  前两者基础之上确认奇偶校验码

MAC帧也被通常认为就是数据链路层帧,是在MAC子层实体间交换的协议数据单元(PDU).可以把所有以太网MAC帧的格式统一表示为下图所示

7    1      6       6    2 38~1500     4bytes

前导  帧起始 目的MAC地址 源MAC地址 长度/类型  数据        FCS

前导:实现帧的同步

帧起始:帧的开始、结束

目的MAC地址:

源MAC地址

长度/类型:以太网中帧的类型

数据:

FCS: 帧的校验序列,计算两次数据帧的

VLAN(Virtual Local Area Network,虚拟局域网)缩小广播域,将一个大的交换机所在网络划分成多个小网络

划分方式:同一个交换机划分。不同交换机划分(跨越多个交换机,VLAN的中继功能)

相互访问:1、基于二层协议。2、彼此独立,一个VLAN相当于一个独立的二层网络。3、跨VALN时,必须借助路由器。

12、网络层:分组从源端沿着网络路径传送到目标端

1、路径选择

2、数据包的封装和解封装

3、透明传输

4、拥塞控制

报文协议:

TCP/IP结构的网络层:IP协议

IPv4:ARP,ICMP

IPv6:ND(Neighbor Discovery)

IP协议:寻址、数据报封装、分段与重组(超过MTU分段,到达时,重组)

IPV4首部格式

版本: 4bit 协议的版本

首部的长度:4bit 固定20,可变40,最大数值15

区分服务:8bit

总长度(报头+数据) 16bits

标识: 16bits,计数器,产生数据报的标识

标志:3it,前2位有意义,最低位MF,MF=1时,后面还有分片,MF=0表示最后一个分片。标志字段中间的一位是DF,DF=0时才允许分片。

片偏移:13位,现有分组在原分组中的相对位置。片偏移以8个字节为偏移单位

存活时间:TTL,8bit,数据报在网络中可通过的路由器数的最大值。ttl=1丢弃

协议:8bit,数据报携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个处理

首部的校验和:16位,只检验IP的首部,不包含数据部分

源地址和目的地址:各占4字节

IP:4个字节,32bit,点分十进制

可选字段:丰富IP首部

填充:补充首部为4字节的整数倍

ARP协议:向数据链路传输时不需经过IP协议的封装,而是直接生成自己的报文

硬件类型 上层协议类型 MAC地址长度 操作类型 源MAC地址 源IP地址 目的MAC地址 目的IP地址

------------------------------------------

ARP报头

ICMP  Internet Control Messsage Protocol Internet 控制报文协议(主机是否可达,网络延迟、控制:是否接收、响应)

请求:8,响应:0

ICMP首部

IPv4报头 20字节

ICMP报头:

类型:1

1-127

128+ 信息

代码:1 控制响应/应答

校验和:2 数据部分+报头校验

标识:2

序列号:2 IPv4的标示

选项:可有可无,长度可变

三层交换机

实现二层转发

实现路由器IP路由功能

三层路由模块:软件路由,纯硬件路由模块

局域网中实用

三层交换机原理:

比对三层硬件转发表-->目的转发表项内容是否存在-->存在转发,否则,路由表匹配,生成目的网络三层硬件转发表-->完成

比对三层硬件转发表-->目的转发表项内容是否存在-->存在转发-->完成

三层交换机和路由器的主要区别

三层功能实现机制不同

硬件:三层交换机,三层硬件转发表,一次路由多次转发

软件:路由器,每次都需要路由

适用环境不同:

局域网:三层交换机

广域网:路由器

多协议支持能力

VPN:路由器

路由能力不同

三层交换机非常强

核心网络中:软件易于升级,

13、传输层:传输层与数据链路层的作用都是建立数据传输通道,两者在功能上存在许多相似之处

同网段通信:二层交换机:数据链路层、物理层

不同网段通信:三层交换机:网络层、数据链路层、物理层

IP:主机间逻辑通信

PORT: 进程间逻辑通信

TCP:面向连接的协议:数据传输前,必须建立传输层的逻辑链路

UDP:面向无连接的协议:数据传输前,不用建立传输层逻辑链路

可靠通信的具体实现:

每一端必须有两个窗口--一个 发送窗口 和 接收窗口

窗口:告知对方所能接收数据的大小

TCP可靠传输机制:字节的序号进行控制,

所有的确认都是基于序号

窗口:动态变化(窗口的大小,流量控制)

TCP连接的往返时间RTT:动态的

时间:确定数据丢失


TCP报文首部格式

源端口

目的端口

传输层与应用层的服务接口

序号:本报文段数据的第一个字节的序号

确认号:4字节:确认下次接收数据的数据起始位

数据偏移: 首部的长度。TCP首部至数据首部的长度。单位 32位字,

保留:

URG:1,(紧急)紧急处理。否则不紧急

ACK: 1,(确认)确认号有效,否则没用;确认下次接收数据的数据起始位

PSH: 1,(推送)尽快交付,不加入缓存队列。

RST: 1,(重置)重新发起连接

SYN: 1,(同步) 连接接受

FIN: 1,(终止) 释放已建立的连接

窗口:2字节

检验和:2字节,检验首部和数据

紧急指针:占16位,指出本报文段共有多少字节

选项:长度可变,

填充:能够让可变的部分为4字节的整数倍

TCP传输连接管理的三个阶段

主动发起连接的应用进程 :Client

被支等待连接建立的应用进程:Server

传输连接三个阶段:连接建立、数据传送、连接释放

传输连接的管理就是使运输连接的建立和释放都能正常地进行

建立过程中需要解决三个问题:

每一方能够确认对方的存在。

允许对方协商一些参数(窗口,服务质量,最大报文段长度)

运输实体资源(缓存大小,连接表中的项目)进行分配。

TCP传输信道连接的建立和释放中的通信双方主机的这些状态称之为"有限状态机"

*CLOSED:关闭状态,主机当前没有活动连接或正在进行传输连接

*LISTEN:监听状态,正在等待新的传输连接进入

*SYNSENT:表示主机已发出一个传输连接请求,等待对方确认

*SYNRCVD:表示主机已发出一个确认请求,等待对方确认

*ESTABLISHED: 连接建立,可以传输数据了。

TCP3次连接:

seq为上次ack请求下次数据起始的序号。

ack为上次seq序号加一,下次数据起始的序号。

seq = ack

ack = seq + 1

客户端:SYN=1 ,seq=x

SYNSENT

服务器:SYN=1,ACK=1,seq=y,ack=x+1

SYNRCVD

客户端:ACK=1,seq=x+1,ack=y+1

ESTABLISHED

重传超时:TCP协议保证数据可靠性。发送时,启动一个超时计时器,时间内必须回应

拥塞控制:控制网络拥塞的出现,网络中各个部分输入的流量大于输出的流量时,出现网络拥塞。

吞吐量:整个网络有效处理负荷的能力

输入负荷:网络发送端输入的负荷:理想情况吞吐量45度斜线上升。

拥塞控制方案

慢启动:避免出现网络拥塞而采取的一种TCP拥塞初期预防方案,逐渐增大,发送一定大小的字节,试探对方确定的速度,快的话,逐渐增加发送字节

拥塞避免:当拥塞窗口大小再次达到"阀值时",启用拥塞避免方案。

快速重传  接收端收到一个不是按序到达的数据段,TCP实体迅速发送一个重复上次ACK数据段,重复3次,而不用等到有数据需要发送时顺带发出确认。

快速恢复  连续收到3次重复的ACK号,即确认对应的数据段丢失,不在等待重传计时器超时就重传看来已经丢失的数据段。

UDP:用户数据报协议,在IP协议之上加了极少的功能:端口,差错检测功能

优点:

无连接,不保证可靠交付,不会用拥塞控制,面向报文,适合多媒体。速度快。

UDP首部

16        16    16    16

源端口      目的端口 长度 检验和 数据

UDP应用

DNS主从复制,TCP

DNS解析:UDP

QQ:UDP

混杂模式:不管目的地是不是我,都可以窃听到

时间: 2024-12-28 10:04:09

谢烟客---------Linux之网络基础知识的相关文章

linux学习 --- 网络基础知识

1.1  IP地址 IP地址由两部分组成  网络号和主机号 .网络号为IP地址的高位组成,而主机号是IP地址的低位组成,两个的大小取决于网络的类型. IP地址根据网络的地址不同分为:A类,B类,C类,D类,E类. (1)A类IP地址类型 A类IP地址由一个字节的网络号和三个字节的主机号组成.网络地址的最高位必须为“0”,地址范围为:1.0.0.0 到 126.0.0.0. (2)B类IP地址类型 B类IP地址由两个字节的网络号和两个字节的主机号组成.网络地址的最高位必须为“10”,地址范围为:1

网络基础知识查询

第一章.基础网络概念 1.1 网络是个什么玩意儿 全世界的人种有很多,人类使用的语言种类也多的很.那如果你想要跟外国人沟通时,除了比手划脚之外,你要如何跟对方讲话? 大概只有两种方式啰,一种是强迫他学中文,一种则是我们学他的语言,这样才能沟通啊.在目前世界上的强势语言还是属于英语系国家, 所以啰,不管是啥人种,只要学好英文,那么大家都讲英文,彼此就能够沟通了.希望不久的未来,咱们的中文能够成为强势语言啊! 这个观念延伸到网络上面也是行的通的,全世界的操作系统多的很,不是只有 Windows/Li

Linux之Samba基础知识及应用

Linux之Samba基础知识及应用 一.Samba简介 Server Message Block的缩写是SMB,即服务器消息块,SMB主要是作为Microsoft的网络通讯协议.Samba将SMB通信协议应用到了Linux系统上.其功能特性可实现:WINS和DNS服务.网络浏览服务.Linux和Windows域之间的认证和授权.UNICODE字符集和域名映射.满足CIFS协议的UNIX共享等 SMB是基于客户机/服务器型的协议,故一台Samba服务器既可当文件共享服务器,也可充Samba的客户

linux运维基础知识-CentOS7系统安装配置及健康检查

linux运维基础知识 1.完成一台CentOS7.X操作系统安装,分区并配置逻辑卷:2.完成LVM分区扩容20GB存储:3.检查系统CPU/内存/网络/存储性能检查:4.检查操作系统版本:5.检查系统是否有非法账号:6.检查系统日志是否有相关报错:7.检查系统后台是否有非法应用运行: 一:系统安装及配置LVM逻辑卷 1:系统安装(略) 2:分区及配置逻辑卷 LVM简介:逻辑卷管理器(LogicalVolumeManager)本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的

网络基础知识、ASP.NET 核心知识(1)*

为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发人员,你所开发的软件产品最终是要在网络上运行的.这就像一个生产商,要生产供给东北地区的产品,而生产商对东北的天气.地理.人文毫无了解.生产商的产品肯定是不可用的,或者低端的!产品质量不好,那是自然的.产品质量好,那算你点儿高.那么作为ASP.NET开发人员,如果一点不懂http协议.不晓得Ajax.

谢烟客---------Linux之Bash基础特性条件测试&&自定义退出状态码(6)

条件测试 判断某需求是否满足,需要由测试机制来实现. 根据命令的执行状态结果,表达不同的测试条件 1.根据id命令的执行状态结果,判断用户是否存在 [[email protected] ~]# id root uid=0(root) gid=0(root) groups=0(root) [[email protected] ~]# echo $? 0 [[email protected] ~]# id help id: help: no such user [[email protected] 

网络基础知识---Roberts协议

Robots协议(也称为爬虫协议.机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取. Robots协议是网站出于安全和隐私考虑,防止搜索引擎抓取敏感信息而设置的.搜索引擎的原理是通过一种爬虫spider程序,自动搜集互联网上的网页并获取相关信息.而鉴于网络安全与隐私的考虑,每个网站都会设置自己的Robots协议,来明示搜索引擎,哪些内容是愿意和允许被搜索引擎收录的,哪些则不允许

1)Linux程序设计入门--基础知识

1)Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makefile的编写 程序库的链接 程序的调试 头文件和系统求助 1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器. 下面我们 以一个实例来说明如何使用gcc编译器. 假设我们有下面一个非常简单的源程序(hello.c): int main(int argc,

软考之路(1)——浅解网络基础知识

对网络这一块的基础知识理解如下,以图文并茂的形式展出,便于分析和理解.解析与图如下: 物理层: 功能: 提供为建立.维护和拆除物理链路所需的机械.电气.功能和规程的特性: 提供有关在传输介质上传输非结构的位流及物理链路故障检测指示: 为数据链路层提供一个物理连接,以及他们的机械.电气.功能和过程性.如规定使用电缆和接头的类型,传送信号的电压.在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是位. 物理链路: 这里多次出现物理链路,简单解释物理链路:一条无源的点到点的物理线路段,中