目录

一、应用层

二、运输层

1.UDP协议

2.TCP协议

3.UDP与TCP的使用场景

(1)UDP的使用场景

(3)TCP的使用场景

三、网络层

四、数据链路层

五、物理层

六、数据传输过程


计算机网络的协议有七层、四层还有五层,教材的版本不同,所采用的协议结构也不同,我们以五层为例:

一、应用层

应用层为最高层:能够和用户交互,所有能够产生网络流量的程序。
它使得应用程序能够直接运行于传输层之上,直接为用户提供服务。包含的主要协议有文件传输协议(File Trabsfer Protocol, FTP)、简单 邮件传送协议(Simple Mail Transfer Protocol, SMTP)、远程登陆协议、域名服务协议(Domain Name Service, DNS)、网络新闻传送协议(Network News TransferProtocol, NNTP)和超文本传输协议(Hyper Text Transfer Protocol, HTTP)等。

表示层:
信息传输之前如果需要对数据进行处理。
网络的安全和保密管理;文本的压缩与打包;虚拟终端协议 (VTP)。
会话层:
①将会话地址映射为运输地址.
②选择需要的运输服务质量参数。
③对会话参数进行协商.
④识别各个会话连接.
⑤传送有限的透明用户数据.

二、运输层

运输层的任务就是负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用进程可同时使用下面运输层的服务,分用则是运输层把收到的信息分别交付给上面的应用层中相应的进程。

运输层主要使用UDPTCP两种协议,主要目的是将数据发送给指定的应用。
TCP/IP协议栈

1.UDP协议

UDP协议特点:
a. 无连接;
b. 尽最大努力交付;
C.面向报文;
d.无拥塞控制;
e. 支持- -对一、-对多、多对一和多对多的交互通信; 
f. 首部开销小(只有四个字段:源端口、目的端口、长度、检验和)。UDP首部占8个字节

UDP首部格式:

2.TCP协议

TCP协议特点:

a.面向连接; 通信之前必须建立连接
b. 每-条TCP连接只能是点对点的(一对一) ;
C. 提供可靠交付的服务;通过TCP连接传输的数据,无差错,不丢失,不重复。
d. 提供全双工通信;
e. 面向字节流。虽然程序和TCP交互是一次一个数据块,但是把应用程序交下来的数据看成仅仅是一
连串的无结构的字节流。
f.TCP首部占20字节。
TCP首部有个填充字段为了使整个首部长度使4字节的整数倍

源端口号和目的端口各占两个字节,端口号是标识特定主机上的唯一进程,IP地址用来标识网络中的不同主机。

确认序号4个字节,,序号是对数据的编号,确认序号是下一个希望接收的TCP编号。

序号4个字节,表示在这个报文段中的第一个数据字节序号
位数据偏移以32位(4字节)字长为单位,需要这个值是因为任选字段的长度是可变的。

保留位 6位 必须为0

标志位占有六个比特位

URG:该位为1说明表示TCP包的紧急指针域有效,用来保证TCP连接不被中断,并督促上层应用敢快处理这些数据。
ACK标志=1时有效,确认号表示期望收到的下一个字节的序号,ACK=收到的序号+数据长度
PSH:接收方应尽快将这个报文交给应用层,叫做push。所谓Push操作就是指在数据包到达接收端以后,立即传送给应用程序,而不是在缓冲区中排队。

PSH:  当PSH置为1时,接收方应该尽快将整个报文交给引用层,而不是在缓冲区中排队处理(类似字节流中的flush)

RST:当REST置为1时,连接复位,用于复位因为主机奔溃或者其他原因导致的错误连接,也可以用于拒绝非法请求

SYN:同步序号,通常与ACK一起使用来建立连接,也就是常说的三次握手(TCP详解中会具体介绍)

FIN:当FIN置为1时,表示连接将会断开,用于发送断开连接的请求,也就是四次分手。(TCP详解中会具体介绍)。

校验和用于对分段首部和数据进行校验。正常情况下为一定为0.

3.UDP与TCP的使用场景

(1)UDP的使用场景

UDP由于不保证消息的可靠性,所以UDP适合发送一-些消息不需要保证每条都准确无误到达接收者。例如:视频通信。

(3)TCP的使用场景

由于TCP能够能保证消息的准确性,所有例如游戏信、文字信息等适合用TCP通信。

三、网络层

负责在不同的网络之间(基于数据包的IP地址)尽力转发数据包,不负责丢包重传和接收顺序。

有点像送快递,一个人往另一个地方寄快递,每个快递走不同的路线,可能后发的先到了,也可能丢件了。但是网络层不管这些,只管寄快递。

四、数据链路层

封装成帧:通过特殊的0101标识,表示数据的开始和结束特殊字符特殊字符可能和数据信息重复。
EOF、SOA转义字符
差错检测:差错检测仅仅能够检测出哪个是错误的保温然后将错误的数据抛弃。(只检测错误, 但是
不纠错。)纠错:传输层。(TCP)
透明传输:中间如果插入了转义字符不会引|起最终数据读取的差错。
数据链路层常用设备:适配器、转发器、集线器、转发器、以太网交换机等。

五、物理层

物理层不是物理传输媒体,物理层所考虑的是怎样能连接上各种计算机的传输媒体上传输数据的比特流.物理层可以屏蔽掉数据链路层感觉不到的差异

六、数据传输过程

