TCP/IP传输协议,易懂!!!

TCP/IP传输协议,易懂!!!TCP IP 协议族体系每层详解 ifconfig 网络接口和回环接口信息解释

大家好,欢迎来到IT知识分享网。

摘要:TCP/IP协议族体系每层详解,ifconfig网络接口和回环接口信息解释。
关键词:TCP/IP协议,ifcongfig。

1.TCP/IP协议族体系

1.1 简介

这里推荐一篇超牛的文章,对TCP/IP的理解非常有意义,详细的从网络的由来开讲,非常好。
一文讲透TCP/IP协议 | 图解+秒懂+史上最全

1.2 各层细讲

通俗一讲,服务器,干嘛的–提供服务。我们就是顾客,网络协议就如同解决如何将我们向服务员点的菜放到我们桌前。TCP/IP协议,根据任务属性封装为四层,应用层就是接收我们的请求,传输层是处理我们对菜的要求。网络层就是服务员要将菜如何高效的传递给我们,网络接口和物理层就是通过哪些介质传输到我们手上。真正负责传输数据任务的只有网络接口和物理层。

1.2.1 应用层

直接面向用户,对用户提供服务。任务:用户交互(获取用户请求,提供相应的服务),数据表示(将网络传输数据可视化,比如文本、图像)。

不同用户程序之间的的通信规则和数据格式,不同用户程序执行不同的功能,为了提升数据处理和通信的效率,数据格式和通信规则都会不同。

1.2.2 传输层

根据数据的准确性、实时性和网络传输特性,出现了两种不同的协议。传输控制协议(TCP)和用户数据报协议(UDP)。假如说后面出现一种更好的数据传输协议,只要对应应用层和网络层的接口正确,对其他层的影响不大,这就是封装的好处。

1.2.3 网络层

端到端的传输,使用 IP 地址进行逻辑寻址,给数据选择一条传输最优路径(通过算法)。

1.IP地址
IP协议:Internet protocol(分为IPv4和IPv6),由于 IPv4 地址资源有限,IPv6 被提出以解决地址短缺问题。
IPv4 地址
由 32 位二进制数组成,通常以点分十进制表示。例如,192.168.1.1。
其分配主要由五大区域性互联网注册管理机构(RIR)负责,包括非洲网络信息中心(AFRINIC)、北美网络信息中心(ARIN)、亚太互联网络信息中心(APNIC)、拉丁美洲及加勒比地区互联网地址注册管理机构(LACNIC)和欧洲 IP 网络资源协调中心(RIPE NCC)。这些机构根据全球的需求和政策,将 IP 地址分配给各个国家和地区的互联网服务提供商(ISP)、企业、组织和个人。
IPv6 地址
由 128 位二进制数组成,通常以冒号分隔的十六进制表示。例如,2001:0db8:85a3:0000:0000:8a2e:0370:7334。
IPv6 地址的分配也由 IANA 开始,逐步分配给各大 RIR,再由 RIR 分配给下级的 ISP 和其他机构。






2.ICMP:Internet控制管理协议,IP 协议的辅助协议,它用于在 IP 网络中传递控制消息和错误报告。Ping 命令属于ICMP(Ping命令是一个网络诊断工具)。
3.IGMP:Internet分组管理协议,广播和组播,用于在 IP 网络中管理多播组。多播是一种将数据包发送给一组特定设备的通信方式,例如在视频会议、在线直播等应用中,多个接收者可以同时接收相同的视频流。

1.2.4 网络接口和物理层

负责数据的传输,数据链路层使用 MAC 地址进行物理寻址。

1.网络接口
MAC地址
mac地址:48位全球唯一,是由网络设备制造商在生产设备时烧录到设备的网络接口芯片中的,具有全球唯一性,网络设备的身份标识。
ARP:地址解析协议,IP地址找到mac地址
RARP:mac地址–找到IP地址
PPP协议:拨号协议(GPRS/3G/4G)
2.物理层
物理层是计算机网络体系结构中的最底层,它负责在物理介质上传输原始的比特流。物理层的主要作用是定义了网络设备之间的物理连接、电气特性、信号传输方式等,为数据链路层提供物理基础。






2.网络IP和端口的处理函数

IP主机的地址号,端口设备内应用程序编号。

2.1 端口处理函数

