网络编程基础(1)
心得
学习网络编程的核心之一,作为程序员必须要掌握的东西
虽在学校学过,同一个东西,初次学习和有经验后的学习感受确实不同
需要明白自己在那一层做开发
明白网络编程中的数据流动
以下内容来自百度百科
OSI(Open System Interconnection)七层模型
意为开放式系统互联。国际标准组织(国际标准化组织)制定了OSI(Open System Interconnection)模型。
这个模型把网络通信的工作分为7层,分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。
1至4层被认为是低层,这些层与数据移动密切相关。5至7层是高层,包含应用程序级的数据。
每一层负责一项具体的工作,然后把数据传送到下一层。
第1层:物理层(Physical Layer)(也即OSI模型中的第一层)
物理层实际上就是布线、光纤、网卡和其它用来把两台网络通信设备连接在一起的东西。
主要功能是确保二进制数字信号0和1在物理媒体上的正确传输,物理媒介也叫传输媒介。
物理层协议由机械特性、电气特性、功能特性和规程特性4个部分组成。
物理层的常用标准是EIA-232-D,俗称“232接口”。
物理层数据处理的基本单位是比特。
第2层:数据链路层(Data Link Layer)
主要负责在相邻节点间的链路上无差错地传送信息帧。
数据链路层的协议主要有面向比特的链路层协议。
第3层:网络层(Network Layer)
在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。
主要负责网络中两台主机之间的数据交换。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。
网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。
地址解析和路由是3层的重要目的。
第4层:运输层(Transport Layer)。
第4层的数据单元也称作数据包(packets)。
TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。
这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。
第4层也提供端对端的通信管理。
像TCP等一些协议非常善于保证通信的可靠性。有些协议并不在乎一些数据包是否丢失,UDP协议就是一个主要例子。
第5层:会话层( Session Layer)
这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。
会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。
如服务器验证用户登录便是由会话层完成的。
第6层:表示层(Presentation Layer)
这一层主要解决用户信息的语法表示问题。
它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。
即提供格式化的表示和转换数据服务。
数据的压缩和解压缩, 加密和解密等工作都由表示层负责。
第7层:应用层(Application Layer)
是专门用于应用程序的。
应用层确定进程之间通信的性质以满足用户需要以及提供网络与用户应用软件之间的接口服务。
如果你的程序需要一种具体格式的数据,你可以发明一些你希望能够把数据发送到目的地的格式,并且创建一个第7层协议。
SMTP、DNS(域名系统)和FTP文本传输协议都是7层协议。~~
标签:---,Layer,协议,七层,OSI,物理层,会话层,数据
From: https://www.cnblogs.com/carry1899/p/16953393.html