24-网络通讯三要素

现“OSI/RM”是英文“Open Systems Interconnection Reference Model”的缩写。安全

OSI模型:定义了不一样计算机互联的标准服务器

是设计和描述计算机网络通讯的基本框架。网络

OSI模型把网络通讯的工做分为七层:分别是物理层,数据链接层,网络层,传输层,会话层,表示层和应用层。框架

网络通讯要素:socket

1.IP地址  特殊的IP地址 127.0.0.1 本机IP地址spa

2.端口号  用于标识进程的逻辑地址计算机网络

经过以上就能够找到某个电脑上的某个程序翻译

3.传输协议   通信的规则  TCP  UDP  协议设计

 

UDP:User Datagram Protocol用户数据报协议 特色:视频

  • 面向无链接:传输数据以前源端和目的端不须要创建链接。
  • 每一个数据报的大小都限制在64K(8个字节)之内。
  • 面向报文的不可靠协议。(即:发送出去的数据不必定会接收获得)
  • 传输速率快,效率高。
  • 现实生活实例:邮局寄件、实时在线聊天、视频会议…等。

 TCP:Transmission Control Protocol传输控制协议 特色:

  • 面向链接:传输数据以前须要创建链接。
  • 在链接过程当中进行大量数据传输。
  • 经过“三次握手”的方式完成链接,是安全可靠协议。
  • 传输速度慢,效率低。

三次过程:

三次握手(three times handshake;three-way handshake)所谓的“三次握手”即对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而肯定的数据确认数及数据发送、接收完毕后什么时候撤消联系,并创建虚链接。

第一次握手:创建链接时, 客户端发送 syn包(syn=j)到 服务器,并进入 SYN_SENT状态,等待服务器确认;SYN:同步序列编号( Synchronize Sequence Numbers)。
第二次握手服务器收到 syn包,必须确认客户的SYN( ack=j+1),同时本身也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入 SYN_RECV状态;
第三次握手: 客户端收到 服务器的SYN+ACK包,向 服务器发送确认包ACK( ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED(TCP链接成功)状态,完成三次握手。
 
四次挥手:
因为TCP链接是全双工的,所以每一个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的链接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP链接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另外一方执行被动关闭。
(1) TCP客户端发送一个FIN,用来关闭客户到服务器的 数据传送
(2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN同样,一个FIN将占用一个序号。
(3) 服务器关闭客户端的链接,发送一个FIN给客户端。
(4) 客户端发回ACK 报文确认,并将确认序号设置为收到序号加1。
 
通信网络步骤:
1肯定对端IP地址     2肯定应用程序端口   3肯定通讯协议
 
 

 要想理解socket,就要先来理解TCP,UDP协议

     TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准,

从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族。不一样于ISO模型的七个分层,TCP/IP协议参考模型把全部的TCP/IP系列协议归类到四个抽象层中

应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等

传输层:TCP,UDP

网络层:IP,ICMP,OSPF,EIGRP,IGMP

数据链路层:SLIP,CSLIP,PPP,MTU

每一抽象层创建在低一层提供的服务上,而且为高一层提供服务,看起来大概是这样子的

    咱们能够利用ip地址+协议+端口号惟一标示网络中的一个进程。可以惟一标示网络中的进程后,它们就能够利用socket进行通讯了,咱们常常把socket翻译为套接字,socket是在应用层和传输层(TCP/IP协议族通讯)之间的一个抽象层,是一组接口,它把TCP/IP层复杂的操做抽象为几个简单的接口供应用层调用已实现进程在网络中通讯。

    应用程序两端经过“套接字”向网络发出请求或者应答网络请求。能够把socket理解为通讯的把手(hand)

    socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种"打开—读/写—关闭"模式的实现,服务器和客户端各自维护一个"文件",在创建链接打开后,能够向本身文件写入内容供对方读取或者读取对方内容,通信结束时关闭文件。socket的英文原义是“插槽”或“插座”,就像咱们家里座机同样,若是没有网线的那个插口,电话是没法通讯的。Socket是实现TCP,UDP协议的接口,便于使用TCP,UDP。

相关文章
相关标签/搜索