关于TCP UDP IP SOCKET的总结

OSI七层模型

它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层的功能是独立的。它利用其下一层提供的服务并为其上一层提供服务,而与其他层的具体实现无关。这里所谓的“服务”就是下一层向上一层提供的通信功能和层之间的会话规定,一般用通信原语实现。两个开放系统中的同等层之间的通信规则和约定称之为协议。通常把1~4层协议称为下层协议,5~7层协议称为上层协议。

传输层:定义了一些传输数据的协议和端口号(如HTTP的端口80等),TCP(传输控制协议,传输效率低,可靠性强,可以用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做报文段。

会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)


传输层协议和传输协议一样吗?

答:传输层(TransportLayer)是OSI中最重要,答:最关键的一层,是唯一负责总体的数据传输和数据控制的一层.传输层提供端到端的交换数据的机制,检查分组编号与次序。传输层对其上三层如会话层等,提供可靠的传输服务,对网络层提供可靠的目的地站点信息.

传输控制协议(TCP)(重点了解)

TCP工作原理 :TCP的连接建立过程又称为TCP三次握手。

首先客户端向服务器发起一个建立连接的同步(SYN)请求;

服务器在收到这个请求后向客户端回复一个同步/确认(SYN/ACK)应答;

客户端收到此应答确认之后再向服务器发送一个确认(ACK),,此时TCP连接成功建立.

一旦初始的三次握手完成,在发送和接收主机之间将按顺序发送和确认数据段,数据传输完成之后,关闭连接之前,TCP使用类似的握手过程验证两个主机是否都完成发送和接收全部数据。

它可以提供可靠的、面向连接的网络数据传递服务。传输控制协议主要包含下列任务和功能。

用户数据报协议(UDP)(重点了解)

UDP全称是User Datagr2am Protocol,中文名为用户数据报协议。UDP 提供无连接的网络服务,该服务对消息中传输的数据提供不可靠的、最大努力传送。这意味着它不保证数据报的到达,也不保证所传送数据包的顺序是否正确。 同学们也许会问:“既然UDP是一种不可靠的网络协议,那么还有这种协议的出现是为什么呢?”其实在有些情况下UDP可能会变得非常有用。因为UDP具有效率优势。虽然TCP中植入了各种安全保障功能,正因为有安全你的保障,所以对效率的保障就会很低,在实际执行的过程中会占用大量的系统开销,无疑效率受到严重的影响。反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大地降低了执行时间,使效率得到了保证。

UDP(User Datagram Protocol)用户数据报协议   它是定义用来在互连网络环境中提供包交换的计算机通信的协议, 此协议默认认为网路协议(IP)是其下层协议。 UDP是TCP的另外一种方法,象TCP一样,UDP使用IP协议来获得数据单元(叫做数据报),不象TCP的是, 它不提供包(数据报)的分组和组装服务。 而且,它还不提供对包的排序,这意味着,程序程序必须自己确定信息是否完全地正确地到达目的地。 如果网络程序要加快处理速度,那使用UPD就比TCP要好。 UDP提供两种不由IP层提供的服务,它提供端口号来区别不同用户的请求,而且可以提供奇偶校验。 在OSI模式中,UDP和TCP一样处于第四层,传输层。HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议   它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作, 并返回网络上传送回的结果。 

HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。 (HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。) SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。 HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。

Socket(重点)

Socket原意为插座,意译为套接字

本地上的两个进程如何通信?

内存共享

消息队列

管道 NSPipe NSTask

RPC remote protocol control

本地Socket

网络上的两个进程如何通信?

本地进程间通信(IPC)通过PID可以唯一确定彼此,然后通过共享内存,消息队列等来通信。

网络上的两个进程确定彼此需要IP与端口号,通过传输层(TCP/UDP)协议进行通信 socket的特点—>在TCP/UDP 加一个端口绑定

由于端口号是被进程独占,因此socket通信经常与进程通信画上等号

假设电脑是一个大插座,有不同的插座型号,socket就是遍布在上面的插孔,可以为不同的插头提供服务 这个比喻不恰当的地方是一个插孔可以让多个插头插进来 反过来 上述比喻中,服务端进程即为服务本身,区别一台主机的不同服务则是通过端口来区分 因此只要是在这个特定的端口建立起来的TCP/IP连接就应该通往对应的进程 所以唯一确定这个socket的前提是找到这个插板(主机IP),找到这个插孔(端口) Socket通信就是一种确定了端口号的TCP/IP通信 上面那句话写成这样也要认识: Socket通信与IP通信差别就是端口确定,协议确定

端口的打开是双方的,很多人在C/S结构的TCP连接中只注意到S的端口(监听的),实际上C也开了一个端口,而C端的端口是动态端口,TCP连接建立的时候,C端的端口会在三次握手结束后确定,动态打开一个,这个端口不受用户/程序员的控制

服务端socket通信步骤

提供一些服务

将这个服务与自己的IP地址、端口绑定

监听任何到这个IP+端口的TCP请求

接受/拒绝 建立这个TCP连接

读写 数据

断开TCP连接

BSD提供了一套底层API来处理这些过程

目前基本上互联网的所有服务都基于socketAPI,所以socket通信技术的基础。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 1.1 TCP/IP协议组 TCP/IP协议(传输控制协议)由网络层的IP协议和传输层的TCP协议组成 IP层负责...
    F麦子阅读 2,784评论 0 25
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,051评论 0 8
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,051评论 6 174
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,592评论 2 57
  • 网络概念第一天 两台电脑怎么通过网络传输数据?怎样才能知道传输的是数据?谁摸过网线? 看电影,怎么看的?通过电流,...
    小吖朱阅读 1,549评论 0 1