[Linux]-计算机网络

目录

【计算机网络概述】

1.分组交换

2.存储转发

【TCP/IP协议】

1.网络分层结构

2.IP协议(网际协议)

3.TCP报文(传输控制协议)

4.UDP报文(用户数据协议)

【地址】

1.MAC地址

扫描二维码关注公众号,回复: 17268693 查看本文章

2.IP地址

3.IP地址分类

4.回环IP地址

5.IP地址的设置

6.子网掩码

【端口】

1.端口的概述

2.端口号

【数据的封装和解封装】

1.封装和解封装流程

2.链路层报文格式(mac报文)

3. 网络层报文(IP TCP UDP报文)

【应用层协议开发流程】

1.面向连接(TCP)

2.面向无连接(UDP)

【应用层协议开发结构】

1.c/s结构(客户端、服务器模型)

2.b/s架构(浏览器、服务器模型)


【计算机网络概述】

网络节点:路由器和交换机组成

路由:网络通信路径 


1.分组交换

同一个分组的系统中,数据是等分的,每一组的数据是等长的

每一个分组携带一个首部(首部携带分组位置,作用是为了数据能够按顺序重组)

首部包含了:分组在原数据中的顺序、源主机、接受主机的信息(可以看成人与人之间按顺序写信,向一个人假如写了三封信,那么信上面就应该有阅读信息(分组在原数据的顺序)、发送人(源主机)、接收人(接受主机))


2.存储转发

当一个节点接收到数据之后,会首先存储起来进行判断,分析报文头部信息,然后通过获取到的目的主机地址选择合适的节点转发出去

每一个节点接收到的分组都是没有顺序的,只有在到达接受的主机的时候,才会按照头部的顺序重新组装

如下图所示,假如B节点接受到了一个分组,那么它就会先存储起来,分析首部信息,寻找目的主机,然后选择合适的节点进行发送。

 存储转发具有以下特点

1.以分组作为传输单位,也就是以一个报文分成若干份的等大数据作为一个单位

2.独立选择转发路由,每个节点解析完首部之后,通过路由传送分组路径不是固定的

3.逐段占用,动态分配传输宽带,当一段路由被占用了之后,其他节点无法使用这段路由


【TCP/IP协议】

1.网络分层结构

网络分层结构有两种情况,一种OSI/RM(Open System Interconnection Reference Model),另一种是TCP/IP(Transmission Control Protocol/Internet Protocol),前者是理论标准,后者是实际标准

OSI/RM(理论标准) TCP/IP(实际标准)
应用层 应用层
表示层
会话层
传输层 传输层
   网络层    网络层
数据链路层 链路层
物理层

 OSI/RM七层结构:

物理层:网络卡的接口类型、电流标准等

数据链路层:负责完整数据帧收发,设备的通信

网络层:负责IP报文的封装和解封装

传输层:负责端口的封装和解封装

会话层:负责数据转发、查看数据是否能够到达目的主机

表示层:将计算机识别的二进制数据转化为用户能识别的数据(图片、视频、音频)

应用层:具体应用程序的协议


TCP/IP四层结构:

链路层:负责完整的帧数据(能够完整在网络上传输的数据)收发,负责设备通信

        (arp地址解析协议、rarp协议逆地址解析协议)

网络层:负责IP报文的封装和解封装,IP地址 ,负责主机通信

        ( IP网际协议、ICMP网络控制报文协议 )

传输层:负责端口的封装和解封装,端口区别系统的进程,进程到进程的通信

        ( TCP传输控制协议、UDP用户数据包协议)

应用层:具体应用程序的协议

        (FTP文件传输协议、Telnet远程登录协议、HTTP超文本传输协议、TFTP简单文件传送协议、NFS网络文件系统)

 链路层比如说网卡的MAC地址,链路层就是设备到设备,网络层就是IP地址的鉴别,那么就是主机到主机,传输层则是表示进程到进程。

网卡插在主机上接受到数据(物理层,数据链路层),然后识别系统ip地址(网络层),然后识别系统中接受的进程(传输层),然后转发数据(会话层),转化为可识别数据(表示层),具体应用(应用层) 


2.IP协议(网际协议)

IP协议应用于网络层,负责主机到主机之间通信

特点:

1.尽最大可能将数据报文传送到目的主机

2.IP报文独立传输,互不影响

3.IP报文包括源IP和目的IP


3.TCP报文(传输控制协议)

TCP是传输层的协议(负责进程间的通信)

具有以下特点(特点均为了保证传输可靠):可靠、面向连接、序号和确认序号、排序检错、失败重传、面向大文件传输


4.UDP报文(用户数据协议)

UDP为传输层协议(负责进程与进程之间通信)

具有以下特点:不可靠、无连接、无排序检错、失败不重传、速度快、主要面向简单应答功能、广播、多播


【地址】

1.MAC地址

MAC地址就是网卡的物理地址,在理论上是全球唯一的

MAC地址包含48bit(6字节),高24bit是厂商ID,低24bit是设备ID


2.IP地址

