Linux 网络编程 学习01

1 分组交换

通过标有分组进行路由选择·传送数据,使通信信道仅在传送期间被占用的一种交换方式。
分组组成: 每个分组都有首部和数据段组成。
在这里插入图片描述
下图是早期通过电路交换的建立电路连接的网络,假设左右两端是电话,那么一旦连接确立,就不能中途退出,直到通话结束信道才被释放,这样的连接和使用效率是很低下的,所以才有了分组交换,信道仅在传送的时期被占用其余时间他是自由的。
在这里插入图片描述
报文又分为首部和数据,我个人是这么理解的:假设你要传输的是一整本书的内容,现在要把他拆分成很多段运行,那么接收端会受到很多小段的数据,如果他不知道书的页号及其相关标志,它又怎么能将这些片段恢复成一本书呢,所以首部的作用就在于此。

2 交换方式

采用存储转发的方式进行,节点收到分组,先暂时存储下来,再检查其首部,按照首部的目的地址,直找到合适的节点转发出去。

特点:
1、以分组作为传输单位
2、独立的选择转发路由
3、逐段占用,动态分配传输带宽
4、节点收到的分组是无序的,每个数据宝到达该节点的时间是随机的
在这里插入图片描述

3.分层结构

在这里插入图片描述
OSI 7层模型
物理层 :各种网络接口(双绞线)的类型,传输速率 等等 一些物理特性
数据链路层:负责对数据帧的收发
网络层:使数据包能够最大可能达到目的主机
传输层:数据包和程序通信的桥梁
会话层:保持连接到
表示层;数据解压缩解码
应用层:应用程序
TCP/IP模型
应用层:应用程序间沟通的层
传输层:提供进程间的数据传送服务,负责传送数据,提供应用程序端到端的逻辑通信
网络层:提供基本的数据封包传送功能,最大可能的让每个数据包都能够到达目的主机
链路层:负责数据帧的发送和接收

每层完成自己的任务,最终通过不同层次的处理完成数据的收发

在这里插入图片描述
在这里插入图片描述

4 MAC 地址

网卡:
又称为网络适配器或网络接口卡NIC,但是现在更多的人愿意使用更为简单的名称“网卡”
通过网卡能够使不同的计算机之间连接,从而完成数据通信等功能

连接特定的 DNS 后器
描述
物理地址 54-E1-A D-75-43-8 A
每块网卡都有一个全球唯一的标识id
这个全球唯一的标识id号就是我们所说的mac地址
mac地址是 **48b 6***字节
mact也址是用来标识网上的一个物理地址物理地址不能改变
在这里插入图片描述

5 IP 地址

IP地址是一种Internet上的主机编址方式,也称为网际协议地址

使用32bit,由{网络ID,主机ID}两部分组成
子网ID:IP地址中由子网掩码中1覆盖的连续位
主机ID:IP地址中由子网掩码中0覆盖的连续位

在这里插入图片描述
在这里插入图片描述

IP 地址特点

子网ID不同的网络不能直接通信,如果要通信则需要路由器转发
主机ID全为0的IP地址表示网段地址
主机ID全为1的IP地址表示该网段的广播地址

ip地址分类

A类地址:默认8bit子网ID,第一位为0 255.0.0.0
B类地址:默认16bit子网ID,前两位为10
C类地址:默认24bit子网ID,前三位为110
D类地址:前四位为1110,多播地址
E类地址: 前五位为11110,保留为今后使用
A,B,C三类地址是最常用的
附上一个讲解详细的博客:
https://zhidao.baidu.com/question/624772635351230284.html
公有IP(可直接连接Internet)
经由InterNIC所统一规划的IP
私有IP(不可直接连接Internet )
主要用于局域网络内的主机联机规划

回环 IP地址
通常 127.0.0.1 称为回环地址
功能
主要是测试本机的网络配置,能ping通127.0.0.1说
本机的网卡和IP协议安装都没有问题
注意
127.0.0.1~127.255.255.254中的任何地址都将回环到本地主机中
不属于任何一个有类别地址类,它代表设备的本地虚拟接口
在这里插入图片描述

6 端口

TCP/IP协议采用端口标识通信的进程
用于区分一个系统里的多个进程
特点
1、对于同一个端口,在不同系统中对应着不同的进程
2、对于同一个系统,一个端口只能被一个进程拥有
3、一个进程拥有一个端口后,传输层送到该端口的数据全部被该进程接收,同样,进程送交传输层的数据也通过该端口被送出

端口号

类似pid标识一个进程;在网络程序中,用端口号(port)来标识一个运行的网络程序
特点
1、端口号是无符号短整型的类型
2、每个端口都拥有一个端口号
3、TCP、UDP维护各自独立的端口号
4、网络应用程序,至少要占用一个端口号,也可以占有多个端口号
5、端口号 2个字节 最大为65535
知名端口(1~1023)
由互联网数字分配机构(IANA)根据用户需要进行统一分配
例如:FTP—21,HTTP—80等
服务器通常使用的范围;若强制使用,须加root特权
动态端口(1024~65535)
应用程序通常使用的范围
注意
端口号类似于进程号,同一时刻只能标志一个进程
可以重复使用
在这里插入图片描述

7数据包的拆解

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42076938/article/details/107927544