UDP千兆网之TCP/IP协议基础

Posted 深入浅出玩儿转FPGA

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UDP千兆网之TCP/IP协议基础相关的知识,希望对你有一定的参考价值。

一、TCP/IP 协议简介

TCP/IP 四层模型分为应用层(TelnetFTPSMTP)、传输层(TCPUDP)、网络层(IPARPICMP)、数据链路层(MAC、设备驱动)。

数据链路层:又称链路层或网络接口层,是实际网络硬件的接口。包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。定义了如何使用具体网络(如ETH)来传输数据,定义了将数据组成正确帧的规范和在网络中传输帧的规范。帧是指一串数据,它是数据在网络中的传输单位。

传输层:为两台主机上的应用程序提供端到端的通信。传输层提供了两种不同的传输服务:TCP(传输控制协议)和UDP(用户数据报协议)。TCP协议是面向连接的,可以提供可靠的数据传输服务,UDP协议是无连接的传输协议,可靠性只能由上层应用保证。

应用层:定义了应用程序使用互联网的规范,负责处理特定的应用程序细节。

 二、TCP/IP 协议通信过程

当主机A的应用程序需要发送数据给主机B时,将需要传输的数据包送入TCP/IP 协议栈进行处理。首先用户数据在传输层进行打包,然后将打包后的传输层报文送给网络层。网络层对传输层的数据包进行打包(添加网络层首部信息),然后将网络层报文(IP数据包)送给数据链路层。数据链路层对IP数据包添加以太网首部和尾部信息,然后送给物理层通过网络发送出去。打包过程如下:

三、数据链路层

数据链路层处于TCP/IP 协议参考模型的最底层,在TCP/IP协议簇中,链路层主要有三个目的:(1)发送和接收IP数据包(2)发送ARP请求和接收ARP应答(3)发送RARP请求和接收RARP应答。主要负责把上层送来的数据包打包并通过特定的网络发送出去,或者对从网络上接收来的数据包进行解包并校验,然后交给上层。

数据链路层一般可再细分为介质访问控制子层 MAC 和逻辑链路控制子层LLCMAC 子层的协议实现一般由 MAC 接口芯片来完成;而 LLC 子层的实现一般是由网络接口芯片的驱动程序来完成的。其中 MAC 位于 LLC 和物理层之间,使 LLC 适用于不同的媒体访问技术和物理媒体。MAC 单独作为一个子层,就不会因为媒体访问方法的改变而影响到较高层的协议。

以上是关于UDP千兆网之TCP/IP协议基础的主要内容,如果未能解决你的问题,请参考以下文章

基础:C#Socket编程之TCP与UDP简介

TCP与UDP的区别

TCP和UDP的区别

TCP和UDP比較

你真的懂接口测试基础之TCPUDP和TCP/IP协议组吗?

TCP/IP 协议图--TCP/IP 基础