IP地址有32bit,由两个部分组成,一个是网络ID,一个是主机ID

网络ID:IP地址中由子网掩码中1覆盖的连续位 标识IP地址在哪个网段

主机ID:IP地址中由子网掩码中0覆盖的连续位 标识IP地址在网段的具体位置

 例如,一个IP地址是165.125.5.65,掩码是255.255.255.0,那么网络ID就是165.125.5,主机ID就是65


3.IP地址分类

IP至今总共分为5类,分别是A B C D E

A类地址,默认8bit的网路ID,第一位固定为0                                        广域网

        掩码 255.0.0.0

        0xxx xxxx . 0000 0000 . 0000 0000 . 0000 0000

        0xxx xxxx . 1111 1111 . 1111 1111 . 1111 1111

B类地址,默认16bit的网路ID,前两位固定为10                                     城域网

        掩码 255.0.0.0

        10xx xxxx . xxxx xxxx. 0000 0000 . 0000 0000

        10xx xxxx . xxxx xxxx. 1111 1111 . 1111 1111

C类地址,默认24bit的网路ID,前三位固定为110                                     局域网

        掩码 255.0.0.0

        110x xxxx . xxxx xxxx. xxxx xxxx . 0000 0000

        110x xxxx . xxxx xxxx. xxxx xxxx . 1111 1111

D类地址:前四位为1110,多播地址

E类地址:前五位为11110,保留今后使用


4.回环IP地址

回环IP地址的主要功能就是测试本机的网络配置是否正常,通过 ping 这个命令加上本机的回环地址,来测试本机网络配置是否正常


5.IP地址的设置

在Linux的环境下,可以有两个手段来设置IP地址,一个是手动设置,一个是自动设置

如果想要手动设置一个IP地址,那么首先需要先ping一下,看看是否被使用,然后通过命令 ifconfig 来查看本机网络设备的名称。

如果想要自动获取IP地址,则输入以下命令

sudo dhclient

6.子网掩码

子网掩码(subnet mask)又叫网络掩码、地址掩码是一个32bit由1和0组成的数值,并且1和0分别连续
作用
        指明IP地址中哪些位标识的是主机所在的子网以及哪些位标识的是主机号

特点
        必须结合IP地址一起使用,不能单独存在
        IP地址中由子网掩码中1覆盖的连续位为子网ID,其余为主机ID

很常见的子网掩码就是255.255.255.0,那么就是用这个掩码来区分IP地址中的网络ID和主机ID


【端口】

1.端口的概述

我们之前学习过Linux系统编程,其中系统中的进程是通过进程PID来确定的,但是在网络的世界中,仅仅使用进程号以及不能够满足了,因为网络可能是主机和主机之间进行通信,一个相同的进程号在两个不同的主机之间代表的进程是不相同的

TCP/IP协议采用端口标识通信的进程端口的本质是一段内存

端口具有以下特点:

1.对于同一个系统,一个端口只能对应一个进程

2.对于同一个系统,一个进程可以对应多个端口

3.对于同一个端口,在不同系统对应不同进程

如果一个进程拥有一个端口,传输层到到端口的数据会全部被该进程接受,同样的,进程通送交传输层的数据也是通过端口发出


2.端口号

类似pid.标识一个进程;在网络程序中,用端口号(port)来标识一个运行的网络进程

端口号有以下特点:

1.端口号是无符号短整型

2.端口号表示一个网络进程

3.TCP、UDP维护各自的端口号(也就是说,TCP协议下的端口号即使和UDP协议下端口号相同,表示的也不同)

4.网络应用程序,至少占用一个端口号,也可以占用多个端口号


【数据的封装和解封装】

1.封装和解封装流程

在发送数据的时候,需要从应从层开始逐步对数据封装

在接受数据的时候,需要从联路侧开始逐步对数据解封装


2.链路层报文格式(mac报文)


3. 网络层报文(IP TCP UDP报文)


【应用层协议开发流程】

1.面向连接(TCP)

 TCP(可靠、排序检错、失败重传、有确认序号)面向连接可以抽象为电话系统服务模型

面向连接的数据是可靠、有序的,每一次数据的传输都需要建立、使用、终止连接

 2.面向无连接(UDP)

UDP(不可靠、无排序检错、失败不重传、无序列号)抽象为邮件分拣模型

面向无连接就像是发送信封一样,发送若干信件信息是没有排序的,电话模抽象模型,如果一方说的话不清楚,可以重新说,但是邮件不行,这就是面向无连接无法失败重传


【应用层协议开发结构】

1.c/s结构(客户端、服务器模型)

服务器:被客户端连接

        服务器必须指定端口让客户端连接

        客户端的连接到来,必须启动新的进程或者线程来服务客户端

        服务器在完成服务后,关闭和客户端的连接

客户端:主动连接服务器

        客户端给服务器发送请求

        获取完请求,关闭连接

2.b/s架构(浏览器、服务器模型)

b/s架构主要应用于WebQQ、网页游戏等,重心在服务器上面

猜你喜欢

转载自blog.csdn.net/m0_72372635/article/details/131495071
今日推荐