课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
相信大家在学习互联网网页开发的时候应该接触过关于网络协议的一些知识点吧。今天我们就来简单了解一下,关于TCP/IP协议的一些基础知识。
1.TCP/IP的具体含义
从字面意义上讲,有人可能会认为TCP/IP是指TCP和IP两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用IP进行通信时所必须用到的协议群的统称。具体来说,IP或ICMP、TCP或UDP、TELNET或FTP、以及HTTP等都属于TCP/IP协议。他们与TCP或IP的关系紧密,是互联网必不可少的组成部分。TCP/IP一词泛指这些协议,因此,有时也称TCP/IP为网际协议群。
互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而开发制定的协议族。因此,互联网的协议就是TCP/IP,TCP/IP就是互联网的协议。
2.数据包
包、帧、数据包、段、消息
以上五个术语都用来表述数据的单位,大致区分如下:
包可以说是全能性术语;
帧用于表示数据链路层中包的单位;
数据包是IP和UDP等网络层以上的分层中包的单位;
段则表示TCP数据流中的信息;
消息是指应用协议中数据的单位。
每个分层中,都会对所发送的数据附加一个部,在这个部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包部,所要发送的内容为数据。在下一层的角度看,从上一层收到的包全部都被认为是本层的数据。
3.数据处理流程
①应用程序处理
先应用程序会进行编码处理,这些编码相当于OSI的表示层功能;
编码转化后,邮件不一定马上被发送出去,这种何时建立通信连接何时发送数据的管理功能,相当于OSI的会话层功能。
②TCP模块的处理
TCP根据应用的指示,负责建立连接、发送数据以及断开连接。TCP提供将应用层发来的数据顺利发送至对端的可靠传输。为了实现这一功能,需要在应用层数据的前端附加一个TCP部。
③IP模块的处理
IP将TCP传过来的TCP部和TCP数据合起来当做自己的数据,并在TCP部的前端加上自己的IP部。IP包生成后,参考路由控制表决定接受此IP包的路由或主机。
④网络接口(以太网驱动)的处理
从IP传过来的IP包对于以太网来说就是数据。给这些数据附加上以太网部并进行发送处理,生成的以太网数据包将通过物理层传输给接收端。
⑤网络接口(以太网驱动)的处理
主机收到以太网包后,先从以太网包部找到MAC地址判断是否为发送给自己的包,若不是则丢弃数据。
如果是发送给自己的包,则从以太网包部中的类型确定数据类型,再传给相应的模块,如IP、ARP等。这里的例子则是IP。
⑥IP模块的处理
IP模块接收到数据后也做类似的处理。从包部中判断此IP地址是否与自己的IP地址匹配,如果匹配则根据部的协议类型将数据发送给对应的模块,如TCP、UDP。这里的例子则是TCP。
另外吗,对于有路由器的情况,接收端地址往往不是自己的地址,此时,需要借助路由控制表,在调查应该送往的主机或路由器之后再进行转发数据。
⑦TCP模块的处理
在TCP模块中,先会计算一下校验和,判断数据是否被破坏。然后检查是否在按照序号接收数据。后检查端口号,确定具体的应用程序。数据被完整地接收以后,会传给由端口号识别的应用程序。
⑧应用程序的处理
接收端应用程序会直接接收发送端发送的数据。通过解析数据,展示相应的内容。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。