Linux网络编程1——网络编程基础

这篇博客详细介绍了网络编程的基础知识,包括协议的概念、OSI七层模型和TCP/IP四层模型的对比,以及从物理层到传输层的数据封装过程。重点讲解了以太网帧协议、ARP协议、IP协议的关键要素如TTL和MAC地址。同时,解释了IP地址和端口号在网络通信中的作用,并提及了UDP协议。最后,提到了客户端/服务器(CS)和浏览器/服务器(BS)模型在互联网应用中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习视频连接

黑马程序员-Linux网络编程_哔哩哔哩_bilibili[这里是图片001]https://www.bilibili.com/video/BV1iJ411S7UA?p=11

目录

一、协议

二、分层模型结构

2.1 OSI七层模型

2.2 TCP/IP 4层模型

三、网络传输数据封装

3.1 物理层

3.2 数据链路层

3.3 网络层

3.4 传输层

四、以太网帧协议

4.1 ARP协议

4.2?以太网帧协议

4.3 mac地址

五、 IP协议

5.1 版本

5.2 TTL

5.3 IP字节数

5.4 发送的内容

六、IP、端口号

6.1 IP地址

6.2 端口号

6.3 ip+端口号

七、UDP

八、CS/BS模型


一、协议

一组规则,例如世界语

二、分层模型结构

2.1 OSI七层模型

物、数、网、传、会、表、应

2.2 TCP/IP 4层模型

4层模型:网(链路层 / 网络接口层)、网、传、应

应用层:http、ftp、 nfs、ssh、 telnet

传输层:TCP、 UDP

网络层:IP、ICMP、 IGMP

链路层:以太网帧协议、ARP

三、网络传输数据封装

3.1 物理层

主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输,到达目的地后再转化为 1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特

3.2 数据链路层

定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输

3.3 网络层

在位干不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet 的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层

3.4 传输层

定义了一些传输数据的协议和端口号

四、以太网帧协议

4.1 ARP协议

根据 Ip 获取 mac 地址

4.2以太网帧协议

根据 mac 地址,完成数据包传输

4.3 mac地址

唯一标识了一个网卡,所有网卡的 mac 地址是不一样的

五、 IP协议

5.1 版本

IPv4、IPv6

5.2 TTL

time to live,设置数据包再路由结点中的跳转上限。每经过一个路由结点,该值 -1,减少为 0 的路由有义务将该数据包丢弃。

下图中没有通路到目标主机,数据包只能在各个路由之间来回转发

5.3 IP字节数

源IP:32位 —— 4字节 (192.168.1.123)0255.0255.0255.0255

目的IP:32位 —— 4字节

5.4 发送的内容

16位:源端口号 2^ 16 = 65536

16位:目的端口号

32序号

32确认序号

6个标志位

16位窗口大小 2^ 16 = 65536

六、IP、端口号

6.1 IP地址

可以在网络环境中,唯一标识一台主机

6.2 端口号

可以网络的一台主机上,唯一表示一个进程

每个应用都有自己的端口号,数据包包含端口号用来告诉系统传过来的数据是给哪个软件的

6.3 ip+端口号

可以在网络环境中,唯一表示一个进程

七、UDP

16位 源端口号

16位 目的端口号

八、CS/BS模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值