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

相关推荐
m0_6948455712 分钟前
服务器如何配置防火墙规则开放/关闭端口?
linux·服务器·安全·云计算
阿巴~阿巴~1 小时前
Linux基本命令篇 —— alias命令
linux·服务器·bash
xkroy1 小时前
网络协议概念与应用层
网络
筏.k1 小时前
C++ 网络编程(14) asio多线程模型IOThreadPool
网络·c++·架构
00后程序员张2 小时前
调试 WebView 接口时间戳签名问题:一次精细化排查和修复过程
websocket·网络协议·tcp/ip·http·网络安全·https·udp
好名字更能让你们记住我2 小时前
Linux多线程(十二)之【生产者消费者模型】
linux·运维·服务器·jvm·windows·centos
门思科技2 小时前
设计可靠 LoRaWAN 设备时需要考虑的关键能力
运维·服务器·网络·嵌入式硬件·物联网
小锋学长生活大爆炸2 小时前
【知识】RPC和gRPC
服务器·网络协议·rpc
小高不会迪斯科2 小时前
MIT 6.824学习心得(2) 浅谈多线程和RPC
网络·网络协议·rpc
学习编程的gas2 小时前
Linux开发工具——gcc/g++
linux·运维·服务器