soket概览
2015-10-06 11:23
176 查看
OSI、TCP\IP参考模型
![](http://upload-images.jianshu.io/upload_images/698020-e4f028b330786d8b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
简单解释:
1.物理层:主要定义物理设备标准,如网线的接口类型、各种传输介质的传输速率等。
2.数据链路层:主要将从物理层接收的数据进行MAC地址的封装与解封装。
3.网络层:选择合适的网间路由和交换结点,确保数据及时传送,将从下层接收到的数据进行IP地址的封装与解封装
4.传输层:定义了一些传输数据的协议和端口,如TCP、UDP协议,主要将从下层接收的数据进行分段和传输,到达目的地址后再进行重组,以往把这一层数据叫做段
5.会话层:通过传输层建立数据传输通路。
6.表示层:主要是进行对接收的数据进行解释、压缩与解压缩等,即把计算机能够识别的东西转化成人能够识别的东西(如图片、声音等)。
7.应用层:主要是一些终端的应用,比如说FTP(各种文件下载)、浏览器、QQ等,可以将其理解为在电脑屏幕上可以看到的东西,也就是终端应用。
网络通讯要素:
IP地址:网络中设备的标示端口号:用来标示进程的逻辑地址,不同进程的标示
传输协议:用什么样的方式进行交互,常见协议TCP/UDP
TCP/UDP
TCP(传输控制协议)1.建立连接,形成数据传输的通道
2.在连接中可进行大数据传输(数据的大小不受限制)
3.通过三次握手建立连接,可靠协议,安全送达
4.先建立连接,效率较低
UDP(用户数据报协议)
1.不需要建立连接,将数据封装在数据包中
2.每个数据包得大小限制在64k之内
3.无需连接,是不可靠协议
4.不需要连接,速度较快
Socket
1.网络提供服务的一种机制2.通信的两端都是socket
3.网络通信其实就是socket间的通信
4.数据在两个socket间通过IO传输
![](http://upload-images.jianshu.io/upload_images/698020-73d0eea67011ab48.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
iOS中常用的两种Socket类型
流式Socket(SOCK_STREAM):流式是一种面向连接的Socket,针对于面向连接的TCP服务应用数据报式Socket(SOCK_DGRAM):数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用
Http与Socket的区别
1.Http是基于Socket的实现2.Http建立的连接称为短连接
3.Socket建立的连接为长连接
4.Http传输的数据格式是规定好的
5.Socket实现数据传输是最原始,socket实现的数据传输格式可自定义
6.Http和Socket都是基于TCP
转自:http://www.jianshu.com/p/0585b2a341dd
相关文章推荐
- java拾遗之关键字static
- jpgraph绘图库的安装与配置
- java中的构造器
- Asp.net 解析json
- 你知道吗?win10十大最佳隐藏属性功能盘点
- HDU5493 Queue 线段树单点更新
- .NET/MVC-发布到IIS6.1提示未能加载程序集System.Web.Http.WebHost
- 按位非运算符“~”
- NSbundle
- win7 x64双机联调
- Leetcode Binary Tree Level Order Traversal II
- spring 源码如何导入到eclipse
- QT中一些常用的类
- wkhtmltoxwkhtmltopdf linux 安装
- jQuery源码分析之jQuery.eq()和jQuery.get()方法比较
- java中的堆、栈、常量池
- 在view中实现UIViewController的跳转 By H.L
- HDU 3911 Black And White (线段树区间更新)
- PS之2.光与色的关系(2)
- 如何分析一个QT类