问题思考+概念考点总结

留一个思考题

设计一个中继服务器,转发客户A--->客户B的请求,并缩短TCP三次握手的时长,并且要求要保证安全性和完整性

概念点总结:

使用Socket建立网络连接的步骤

建立Socket连接至少需要一对套接字,其中一个运行与客户端,成为ClientSocket,另一个运行与服务端,成为ServerSocket' '套接字建立连接过程分为三个步骤:服务器监听,客户端请求,连接确认

  • 1、服务器监听:服务器端的套接字并不定位具体的客户端套接字,而是出于等待连接的状态,实时监控网络状态,等待客户端的连接请求
  • 2、客户端请求:指客户端的套接字提出请求,要连接目标服务器端的套接字
  • 3、连接确认:当服务器端套接字的描述发给客户端,一旦客户端确认了次描述,双方就正式建立连接。

而服务器的套接字继续处于监听状态,继续接受其他客户端套接字的连接请求


  • 网络由上往下分为:应用层、表示层、会话层、传输层、网路层、数据链路层、物理层。
  • socket是对TCP/IP协议的封装和应用,TCP/IP是传输层协议,主要解决数据如何在网络中传输,HTTP是应用层协议,主要解决如何包装数据。
  • 传输数据如果只使用传输层协议,没有应用层,便无法识别数据内容。
  • socket实际上是对TCP/IP协议的封装,Socket本省并不是协议,而是调用一个调用接口API。通过Socket,我们才能使用TCP/IP协议。
  • TCP/IP只是一个协议栈,就像操作系统的运行机制一样。必须要具体实现,同时还要对外提供操作接口。这个就像操作系统提供的标准的编程接口,比如win32编程接口一样。
  • 网络上提供了一个比较形象的描述:HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。
  • 实际上,传输层的TCP协议是基于网络层的IP协议的,而应用层的HTTP协议有事基于传输层的TCP协议的,而Scoket本身不算是协议,就像上面所说,它只是提供了一个阵地TCP或者是UDP编程的接口。

原文发布于微信公众号 - 数据库SQL(SQLdba)

原文发表时间:2018-01-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

linux、mysql、nginx、tomcat 环境下压力测试的主要调试参数

一、linux 系统内核参数 /etc/sysctl.conf文件常用参数 net.core.netdev_max_backlog = 32768 #允许送到队...

33370
来自专栏极客慕白的成长之路

HTTP协议原理及实践

HTTP是在应用层,基于传输层 0x1 低三层 物理层主要作用是定义物理设备如何传输数据 数据链路层在通信的实体间建立数据链路连接 网络层为数据在结...

13330
来自专栏林德熙的博客

关于Host(主机) 关于Resord Type(记录类型)

要指向空间商提供的 IP 地址,选择「类型 A」,要指向一个域名,选择「类型 CNAME」

12710
来自专栏LanceToBigData

TCP/IP(六)应用层(DNS和HTTP协议)

前言 到这一篇我已经把TCP/IP五层模型详细的说明了一遍,大体的从物理层到最上层的应用层做了一个大概的了解,其实总体学下来东西非常的多,我们需要经常的去系统性...

34360
来自专栏后端技术探索

必掌握的安全隐患--之CSRF攻击

(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一,也被称为...

12330
来自专栏菩提树下的杨过

MAC本遭遇ARP攻击的处理办法

windows环境下,如果遭遇ARP攻击,解决方法很简单:“360安全卫士”或"QQ软件管理"的实时防护里,都有ARP防护功能(默认是关闭的),只要启用就行了。...

22360
来自专栏Linyb极客之路

网络编程之Http、TCP/IP协议与Socket之间的区别

tcp协议: 对应于传输层 ip协议: 对应于网络层 TCP/IP是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如...

26330
来自专栏好好学java的技术栈

「文末赠书」http协议简介看这篇就够了

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要...

10430
来自专栏禅林阆苑

Gulp学习笔记 【原创】

Gulp学习笔记 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/csx...

36880
来自专栏Petrichor的专栏

ping原理 & 测试操作

  ping是一个用来测试网络连接的程序。它使用ICMP协议,请求目的地给予应答,它可以用来测试网络连通性、网络时延等,通常用来作为可用性的检查。它走在网络层,...

42530

扫码关注云+社区

领取腾讯云代金券