Linux网络编程第一课:深入浅出TCP/IP协议簇与网络寻址体系
知识点1【网络发展简史】https://i-blog.csdnimg.cn/direct/0688859e257a47b1b5f4716b6f492b37.png
**网络节点:**路由器和互换机组成
互换机的作用:拓展网络接口
路由:网络通信路径
1、分组互换
分组的目的:
数据量大,不能一次型传输,只能分批次传输,这里的每一批次就是每个分组。
传输单位:网络传输是有限制的。以太网传输单位最大字节数:1500Byte
同一个分组体系中,数据是等分的(每组大小是等长的)
分组的组成:
每个分组都是由首部和数据段组成
首部:存储的是分组在原数据的位置、目的主机和源主机信息。
表明:每个组独立发出,并且要正确地发给目的主机,目的主机收到也要知道是谁发的。主机收到后 需要将分组 组合成一个完整的数据,也需要用到首部内的信息。
https://i-blog.csdnimg.cn/direct/c5d7207e0d5f4124b11d9443c678e03f.png
2、分组方式的互换方式:存储转发
https://i-blog.csdnimg.cn/direct/64c1fc551a174d6ba896d237977daf17.png
节点收到分组,先暂时存储下来,再检查其首部,按照首部中目的地点,找到合适的节点转发出去
重组发生在目的主机上,每个节点只是数据的中转站
3、云特网发展史
因特网是从单个ARPA NET发展起来的
TCP/IP协议成为ARPA NET的标准协议
TCP/IP 是协议的统称,它是一个族,并不是单指TCP/IP协议
知识点2【TCP/IP协议】(重要)
每种协议完成不同的功能
网络是分层次来管理的
分层结构(背下来)
背下来每一层,并且要知道每一层是干什么的,这一出现题目可以快速确定是哪一层的错误,并且每层对应的协议是有限的,进而确定哪个协议有题目
1、网络的分层结构:
(一)七层结构
**七层结构:**OSI/RM(Open Standard Interconnection /Reference Model)开放互联参考模型(理论上的标准)
[*] 七层的表明
**物理层:**网络卡的接口类型,电流强弱等标准。(网卡在第八层)
**数据链路层:**负责完整的帧数据 收发,mac地点的封装息争封装。(设备 到 设备的通信)
帧数据:可以大概完整独立在网络上传输的数据单位
(在链路层上组好的报文可以直接脱离网卡,在网络上传输)
mac地点:网卡地点
**网络层:**负责IP报文的封装息争封装,IP地点。(主机 到 主机的通信)
每个主机可以有多个IP地点,发数据就是封装IP地点,收数据就是剖析IP地点
一个网线连接一个网卡,为了拓展网络接口,就需要用到互换机,而连接这些拓展接口,就需要使用网卡的接口接入,一个网卡可以对应多个体系,就会有一个主机的判断,主机里又可以有多个IP地点
互换机中就会形成MAC地点表
**传输层:**负责端口的封装息争封装(端口 区别的是 体系的进程)(进程到进程的通信)
**会话层:**负责数据的转发,查看数据是否可以大概到达目的主机,查看网络通信状态
**表示层:**将盘算机识别 的二进程数据 转换成 为用户能识别的(图片,音频等)
**应用层:**详细应用步调的协议
(二)四层结构
**四层结构:**TCP/IP模型(事实上的标准)
[*] 四层的表明
**应用层:**详细应用步调的协议
传输层:负责端口的封装息争封装(端口 区别是 体系的进程)(进程 到 进程的通信)
网络层:负责IP报文的封装息争封装,IP地点。(主机 到 主机的通信)
链路层:负责完整的帧数据 收发(帧数据:完整独立在网上传输的数据),mac地点的封装息争封装(设备 到 设备的通信)
(三)协议
应用层
FTP文件传输协议、Telnet长途登录协议、TFTP:简单文件传送协议,NFS:网络文件体系、HTTP超文本传送协议
传输层
TCP传输控制协议、UDP用户数据报协议
网络层
IP网际协议、ICMP网络控制报文协议、IGMP网络组管理协议
链路层
ARP地点剖析协议、RARP逆地点剖析协议
https://i-blog.csdnimg.cn/direct/f45178c817a446c0a3f5a9c9e35c595c.png
2、IP协议(网际协议)
特点:
1、尽最大可能地将数据报文 传送到目的主机
2、IP报文独立传输,不按次序收发
3、IP报文中要包含 源IP地点 和 目的IP地点
3、TCP报文(传输控制协议)
TCP是可靠的传输层协议(进程和进程的通信)、面向连接的、序号和确认序号、排序检 错、失败重传,面向大文件传输。
如HTTP、FTP、SMTP等
4、UDP协议(用户数据报 协议)
UDP协议是一种不靠谱的传输协议(进程与进程之间的通信),不连接,不排序检错,不冲传,简单应答服务,支持广播、多播
如NFS、NTP(网络时间协议)、DNS(域名剖析协议)等
知识点3【地点】
1、mac地点(网卡的地点 链路层)
通过网卡可以将不同的盘算机连接起来
mac是标识网卡地点编号(理论上全球唯一),mac地点可以修改,但是一般不修改
如果多人一起修改,会有mac地点不唯一的风险
以太网的mac地点是48位的
window:ipconfig 与 网络属性搭配使用查询 IPv4 IPv6 mac地点
https://i-blog.csdnimg.cn/direct/b691216f5bcd4ba7b95b62a92d393722.png
2、IP地点(重要)
IPv4 32位
IPv6 128位 专家说IPv6可以给地球上每一粒沙子分配一个IP
主要先容IPv4
32位分为 子网ID 和 主机ID
子网ID:IP地点中由子网掩码中 1 覆盖的连续位
主机ID:IP地点中由子网掩码中 0 覆盖的连续位
可见IP和子网掩码是相辅相成的 他们两个需要搭配起来才都有意义
子网ID:标示IP地点在哪一个网段
主机ID:标识IP地点在网段的详细位置
覆盖这里的意思是对应,并不是按位或按位与,让我们举例分析一下
https://i-blog.csdnimg.cn/direct/1c360cb16b8143b0a122d87c5ccdc587.png
注意
1、IPv4 与 子网掩码ID 配合才能确定 子网ID 和 主机ID
2、掩码的0和1不能相见,必须连续
3、IP地点的分类
IP地点分为A类,B类,C类,D类,E类
我们最常见的是A类,B类,C类
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.255.0.0
10xx xxxx.xxxx xxxx.0000 0000.0000 0000
10xx xxxx.xxxx xxxx.1111 1111.1111 1111
C类地点:默认24bit子网ID,前三位为110 (局域网)
掩码:255.255.255.0
110x xxxx.xxxx xxxx.xxxx xxxx.0000 0000
110x xxxx.xxxx xxxx.xxxx xxxx.1111 1111
D类地点:前四位为1110,多播地点
E类地点: 前五位为11110,保留为今后使用
注意
**网段个数:**2^(x的个数)
如A类 就是2^7
**主机个数:**2^ (主机ID的位数)- 2
这里为什么减2呢?
是因为全零全一的地点有特殊含义
全零:网段地点
全一:广播地点(如果是A类的广播地点,全天下都能收到)
4、IP地点分类(可否上外网)
共有IP:可直接连接Internet
私有IP:不可直接上Internet,可以借助代理上Internet
私有IP不能直接与共有IP举行通信
https://i-blog.csdnimg.cn/direct/653c91c308cb4b63bf8f930dae5e8858.png
5、回环IP地点
https://i-blog.csdnimg.cn/direct/879b60a810fc437b866952f7ee8e656d.png
回环地点的作用是什么呢?
ping这个地点段(127.0.0.1~127.255.255.254),大家会发现,这个地点段的任意地点都将回环到当地主机上,它的作用是用来测试本机的网卡和IP协议是否正常的
这个地点段不属于任何一个 有类比的地点类,它代表设备的当地入口地点
6、设置IP地点
windows下 图形页面设置 大家都应该实行过,没有实行过的可以问一下deepseek 或者其他AI。
这里我详细说一下Linux非图情势修改。
1、设置静态IP
(1)首先需要确定要修改的IP是否被占用,被占用不发起修改:ping一下,看可否打通
(2)ifconfig 查看网络的名称
https://i-blog.csdnimg.cn/direct/387df7e571134c0a96b09b9e26dd17dd.png
(3)修改方法:可以修改IP地点 和 子网掩码
ifconfig eth0 目标IP netmask 掩码值
(4)验证是否修改成功 ifconfig
2、动态IP的设置
sudo dhcclient
3、拨号(相识即可)
https://i-blog.csdnimg.cn/direct/71cb0bb45c314bc8b8a6c10bfbe976fc.png
7、子网掩码
子网掩码(subnet mask)又称网络掩码,地点掩码
是一个32bit的由1和0组成的数值,并且1和0分别连续。
作用
表明IP中的哪些位标识的是主机所在的子网 以及 哪些位标识的是主机号
特点
1、必须结合IP地点一起使用,不能单独存在
2、IP地点中由字码掩码中1 覆盖的连续位 是子网ID;别的的是主机ID
子网掩码的表现情势
192.168.220.0/255.255.255.0
192.168.220.0/24
知识点4【端口】(重要)
1、端口的概述
TCP/IP协议 采用端口标识通信的进程
在体系编程中,是在同一主机操纵,我们用进程ID标识进程
在网络编程中,是在不同的主机操纵,我们用端口标识进程
本质
端口的本质是 一段缓冲区
特点:(理解记忆)
1、同一体系,一个端口只能对应一个进程
2、同一个端口(端口号相同),在不同的体系中对应不同的进程
3、在同一个体系中,一个进程可以对应多个端口
4、一个进程拥有一个端口后,传输层送到该端口的数据全部被该进程接收,同样,进程送交传输层的数据也通过该端口被送出
不同的主机如何识别端口呢?这就需要引入端口号的概念了。
2、端口号
端口号类似于PID 标识一个进程,在网络编程中,用端口号(port)来标识一个运行的网络步调。
给端口取一个端口号,其他主机(端口号对其他主机无特殊含义,只知道将端口号发送到目标主机)要向目标主机端口发送数据,数据到了目标主机的传输层,目标主机识别端口号,来找到对应的缓冲区。
端口号是传输层可以实现不同主机的进程之间的通信。 IP地点是网络层可以实现主机与主机间的通信
mac地点使链路层可以实现设备到设备间的通信
特点
1、端口号是一个无符号短整(hu)型
2、每个端口都拥有一个端口号
3、TCP,UDP维护各自独有的端口号
这里说一下,我们之前说的一个端口标识一个进程,这句话是针对于同一个协议而言的
如在TCP协议 和UDP协议中,同一端口号(8000),在TCP协议中可以标识进程A,在UDP中标识进程B
4、网络应用步调,至少要由一个端口号
大家结合手机号理解端口
一个人(进程)可以由多个手机号(端口)
一个手机号只能打给一个人
3、端口的分类
着名端口(1~1023)
由互联网数字分配机构(IANA)根据用户需要举行同一分配
表明:由分配机构根据用户需要同一分配 例如:FTP—21,HTTP—80等 服务器通常使用的范围;若逼迫使用,须加root特权
动态端口(1024~65535)
应用步调通常使用的范围
应用步调可以使用着名端口,但是不发起
结束
代码重在训练!
代码重在训练!
代码重在训练!
本日的分享就到此结束了,希望对你有所帮助,如果你喜欢我的分享,请点赞收藏夹关注,谢谢大家!!!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]