发送方
应用层产生消息- +运输层对消息使用TCP或者UDP协议进行封装- →网络层使用IP协议进行封装一数据链路层对数据进行封装- >物理层将消息转为比特流在物理设备上传输
接收方
物理层:将比特流转成数据链路层能够解析消息-→数据链路层:局域网信息传递一→网络层:去掉ip协议对信息的封装- 运输层:去掉TCP/UDP协议的封装-应用层:将信息解析出来。

网络——5层结构介绍相关推荐

  1. 基于异步竞争的无线传感器网络MAC层协议介绍(X-MAC ContikiMAC)

    基于异步竞争的无线传感器网络MAC层协议介绍(X-MAC ContikiMAC) 无线传感器网络(wireless sensor networks, WSN)节点由电池供电,其能力非常有限,同时由于工 ...

  2. 网络七层结构是干啥的?看这篇文章就够了

    前言 "物理层.数据链路层.网络层.传输层.会话层.表示层和应用层",今天我们的目标就是把这些个玩意,翻译成"人话",保证你一看就懂,一学就废~ 网络七层结构, ...

  3. 网络7层结构的原理及理解

    本文转自 https://blog.csdn.net/qq_16093323/article/details/79582554 目录 二. OSI基础知识 三. OSI的七层结构 四. OSI分层的优 ...

  4. 网络栈主要结构介绍(socket、sock、sk_buff,etc)

    1.socket (include\linux\Socket.h)该结构体socket 主要使用在BSD socket 层,是最上层的结构,在INET socket 层也会有涉及,但很少. /** I ...

  5. 网络七层结构(讲人话)

    整个网络当中,最基本或者是最核心的就是数据的传输,整个网络的搭建,都是为数据传输服务的,我们类比一下快递物流的例子,就可以初步理解这七层都是干嘛的了: 1. 应用层 应用层的作用是为应用程序提供服务并 ...

  6. 网络的分层结构及各层功能

    一.OSI七层模型 & 常见五层模型 OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把 ...

  7. 以太网的分层架构_现代通信网络的分层结构及各层的作用

    现代通信网络的分层结构及各层的作用 概述 随着计算机技术的发展和对联网的迫切需求, 通过Modem在电话网中传送低速数据的通信方式, 已 满足不了日益增长的数据通信的要求.电信部门早在 1988 年就 ...

  8. 网络编程osl模型的七层结构

    OSI模型的体系结构:OSI七层协议 1,网络体系结构指:网络的层次结构和每层所使用协议的集合. 2,OSI模型的七层结构为:(低层,前四层)--> (高层,后三层).物理层-->数据链路 ...

  9. TCP/IP 协议栈4层结构及3次握手4次挥手

    TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输.TCP/IP 协议采用4层结构,分别是应用层.传输层.网络层和链路 ...

  10. 【阿里云课程】分组网络原理,结构发展及设计改进

    大家好,继续更新有三AI与阿里天池联合推出的深度学习系列课程,本次更新内容为第10课中的一节,介绍如下: 分组网络原理与结构演变 本次课程是阿里天池联合有三AI推出的深度学习系列课程第10期,深度学习 ...

最新文章

  1. kali安装步骤失败 选择并安装软件_Pycharm2019.3.3软件安装步骤
  2. asp.net 微信企业号办公系统-流程设计--保存与发布
  3. 【Level 08】U06 Good Feeling L3 Fun-filled concert
  4. mysql客户端 mariadb_配置MariaDB允许客户端远程连接
  5. 4-字符转换及所在位置
  6. 计算机开机不正常运行,win7 64位旗舰版电脑开机启动不正常怎么办
  7. 计算机注销之后一直黑屏,win7系统注销出现黑屏怎么办_win7系统注销出现黑屏的修复办法...
  8. mysql connector/c++ 存储过程的调用_MySQL Connector C++ 调用存储过程
  9. 动态在网络图片上写字
  10. java后台开发程序媛~~
  11. 东北师范大学计算机研究生拟录取名单,东北师范大学2016年硕士研究生拟录取名单公示...
  12. 兜兜转转躲不命运轮回---Java基础学习笔记2
  13. java34-计算机的发展-计算机硬件-计算机软件-计算机存储规则-计算机的基本操作-CMD-环境变量
  14. 行业思考 | 互联网对传统行业的降维打击
  15. coursera-dl 报错 AttributeError (‘HTMLParser’ object has no attribute ‘unescape’)
  16. webrtc janus服务器部署在公网,coturn转发媒体流
  17. android listview 导航条,Android侧边导航栏+ListView基础实践
  18. 怎么实现从抖音内跳转到微信关注页面?
  19. Android React Native使用原生UI组件
  20. C#windows service效劳装置、注册、判别效劳能否存在、能否发动

热门文章

  1. 一图看懂西方哲学全脉络
  2. 全国城市-拼音-编号Json数据(只城市)
  3. sympy 求微分方程_Sympy常用函数总结
  4. 受难周第五日-团契日
  5. JAVA高级视频_IO输入与输出_第一部分(System、Runtime、Date、Calendar、MathRandom、IO输入输出与概述、文件的续写、FileReader、复制文件、)...
  6. 按键控制le灯c语言程序,C语言按键控制led灯和蜂鸣器
  7. RK3568开发板固态硬盘测试
  8. binomial检验_R卡方检验的详细解析过程_R计算二项Binomial分布的P
  9. 恶心的八皇后全解python版
  10. 高红梅:第四章 第二节 猎捕与欧美文化的身份认同