概述
1. OSI 模型与 TCP/IP模型
1.1 OSI 7层模型
开放式系统互联模型(英语:Open System Interconnection Model,缩写:OSI;简称为OSI模型)是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。
该模型将通信系统中的数据流划分为七个层,从跨通信介质传输位的物理实现到分布式应用程序数据的最高层表示。每个中间层为其上一层提供功能,其自身功能则由其下一层提供。功能的类别通过标准的通信协议在软件中实现。
第7层 应用层
应用层(Application Layer)提供为应用软件而设计的接口,以设置与另一应用软件之间的通信。例如:HTTP、HTTPS、FTP、Telnet、SSH、SMTP、POP3等。
第6层 表示层
表示层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式。此外,对传送的数据加密(或解密)、正文压缩(或还原)也是表示层的任务。
第5层 会话层
会话层(Session Layer)负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。
第4层 传输层
传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。
第3层 网络层
网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络资料。例如:互联网协议(IP)等。
第2层 数据链路层
数据链路层(Data Link Layer)负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成信息框(Data Frame)。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等。
分为两个子层:逻辑链路控制(logical link control,LLC)子层和介质访问控制(Media access control,MAC)子层。
第1层 物理层
物理层(Physical Layer)在局部局域网上发送数据帧(Data Frame),它负责管理电脑通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机接口卡等。
1.1.1 为什么要分层
- 灵活性好:如果某一层发生变化,只要接口不变,不会影响其他层;
- 容易复用:分层后,用户只关心用到的应用层,其他层用户可以复用;
- 各层之间相互独立:高层不需要知道底层的功能是采取硬件来实现的,只需要知道通过底层的接口来获得所需要的服务。
可以把一次网络通信类比成现实生活中的一次信件通信,如果没有分层处理,A想要给B一封信件,通过自己送的话。一路上的舟车劳顿和信件安全都要自己解决,整个通信过程都需要自己来保证。
同样的一次通信,通过中国邮政来寄信,用户只需要通过邮筒和信箱与邮政网络进行交互,邮递员只需要处理邮筒中的数据到邮政物流,邮政物流之间只需要处理信件在主干网上的流通。各层之间只需要关注自己处理的数据即可。
邮筒即可被认为是邮政网络的一个接口,用户只需要跟接口交互,其他的全都不用关心。
1.2 TCP/IP
TCP/IP提供了点对点链接的机制,将资料应该如何封装、寻址、传输、路由以及在目的地如何接收,都加以标准化。
它将软件通信过程抽象化为四个抽象层,采取协议堆栈的方式,分别实现出不同通信协议。
协议族下的各种协议,依其功能不同,分别归属到这四个层次结构之中,常视为是简化的七层OSI模型。
模型层 | 协议 | 寻址方式 | 数据单元 | 设备 |
应用层 | HTTP FTP SNMP SMTP DNS Telnet | |||
传输层 | TCP UDP | 端口(Port) | 段(Segment) | |
网络层 | IP ICMP IGMP (OSPF ISIS BGP) | IP地址(IP) | 包(packet) | 路由器 |
链路层 | ARP RARP | 硬件地址(MAC) | 帧(frame) | 网桥、交换机 |
每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。在下一层的角度看,从上一层收到的包全部都被认为是本层的数据。
1.2.1 一次通信过程
以用户A发送邮件给用户B,发送一条Hello为例子。应用层通过SMTP协议封装数据,然后传输层网络层链路层依次添加报头,进行传输。在网络中传输时,替换掉响应的报头找到下一节点的地址。最终发送给用户B,解码之后收到‘Hello’数据。
可以类比成一次网络购物,
① 应用层,比如买一个包包,商家会给包打一个包装,这层可以理解为应用层的协议封装,不同的商家可以选择不同的包装方式。
② 传输层,负责数据的传输,可以类比成现实中的快递公司,不同的传输层协议可以认为是不同的快递公司。TCP=顺丰, UDP=EMS。用户只需要和寄件/收件的接口交互,其他底层不需要关心。快递公司会再打一层包裹(理解为传输层的报头),用以在快递系统中的运输。
③ 网络层,决定数据的路径选择,网络报头可以理解为包裹上的地址标签,决定了物流传输的路线,下一站去哪里,最终送到目的地址。
④ 链路层,完成点到点的数据输送,链路报头可以类比为一个快递小哥,他只关心将包裹给下一个人是谁即可。只完成人到人的传递。
⑤ 物理层,传输的媒介,定义0和1的转换,可以是双绞线光纤等。类比到现实即是运送包裹的载具,可以是卡车,飞机,电驴等。
通信过程现实中的类比
最后
以上就是无奈小蝴蝶为你收集整理的【教女朋友学网络】(一)OSI网络模型与TCP/IP --------- 报头与快递1. OSI 模型与 TCP/IP模型的全部内容,希望文章能够帮你解决【教女朋友学网络】(一)OSI网络模型与TCP/IP --------- 报头与快递1. OSI 模型与 TCP/IP模型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复