TCP/IP五层网络体系结构的学习笔记和思考

*PS:也有说七层的,但是其中两层是没有协议的,所以没讲,但是说五层也没毛病,上学时老师也这么讲过的。

TCP/IP五层模型的协议

应用层 (协议:文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet等)
传输层 (协议:端口、 TCP、UDP
网络层 (协议:IPv4/IPv6、ICMP,RIP,OSPF,BGP,IGMP)
数据链路层 (协议: 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU)
物理层 (协议:以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2)

以上的协议说完估计就是大学的网络课了,我只会涉及比较基础的理解网络交互的过程,只会说其中一部分协议。

网络是一个很庞大的概念,就算只说体系结构,也很难说清,我这里结合我自己理解的不同主机上的两个应用通信实例来讲我对网络的认识,如果讲得不对希望有人指出。

两台主机之间的通信的过程是一个网络交互的过程:

1.如果只从应用层看就是两台异地主机上的两个进程在进行交流,标识(或者说区别)它们的是进程的端口号;其中这里的端口是逻辑上的,只是系统用来标识不同的进程的,最直观的例子是你在windows主机以8080端口启动tomcat,同样在linux主机下以8080端口运行tomcat,两者都能正常工作,所以端口只是于系统相关的,而不具备物理意义,完全不同于交换机等设备上的物理端口。

2.应用层往下是传输层:

在发送方,传输层会接收从上层进程传来的数据报、端口信息等,如果数据报较长还会进行分割编号,传输层在发送方做的事是把本层的协议和上层传过来的数据报处理后封装成TCP报文,然后把它交付给发送端的网络层;(封装时进行端口绑定以及其它的本层信息的绑定)

在接收方,传输层会接收从网络层发上来的TCP报文,去掉(解读)在发送方添加的本层的协议,进行接收验证保证可靠传输(如果丢失需要重发),存在分组时要把分组数据重组,然后根据端口信息交付给应用层的进程。

3.再往下是网络层:网络层提供的是不可靠传输,路径、发送顺序都是不确定的,可能存在丢失,解决该问题在传输层进行,传输层进行的验证和重组,就是结合了这里的情况,这样的做法可以减轻网络层的负担(从网络层开始再往下就是实际的传输过程了,由于涉及异地间网络互联,如果在网络层进行可靠传输,将会耗费大量资源,而且会使传输效率大大降低)

发送方:接收上层传来的TCP/UDP报文,加上本层的IP协议相关的首部(源、目的IP,以及数据报本身的信息等等),然后交由下层(网际传输开始);

在接收方:网络层接收数据链路层传来的帧,得到IP数据报,解析并去掉IP首部,将信息交由传输层进行验证。

4.数据链路层:传输的信息是帧,这是具体物理线路的逻辑连接概念,例如互联网上的两个相连节点间的连通。

5.物理层:没啥好说的了,这就是具体的数据传输了。

以上主要讲了网络层以及以上的大致思路,接下来要说的是IP数据报在网路上的具体传输;

由关于网络层的信息已经知道了IP数据报包含了源、目的IP地址,在我们本机的网络层把IP数据报发送给局域网路由器,路由器根据源目的IP、IP数据报的其它信息查路由表,然后给出下一跳的物理地址,然后在物理网络上进行传输,到达下一跳后进行同样的操作,直到到达目的地,或者跳数用尽丢弃,或者发生错误(后两种情况在传输层进行验证保证可靠传输时会要求重发),这里关于物理层讲得很少,其实物理层也有很多很多的协议来约束传输,一言难尽,要洗说我估计还要再去把课本拿起来读一遍。

猜你喜欢

转载自blog.csdn.net/bokerr/article/details/82619973