Socket进阶1之网络编程基础

什么是网络、计算机网络的构成是什么?

网络:在计算机领域中,网络是信息传输、接收、共享的虚拟平台
通过它把各个店、面、体的信息联系到一起,从而实现这些资源的共享

什么是网络编程

  • 网络编程从大的方面说就是对信息的发送到接受
  • 通过操作相应Api调度计算机硬件资源,并利用传输管道(网线)进行数据交换的过程
  • 更为具体的涉及:网络模型、套接字、数据包

7层网络模型-OSI

7层网络模型-OSI
1、物理层:(网卡)

定义:物理层不是具体的物理设备,而是定义物理设备的标准,比如网线的类型,光纤的类型,各种传输介质的传输速率这样的参数。

主要作用:
传输比特流,01011100101... 转化成电流大小强弱 再转化成比特流 0100111... (数模转换,模数转换)

2、数据链路层:(交换机)

定义:
从物理层传来的比特流可能传输有错,或者传输漏掉。所以有了数据链路层。

主要作用:
格式化数据,提供错误检测和纠正。保证数据的可靠性。将比特流组合成字节,再将字节组合成帧。交换机对帧解码,并根据帧中包含的信息发送出去。

3、网络层:(路由器,IP协议)

定义:
从数据链路层发送来的数据多个节点发送到目的地,那如何知道目的节点是哪个,最佳路径是什么?然后有了网络层。

主要作用:
将网络地址翻译成物理地址,决定了如何将数据从起始地发送到目的地。通过 发送优先权、网络拥塞程度、服务质量、可选路由花费,决定从节点A到节点B的最佳路径。此层数据——>数据包。

4、传输层:(OSI模型中最重要的一层,TCP协议,UDP协议)

定义:
随着网络通信需求的进一步扩大,通信过程需要发送大量数据比如海量文件。数据一旦多,所需时间自然很长。而网络在通信过程中会中断好多次。为了保证大量文件的准确性,需要对数据进行切分,切割为一个一个的段落进行发送。那么如果有段落漏掉了怎么办?重传?段落之间是否需要按照切割顺序到达节点?然后有了传输层。

主要作用:
解决了不同网络之间主机的数据传输,并解决了传输质量的问题。传输协议,流量控制,基于接收方可接受数据的快慢程度规定适当的发送速率。按照网络能够处理的最大尺寸将数据切割(以太网无法接收大于1500字节的数据包)。传输层将数据切割之后,对每一个数据片安排一个序列号。以便数据到达接收方的传输层时,能以正确的顺序重组。TCP:传输控制协议。UDP:用户数据包协议。

5、会话层:

定义:
封装过后的信息已经可以发送到接收方,但现在每次还需要TCP去打包,IP去找路由。这样当然不行,所以建立一个自动收发包,自动寻址的功能。这就是会话层。

主要作用:
建立和管理应用程序之间的通信。会话层使用校验点,在通信会话失效时从校验点恢复通信,这种能力对于传输大文件很重要。

6、表示层:

定义:
当解决不同系统之间通信的语法问题(比如windows和linux)。有了表示层。

主要作用:

数据将按照网络能理解的方案进行格式化,格式化因网络所使用的类型不同而不同。

7、应用层:(HTTP协议)

定义:
发送方现在已经知道自己发的是什么东西,转化成字节有多长。但是接收方不知道,所以应用层的网络协议诞生了。

主要作用:
规定发送方和接收方必须使用固定长度的消息头。消息头必须使用某种固定的组成。而且消息头里必须记录消息体的长度等一系列信息。方便接收方能够解析发送方发送的数据。

7层网络模型-编程

  • 基础层:物理层(Physical)、数据链路层(Datalink)、网络层(Network)
  • 传输层(Transport):TCP-UDP协议层、Socket
  • 高级层:会话层(Session)、表示层(Presentation)、应用层(Application)

Socket与TCP、UDP

什么是Socket
  • 简单来说是ip地址与端口的结合协议(RFC 793)
  • 一种地址与端口的结合描述协议
  • TCP/IP协议的相关API的总称;是网络Api的集合实现
  • 涵盖了:Stream Socket / Datagram Socket

Socket的作用与组成

  • 在网络传输中用于唯一标示两个端点之间的链接
  • 端点:包括(IP + Port)
  • 4个要素:客户端地址、客户端端口、服务器地址、服务器端口

IP Address + Port number = Socket

Socket 之 TCP

  • TCP是面向链接的通信协议
  • 通过三次握手建立连接,通讯完成时要拆除连接
  • 由于TCP是面向连接的所以只能用于端到端的通讯

Socket 之 UDP

  • UDP是面向无连接的通讯协议
  • UDP数据包括目的端口号和源端口号信息
  • 由于通讯不需要连接,所以可以实现广播发送,并不局限于端到端

Client-Sever Application

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