2.1.1 端口号

2.1.2 字节序

把给定系统所采用的字节序称为主机字节序,为了避免不同类别主机之间在数据交换时由于对于字节序的不同而导致的差错,引入了网络字节序。

2.1.3 处理函数

主机字节序和网络字节序相互转换。

2.1.3.1 主机转为网络
u_long htonl(u_long hostlong); u_short htons(u_short short); 
2.1.3.2 网络转为主机
u_long ntohl(u_long hostlong); u_short ntohs(u_short short); 

2.2 IP处理函数

2.2.1 inet_aton函数

将strptr所指的字符串转换成32位的网络字节序二进制值

int inet_aton(const char *cp, struct in_addr *inp); 1.cp:要转换的主机IP(IPV4) 2.inp:指针指向转换后的IP 

2.2.2 inet_addr函数

和上函数功能一样

1.in_addr_t inet_addr(const char *cp); 2.cp:要转换的主机IP(IPV4) 

2.2.3 inet_ntoa函数

将32位网络字节序二进制地址转换成点分十进制的字符串

char *inet_ntoa(struct in_addr in); 1.in:网络IP地址 

2.2.4 inet_pton函数

将IPV4/IPV6 的地址转换成binary格式

int inet_pton(int af, const char* src ,void* dst) 使用于IPV4/IPV6 能正确处理255.255.255.255的转换问题 参数: 1.地址协议族(AF_INET或AF_INET6) 2.src:是一个指针(填写分点形式的IP地址(主要指IPV4)) dst:转换的结果给到dst 

2.2.5 函数

把ipv4和ipv6的网络字节序变成本地的字符串形式的IP地址

inet_ntop(int af,const void *src,char *dst,socklen_t size) 1.af:地址协议族(AF_INET或AF_INET6) 2.src:是一个指针(323.dst:输出结果为32位点分形式的IP地址 4.size:长度 

3. ifconfig

3.1 ens33(Linux中网络接口)

1.flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500:

2.“inet 192.168.119.151 netmask 255.255.255.0 broadcast 192.168.119.255”:

3.“inet6 fe80::f18f:39b:e50d:f727 prefixlen 64 scopeid 0x20”:

这是该接口的 IPv6 链路本地地址,前缀长度为 64,“scopeid 0x20” 表示其作用范围为本地链路。

4.“ether 00:0c:29:b1:1b:35”:

这是该网络接口的 MAC 地址,用于在局域网中唯一标识该设备。

5.“txqueuelen 1000”:

发送队列长度为 1000,表示可以在队列中缓存等待发送的数据包数量。

6.“RX packets 6861 bytes (6.1 MB)”:

表示接收到的数据包数量为 6861 个,总字节数为 字节,约为 6.1MB。

7.“RX errors 0 dropped 0 overruns 0 frame 0”:

表示接收过程中没有错误、没有丢弃的数据包、没有溢出情况和没有帧错误。

8.“TX packets 1985 bytes (565.2 KB)”:

表示发送的数据包数量为 1985 个,总字节数为 字节,约为 565.2KB。

9.“TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0”:

表示发送过程中没有错误、没有丢弃的数据包、没有溢出情况、没有载波错误和没有冲突。

3.2 lo(回路接口)

表示回环接口已启用且正在运行。

2.“mtu 65536”:

回环接口的最大传输单元为 65536 字节。

3.“inet 127.0.0.1 netmask 255.0.0.0”:

回环地址为 127.0.0.1,子网掩码为 255.0.0.0。这个地址通常用于本地设备上的软件与自身进行通信测试。

4.“inet6 ::1 prefixlen 128 scopeid 0x10”:

这是 IPv6 的回环地址。

5.“loop txqueuelen 1000”:

表示这是一个回环接口,发送队列长度为 1000。

6.“RX packets 553 bytes 70488 (70.4 KB)”:

表示接收到的数据包数量和字节数。

7.“RX errors 0 dropped 0 overruns 0 frame 0”:

接收过程中没有错误等情况。

8.“TX packets 553 bytes 70488 (70.4 KB)”:

表示发送的数据包数量和字节数。

9.“TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0”:

发送过程中没有错误等情况。



免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/124444.html

(0)
上一篇 2025-10-07 16:10
下一篇 2025-10-07 16:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信