200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Linux网络编程(网络七层协议 TCP/IP 三次握手四次挥手 TCP/UDP的区别)

Linux网络编程(网络七层协议 TCP/IP 三次握手四次挥手 TCP/UDP的区别)

时间:2023-05-04 14:09:42

相关推荐

Linux网络编程(网络七层协议 TCP/IP 三次握手四次挥手 TCP/UDP的区别)

1.OSI 7层网络模型

1.网络七层协议

(1)OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。

(2)各层功能定义

这里我们只对OSI各层进行功能上的大概阐述,不详细深究,因为每一层实际都是一个复杂的层。后面我也会根据个人方向展开部分层的深入学习。这里我们就大概了解一下。我们从最顶层——应用层 开始介绍。整个过程以公司A和公司B的一次商业报价单发送为例子进行讲解。

<1> 应用层

OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。

实际公司A的老板就是我们所述的用户,而他要发送的商业报价单,就是应用层提供的一种网络服务,当然,老板也可以选择其他服务,比如说,发一份商业合同,发一份询价单,等等。

<2> 表示层

表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。

由于公司A和公司B是不同国家的公司,他们之间的商定统一用英语作为交流的语言,所以此时表示层(公司的文秘),就是将应用层的传递信息转翻译成英语。同时为了防止别的公司看到,公司A的人也会对这份报价单做一些加密的处理。这就是表示的作用,将应用层的数据转换翻译等

<3> 会话层

会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。

会话层的同事拿到表示层的同事转换后资料,(会话层的同事类似公司的外联部),会话层的同事那里可能会掌握本公司与其他好多公司的联系方式,这里公司就是实际传递过程中的实体。他们要管理本公司与外界好多公司的联系会话。当接收到表示层的数据后,会话层将会建立并记录本次会话,他首先要找到公司B的地址信息,然后将整份资料放进信封,并写上地址和联系方式。准备将资料寄出。等到确定公司B接收到此份报价单后,此次会话就算结束了,外联部的同事就会终止此次会话

<4> 传输层

传输层建立了主机端到端的链接,传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。我们通常说的,TCP UDP就是在这一层。端口号既是这里的“端”。

传输层就相当于公司中的负责快递邮件收发的人,公司自己的投递员,他们负责将上一层的要寄出的资料投递到快递公司或邮局。

<5> 网络层

本层通过IP寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。就是通常说的IP层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础。

网络层就相当于快递公司庞大的快递网络,全国不同的集散中心,比如说,从深圳发往北京的顺丰快递(陆运为例啊,空运好像直接就飞到北京了),首先要到顺丰的深圳集散中心,从深圳集散中心再送到武汉集散中心,从武汉集散中心再寄到北京顺义集散中心。这个每个集散中心,就相当于网络中的一个IP节点。

<6> 数据链路层

将比特组合成字节,再将字节组合成帧,使用链路层地址 (以太网使用MAC地址)来访问介质,并进行差错检测。

数据链路层又分为2个子层:逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。

MAC子层处理CSMA/CD算法、数据出错校验、成帧等;LLC子层定义了一些字段使上次协议能共享数据链路层。 在实际使用中,LLC子层并非必需的。

<7> 物理层

实际最终信号的传输是通过物理层实现的。通过物理介质传输比特流。规定了电平、速度和电缆针脚。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。

快递寄送过程中的交通工具,就相当于我们的物理层,例如汽车,火车,飞机,船。

2.TCP/IP协议

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议

(1)TCP协议工作在OSI七层模型的传输层对上服务socket接口对下调用IP层,面向连接,可靠传输,不怕丢包、乱序。

(2)TCP在传输有效信息前要求通信双方必须先握手,建立连接才能通信,附带校验,以防止内容在传递过程中损坏,自动调节适配速率。

3.三次握手四次挥手

(1)TCP的三次握手:

首先Client端发送连接请求报文Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。

(2)TCP的四次挥手:

断开过程:假设客户端先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接。客户端发送释放报文FIN[第一次]。服务器收到释放报文后发出确认报文ACK[第二次]。服务器发出的连接释放报文FIN,并且还附带上次已发送过的确认号ACK[第三次]。客户端在收到服务器的连接释放报文段后,发送确认报文ACK[第四次]

4.TCP/UDP的区别

TCP是面向连接的传输控制协议,传输数据之前需要先建立连接。UDP是不用建立连接的数据报传输协议。

TCP传输的是字节流,UDP传输的是数据报。UDP不会提供拥塞控制,即当传输量过大时,发送端的发送率不会变小。

TCP提供数据校验,数据重传,等服务来提供可靠的数据传输服务。而UDP是提供不可靠的数据传输服务,可能会丢包。

TCP提供一对一的服务,UDP提供一对多,一对一,多对一,多对多的传输服务。

TCP对系统的资源要求较多,UDP对系统的资源要求较少。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。