TCP/IP(网络编程)

一、网络每一层的作用

***网络接口层和物理层的作用:**屏蔽硬件的差异,通过底层的驱动,会提供统一的接口,供网络层使用

***网络层的作用:**实现端到端的传输

***传输层:**数据应该交给哪一个任务去处理

***应用层:**包含各种协议

二、各层典型的协议

网络接口与物理层:

MAC地址:48位全球唯一的,网络设备的身份标识符

ARP/RARP协议

ARP :IP地址----->MAC地址(通过IP地址找到MAC地址)

RARP:MAC地址---->IP地址(通过MAC地址找到IP地址)

PPP协议:拨号协议(3G/4/GPRS)

网络层:

传输层:

应用层:

三、主机与主机之间的数据

例:A主机向B主机传输数据

客户方的FTP数据(应用层)通过socket()函数进行驱动到TCP(传输层)数据就会多了一个TCP的头(数据就会变成TCP头加数据) 之后进入IP(网路层)数据又多加了一个IP的头(数据就会变成Ip的头加TCP的头加数据,由于层与层之间传输是透明的,所以就会把TCP的头和数据都看成数据),之后在进入以太网驱动层,数据又多加了一个以太网的头(WiFi头也可以,看情况而定),其它的头和数据还是看成一个数据,在以太网层(物理层)会多加一个校验码区,最后通过令牌环网,之后再到B主机的以太网驱动进行拆以太网的头,这样依次拆上去,最后到TCP过后调用socket()函数,之后主机B就可以拿到数据了

校验码由以太网的驱动产生(硬件产生)

四、IP

相关推荐
大黄说说13 分钟前
深入理解 Linux 权限机制:文件、用户与访问控制全解析
linux·运维·服务器
黄昏晓x37 分钟前
Linux----缓冲区
linux·运维·服务器
2501_9011478342 分钟前
学习笔记:单调递增数字求解的迭代优化与工程实践
linux·服务器·笔记·学习·算法
寄存器漫游者1 小时前
Linux 软件编程 命令、内核与 Shell
linux·运维·服务器
Kaede61 小时前
服务器硬件防火墙和软件防火墙的区别
运维·服务器
qinyia1 小时前
通过本地构建解决Cartographer编译中absl依赖缺失问题
linux·运维·服务器·mysql·ubuntu
小草cys2 小时前
鲲鹏920服务器安装openEuler后无法联网,但物理网线已连接
运维·服务器·openeuler
野犬寒鸦2 小时前
从零起步学习并发编程 || 第五章:悲观锁与乐观锁的思想与实现及实战应用与问题
java·服务器·数据库·学习·语言模型
李小白202002022 小时前
EMMC写入/烧录逻辑
linux·运维·服务器
hrw_embedded2 小时前
基于CH395Q网卡移植ftplib的FTP客户端
网络·stm32·ftp·linux库