飞道的博客

TCP/IP原理(一)协议栈框架、分层、协议功能作用

236人阅读  评论(0)

一、介绍
tcp/ip是一个以太网协议栈,主要实现网络收发比如tcp收发,udp收发,以及一些网络服务比如ftp文件传输、ssh等等,本文图片来源于网络

二、tcp/ip分层
因为协议栈实现的功能较多,代码比较庞大,为了方便测试、调试以及移植,tcp/ip采用了分层的思想,编写者可以分别实现每一层分别测试,再组合在一起,也可以分别移植

1、整体框图

2、对应不同设备


3、不同层相应的协议


三、每层的功能和协议功能
1、物理层
就是指的网卡设备,比如wifi无线网卡,或者有线网卡

2、数据链路层
整个层是为了桥架协议栈和硬件
(1)ARP
将IP转换为物理地址或者叫mac地址

(2)RARP
将MAC地址解析为对应的IP地址

(3)PPP
PPP协议提供在点到点链路上传输数据包的数据链路层
协议,比如拨号的时候就会用到

(4)IEEE802.3
高效节能以太网,描述物理层和数据链路层的MAC子层的实现方法

(5)CDMA/CD
集线器通过CDMA/CD使集线器上的所有端口共享同一个带宽

3、网络层
(1)IP
实现跨越网络传送数据包,不具备重发机制

(2)ICMP
判断传输异常,并发出异常通知

(3)IGMP
1.主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息
2.路由器通过IGMP周期性地查询局域网内的组播组成员是否处于活动状态,实现所连网段组成员关系的收集与维护

(4)RIP
rip协议是距离矢量路由选择协议,用于自治系统(AS)内的路由信息的传递

4、传输层
实现应用程序的传输功能
(1)TCP
TCP是一种面向连接的传输层协议。它可以保证两端通信主机之间的通信可达。TCP能够正确处理传输过程中丢包、传输顺序乱掉等异常情况,简单理解类似打电话,必须接通后才能通信

(2)UDP
UDP是一种面向无连接的传输层协议。UDP不关心对端是否真正收到了传送过去的数据。如果需要检查对端是否收到分组数据包,或者对端是否连接到网络,则需要在应用程序中实现。
简单理解类似发短信,只有知道对方电话号码,就能发生,这里电话号码换成ip和端口号

5、应用层
(1)HTTP
超文本传输协议,提供一种发布和接收HTML页面的方法

(2)Telnet
远程登录是指登录到远程的计算机上,使那台计算机上的程序得以运行的一种功能。远程登录常用TELNET与SSH两种协议

(3)FTP
网络文件共享传输,文件传输是指将其它计算机磁盘上的文件转移到本地计算机上,或将本地磁盘上的文件传送到其它计算机磁盘上

(4)TFTP
网络文件共享传输

(5)SMTP
电子邮件的发送使用,只能以文本,拓展MIME协议扩展之后,可以发送声音、图像等各式各样的信息

(6)WWW
WWW (World Wide Web,万维网)是存储在Internet计算机中、数量巨大的文档的集合,用于描述超媒体。文本、图形、视频、音频等多媒体,称为超媒体(Hypermedia)。Web上的信息是由彼此关联的文档组成的,而使其连接在一起的是超链接(Hyperlink)

(7)DNS
DNS域名系统 (Domain Name System),它的的作用为,将域名解析为IP 地址,域名和IP地址联系在一起进行服务,这样可不必不用输入IP地址,而是通过输入网址访问网站

(8)SNMP
使用SNMP协议管理的主机、网桥、路由器等称作SNMP代理,而进行管理的那一端叫做管理器。SNMP就是这个管理器和代理要用到的协议。
在SNMP的代理端,保存着网络接口的信息、通信数据量、异常数据量以及设备温度等信息。这些信息可以通过MIB(Management Information Base)访问。因此,在TCP/IP的网络管理中,SNMP属于应用协议,MIB属于表示层协议


转载:https://blog.csdn.net/u010835747/article/details/116640545
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场