博客> 网络技术之一基本概念及Socket
网络技术之一基本概念及Socket
2019-12-10 17:08 评论:0 阅读:2070 Iven_Ma
ios 网络

1.熟悉网络体系结构及分层 2.熟悉socket,tcp/ip协议 3.使用socket向服务器发送请求,并接受数据 4.使用socket实现点对单通信

一.网络基础

1.计算机网络,就是利用通讯设备和线路将地理位置不同的,功能独立的多个计算机系统连接起来,以功能完善的软件实现网络中的资源共享和信息传递的系统。 2.计算机网络通常由三部分组成,他们是资源子网,通信子网,通信协议组成。所谓通信子网就是计算机网络负责数据通信的部分;资源子网是计算机网络中面向用户的部分,负责全网络面向应用的数据处理工作;而通信双方必须遵守的规则和约定就是通信协议。 3.计算机网络分为局域网和广域网。

二.网络的体系结构 网络的体系结构是指通信系统的整体设计,他的目的是为网络硬件,软件,协议,存取控制和拓扑提供标准。现在广泛采用的体系结构osi,分为七个层次。  屏幕快照 2016-04-04 上午9.53.32.png

1.物理层(机械,电子,定时接口通信通道上的原始比特流传输) 2.数据链路层(物理寻址,同时将原始的比特流转变为逻辑传输线路,主要设备为二层交换机,网桥) 3.网络层(控制子网的运行,如逻辑编址,分组传输,路由选择,代表协议:IP,IPX,RIP,ARP等) 4.传输层(接受上一层的数据,在必要的时候讲数据交给网络层,并且保证这些数据有效到达对端,代表协议TCP,UDP,SPX等) 5.会话层(不参与具体的传输,他提供包括访问验证和回话管理在内的建立和维护应用之间通信的机制) 6.表示层(信息的语法语意以及他们之间的关联,如加密解密,转换翻译,压缩解压缩) 7.应用层(为操作系统和网络应用提供访问网络服务的接口各种应用程序协议,如HTTP,FTP,SMTP,POP3)

三.协议 协议就是大家都要遵从的一套规则,需要我们在各个层次上都要遵守对应的协议,以达到数据传递的统一性,系统的稳定性。就像两个人沟通,需要按照约定好的方式沟通,比如用声音作为媒介沟通,我们要遵守同一种语言协议,否则两者根本无法沟通。

1.UDP协议 UDP是面向无连接的通讯协议,UDP数据包括目标端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。 UDP连接时不需要对方接受,属于不可靠传输,可能会出现丢包的现象,实际应用中需要程序员验证。

2.TCP/IP协议 IP协议是将多个包交换网络连接起来的,他在原地址和目标地址中传送的一种称为数据包的东西,他不负责保证传送的可靠性,流控制,包顺序和其他对主机或主机协议来说很普通的服务。

TCP/IP协议按照层次由下向上一层一层包装。 (1)最上面是应用层,这里有http , ftp等我们熟悉的协议。 (2)第二层是传输层,TCP , UDP协议就在这一层。 (3)第三层是网络层,IP协议在这一层,他负责对数据加上ip地址和其他数据以确定传输的目标 (4)第四层是数据链路层,这一层为待传输的数据加上以太网协议头,并进行CRC编码,为最后的数据传输做准备。

四.Socket(套接字)通信 1.Cocoa中使用socket有三种方式 cocoa层:NSURL cocoa Fundation层:基于C的CFNetWork 和CFNetServices os层:就要C的BSD socket

2.Socket (1)socket是起源于Unix,而Unix/Linux基本哲学之一“一切皆文件”,都可以用打开“open ->读写write/read -> 关闭close”模式来操作。 (2)socket是对tcp/ip的封装,socket本身并不是协议,而是一个调用接口API,通过socket我们才能使用tcp/ip协议。 (3)socket是通信的基石,是支持tcp/ip协议的网络通信的基本操作单元。他是网络通信过程中端点的抽象表示,包括进行网络通信的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远程主机的IP地址,远程主机的协议端口。 (4)socket通信示意图  屏幕快照 2016-04-04 上午10.37.34.png (5)socket中TCP三次握手详解 1⃣客户端向服务端发送SYN J 2⃣服务端向客户端发送SYN J ,并对SYN J进行确认ACK J+1 3⃣客户端再向服务端发送确认ACK K+1  屏幕快照 2016-04-04 上午10.42.21.png 总结:客户端的connect在第二次握手后返回,而服务端的accept在第三次握手后返回

(6)socket中TCP四次握手详解 1⃣某个进程首先调用close主动关闭连接,这时TCP发送一个FIN M 2⃣另一端接受FIN M 之后,执行被动关闭,对这个FIN进行确认。它的接受也作为文件结束符传给应用程序,应为FIN的接受意味着相应的应用程序在相应的连接上再也接收不到额外的数据; 3⃣一段时间后,接收到文件结束符的应用程序调用close关闭他的socket,这导致他的tcp也发送一个FIN。 4⃣接受到FIN的源发送端TCP对他进行确认。  屏幕快照 2016-04-04 上午10.49.14.png

收藏
1
sina weixin mail 回到顶部