网络编程技术(一)——网络七层协议

756次阅读
没有评论

共计 1347 个字符,预计需要花费 4 分钟才能阅读完成。

前言

2019 年再来讲这些最基础也是最底层的协议,看起来过时,但是网络发展了几十年,依旧这么经典,从七大协议,到 TCP 三次握手,再到 HTTP 协议、套接字通信,学习路径无非就这些。

其实所有的内容都可以在百度百科甚至别人写的博客文章上面轻易找到,但是我讲解的却是一些核心且精华而且是易懂的部分。我也是一个初学者,一个大一软件学院的学生,这些知识只是业余时间所学得来,所讲的内容也是白话文,不会有各种专业术语,零基础的人也能听懂。若有不到之处敬请提出!

OSI 七层协议

先来一张最简单最常见的表
[table id=2 /]


物理层

物理层,顾名思义就是网络传输在物理上的介质,是 OSI 协议的最底层,也是最基础的一层。物理层采用了各种现成的协议,如 IEEE802.3/802.4/802.5 等
其它的我认为不需要知道,作为小白的我也只知道这些。
我们日常工作学习中,采用的最常见的物理层链接方式就是随处可见的 RJ45 网线,我们称之为 Ethenet/RJ45 协议。另外在服务器上面使用的接口也从我们的铜芯线缆改为光纤传输。

数据链路层

数据在物理层上的传输是 01 的二进制,而数据链路层的工作就是讲电信号进行分组,这就出现了现在最广泛的以太网协议,每一组的数据称为一帧,里面包含了接收数据者的信息以及要传输的数据内容。

网络层

数据链路层的数据传输方式是通过广播的方式来进行接收。广播的含义,例如 5 台计算机在同一局域网内,当 A 发出数据,会传输到所有的 5 台计算机,其中每台计算机会对数据包中包含的接受者信息开始判断接受者是不是自己,若不是自己则丢掉这个包。
那么不同的两个局域网该怎么通讯,这就出现了 IP 协议,倘若局域网内的所有计算机都拒绝了这个包,那么这个包将交给这个局域网内的一台网关进行处理,网关去负责和别的局域网进行通信。

传输层

传输层是整个网路协议中最值得学习,也是最精华的一部分。
两台计算机能进行通信了,也能找到对方在哪了,现在就要进行数据的通信了,可是也不能乱来,进行通信也要有一定的标准,这就有了传输层。
传输层有 2 大协议,TCP 和 UDP
我们浏览网页,看视频,看这篇文章的时候,都是 TCP 协议进行传输的。
TCP 协议是一种面向连接的协议,双方构建起一个连接,知道我发出去的数据包对方有没有收到,对方发来的数据包我有没有收到,双方互相接收的数据包是否完整,有没有进行丢包。TCP 协议是可靠的传输协议
UDP 协议就不一样,它比较粗暴,不用进行连接,甚至都不知道对方在不在线,直接发送一个数据包到目标的地址,也不知道对方有没有收到,就好比你直接写了一封信,写一个地址就寄出去,不知道对方有没有收到。我们进行的网络游戏,都是 UDP 进行发包的,是为了保证效率,为了保证网络游戏不同客户端之间的同步性。

会话层

会话层的概念比较模糊,在我们能够正常进行通信了,我们为了提高效率,会话层帮我们做的工作就是自动收发包,自动寻址的操作。

表示层

表示层则为了解决不同操作系统之间进行网路通信的语法问题。

应用层

应用层就好理解了,我们有了一切的基础,就可以在这之上进行开发了,比如开发电子邮件 SMTP/POP 协议等,访问网页的 HTTP 协议,远程传输文件的 FTP 协议等等。


总结

网络七层协议非常好理解,一层层的嵌套关系,即使网络发展再快,也是少不了这 7 层协议的。

正文完
 
TaurusXin
版权声明:本站原创文章,由 TaurusXin 2019-05-14发表,共计1347字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。