网络编程——网络体系结构

🍃TCP/IP协议模型和OSI协议模型(网络体系结构)

🌿什么是网络体系结构

  • 网络的分层以及每一层上所使用的协议的集合
  • 网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。
  • 每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务

🌿网络为什么要分层

网络环境非常复杂,将该网络分成不同的小的模块,每一个模块都是功能单一的,且模块之间存在关联关系(下层为上层提供服务,同时也使用它的下一层所提供的的服务),便于后期的维护和升级(问题好定位)

🌿TCP/IP协议模型(标准)

TCP/IP协议是Internet事实上的工业标准。
共分为4层(5层:将网络接口层分为:数据链路层和物理层)

    • TCP/IP协议不是两个协议,而是一个协议簇
  • TCP/IP协议是internet事实上的工业标准
  • 一共有四层
应用层 (Telnet,FTP,HTTP,DNS,SMTP等)
传输层(TCP,UDP)
网络层(IP,ICMP,IGMP)
网络接口和物理层(以太网,令牌环网,FDDI等)物理层没有协议!!

TCP/IP四层模型

🌿OSI协议模型(理想化的模型)

共分为7层,建立在TCP/IP四层协议模型基础之上的
OSI模型:系统开放式互联,是一个理想化的模型,尚未有完整的实现,目前一直使用的协议模型还是TCP/IP 。
在这里插入图片描述

🌿协议

概念:一套规则,通信双方指定的,必须按照此协议去通信。
目前也有一部分固定的协议,如下:

OSI中的层功能TCP/IP协议簇
应用层文件传输、电子邮件、文件服务、虚拟终端TFTP、HTTP、SNMP、FTP、SMTP、DNS、Telnet
表示层数据格式化、代码转换、数据加密没有协议
会话层解除或建立与别的节点的联系没有协议
传输层提供端对端的接口TCP、UDP
网络层为数据包选择路由IP、ICMP、RIP、OSPF、BGP、IGMP
数据链路层传输有地址的帧以及错误检测功能SLIP、CSLIP、PPP、ARP、RARP、MTU
物理层以二进制数据形式在物理媒体上传输数据ISO2110、IEEE802.1、EEE802.1

🌿研究TCP/IP协议的四层

🍀网络接口层

数据链路层:处于物理层和网络层之间的桥梁,将物理层传输上来的比特流转换成数据帧提供给网络层
物理层:没有协议,将比特流转换成电信号,保证数据在物理介质之间的传输问题(以电信号的形式传输)
物理介质:光纤,铜缆。。。。
网络接口层(Network Interface Physical):模型的基层负责数据帧的发送和接收帧(Frame)是独立的网络信息传输单元)。网络接口层将帧格式的数据放到网络上,或从网络上把帧取下来。
数据帧:就是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如IP数据包,等等。
在这里插入图片描述
前导码:物理层封装
帧起始定界符:超过范围的数据分段,在起始位加入定界符表示顺序
目的地址:目的MAC地址
源地址:源MAC地址
类型:用来标识上层协议的类型,使用网络层哪种协议
数据:上层数据(46~1500字节)
帧校验序列:校验数据的是否丢失和完整性
相关名词:
MTU:最大传输单元:1500,建立在链路层
MSS:最大分段大小:MTU-IP头-TCP头=1500-20-20 = 1460,建立在传输层来说的

🍀网络层

数据包:包(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。在局域网中,“包”是包含在“帧”里的。
包(Packet):在包交换网络里,单个消息被划分为多个数据块,这些数据块称为包,它包含发送者和接收者的地址信息。这些包然后沿着不同的路径在一个或多个网络中传输,并且在目的地重新组合
数据包的组成
在这里插入图片描述
版本:指IP协议版本。通信双方使用的版本必须一致
首部长度:IP数据包的头部长度
优先给予服务类型:定义IP数据包是否优先传送,和服务类型
总长度:IP数据总长度最长为65535字节,包括包头和数据
标识符:IP对上层数据分片,给每个分片放入标识符字段,保证分片可以有序的重组
标志:验证数据的完整性,指示不可以被分片或者最后一个分片是否发出
段偏移量:在一个分片序列中将各分片有顺序的连在一起
TTL:防止数据包在网络中无限循环的转发下去,每经历一个路由器ttl值-1,值为0将其丢弃
协议号:封装上层协议类型所对应的协议号
首部校验和:只检验数据包首部,不包括数据部分每经过一个路由器都都重新计算首部校验
源地址:发送端的IP地址
目标地址:接受端的IP地址
可选项:描述性息;创建时间等
数据:上层数据

🍀传输层

TCP和UDP协议:

共同点:

  • 同为传输层协议。

不同点:

  • TCP:有连接,可靠
  • UDP:无连接,不保证可靠

TCP协议:
TCP(即传输控制协议):是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)
适用情况:

  1. 适合于对传输质量要求较高,以及传输大量数据的通信。
  2. 在需要可靠数据传输的场合,通常使用TCP协议
  3. MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议

UDP协议:
UDP(User Datagram Protocol)用户数据报协议,是不保证可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。
适用情况:
4. 发送小尺寸数据(如对DNS服务器进行IP地址查询时)
5. 在接收到数据,给出应答较困难的网络中使用UDP。(如:无线网络)
6. 适合于广播/组播式通信中。
7. MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议
8. 流媒体、VOD、VoIP、IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输

TCP\IP协议通讯模型
在这里插入图片描述
数据的封装与传递过程
在这里插入图片描述
发送端:数据打包
在这里插入图片描述

接收端:数据解包
在这里插入图片描述

🍀应用层

应用程序通过这一层访问网络
主要包括常见的FTP、HTTP、DNS和TELNET协议。

  • TELNET:提供远程登录服务。
  • FTP:提供应用级的文件传输服务。
  • SMTP:电子邮件协议。
  • SNMP:简单网络管理协议。
  • DNS:域名解析服务,将域名映像成P地址的协议。
  • HTTP:超文本传输协议,Wb服务器所采用的协议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值