【第22期】观点:IT 行业加班,到底有没有价值?

图解tcp/tp读书笔记

原创 2016年08月28日 20:15:35

OSI通信协议模型(Open System Interconnection)

由下往上分为:

  1. 物理层
    空明线、平衡电缆、光纤、无线信道等
  2. 数据链路层
    DLC Data Link Control Layer
    数据通道,物理层要为终端设备间的数据通信提供传输媒体及其链接。
    媒体是长期的,连接是有生存期的。在连接生存期内,收发两端可以进行不等的一次或多次数据通信。每次通信都要经过建立通信联络和拆除通信联络两个过程。这种建立起来的数据收发关系就叫做数据联络。
  3. 网络层
    提供跨越多个网络的选路功能,为端点提供无连接的数据报访问,并定义端到端的通过整个互联网网络的寻址功能。
    当终端增多时,它们之间有中继设备相连,此时会出现一台终端要求不是与唯一的一台而是能和多台终端通信的情况。这就产生了把任意两台数据终端设备的数据链接起来的问题,这就是路由或者叫寻径。
    当一条物理通信简历之后,被一对用户使用,往往有许多空闲时间被浪费掉,人们自然会希望让多对用户公用一条链路。为解决这一问题就出现了逻辑信道技术和虚拟电路技术。
  4. 传输层
  5. 会话层
  6. 表示层
  7. 应用层

IOS模型中每一层只和紧邻的上下两层通信。高层协议品案终于处理用户服务和各种请求,底层协议偏重于处理实际的信息传输。
分层的目的在于把各种特定的功能分离开来,各个层次相对独立。

IP -> 网络层
TCP -> 传输层
HTTP FTP TELNET -> 应用层

socket是对TCP/IP协议的封装和应用
TCP/IP协议是传输层协议,主要解决数据如何在网络中传输
HTTP应用层协议,解决包装数据

在传输数据时,如果只使用TCP/IP协议,没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议。

WEB使用HTTP作为应用层协议,以分装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上


Socket

Socket是对TCP/IP协议的封装,Socket本身不是协议,而是一个调用接口(API),只是使得程序员更方便的使用TCP/IP协议层而已,从而形成了我们知道的一些最基本的函数接口,如果create,listen,connect,accept,send,read,write

HTTP就是教程,提供了封装或者显示数据的具体形式,socket是发动机,提供了万罗通信的能力

传输层的TCP是基于网络层的IP协议,而应用层的HTTP协议是基于TCP协议的,socket本身不是协议,只是提供了一个针对TCP或UDP编程的接口

套接字是一个通信链的句柄,用于描述ip地址和端口。
应用程序通过套接字想网络发出链接请求或者应答网络请求


TCP三次握手

  1. 第一次握手 客户端发送syn包到服务器,并进入SYN_SEND状态,等待服务器确认
  2. 第二次握手 服务器收到syn包,必须确认客户的syn,同事自己也发送一个syn包,即syn+ack包,同事服务器进入syn_recv状态
  3. 第三次握手 客户端收到服务器的syn+ack包,向服务器发送确认包ack,此包发送完毕,服务器和客户端进入established状态,完成三次握手

握手过程中的包不包含数据,三次握手完毕后,客户端和服务器才开始传输数据

理想状态下,TCP链接一旦建立,在通信双方中的任何一方主动关闭链接之前,TCP链接都将一直保持下去。

断开链接时服务器和客户端可以主动发起断开tcp链接的请求,断开过程就需要进过 四次握手,就是服务器和客户端交互,确定断开


TCP和UDP的区别

  1. TCP是面向链接的,虽然网络的不安全性决定了多少次握手都不能保证链接的可靠性,但TCP的三次握手在最低限度上保证了链接的可靠性。
  2. UDP不是面向链接的,UDP传送数据前并不与对方建立链接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,当然也不容重发所以说UDP是无链接,不可靠的的数据传输协议
  3. UDP的开销更小,传输速率更高,因为不用进行收发数据的确认,所以UDP得实时性更好

Ping

ping原理就是想主机发送udp数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。
udp是非连接的协议,传输数据之前,源端和终端部不建立连接


中介

  1. 代理 proxy 更具url的绝对格式来接受请求,重写全部或部分消息,通过url的表示把已格式化过的请求发送到服务器
  2. 网关 gateway 接受代理,作为一些其他服务器的上层,并且如果必须的话,可以把请求翻译给下层的服务器协议
  3. 通道tunnel 作为不改变消息的两个链接之间的中继点,当通讯需要一个中介或者中介不能识别消息的内容时,通道通常被使用。

Socket简历网络链接

简历socket链接至少需要一对套接字,其中一个运行与客户端,成为clientsocket,另一个运行与服务器端,成为serversocket

套接字链接的过程分为3个步骤
1. 服务器监听 : 服务器套接字并不确定具体的客户端套接字,而是出于等待链接的状态,实时监控网络状态,等待客户端的链接请求
2. 客户端请求 : 客户端的套接字提出链接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要链接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就像服务器端套接字提出链接请求。
3. 链接确认 : 当服务器端套接字监听到或者说接收到客户端套接字的链接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了次链接,双方就正式建立链接,而服务器端套接字继续处于监听状态,继续接收其它客户端套接字的链接请求。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

图解TCP/IP

本文通过两个图来梳理TCP-IP协议相关知识。TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道。如图1所示,给出了TCP通信过程的示意图。 图1 TCP 三次握手四次...

图解TCP/IP

《图解TCP/IP》读书笔记 一、国际惯例:书托   这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识、掌握TCP/IP的基本技能。    书...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

图解TCP/IP——笔记

第一章   网络基础知识 协议就是计算机之间通过网络实现通信时事先达成的一种约定。遵循相同协议才能实现通信。从物理连接层到软件层面都必须遵循。   分组交换是指将大数据分割为一个个较小单位的包进...

图解tcp/ip读书笔记二

HTTP协议是建立在TCP协议上的一种应用最显著的特点就是客户端发送的每次请求都需要服务器会送响应,在请求结束之后,会主动释放链接。由于http在每次请求结束后都会主动释放连接,一次http连接是一中...

图解TCP/IP——第1章 网络基础知识

从独立模式到网络互连模式 【图】以独立模式使用计算机 【图】以网络互联方式使用计算机 【图】LAN(Local Area Network,局域网)和 WAN(Wide Area Network,...

图解TCP/IP

1. 逻辑意义上的端口划分    1)按端口号分布划分       0-1023 知名端口:  21:ftp 22:SSH 23:Telnet 25:SMTP 53:DNS 80:HTTP 13...

TCP协议图解

补充一点,在连接建立后,客户端和服务器彼此发送数据的过程中,收到数据的一方会给发送方发送ACK回执,告诉发送方我收到这条数据了。发送方收到ACK回执以后,就认为该数据已经发送成功,不会再进行重发了。

写给前端er的TCP/IP知识及《图解TCP/IP》读书笔记

1.分层OSI参考模型分为7层,TCP/IP分为四层。 2.物理设备介绍3.传输过程4.分层介绍4.1 数据链路层几个关键的相关技术 - MAC地址:用于识别数据链路层中互连的节点,在使用网卡(N...

图解TCP

转自:http://www.cricode.com/3568.html,k 本文通过两个图来梳理TCP-IP协议相关知识。TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接...

读《《图解TCP-IP》》有感

读《《图解TCP/IP》》有感 TCP/IP 最近几天读完《《图解TCP/IP》》,收获蛮多,记得上学时读stevens的《《TCP/IP详解》》时那是一个囫囵吞枣,没认真看也看不下去。等有时间再...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)